tft每日頭條

 > 生活

 > ldap配置詳解

ldap配置詳解

生活 更新时间:2024-12-28 19:09:16

0x01 關于 ldap 的一些簡單科普

`ldap` 基于tcp/ip的輕量級目錄訪問協議,屬于X.500目錄協議族的一個簡化版本

你可以暫時把它粗暴的理解成 `一種特殊類型的數據庫` ,通常,這種數據庫文件後綴都為`.ldif`,并使用特殊的節點查詢語句來獲取相應數據

實際生産環境中,主要還是用它來做各種查詢比較多,既是查詢,也就意味着肯定會有大量的讀操作

雖然,ldap也支持一些簡單的更新功能,即寫,但一般都不會用,因為它在寫方面的效率并不高

如果真的是寫比較多,直接用各種關系型數據庫代替就好了,實在沒必要用ldap,畢竟,術業有專攻

另外,ldap 跨平台,功能簡潔,易管理,配置,讀性能也不錯,亦可分布式部署`不知道是不是可以把它的分布式理解成windows域的目錄樹,目錄林概念`

用的最多的可能就是進行`集中身份驗證`,最後,我們還需要知道的是,默認情況下,ldap的所有數據都是直接以明文傳輸的,容易被截獲,不過好在它支持ssl

0x02 其它的一些常用目錄服務工具

X.500 過于龐大臃腫

ldap 輕量且配置簡單

雖然這種純圖形化的工具貌似是很好用,但個人還是不太建議在實際生産環境中用,驗證過于簡單,比較危險,畢竟隻是個web腳本,很容易被入侵者掃目錄,掃域名時掃到,另外,也極易被各類搜索引擎抓到,如下

1

inurl:templates/login.php intitle:LDAP Account Manager

ldap配置詳解(探索LDAP安全)1

0x13 啟用sasl,讓指定的服務都通過ldap的方式進行集中身份驗證

# yum install *sasl* -y

# rpm -qa | grep sasl

# saslauthd -v sasl所支持的所有認證類型

# sed -i 's#MECH=pam#MECH=ldap#g' /etc/sysconfig/saslauthd

# grep -i mech /etc/sysconfig/saslauthd

MECH=ldap

# /etc/init.d/saslauthd start

# chkconfig saslauthd on

# vi /etc/saslauthd.conf

ldap_bind_dn: cn=klion,dc=ldapmaster,dc=org

ldap_bind_pw: klion

ldap_search_base: ou=People,dc=ldapmaster,dc=org

ldap_filter: uid=%U

ldap_password_attr: userPassword

# ps -ef | grep sasl

# testsaslauthd -u super -p admin 此時便會用ldap賬戶來進行驗證

0x14 以讓svn服務通過ldap進行認證為例,其實非常簡單,首先,你需要先在本機快速部署好svn,至于具體的部署方法,請參考之前的相關文章,當然,除了svn,像vsftpd,samba這類的基礎服務也都可以通過ldap進行身份驗證,并非重點此處不再贅述

# 讓svn通過ldap進行驗證,不再走svn自己的驗證了

# vi /etc/sasl2/snv.conf

pwcheck_method: saslauthd

mech_list: PLAIN LOGIN

# 編輯svn主配置文件

# vi /svn/svndata/svndoc/conf/svnserve.conf

[general]

anon-access = none

auth-access = write

password-db = /svn/svnpasswd/passwd

authz-db = /svn/svnpasswd/authz

[sasl]

use-sasl = true # 開啟svn的sasl驗證

# 把svn本地用戶全部注釋掉,因為一旦開啟sasl就不再走svn本地驗證了

# vi /svn/svnpasswd/passwd

[users]

# harry = harryssecret

# sally = sallyssecret

# web = 654321

# webadmin = admin110

# admin = 123456

# bakuser = admin

# guest = svn110

# svn = svnadmin

# 另外,還需要把ldap用戶加到svn認證文件中,不然,依然是登不上svn的

# 雖然用戶密碼驗證過程不走本地,但權限認證過程還是在本地進行的

# vi /svn/svnpasswd/authz

[aliases]

[groups]

administrator = web

sec = webadmin,admin

ldap_user = svnnew,super

[svndoc:/]

svn = rw

@administrator = rw

@ldap_user = rw

[svndoc:/web01]

bakuser = rw

[svndoc:/web02]

guest = rw

下面是svn通過ldap進行認證的實際效果

ldap配置詳解(探索LDAP安全)2

ldap配置詳解(探索LDAP安全)3

0x15 關于ldap主從同步,後續有機會再說,這次我們先初步入個門 ^_^

0x16 最後,我們再來關注下openldap的一些安全問題,最重要的可能就是允許匿名訪問,對此的利用沒什麼好說的,直接用各種ldap客戶端工具,如,LDAPSoft Ldap Browser或者JXplorer都行,隻需指定正确的ip,端口和dn,然後用匿名的方式連上去即可

ldap配置詳解(探索LDAP安全)4

後話:

建議實際生産環境中直接使用加密傳輸,另外,可根據實際業務需求配置更具針對性的ACL,至于針對web層的ldap注入 [ 其實跟sql注入沒什麼兩樣,隻是查詢語言不同而已 ],篇幅原因,我們在後續的相關章節中還會再做詳細說明,待續……

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved