Linux下LDAP统一认证解决方案「建议收藏」(Download)
大家好,又見面了,我是你們的朋友風(fēng)君子。
企業(yè)內(nèi)部需要認(rèn)證的服務(wù)很多,員工需要記住很多的密碼, 即使對這些服務(wù)進(jìn)行相同的密碼設(shè)置,也存在很大的安全隱患。筆者目前工作的企業(yè)就是如此,每一個新員工的到來管理員都要初始化很多密碼,而這些密碼都被設(shè)置成了“888888”等弱密碼,由于各種軟件的認(rèn)證機制之間沒有使用一個統(tǒng)一的標(biāo)準(zhǔn),員工無法一次性修改所有服務(wù)的密碼,這導(dǎo)致很多即使是入職很久的員工都還在使用這個“眾所周知”的密碼。
另外—個比較嚴(yán)重的問題出現(xiàn)在公司增加內(nèi)部服務(wù)的時候,例如領(lǐng)導(dǎo)要在公司內(nèi)部提供郵件服務(wù)或把現(xiàn)有的Proftpd 換成更高效的Vsftpd,管理員需要重新為所有的員工初始化新的賬戶信息,對于一個有上千員工的企業(yè)來說這將是一個“災(zāi)難”。
如果可以為各種軟件提供一個標(biāo)準(zhǔn)的認(rèn)證機制,所有軟件就可以不再用獨有的用戶管理方法, 而是通過這種統(tǒng)一的認(rèn)證機制進(jìn)行用戶認(rèn)證,這樣就解決了目前很多企業(yè)遇到的問題。LDAP正是這樣一種標(biāo)準(zhǔn)的協(xié)議,LDAP的歷史可以追溯到1988年,之后誕生的很多軟件基本上都支持這個協(xié)議。近年隨著企業(yè)對LDAP需求的不斷增加,絕大多數(shù)有認(rèn)證機制的軟件都會首先提供對LDAP的支持。本文將介紹通過LDAP統(tǒng)一身份認(rèn)證的方法,以簡化這種復(fù)雜的管理過程。
LDAP概述
LDAP是Light weight Directory Access Protocol(輕量級目錄訪問協(xié)議)的縮寫,其前身是更為古老的DAP協(xié)議。它是基于X.500標(biāo)準(zhǔn)的,但是很簡單,并且可以根據(jù)需要定制。與X.500不同,LDAP支持TCP/IP,這對訪問Internet是必需的。LDAP的核心規(guī)范在RFC中都有定義, 大體上講LDAP協(xié)議定義了和后臺數(shù)據(jù)庫通信的方法及客戶端軟件和LDAP協(xié)議之間的通信標(biāo)準(zhǔn),如圖1所示(更詳細(xì)的說明可以參見相關(guān)的RFC文檔)。
圖1 客戶端、LDAP Server的關(guān)系
在圖1中,LDAP Client指各種需要身份認(rèn)證的軟件,例如Apache、Proftpd和Samba等。LDAP Sever指的是實現(xiàn)LDAP協(xié)議的軟件,例如OpenLDAP等。Datastorage指的是OpenLDAP的數(shù)據(jù)存儲,如關(guān)系型數(shù)據(jù)庫(MySQL)或查詢效率更高的嵌入式數(shù)據(jù)庫(BerkeleyDB),甚至是平面文本數(shù)據(jù)庫(—個txt的文本文件)。可見,OpenLDAP軟件只是LDAP協(xié)議的一種實現(xiàn)形式,并不包括后臺數(shù)據(jù)庫存儲。但在很多時候管理員經(jīng)常將LDAP Server和DataStorage放在同一臺服務(wù)器,這樣就產(chǎn)生了人們通常所說的“LDAP數(shù)據(jù)庫”。雖然后臺數(shù)據(jù)庫(backend)可以是多種多樣,但LDAP協(xié)議還規(guī)定了數(shù)據(jù)的存儲方式。LDAP數(shù)據(jù)庫是樹狀結(jié)構(gòu)的,與DNS類似,如圖2所示。
圖2 跨國公司員工信息的樹狀邏輯結(jié)構(gòu)
在圖中,以這種方式存儲數(shù)據(jù)最大的一個好處就是查詢速度快,LDAP數(shù)據(jù)庫專門對讀操作進(jìn)行了優(yōu)化, OpenLDAP配合Berkeley DB可使其讀操作的效率得到很大提高。LDAP數(shù)據(jù)庫的樹狀結(jié)構(gòu)的另一個好處是便于分布式的管理,有關(guān)這方面的內(nèi)容將在后面有所介紹。
實現(xiàn)思路
統(tǒng)一身份認(rèn)證主要是改變原有的認(rèn)證策略,使需要認(rèn)證的軟件都通過LDAP進(jìn)行認(rèn)證,如圖3所示。在統(tǒng)一身份認(rèn)證之后,用戶的所有信息都存儲在LDAP Server中。終端用戶在需要使用公司內(nèi)部服務(wù)的時候,都需要通過LDAP服務(wù)器的認(rèn)證。每個員工只需要記住一個密碼,在需要修改用戶信息的時候可以通過管理員提供的Web界面直接修改LDAP Server中的信息。
圖3修改后的認(rèn)證策略
目前大部分主流軟件都對LDAP提供很好地支持,但由于各種軟件對LDAP的支持程度不同,在做實施的時候也要區(qū)別對待。軟件對LDPA的支持可以大概分為兩大類:
一類是完全支持,也就是在軟件的配置文件中加入和LDAP有關(guān)的選項就可以完成。這種方式的好處是不需要借助其他的工具或軟件,由軟件的開發(fā)團隊直接完成對LDAP的支持。可能的缺陷也在此,由于各個軟件開發(fā)團隊的水平和開發(fā)者經(jīng)驗有所差異,雖然同樣是支持了LDAP,但稍微復(fù)雜一些的高級功能就無法提供,有的時候甚至出現(xiàn)運行錯誤導(dǎo)致整個軟件出現(xiàn)問題。筆者曾遇到過一個基于Web的CVS瀏覽軟件,安裝文檔中說明了支持LDAP,但實際使用當(dāng)中遇到了很多問題導(dǎo)致整個軟件crash。一些比較主流的軟件,例如Apache 2.X對LDAP的支持已經(jīng)近乎完美。
另一類軟件由于很多原因并不直接支持LDAP,而是通過PAM 做身份認(rèn)證,由于PAM本身支持LDAP,這樣也同樣可以實現(xiàn)使用LDAP做身份認(rèn)證。這種方式對LDAP的支持同樣有其優(yōu)勢,軟件開發(fā)人員不需要修改代碼支持LDAP協(xié)議,減少了軟件本身產(chǎn)生安全漏洞的可能。缺點是在一些不希望使用PAM 的系統(tǒng)中,這樣的軟件就無法通過LDAP進(jìn)行用戶認(rèn)證,而且雖然PAM對LDAP的支持已經(jīng)很完善,但一些高級、復(fù)雜的功能還是無法實現(xiàn)。正由于這些原因,這類軟件為數(shù)不多,比較典型的就是Vsftpd和CVS。
使用LDAP做身份認(rèn)證
介紹到這里可能很多讀者會問為什么需要使用LDAP數(shù)據(jù)庫?用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫不可以嗎?從上文可以看到,LDAP服務(wù)器就是起到了一個認(rèn)證Server的作用,從技術(shù)本身而言,這個認(rèn)證Server具體使用的是何種數(shù)據(jù)庫并不重要,如果使用一個關(guān)系型數(shù)據(jù)庫也可以達(dá)到統(tǒng)一身份認(rèn)證的目的,但LDAP 自身的優(yōu)勢使得很多公司最終選擇它。以下筆者列舉了一些選擇LDAP的重要原因:
◆LDAP是一個開放的標(biāo)準(zhǔn)協(xié)議,不同于SQL數(shù)據(jù)庫,LDAP的客戶端是跨平臺的,并且對幾乎所有的程序語言都有標(biāo)準(zhǔn)的API接口。即使是改變了LDAP數(shù)據(jù)庫產(chǎn)品的提供廠商,開發(fā)人員也不用擔(dān)心需要修改程序才能適應(yīng)新的數(shù)據(jù)庫產(chǎn)品。這個優(yōu)勢是使用SQL語言進(jìn)行查詢的關(guān)系型數(shù)據(jù)庫難以達(dá)到的。
◆由于LDAP數(shù)據(jù)庫的數(shù)據(jù)存儲是樹結(jié)構(gòu),整棵樹的任何一個分支都可以單獨放在一個服務(wù)器中進(jìn)行分布式管理,不僅有利于做服務(wù)器的負(fù)載均衡,還方便了跨地域的服務(wù)器部署。這個優(yōu)勢在查詢負(fù)載大或企業(yè)在不同地域都設(shè)有分公司的時候體現(xiàn)尤為明顯。
◆LDAP支持強認(rèn)證方式,可以達(dá)到很高的安全級別。在國際化方面,LDAP使用了UTF-8編碼來存儲各種語言的字符。
◆更靈活添加數(shù)據(jù)類型,LDAP是根據(jù)schema的內(nèi)容定義各種屬性之間的從屬關(guān)系及匹配模式的。例如在關(guān)系型數(shù)據(jù)庫中如果要為用戶增加一個屬性,就要在用戶表中增加一個字段,在擁有龐大數(shù)量用戶的情況下是十分困難的,需要改變表結(jié)構(gòu)。但LDAP只需要在schema中加入新的屬性,不會由于用戶的屬性增多而影響查詢性能。
◆LDAP數(shù)據(jù)庫是對讀操作進(jìn)行優(yōu)化的一種數(shù)據(jù)庫,在讀寫比例大于7比1的情況下,LDAP會體現(xiàn)出極高的性能。這個特性正適合了身份認(rèn)證的需要。
目前,很多公司都把LDAP和自己的產(chǎn)品、技術(shù)結(jié)合在一起,增加LDAP在各個領(lǐng)域中的有效性,這一切都來源于LDAP是一個開放的協(xié)議,很容易和其他標(biāo)準(zhǔn)協(xié)議共存。
LDAP軟件的選擇
目前,幾乎所有大IT廠商都有自己商用的LDAP產(chǎn)品,每個廠商的LDAP產(chǎn)品都有其特點,很多時候用戶更多地選擇開源的OPenLdap。
OpenLDAP與其他的商用軟件相比有很多優(yōu)勢, 商用的軟件版本更新很慢,對Bug的反應(yīng)速度比開源軟件差許多,OpenLDAP還包含了很多有創(chuàng)造性的新功能,能滿足大多數(shù)使用者的要求。筆者曾使用過許多商用LDAP產(chǎn)品,OpenLDAP是其中最輕便且消耗系統(tǒng)資源最少的一個。OpenLDAP是開源軟件,近年國內(nèi)很多公司開發(fā)的LDAP產(chǎn)品都是基于OpenLDAP開發(fā)的。
OpenLDAP的源代碼可以到官方網(wǎng)站(http://www.openldap.org)下載,安裝過程也很簡單。由于openldap需要Berkeley DB來存放數(shù)據(jù),所以需先安裝Berkeley DB 4.4.20,可到它的網(wǎng)站下載,網(wǎng)址見上。
# tar -zxvf db-4.4.20.tar.gz
解完壓后,會生成一個db-4.4.20目錄,進(jìn)入該目錄下的build_unix目錄。執(zhí)行以下命令進(jìn)行配置安裝。
# ../dist/configure
# make
# make install
# tar -zxvf openldap-stable-20090411.tgz
解壓完成后,會生成一個openldap目錄。進(jìn)入該目錄,執(zhí)行以下命令進(jìn)行配置安裝。
#env CPPFLAGS=”-I/usr/local/BerkeleyDB.4.2/include” LDFLAGS=”-L/usr/local/BerkeleyDB.4.4/lib” ./configure -prefix=/usr/local/openldap –enable-ldbm
注意以上配置語句,要設(shè)置資料庫的include和lib路徑,否則在配置到資料庫相關(guān)內(nèi)容時會提示Berkeley DB版本不兼容,并中斷配置。如果沒有–enable-ldbm選項,在make test時會提示ldbm找不到。為了減少出錯,還是加上為好。
#make depens
#make
#make test
在make test階段要花費較長時間進(jìn)行測試,好像有16項吧。你可以放松一下,這個時間應(yīng)該是最緊張的了。
#make install
通過配置命令可以看出,我們把openldap安裝到/usr/local/openldap目錄下。建議以源碼安裝的軟件都放到獨立的目錄下,不要放到軟件默認(rèn)的目錄。好處是方便管理和控制,所有文件在統(tǒng)一的目錄下,卸載軟件只要刪除整個目錄就可以了。在此過程中需要注意如下幾個地方:
◆在執(zhí)行configure之前要確定安裝了Berkeley DB,雖然OpenLDAP可以使用很多數(shù)據(jù)庫做back-end,但BerkeleyDB仍然是OpenLDAP開發(fā)團隊強烈推薦的。
◆如果需要更安全的方式訪問OpenLDAP,在配置執(zhí)行configure之前要確定已經(jīng)安裝了cyrus-sasl。
◆有些用戶在安裝OpenLDAP的時候忽略了最后的make test。經(jīng)驗告訴我們,很多的錯誤都會在執(zhí)行make test的過程中暴露出來,OpenLDAP的開發(fā)團隊很注意維護(hù)軟件的Test Case, 整個測試非常全面,很多在日常使用中很少用到的功能都會被測試到,很好的保證了軟件在投入使用以后的穩(wěn)定性。
默認(rèn)情況下,OpenLDAP的配置文件保存在/usdlocal/etc/openIdap下的sIapd.conf中,配置文件中記錄著OpenLDAP的管理員密碼。默認(rèn)情況下密碼是用明文表示,可以用slappasswd命令產(chǎn)生密文替換配置文件中的明文。以圖3為例,配置文件的相關(guān)項應(yīng)做如下更改:
Suffix “dc=ldap_abc,dc=org”
Rootdn “cn=manager,dc=ldap abc,dc=org”
directory /usr/Iocal/var/openldap-data
其中directory參數(shù)為數(shù)據(jù)文件在服務(wù)器上的位置,出于穩(wěn)定性和性能方面的考慮,數(shù)據(jù)文件最好放在獨立的分區(qū)或磁盤陣列上。配置文件的ACL部分也十分重要,很多讀取或修改操作不能正常完成都是由于ACL的寫法錯誤造成的。下面是默認(rèn)情況下ACL部分的配置:
Access to attrs=userPassword
By self write
By * auth
Access to *
By * read
輕松搞定LDAP賬號管理
在這里筆記告訴大家使用PHP語言開發(fā)基于Web的LDAP管理器,并著重分析該管理器中類屬性與對象類的繼承關(guān)系、修改過程的遞歸關(guān)系時所用到的相關(guān)技術(shù)及相關(guān)算法,使得我們在使用和管理LDAP賬號等方面變得更為簡便。
LDAP Account Manager(LAM)采用PHP 4/5編寫,是基于Web的LDAP用戶、用戶組、主機和LDAP目錄的管理系統(tǒng),管理員可以通過SSUTLS加密方式進(jìn)行操作,增強了安全性。LAM支持管理的賬號類型有Samba 2/3、Unix、Kolab 2、地址簿接口和計算機管理需要的信息,包括NIS映射、Email假名、MAC地址等。
1)LDAP Account Manager的強大功能
◆使用LAM,可以通過Web接口較為直觀的、簡便的管理存儲在LDAP 目錄里的用戶、用戶組和計算機系統(tǒng)賬戶。
◆可以管理Unix的用戶、用戶組、主機、域名。
◆具備強大的過濾和排序功能。
◆具有賬號屬性管理。
◆多構(gòu)造屬性。
◆直觀的樹狀察看模式。
◆計劃查看模式。
◆開放式的編輯器。
◆通過文件上傳創(chuàng)建賬戶。
◆所有賬號可導(dǎo)出為PDF文件格式。
◆可以管理用戶、用戶組、配額和自動創(chuàng)建,刪除用戶的Home 目錄。
◆支持LDAP+SSL加密模式。
◆多國語言支持,如Catalan、Chinese(Traditional)、Dutch、English、French、German、Hungarian、Italian、Japanese和Spanish等。
2)安裝需求
◆PHP4/5語言環(huán)境和Perl語言環(huán)境
◆Openldap2.0或更高版本
◆支持CSS的網(wǎng)頁瀏覽器
◆Apache webserver,建議安裝SSL、PHP-Module(PHP-Module with ldap,gettext,XML,mcrypt+mhash)等模塊。
3)安裝和使用
首先從http://lam.sourceforge.net/下載LAM壓縮包,解壓縮并修改PHP的配置文件php.ini的如下內(nèi)容:
* memory_limit=64M
接下來復(fù)制文件到Web服務(wù)器的html-file目錄中,如apache/htdocs,并給下面的文件設(shè)置合適的讀寫權(quán)限:
◆-lam/sess:設(shè)置給apache用戶寫權(quán)限;
◆-lam/tmp:設(shè)置給apache用戶寫權(quán)限;
◆-lam/config:(包括子目錄)設(shè)置給Apache用戶寫權(quán)限;
◆-lam/lib lamdaemon.pl:必須設(shè)置為可執(zhí)行權(quán)限。
然后配置conflg.cfg文件,創(chuàng)建一個配置屬性,設(shè)置密碼,并復(fù)制config.cfg_到配置目錄。最后,在瀏覽器中打開index.html,在Configuration Login處可以使用默認(rèn)密碼“l(fā)an”登錄進(jìn)行相關(guān)操作,如圖4所示。
圖4
4)配置管理LAM
成功登錄進(jìn)入LAM 系統(tǒng)后,通過網(wǎng)頁的形式對我們的LDAP進(jìn)行管理就變得十分的直觀和簡單了,通過鼠標(biāo)點擊就可以輕松查看和管理我們的LDAP,還可以在線編輯和數(shù)據(jù)導(dǎo)出。在LAM 系統(tǒng)中,我們主要可以進(jìn)行如下的操作:
◆LAM系統(tǒng)配置LAM的具體配置,如圖5所示。
圖5
◆LAM模塊選擇和管理:讓LAM 列出用戶信息。
◆修改用戶信息,在LAM 中查看和修改用戶屬性,如圖6所示。
圖6
不僅如此,LAM的管理功能十分全面, 還可以對用戶進(jìn)行很多操作,如列出用戶組信息、列出所管理的服務(wù)器主機信息、通過文件上傳方式創(chuàng)建用戶、樹狀查看方式、SAMBASAM信息查看修改、開放式在線編輯模式和LDAP信息PDF文件格式輸出等,對于系統(tǒng)管理員來說實在是太方便了。
配置Apache支持LDAP
雖然各種軟件支持LDAP的方法有兩種,但本質(zhì)上是一樣的,只是一些軟件希望自主開發(fā)LDAP的支持,另一些軟件使用PAM已經(jīng)開發(fā)好的LDAP支持。任何一個軟件要通過LDAP做用戶認(rèn)證,至少要在軟件的配置文件中提供兩個認(rèn)證所需要的信息,一個是LDAP服務(wù)器的IP地址,另一個是需要認(rèn)證的用戶在LDAP數(shù)據(jù)庫中的位置。前面提到過,LDAP數(shù)據(jù)庫是和DNS類似的樹狀結(jié)構(gòu),每個用戶作為葉子節(jié)點被放置在這棵樹上,而這些用戶的父節(jié)點就是認(rèn)證所要提供的用戶在LDAP數(shù)據(jù)庫中的位置。如圖3所示,如果要給亞洲地區(qū)市場部的所有員工提供FTP登錄賬號,需要提供的用戶在LDAP數(shù)據(jù)庫中的位置就是“ou=Sales,I=Asia,o=ldap_ abc.org”。下面以Apache為例介紹一下軟件的配置。
Apache和LDAP整合可以用來限制用戶以HTTP方式訪問文件的權(quán)限,Apache使用LDAP做用戶認(rèn)證有很多現(xiàn)實意義,首先可以限制用戶對公司內(nèi)部HTTP敏感內(nèi)容的訪問。此外,很多版本管理軟件(如Subversion)都提供了LDAP支持,這樣在用戶需要通過Web方式訪問文件的時候,可以通過Apache的設(shè)置來限制用戶對文件的訪問權(quán)限。Apache是從2.0.41以后才開始支持 LDAP的,如果希望使用LDAP做身份認(rèn)證就要安裝Apache 2.0.41以上的版本,企業(yè)版本的Red Hat AS 3/4/5默認(rèn)安裝的Apache2.0就已經(jīng)把L DAP相關(guān)的模塊進(jìn)行了編譯,用戶只需正確修改Apache的配置文件就可以支持L DAP認(rèn)證。
下面代碼是對保護(hù)目錄/var/www/htm/internal設(shè)置了一定權(quán)限。
<Directory /var/www/html/internal>
AuthName “WeIcome to Linux”
AuthLDAPEnabled on
AuthLDAPURLldap://192.168.1.2/ou=Sales,I=Asia,o=ldap_abc.org?uid
Require valid-user
</Directory>
◆AuthName是可選項,用戶在訪問受保護(hù)目錄的時候,瀏覽器會彈出—個提示窗口,要求輸入用戶名和密碼,AuthName設(shè)置的內(nèi)容會出現(xiàn)在彈出窗口的標(biāo)題欄(此項內(nèi)容支持中文)。
◆AuthLDAPEnabled是可選項,默認(rèn)值為on。當(dāng)已經(jīng)把目錄/var/www/htm/intemal設(shè)置為需要認(rèn)證,但又需要將var/www/htm/internal/pub目錄設(shè)置為公開時,就可以將此項設(shè)置成off。
◆AuthLDAPURL為必填項,192.168.1.2即為LDAP服務(wù)器的IP地址,ou=SaIes,I=Asia,o=ldap abc.org為用戶在LDAP數(shù)據(jù)庫中的位置,uid表示使用每個用戶uid屬性的值作為認(rèn)證過程中使用的用戶名。
◆require valid-user表示只有認(rèn)證成功的用戶才能訪問指定的資源。LDAP樹結(jié)構(gòu)的設(shè)計下面用一個實際的案例簡單介紹一下樹結(jié)構(gòu)的設(shè)計。某上百人的IT企業(yè),總公司設(shè)在北京,且在上海、廣州設(shè)有分部,公司的市場部、開發(fā)部、管理部及人力資源部在三個城市都有分部,公司要求所有員工每天更新自己在這一天內(nèi)的工作成果,并為每個員工設(shè)有企業(yè)內(nèi)部的FTP共享空間,程序開發(fā)人員使用CVS提交代碼,公司內(nèi)部有多臺Linux服務(wù)器,只允許有權(quán)限的賬號登錄。
員工使用到上述服務(wù)的時候需要進(jìn)行身份認(rèn)證。在這樣的情況下,既可以選擇購買幾臺昂貴的數(shù)據(jù)庫服務(wù)器,裝上大型的商業(yè)數(shù)據(jù)庫來解決這個問題;也可以選擇更廉價且高效 的辦法,使用開源軟件的解決方案。首先要考慮的是數(shù)據(jù)的拓?fù)洌鶕?jù)企業(yè)的需要做數(shù)據(jù)庫設(shè)計是關(guān)鍵。公司在北京、上海和廣州設(shè)有分公司,如果數(shù)據(jù)庫服務(wù)器只存放在一個城市,在網(wǎng)絡(luò)流量高峰期會影響認(rèn)證速度,降低員工的工作效率,因此數(shù)據(jù)庫設(shè)計可以有以下兩種方案:一種是把主LDAP服務(wù)器放在北京,同時在上海和廣州同時放有LDAP服務(wù)器,類似于DNS的區(qū)域授權(quán),總公司把上海和廣州員工的管理下放,各地的員工通過本地的LDAP服務(wù)器進(jìn)行認(rèn)證,既提高了效率,又保證了服務(wù)器出現(xiàn)問題都不會影響到其他兩個城市的認(rèn)證服務(wù)。這種數(shù)據(jù)庫設(shè)計并不是把公司的所有員工割裂成了沒有聯(lián)系的三個部分。
如圖7所示,三臺服務(wù)器上的LDAP分支是在同一棵樹上通過類似于“引用”的特殊屬性連接在一起的,三個城市都有自己的管理員來維護(hù)各自的分支。三臺服務(wù)器連接在一起有很多好處,在需要搜索或查詢公司所有員工信息的時候就會十分方便。如果某個城市的員工較多或負(fù)載過重還可以在這個城市增加LDAP服務(wù)器,增加的服務(wù)器就如同本地服務(wù)器的鏡像,可以起到負(fù)載均衡的作用。需要注意的是,在這個設(shè)計方案里每個LDAP服務(wù)器都是可以讀寫的。
圖7 樹結(jié)構(gòu)的設(shè)計
另一種方案是在北京存放一臺主LDAP服務(wù)器,同時在北京、廣州和上海三個城市分別放置一臺輔LDAP服務(wù)器。主LDAP服務(wù)器只負(fù)責(zé)寫入數(shù)據(jù),輔LDAP服務(wù)器只讀,任何數(shù)據(jù)庫的修改都要先寫入主LDAP服務(wù)器之后再同步到三個輔LDAP 服務(wù)器,這樣的拓?fù)浣Y(jié)構(gòu)也比較適合認(rèn)證服務(wù)器的需要,因為寫操作相對于讀操作更少,這種設(shè)計的優(yōu)勢在于能根據(jù)員工的多少或各分公司的負(fù)載情況靈活增加或減少服務(wù)器,任何一臺輔LDAP服務(wù)器的癱瘓都不會影響到整個認(rèn)證系統(tǒng)。在國外的一些案例中,輔LDAP服務(wù)器會多達(dá)幾十甚至上百臺。但這種設(shè)計也有缺陷, 如果主LDAP出現(xiàn)問題,那么所有的寫操作就會受到影響, 目前OpenLDAP還不支持多個主LDAP 服務(wù)器的情況,因為設(shè)置多個主LDAP服務(wù)器有可能會造成整個數(shù)據(jù)的不一致, 只有少數(shù)商用的LDAP 支持多主LDAP的功能。
統(tǒng)一身份認(rèn)證的未來
在國外,LDAP應(yīng)用于身份認(rèn)證已經(jīng)十分成熟,最近幾年國內(nèi)才開始逐漸流行起來。前面提到的認(rèn)證方式還存在一些不足,例如用戶在使用FTP服務(wù)后,如果再使用Samba服務(wù)就需要再次輸入用戶名和密碼,目前微軟的Active Directory通過管理域用戶已經(jīng)完美的實現(xiàn)了單點登錄,Linux可以通過OpenLDAP和Samba實現(xiàn)大部分Active Directory能夠?qū)崿F(xiàn)的功能。相信在不久的將來,用LDAP做身份認(rèn)證的技術(shù)還會滲透到更多領(lǐng)域,包括網(wǎng)絡(luò)計算機、門禁系統(tǒng),甚至智能IC卡的應(yīng)用。
總結(jié)
以上是生活随笔為你收集整理的Linux下LDAP统一认证解决方案「建议收藏」(Download)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 假如银行错转1000万,自己没动,只拿其
- 下一篇: idea激活码7天[免费获取](Lead