【LDAP】LDAP 未授权访问漏洞修复方案
2023-12-13 09:52:48
前言
最近生产环境中,被安全团队扫描到了 LDAP服务存在未授权访问漏洞。这里记录下如何解决。
问题原因
未对LDAP的访问进行密码验证,导致未授权访问。因为默认的LDAP服务都是开启匿名访问的,
这一般是大部分LDAP服务出现此漏洞的主要原因,导致可以使用ldapbrowser
直接连接,获取目录内容。
例如:
ldapsearch -x -b "dc=hadoop,dc=com" -H ldap://10.4.3.3:389| grep test
这里我们直接就能访问到ldap的资源。
解决方案
- 修改
cn=config.ldif
文件
vim /etc/openldap/slapd.d/cn=config.ldif
#插入如下内容:
olcDisallows: bind_anon
olcRequires: authc
- 修改
olcDatabase={-1}frontend.ldif
文件
vim /etc/openldap/slapd.d/cn=config/olcDatabase={-1}frontend.ldif
#插入如下内容:
olcRequires: authc
3. .重启服务
systemctl restart slapd
#查看任务状态
systemctl restart slapd
- 验证是否成功
ldapsearch -x -b "dc=hadoop,dc=com" -H ldap://10.4.3.3:389| grep test
此时会报错,additional info: anonymous bind disallowed
。
修复成功!
扩展
那么我们该如何访问禁止匿名用户访问的ldap 呢?
答案是使用:-D
+ -W
参数来进行访问
例如:
ldapsearch -x -D "your_username" -W -b "search_base" "(search_filter)"
- -D :指定绑定的分发名称(你的用户名)
- -W:提示输入密码
- -b :指定搜索基础,“(search_filter)” 指定搜索条件
那么我该怎么正确填写 -D
参数:
举例来说,如果你有一个LDAP用户"John",它的DN可能是类似于 "cn=John,ou=users,dc=example,dc=com"
的形式。你需要将这个DN或者类似的用户标识填入到"-D"参数中。
例如:
ldapsearch -x -D "cn=John,ou=users,dc=example,dc=com" -W -b "search_base" "(search_filter)"
文章来源:https://blog.csdn.net/Mrerlou/article/details/134953975
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!