茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1671242 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
HoneyMoon_Day3_00016.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

小企鵝開談 : [分享]淺談貼近LDAP的步驟

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[分享]淺談貼近LDAP的步驟
淺談貼近LDAP的步驟

原作者:n K. Jones

LDAP 不是被指定的目錄服務;應用服務的大或小,商業化或是開放原始碼都把LDAP視為認證與”白頁”類資訊的集中化服務。這幾天如果你不是穿著”got root”的T-shirt並且大聲嚷嚷要LDAP,你大概是懷疑LDAP是否為你所想要的環境。夾帶著遠勝於其他服務的安全及進步性的特徵,LDAP或許是個值得你花點時間鑽研的東西;咱們開始吧!

我問過一些朋友(包括顧問、網管者與管理階層)關於接近LDAP的想法。基本上他們抱著一種像是我要他們戒煙或不要吃速食的心態。像是在說:我知道這大概是我該走的路,可是我辦不到。然後他們就會問一些像是”我該從何處著手?”或者”這玩意可以和(應用系統或平台)一起work嗎?”這是Linux.com開給系統管理者的每週專欄,提供一小部分東西讓人們接觸這些,並披露一些可以讓你進行的步驟。

為什麼要使用LDAP?

我們先從看一些背後隱含為何要使用LDAP的事實:

‧ Sun將結束掉NIS及NIS+:

昇陽公司(Sun)報導他們將不再把NIS的伺服或用戶端軟體綁在新版本的Solaris上。NIS+將停留在其他的版本,不過即使昇陽的NIS+用戶端被建議採用,NIS+在Solaris 10以後仍會消失。要是你對NIS與NIS+不熟,可參考這裡,或者參考昇陽關於NIS與NIS+的文件。毫無疑問的昇陽建議在這些解決方案中選一作為他們的SunONE目錄軟體(正式名稱為iPlanet目錄伺服器)這個方便的綁在Solaris 9上。有些原因昇陽建議和我在這所說相同的關於LDAP的原因。

‧ 安全性問題:

我不喜歡評論我不是很懂的東西,所以我的安全性對照組是NIS – 雖然事實上對於我所言的LDAP應該是隨時可以跟你現在用的任何一套名稱或目錄系統相比。由於LDAP並非一個資料庫,不過也是一個存取你檔案夾資料的標準協定,LDAP對於你的環境資訊而言可謂一個守門員。有些可見的區別在於協定的實作與資料儲存機制的實作(兩者可分開視之)。基於此,資料儲存機制可專心用來存資料,當存取協定正在做安全防護的時候。

LDAP設計在安全性上很粗糙,這至少部分原因來自其資料模式,這些看起來有個物件屬性階層而且比一堆字串的平檔案要好。例如,一個在Linux上經使用者輸入存於/etc/passwd上的字串都會被視為單一字串,這和LDAP中大相逕庭,在於定義使用者為資料夾中的一個單一物件,而其他/etc/passwd的欄位(如登入畫面、主目錄、GECOS等等)變成該物件的屬性。這表示你可以在屬性階層拒絕存取 – 與拒絕存取於任何NIS上面的拒絕個別欄位存取有異曲同工之妙。

接著,存取可視為使用存取控制(ACLs)而這個會拒絕片面資料存取,以及可在資料上執行的操作。例如,你可能允許任何人讀取系統上的使用者名單,但卻不允許他們讀取加密的密碼字串或個別使用者。而且當其中一個使用者被允許讀取有關他自己的資料時,你可能會決定要標準化這些事情,有如DECOS(關於使用者的選擇性資訊)欄位,並且拒絕在上面存取,將權限保留給管理者。

‧ 整合:

我不認為把系統管理者推向替換NIS/NIS+是很愚笨的作法,且這些不會給他們至少僅止於整合兩種服務的層面而已。幾年下來,名稱與檔案服務變成獨立於大部分應用系統在運作的環境之外。

即使仍有少數地方LDAP支援的不知所云,在許多環境下LDAP可作所有NIS可以做的,舉例如下:

‧ Apache可用LDAP作認證。
‧ Sendmail可用LDAP作認證、信件繞徑資訊與別名搜尋。
‧ Samba可用LDAP作背後認證機制。
‧ Autofs可以由LDAP救回automounter maps。
‧ FreeRADIUS可以由LDAP認證。

吼!而且這些例子只是冰山一角,在系統服務上,許多公司用LDAP作為公司”白頁”解決方案,因為許多email與行事曆應用都是LDAP相容的。Netscape, Mozilla, Evolution, Outlook, KMail與許多email用戶端程式都強力支援LDAP,即使文字型程式如Mutt and Pine 也可在LDAP搜尋上作位址完成的動作。

對眼光讀到的管理者而言,即使這些還不夠。LDAP與PAM (Pluggable Authentication Modules)運作良好,而且可以被虛擬於/etc/nsswitch中的每一行('man 5 nsswitch.conf')。當你的nsswitch 與 PAM設定用來操作LDAP(大部分在有自動系統的機器操作)許多其他等級的機制,像是UID 編號到名稱於ls –l,及TCP封包與id都可以work。

我應該從何處著手?

評估你的環境:
要我在這裡坐著講很容易”就是LDAP,有問題嗎?”我太在意LDAP並非符合所有你的環境的事實。即使我真的推薦你那些,你還是明確了解LDAP對你而言用來作什麼比較實在。

在某些狀況,你或許有些逐漸習慣的應用,這些登入的習慣可能會被改成使用LDAP。在別的場景,你必須決定當LDAP可立即被使用於認證,自動掛載正留在掛載點或檔案那邊。別急著規劃一個NIS server的關機機制!選擇NIS,任何NIS並聚焦在所有的依靠該機制的服務,應用系統,然後確認這些支援LDAP,或者可以作為支援LDAP的。你在發現過程中不會很高興,在六個月的Server測試中,如果供應商沒聽過LDAP的話。

評估可能的伺服器選擇:
接下來(或者,按照你的團隊大小而定)你將需要理解ldap的實作與使用是怎麼回事。我發現這是個比我想的要簡單的選擇,我測試了Novell的 eDirectory 與 Sun 的 SunONE Directory Server 軟體,對於OpenLDAP。在公正的情況下,這些都是不錯的應用軟體。
事實上,我比較傾向選擇Novell的產品(順道一提,在Linux底下Run的挺順的)作為開發工具。Novell的團隊作了份好差使就是讓LDAP滿足極盡煩人的管理者。清楚經由導覽與文件從網站散發出去,而且我發現頻繁支援論壇的人都很友善,極度有知識(部分是Novell的員工啦)。

Sun的產品也不錯,即使GUI有點抄Novell的。我也有挺久的時間沒在網站上交朋友。即使我找了很多關於LDAP的文章,我有時候仍找到相同文件的不同版本,衝突的文件以及有些根本是錯的。這讓我在找文章關於Solaris的LDAP中學了一課。

在文章末了,我選擇OpenLDAP在於他的簡易,在實行你可以在RFC中所讀的關於LDAP協定中這很重要。許多比較炫的功能可以被加進來,客製化或者在日後增加。這個用了RFC與舊約中”了解並推廣LDAP目錄(這就是我怎麼學LDAP的)都是使用相同的介面、文件與設定檔在OpenLDAP中,這很方便。

Novell與Sun就缺了這種便利性,Novell開始顯示其複雜在我要做簡單的事情,例如開展使用者的根目錄。預設的介面看起來像是你的使用者目錄是在Netware之下。對我而言eDirectory在我登入時增加了所有的資料屬性而我並未定義GUI。Sun的產品有相同的問題,把環境設成似乎是我要的事實上卻不是。

這些工具相當不合我口味,你可能會愛上他們。除非你是政府單位或其他大公司否則價格會是很大的問題。Novell與Sun都允許你免費使用軟體(當然沒有支援)上限到百千計的登入者。但我發現要是我真的有大麻煩,我會找OpenLDAP免費而開放的社群而非商業化的工具。此外,OpenLDAP大部分在Linux製作,適用於Linux,而其他的就不可能這樣坦白說。

3. 由用戶端起跑:

這四個起頭的字提供最有價值的忠告我想要給任何人關於LDAP的發展。不要花時間在非正式的應用,清除與刪除資料,以及維護目錄伺服器直到你首次測試用戶端終於可以做到你之前要他們所承諾能做到的事情。

在我看來,記得,我是個系統管理者,用戶測試開始於系統等級。認證必須在所有功能使用中才進行。主機解析,如果在DNS以外進行,必須跳過停止程序。密碼政策,TCP封包、複合模式以及遠端掛載要在終端使用者的執行與功能層面。

由一個小的測試資料出發,探討你的表單中LDAP要負責哪些並且注意哪些應用他會支援,而開始讀取主要頁面,文件與線上導覽。參加部分與你專案有關的論壇與電子報。

記得,常回到這哩,我會寫更多LDAP的步驟於幾週或幾月後,再見了!
前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|