OpenLDAP使用ACL命令禁止匿名登录

1.因功能需求问题,需要实现OpenLDAP的匿名登录问题,在网上查看实现方式,大部分都是使用脚本实现

ldapmodify -Q -Y EXTERNAL -H ldapi:/// <<EOF
dn: cn=config 
changetype: modify
add: olcDisallows
olcDisallows: bind_anon
EOF
 
ldapmodify -Q -Y EXTERNAL -H ldapi:/// <<EOF
dn: olcDatabase={-1}frontend,cn=config 
changetype: modify
add: olcRequires
olcRequires: authc
EOF

但是因实际OpenLDAP部署在正式环境,没有经过备份,所以不敢使用命令执行实现匿名登录,如果执行造成OpenLDAP项目配置失败,造成数据损坏或者丢失就要背锅了,所以没有选择这种实现方式(如果有备份ldap服务器的可以试试这种方式)

 

2.使用了比较保险的ACL脚本来控制他的匿名登录问题

每个安装的OpenLDAP的项目,在他的slapd.conf中都有这样的一个注释

这种就是ACL,

先看看access to吧。
以上内容意思是,
dn.base: 约束这个特定DN的访问。他和dn.exact和dn.baselevel是相同的意思。
dn.one: 约束这个特定的DN第一级子树的访问。dn.onelevel是同义词。
dn.children: 这个和dn.subtree类似,都是对其以下的子树访问权的约束。不同点在于,
这个的约束是不包含自己本身DN。而subtree包含了本身的DN。

#######################################################################

例如:对于
0: dc=mydomain,dc=org
1: cn=root,dc=mydomain,dc=org
2: ou=users,dc=mydomain,dc=org
3: uid=samba,ou=users,dc=mydomain,dc=org
4: cn=Administator,uid=samba,ou=users,dc=mydomain,dc=org
5: uid=guest,ou=users,dc=mydomain,dc=org

规则 dn.base=”ou=users,dc=mydomain,dc=org” 只会匹配记录2
规则 dn.one=”ou=users,dc=mydomain,dc=org” 匹配记录3和记录5,记录4是记录3的子目录,故不算在内
规则 dn.subtree=”ou=users,dc=mydomain,dc=org” 匹配记录2、3、4、5
规则 dn.children=”ou=users,dc=mydomain,dc=org” 匹配记录3、4、5,因为记录0、1和2都是以DN直接命名的,故不匹配

指定被授权的用户范围的方法大致有以下几种:

所有的访问者,包括匿名的用户
anonymous 非认证的匿名用户
users 认证的用户
self 目标记录的用户自身
dn[.]= 在指定目录内匹配正则表达式的用户
dn.= 指定DN内的用户
例如:
by dn.subtree=“ou=users,dc=domain,dc=org”="^samba*"

被授予的权限access
当选取好ACL作用的目标记录并选取好用户范围后,就该给这些用户授予他们应该得到的权限了。大致的权限(由低到高)有以下几类:
none 无权限,即拒绝访问
auth 访问bind(认证)设置的权限;前提是需要用户提交一个DN形式的用户名并能通过认证
compare 比较属性的权限;(例如:对照查看某用户的telephoneNumber值是不是158 8888 8888),但并不具有搜索的权限
search 利用过虑条件进行搜索的权限,但这并不一定具有可读取搜索结果的权限
read 读取搜索结果的权限
write 更改记录属性值的权限

详细查看原创博主的文章(CSDN博主「康宝荣华」的原创文章,原文链接:https://blog.csdn.net/qq_39567748/article/details/99411568)

 

所以我在sladp.conf配置文件中新增

access to dn.subtree="ou=people,dc=my-domain,dc=com" by *  auth           

  ACL命令表示在非认证的用户不允许查看ldap的根级目录一下信息,完成禁止匿名登录需求

重启ldap后即可生效

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章