實驗以前的誠懇話語
1.默認狀況下redhat-ds容許匿名去讀取目錄服務裏面的數據
2.匿名訪問是不要任何用戶名和密碼的
3.simple bind簡單認證意指客戶端只要輸入用戶名和密碼給目錄服務,而後目錄服務把從客戶端傳過來的用戶名(dn)和密碼與本身的ldif數據庫對比,一致就經過,不一致就拒絕。關鍵問題是simple bind在傳送用戶名和密碼過程當中是明文的有安全隱患,並且只要用戶名和密碼就能證實你的合法性了嗎?卻有些簡單了。
4.針對上述問題提出了兩種方法
*使用證書即tls(ssl)加密你的用戶名(dn)和密碼在網絡傳輸給目錄服務作認證的過程當中。也加密了你查詢到的數據。
*使用SASL即kerberos
5.可使用圖像化安裝證書也可使用命令行
安裝ca中心證書
certutil –d /etc/dirsrv/實例名 –A –i ca-certificate.crt的路徑 -n 證書的顯示名 -t CT,CT,CT
安裝服務器證書
certutil –d /etc/dirsrv/實例名 –A –i server-certificate.crt的路徑 -n 證書的顯示名 -t u,u,u
誠懇的話語講完了,咱們能夠試驗了,很差意思囉囉嗦嗦的了。
步驟一:創建自簽名證書
當前目錄在station9.example.com這臺CA上的/etc/pki/CA操做
vim /etc/pki/tls/openssl.cnf
根據配置文件創建這些目錄和文件以支撐證書中心的記錄
生成ca中心的密鑰
生成ca中心的公鑰
步驟二:目錄服務器申請證書
當前操做在server109.example.com這臺目錄服務控制檯上操做
服務器利用redhat-ds生成證書請求文件
步驟三:ca中心給目錄服務器證書請求籤發證書
回到station9.example.com這個ca中心上操做了
步驟四:目錄服務器下載並安裝證書
回到server109.example.com目錄服務上操做了
下載server109.crt和my-ca.crt這兩個證書
在redhat-ds控制檯中安目錄服務器證書
在安裝ca中心證書到目錄服務器中
步驟五:開啓tls加密功能
開始啓用證書ssl加密
點擊save按鈕
提示你tls加密使用636端口,日常使用389端口
從新啓動dirsrv目錄服務
但是當服務器從新後到加載dirsrv目錄服務時也須要輸入這個密碼,這個多少有些麻煩,能夠在一個文件中先吧密碼保存好,服務啓動後直接找這個文件要密碼就ok了
vim /etc/dirsrv/實例名/pin.txt
設置開機自動加載
當你重啓服務的時候頗有可能發生服務啓動失敗主要有幾種狀況
1.服務器和ca中心的時間不一樣步,或者再也不一個時區,會提示你服務器證書安裝成功可是過時。
net time -S 目標時間服務器
2.上述的兩個勾選「信任客戶機」「信任其餘服務器」沒選中,不然提示你證書安裝成功可是不被信任的用戶。
3.啓動不成功將沒法再次鏈接dirsrv目錄服務,你能夠vim /etc/dirsrv/實例名/dse.ldif找到
nsSSLActivation: off
nsslapd-security: off
而後再次從新啓動就不會提示你輸入保護私鑰的密碼,也就是說屬於開389端口啓動。進入證書管理界面刪除服務器證書和ca證書便可。
步驟六:客戶端驗證之字符界面
接下來咱們要進行客戶端驗證了
咱們用authconfig-tui來把讓客戶端啓用LDAP方式的身份驗證
#authconfig-tui
當你選擇了Use LDAP後提示你沒有nss模塊,啥也不說了直接yum install nss*便可
那如今就把ca中心的證書拷貝到指定的目錄
cp my-ca.crt /etc/openldap/cacerts
其實咱們剛剛的操做都寫在/etc/openldap/ldap.conf中了
如今你依然能夠用匿名身份查詢到而且你也可使用不加密的形式來獲得數據,但最好仍是用加密的方式從目錄服務獲得數據和傳輸用戶名和口令給目錄服務作身份驗證。
ldapsearch –x -ZZ
這條命令就能夠獲得結果了,你感受和ldapsearch -x獲得的結果沒有區別。是得,只不過在潛移默化中你獲得的數據已經被tls加密了。這兩條命令結果之間的區別只有依靠抓包分析軟件來證實了。
步驟七:客戶端驗證之郵件雷鳥