摘 要:門戶網(wǎng)站的安全性和用戶的身份認(rèn)證已經(jīng)成為門戶網(wǎng)站的一個(gè)焦點(diǎn)問(wèn)題。介紹了Portal安全控制方面的" title="面的">面的SSO的特點(diǎn),分析了IBM WebSphere Portal在安全控制方面實(shí)現(xiàn)SSO的LTPA技術(shù)和它的優(yōu)勢(shì),并解決了一種在多目錄環(huán)境下通過(guò)實(shí)現(xiàn)LTPA名稱映射來(lái)保證安全性的方法及LTPA的配置方法。
關(guān)鍵詞:WebSphere Portal? SSO? LTPA? 安全性
?
??? 由于門戶網(wǎng)站的使用越來(lái)越廣泛,因此門戶網(wǎng)站的安全性和用戶的身份認(rèn)證問(wèn)題已經(jīng)成為一個(gè)焦點(diǎn)問(wèn)題。目前,許多網(wǎng)站都使用SSL(Secure Socket Layer) 作為網(wǎng)絡(luò)的傳輸安全控制手段。SSL是基于傳輸層的安全協(xié)議,即“通道安全”協(xié)議,是一種被廣泛使用的Internet傳輸加密標(biāo)準(zhǔn)。然而,SSL常常出現(xiàn)安全漏洞,如:黑客攻擊證書、黑客利用特洛伊木馬等手段竊取證書、系統(tǒng)管理員無(wú)法使用現(xiàn)有的安全漏洞掃描(Vulnerability Scanners)或網(wǎng)絡(luò)入侵偵測(cè)系統(tǒng)IDS(Intrusion Detection Systems)來(lái)審查或監(jiān)控網(wǎng)絡(luò)上的SSL交易而造成安全盲點(diǎn)等,使網(wǎng)絡(luò)的安全不能得到有效的控制。而基于LTPA技術(shù)的門戶網(wǎng)站(Portal)能夠有效地克服這些問(wèn)題。
Portal是一個(gè)Web站點(diǎn),它為門戶用戶提供了一個(gè)訪問(wèn)點(diǎn),使用戶能夠訪問(wèn)來(lái)自不同來(lái)源的信息和應(yīng)用程序" title="應(yīng)用程序">應(yīng)用程序。Portal的核心服務(wù)包括:單點(diǎn)登錄" title="單點(diǎn)登錄">單點(diǎn)登錄SSO(Single sign on)、目錄集成、安全、訪問(wèn)權(quán)限控制、加密傳輸、授權(quán)與驗(yàn)證、許可權(quán)、管理功能等。Portel的一個(gè)主要作用在于提供統(tǒng)一的登錄界面和身份認(rèn)證機(jī)制" title="認(rèn)證機(jī)制">認(rèn)證機(jī)制進(jìn)行權(quán)限控制,使系統(tǒng)為用戶提供單點(diǎn)登錄,并根據(jù)用戶的權(quán)限進(jìn)入相應(yīng)的Web界面。在IBM Portal中,提供單點(diǎn)登錄的LTPA技術(shù)使Portal的安全控制得到了很好的實(shí)現(xiàn)。
1 Portal的安全控制問(wèn)題
當(dāng)今門戶網(wǎng)站已經(jīng)越來(lái)越多地應(yīng)用到網(wǎng)站的設(shè)計(jì)與構(gòu)架中。IBM WebSphere Portal在門戶網(wǎng)站設(shè)計(jì)構(gòu)架的安全性處理和用戶認(rèn)證控制等焦點(diǎn)問(wèn)題方面有相當(dāng)?shù)膬?yōu)勢(shì),其產(chǎn)品中的Portal Server、WebSphere Application erver、Lotus Domino Application Server等服務(wù)器組件,使用了同一種認(rèn)證及單點(diǎn)登錄記號(hào)的LTPA技術(shù)來(lái)提供單點(diǎn)登錄,該技術(shù)保障了所創(chuàng)建出的門戶網(wǎng)站的用戶認(rèn)證和安全性。
2 單點(diǎn)登錄
??? SSO是Portal的一個(gè)特點(diǎn)。用戶位于Web瀏覽器中瀏覽某DNS中的URL時(shí),結(jié)構(gòu)良好的SSO部署將允許每個(gè)會(huì)話中僅提示用戶登錄一次,且用戶必須輸入自己的用戶名和口令。這個(gè)DNS的Web應(yīng)用服務(wù)器成功驗(yàn)證了用戶的口令后授予用戶對(duì)這個(gè)URL的訪問(wèn)權(quán)限,就可以瀏覽SSO環(huán)境中的其他URL而不需要再次登錄。
SSO可讓網(wǎng)絡(luò)使用者在單一驗(yàn)證的基礎(chǔ)上天衣無(wú)縫地存取所有已授權(quán)的網(wǎng)絡(luò)資源,而不需要記憶許多組不同的使用者的名稱和密碼,提高了網(wǎng)絡(luò)使用者的生產(chǎn)力,降低了網(wǎng)絡(luò)作業(yè)的費(fèi)用,提高了網(wǎng)絡(luò)安全。對(duì)于系統(tǒng)管理者而言,將呈現(xiàn)出簡(jiǎn)易管理和系統(tǒng)控制以及網(wǎng)絡(luò)安全方面的優(yōu)越機(jī)制。SSO不但給門戶網(wǎng)站帶來(lái)了使用者的便利性和網(wǎng)絡(luò)系統(tǒng)的安全性,而且提升了門戶網(wǎng)站擁有者的整體形象。
要實(shí)現(xiàn)SSO,關(guān)鍵是在用戶登錄后,SSO服務(wù)器和應(yīng)用程序能夠識(shí)別用戶。在部署了IBM產(chǎn)品的Web環(huán)境中,在場(chǎng)景后臺(tái)用來(lái)實(shí)現(xiàn)SSO的就是輕量級(jí)第三方" title="第三方">第三方認(rèn)證(LTPA)。LTPA 技術(shù)允許SSO服務(wù)器在用戶登錄后標(biāo)識(shí)他們,它能夠用于各種各樣的IBM產(chǎn)品,并且由于IBM遵循開(kāi)放體系結(jié)構(gòu),在LTAP 中為WebSphere和Domino提供了嵌入點(diǎn),允許將第三方的SSO應(yīng)用程序合并到LTPA解決方案中。
3? 輕量級(jí)第三方認(rèn)證
LTPA(Lightweight Third Party Authentication)技術(shù)是IBM的標(biāo)準(zhǔn)。當(dāng)某用戶訪問(wèn)某WebSphere URL時(shí),系統(tǒng)會(huì)提示他輸入用戶名和口令進(jìn)行登錄。這時(shí)用戶可以輸入他的惟一標(biāo)識(shí)符,通過(guò)驗(yàn)證后,Web服務(wù)器將把該用戶的Web 瀏覽器中顯示的Web 站點(diǎn)內(nèi)容發(fā)送回來(lái)。在場(chǎng)景后臺(tái),WebSphere入口網(wǎng)站服務(wù)器將會(huì)建立包含已鑒別使用者認(rèn)證的單點(diǎn)登錄Cookie(默認(rèn)值是LTPA記號(hào)),并且會(huì)一直發(fā)送該cookie, 而瀏覽器通常的默認(rèn)設(shè)置是允許接收cookie的,因此用戶的瀏覽器將保存這個(gè)cookie。 LTPA cookie是臨時(shí)的,只在瀏覽器內(nèi)存中存留,用戶如果關(guān)閉瀏覽器,cookie就會(huì)被永久刪除。LTPA cookie的特點(diǎn)如下:
(1)LTPA cookie是一種典型的瀏覽器cookie,它保存的信息表示該用戶已經(jīng)進(jìn)行了登錄。所有的瀏覽器cookies都有名稱等標(biāo)準(zhǔn)屬性。LTPA cookie特有的名稱是LtpaToken。當(dāng)配置 SSO時(shí),在配置實(shí)用工具中,通常將LTPA cookie稱為SSO LTPA“令牌”。LTPA cookie有一個(gè)被編碼值,隱藏起cookie中包含的重要信息并且通過(guò)Internet傳輸。
(2)LTPA cookie 具有典型的瀏覽器cookie的相關(guān)域的信息。例如,當(dāng)用戶在university(http://university.edu.cn/learn)登錄時(shí),university服務(wù)器創(chuàng)建了LTPA cookie。university服務(wù)器在edu.cn域中,因此cookie域信息被設(shè)置為edu.cn,這表示該cookie只能在edu.cn DNS域中使用。LTPA的實(shí)現(xiàn)依賴于具有域信息的瀏覽器cookies,因此,通常SSO環(huán)境必須部署到單一DNS域中,即每臺(tái)服務(wù)器都在同一DNS域中。
(3)在用戶已經(jīng)登錄并且該用戶的瀏覽器接收到 LTPA cookie以后,在HTTP通信中不再需要進(jìn)行特定的配置,瀏覽器運(yùn)行的標(biāo)準(zhǔn)方法就是瀏覽器將自動(dòng)發(fā)送該cookie。瀏覽器不斷地向任何正確的DNS域中的URL目標(biāo)發(fā)送HTTP請(qǐng)求,通過(guò)這種途徑不斷地向外發(fā)送LPTA cookie。當(dāng)SSO服務(wù)接收到HTTP請(qǐng)求并且發(fā)現(xiàn)請(qǐng)求中包含了LTPA cookie時(shí),服務(wù)器將驗(yàn)證cookie,隨即可知道該cookie屬于哪一位已經(jīng)登錄的用戶,服務(wù)器就可以允許這個(gè)用戶對(duì)這臺(tái)服務(wù)器進(jìn)行適當(dāng)?shù)脑L問(wèn)。瀏覽器的任務(wù)就是確定在什么時(shí)候應(yīng)該隨同HTTP通信一起發(fā)出LTPA cookie。當(dāng)用戶瀏覽到一個(gè)不在同一DNS域中的URL時(shí), 因?yàn)樵揷ookie不適用于這個(gè)新的DNS域,瀏覽器則不會(huì)發(fā)送 LTPA cookie,新的DNS目標(biāo)的接收服務(wù)器就不知道用戶是誰(shuí),這時(shí)會(huì)提示用戶輸入他的用戶名和口令。
(4)LTPA cookie是安全的,因?yàn)榉?wù)器在創(chuàng)建它時(shí),使用一組加密密鑰進(jìn)行了安全加密。加密密鑰用于對(duì)cookie進(jìn)行編碼,編碼后的cookie傳送到用戶瀏覽器,而瀏覽器只對(duì)有加密密鑰的cookie進(jìn)行解碼和驗(yàn)證cookie的完整性,并隨時(shí)檢測(cè)cookie是否被篡改過(guò)。在SSO環(huán)境中的所有服務(wù)器必須共享同一個(gè)加密密鑰。當(dāng)SSO服務(wù)器接收到HTTP請(qǐng)求并發(fā)現(xiàn)其中包含LTPA cookie時(shí),就使用它共享的加密密鑰副本驗(yàn)證cookie,這時(shí)有效的cookie信息就使服務(wù)器能夠識(shí)別出登錄的用戶。
SSO服務(wù)器使用的安全加密確保了沒(méi)有任何偽造cookie的機(jī)會(huì)。沒(méi)有加密密鑰,其他非法 的cookie不會(huì)通過(guò)驗(yàn)證,偽造的cookie將被忽略。因此,SSO服務(wù)器不會(huì)被入侵。
在WebSphere Portal環(huán)境中,LTPA加密密鑰通常在配置SSO時(shí)由WebSphere 創(chuàng)建。管理員可以將密鑰導(dǎo)出到文件中,然后轉(zhuǎn)移該文件到其他的SSO服務(wù)器(例如Domino),在那里導(dǎo)入密鑰。系統(tǒng)的管理維護(hù)人員應(yīng)該非常小心地處理密鑰文件,把所有的副本保護(hù)好。
這樣,LTPA技術(shù)就實(shí)現(xiàn)了WebSphere Portal門戶網(wǎng)站的安全性。
4? 一種多目錄環(huán)境的名稱映射
在Portal環(huán)境中,尤其是在一個(gè)不斷更新的復(fù)雜環(huán)境中,經(jīng)常出現(xiàn)有多個(gè)目錄的情況。這些目錄中使用了多個(gè)名稱格式,如在兩臺(tái)不同的服務(wù)器中使用了兩個(gè)目錄,當(dāng)用戶在兩個(gè)目錄中的名稱不同時(shí),SSO就會(huì)發(fā)生問(wèn)題。這時(shí)可以用下面的方法加以解決:
有時(shí)用戶需要同時(shí)訪問(wèn)輕型目錄訪問(wèn)協(xié)議LDAP(Lightweight Directory Access Protocol)目錄和Domino目錄,而這兩個(gè)目錄都要管理SSO信息。此時(shí)用戶的LTPA cookie要在兩個(gè)服務(wù)器間切換。當(dāng)用戶切換到DWA portlet時(shí),LtpaToken包含的用戶名通過(guò)HTTP發(fā)送,這時(shí)管理員可以修改該用戶的個(gè)人文檔,添加“uid=‘用戶名’/ou=secret/dc=university/dc=com”到該用戶全名稱域的輔助值中。這樣Domino Web Access服務(wù)器會(huì)在Domino Directory中搜索LtpaToken中包含的值,并且將找到一個(gè)匹配的值,因?yàn)檫@個(gè)值包含在個(gè)人文檔里。Domino把這個(gè)名稱解析為 Domino專有名稱(‘用戶真實(shí)姓名’/Secret/university),這個(gè)名稱包含在他要訪問(wèn)的porlet文件上的訪問(wèn)控制列表ACL(Access Control List)里,這樣就賦予了這個(gè)用戶訪問(wèn)這個(gè)porlet 的權(quán)限。在進(jìn)行名稱映射時(shí),管理員應(yīng)該記住下面的規(guī)則:
(1)在修改Domino個(gè)人文件的FullName域時(shí),要輸入“Domino格式”所代理的LDAP專有名稱。
LDAP格式: uid=‘用戶名’,ou=secret,dc=university,dc=com
Domino格式: uid=‘用戶名’/ou=secret/dc=university/dc=com
(2)在FullName域中添加LDAP DN(標(biāo)識(shí)名)作為輔助值,不要添加LDAP DN作為第一或第二個(gè)值.Domino預(yù)期的主要值是Domino DN,而且第二個(gè)值是Domino的“公用名稱”。
(3)其他的應(yīng)用程序可能會(huì)區(qū)分大小寫,而Domino是不區(qū)分大小寫的。
(4)為便于目錄更改,可以使用IBMTivoli Directory Integrator來(lái)實(shí)現(xiàn)映射策略自動(dòng)地執(zhí)行。
這樣,LTPA的一種名稱映射即完善了一種多目錄環(huán)境中的SSO,保證了portal安全控制SSO的正常運(yùn)行。
5? Portal中的LTPA配置
在WebSphere Application ServerV5.0中查看管理控制臺(tái)頁(yè)面時(shí),應(yīng)該選擇安全性>認(rèn)證機(jī)制>LTPA。如果是第一次配置安全性,則只需要密碼;選擇單一注冊(cè)(SSO),然后輸入域名;要保證啟用了SSO,而且要保證設(shè)置了適當(dāng)?shù)淖?cè)表;如果啟用了安全性而且其中的任何屬性發(fā)生了更改,則轉(zhuǎn)至“全局安全性”面板驗(yàn)證更改。
配置選項(xiàng)卡:
?? (1)配置生成密鑰來(lái)指定服務(wù)器是否將生成新的LTPA 密鑰。當(dāng)使用LTPA作為認(rèn)證機(jī)制第一次打開(kāi)安全性時(shí),可使用在面板中輸入的密碼自動(dòng)生成 LTPA密鑰,也可以設(shè)置新的密鑰。
?? (2)配置導(dǎo)入密鑰來(lái)指定服務(wù)器是否將導(dǎo)入新的LTPA密鑰。在跨多個(gè) WebSphere 域(單元)支持SSO時(shí),事先將LTPA密鑰從一個(gè)WebSphere域?qū)С鲋廖募?然后從其他域中導(dǎo)出LTPA密鑰,并且在這些域之間共享LTPA密鑰和密碼。
?? (3)配置導(dǎo)出密鑰來(lái)指定服務(wù)器是否導(dǎo)出LTPA密鑰,這里可以將LTPA密鑰導(dǎo)出到其他域。在密鑰文件名字段中輸入文件名,并選擇導(dǎo)出密鑰,加密的密鑰將存儲(chǔ)在指定的文件中。
?? (4)配置密碼選項(xiàng)來(lái)指定密碼加密或解密LTPA密鑰。一旦生成或?qū)肓嗣荑€,就將使用它們來(lái)加密或解密LTPA記號(hào)。
?? (5) 配置超時(shí)來(lái)指定LTPA記號(hào)將到期的時(shí)間段。應(yīng)該確保此時(shí)間段比在“全局安全性”面板中配置的高速緩存超時(shí)要長(zhǎng)。
?? (6)配置密鑰文件名來(lái)指定在導(dǎo)入或?qū)С雒荑€時(shí)所使用的文件名,可以輸入全限定的密鑰文件名,然后選擇再導(dǎo)入密鑰或者導(dǎo)出密鑰的方法。
采用LTPA技術(shù),WebSphere Portal實(shí)現(xiàn)了門戶網(wǎng)站的安全控制和用戶的身份認(rèn)證,保障了門戶網(wǎng)站內(nèi)部的安全通訊和安全性。LTPA應(yīng)用方便,配置簡(jiǎn)單易行,在多服務(wù)器多目錄的較大環(huán)境下也可以比較容易地實(shí)現(xiàn)名稱映射,保障門戶網(wǎng)站安全性的流暢,充分說(shuō)明了LTPA技術(shù)在安全控制方面具有一定的技術(shù)特點(diǎn)和優(yōu)勢(shì)。
參考文獻(xiàn)
[1] ?BARCIA R, HINES B, ALCOTT T. IBM websphere:?deployment and advanced configuration. IBM Press, 2004.
[2] ?SMITH A E, TWOREK W. Lotus security handbook. IBM ?Press, 2005.
[3] ?BOTZUM K. websphere application server security:?Presentation series. IBM press,2004.
[4] ?KOVARI P, CARPENTER D. IBM websphere V5.0 Security WebSphere Handbook Series. IBM press, 2004.
[5] ?DARMAWAN B, FIRTIYAN A. WebSphere portal collaboration security handbook. IBM Press, 2004.