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後即可生效

 

 

 

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