背景
在企業發展初期,企業使用的系統很少,通常一個或者兩個,每個系統都有自己的登錄模塊,運營人員每天用自己的賬号登錄,很方便。
但随着企業的發展,用到的系統随之增多,運營人員在操作不同的系統時,需要多次登錄,而且每個系統的賬号都不一樣,這對于運營人員來說,很不方便。于是,就想到是不是可以在一個系統登錄,其他系統就不用登錄了呢?這就是單點登錄要解決的問題。單點登錄英文全稱Single Sign On,簡稱就是SSO。它的解釋是:在多個應用系統中,隻需要登錄一次,就可以訪問其他相互信任的應用系統。
如圖所示,圖中有4個系統,分别是Application1、Application2、Application3、和SSO。Application1、Application2、Application3沒有登錄模塊,而SSO隻有登錄模塊,沒有其他的業務模塊,當Application1、Application2、Application3需要登錄時,将跳到SSO系統,SSO系統完成登錄,其他的應用系統也就随之登錄了。這完全符合我們對單點登錄(SSO)的定義。
實現機制
當用戶第一次訪問應用系統1的時候,因為還沒有登錄,會被引導到認證系統中進行登錄;根據用戶提供的登錄信息,認證系統進行身份校驗,如果通過校驗,應該返回給用戶一個認證的憑據--ticket;用戶再訪問别的應用的時候就會将這個ticket帶上,作為自己認證的憑據,應用系統接受到請求之後會把ticket送到認證系統進行校驗,檢查ticket的合法性。如果通過校驗,用戶就可以在不用再次登錄的情況下訪問應用系統2和應用系統3了。
要實現SSO,需要以下主要的功能:
系統共享
統一的認證系統是SSO的前提之一。認證系統的主要功能是将用戶的登錄信息和用戶信息庫相比較,對用戶進行登錄認證;認證成功後,認證系統應該生成統一的認證标志(ticket),返還給用戶。另外,認證系統還應該對ticket進行校驗,判斷其有效性。
信息識别
要實現SSO的功能,讓用戶隻登錄一次,就必須讓應用系統能夠識别已經登錄過的用戶。應用系統應該能對ticket進行識别和提取,通過與認證系統的通訊,能自動判斷當前用戶是否登錄過,從而完成單點登錄的功能。
另外:
1、單一的用戶信息數據庫并不是必須的,有許多系統不能将所有的用戶信息都集中存儲,應該允許用戶信息放置在不同的存儲中,事實上,隻要統一認證系統,統一ticket的産生和校驗,無論用戶信息存儲在什麼地方,都能實現單點登錄。
2、統一的認證系統并不是說隻有單個的認證服務器
認證服務器之間要通過标準的通訊協議,互相交換認證信息,就能完成更高級别的單點登錄。如:當用戶在訪問應用系統1時,由第一個認證服務器進行認證後,得到由此服務器産生的ticket。當他訪問應用系統2的時候,認證服務器2能夠識别此ticket是由第一個服務器産生的,通過認證服務器之間标準的通訊協議(例如SAML)來交換認證信息,仍然能夠完成SSO的功能。
其他含義
SSO Sun-synchronous orbit 太陽同步軌道的英文縮寫
SSO Ship Security Officer船舶保安員的英文縮寫
SSO Schedule of System Operation 系統運作時間表(常用于機電工程的前期規劃設計)
技術應用
技術實現
以金萬維單點登錄為例:如圖所示:統一的身份認證系統主要功能是将用戶的登錄信息和用戶信息庫相比較,判斷其有效性。整個系統可以存在兩個以上的認證服務器,這些服務器甚至可以是不同的産品。認證服務器之間要通過标準的通訊協議,互相交換認證信息,就能完成更高級别的單點登錄。
應用優勢
單點登錄:用戶隻需登錄一次,即可通過單點登錄系統(eTrueSSO)訪問後台的多個 應用系統,二次登陸時無需重新輸入用
名和密碼nC/S單點登錄解決方案:無需修改任何現有的應用系統服務端和客戶端即可實現C/S單點登錄系統n即裝即用:通過簡單的配置,無須用戶修改任何現有B/S、C/S應用系統即可使用
應用靈活性:内嵌金萬維動态域名解析系統(gnHost),可獨立實施,也可結合金萬維異速聯/天聯産品使用n基于角色訪問控制:根據用戶的角色和URL實現訪問控制功能n全面的日志審計:精确地記錄用戶的日志,可按日期、地址、用戶、資源等信息對日志進行查詢、統計和分析
集群:通過集群功能,實現多台服務器之間的動态負載均衡n傳輸加密:支持多種對稱和非對稱加密算法,保證用戶信息在傳輸過程中不被竊取和篡改n可擴展性:對後續的業務系統擴充和擴展有良好的兼容性[1]n
應用缺點
1)不利于重構n因為涉及到的系統很多,要重構必須要兼容所有的系統,可能很耗時
2) 無人看守桌面n因為隻需要登錄一次,所有的授權的應用系統都可以訪問,可能導緻一些很重要的信息洩露。
應用案例
存在問題
某某集團公司坐落于蘭州,在西藏、北京、上海等地擁有多個分子公司,并在全國各大城市設有辦事處,随着業務的快速發展與壯大,集團公司已經意識到信息化是實現企業終極目标的重要手段,自2000年開始,公司先後實施了ERP、BPM、HR、EIP、企業郵局、騰訊通平台、OA、财務等 多套管理系統,實現公司各項業務流程及管理流程的信息化、自動化。然而,随着業務數量的不斷增加,各系統之間互不兼容造成的信息共享性差、需要記憶多套密碼、客戶端維護成本高等問題日益凸顯,一些花巨資購買并實施數月的系統運用效果遠不如預期理想。
為了确保業務的高效運行與管理的高效執行,企業急需優化信息化方案:
第一, 如何實現公司各種業務流程及信息資源的全面整合?
第二, 如何簡化各種信息系統的使用方式,降低使用成本?
第三, 如何降低信息系統維護與管理成本?
解決方案
實現資源整合:
為了解決第一個問題,即實現各信息系統之間的全面整合,集團公司引進了企業信息門戶(EIP),即将各種應用系統(諸如ERP、BPM、HR、OA、企業郵局等)、數據資源和互聯網資源統一集到企業信息門戶之下,根據每個用戶使用特點和角色的不同,形成個性化的應用界面,并通過對事件和消息的處理、傳輸把用戶有機地聯系在一起。
簡化系統應用:
在實施EIP的過程中,集團公司使用單點登錄eTureSSO解決用戶需要記錄多個系統賬号的問題,用戶隻需要在第一次訪問信息系統時,輸入用戶名與密碼,以後再訪問同一個系統資源時,無需再次輸入,由單點登錄系統自動登錄。
降低信息維護成本:
(E-SoonLink)實現C/S分布式軟件的集中式部署,将管理系統服務器端與客戶端統一部署在客戶服務器中心,任何授權客戶機都能夠以WEB形式訪問,并更新數據,輕松實現了系統在廣域網中的局域網應用。集團在實施異速聯系統之後,無需在每個用戶客戶機安裝每套信息系統的客戶端軟件,因此對客戶機硬件配置要求降低,另外,無需對每個客戶機進行安裝配置和維護,大大減少了安裝維護的工作量,降低了用戶數量日益增長所産生的信息化成本。
其它相關内容
sso
在交換設備中表示基于狀态的切換與不停頓轉發一起使用(NSF/SSO)
,它具有如下特點:
Active/Standby主控闆運行在同步模式
冗餘的MSFC處于hot-standby模式
交換機處理器同步二層端口的狀态信息
PFCs同步L2/L3的FIB轉發信息庫,Netflow和ACL訪問控制表
Learn how to enable nonstop forwarding with stateful switchover (NSF/SSO).Config SSO first
Router> enable
Router# configure terminal
Router(config)# redundancy
Router(config-red)# mode sso
Router(config-red)# end
Router# show redundancy states
Multicast MLS on by default
enable in routing process
router(config)#router ospf 120
router(config-router)nsf
e.g.:NSF/SSO: MPLS VPN
Cisco Catalyst 4500 E-Series High Availability
NSF/SSO: L2VPN Pseudowire Redundancy
WEB-SSO
用戶在訪問頁面1的時候進行了登錄,但是 客戶端的每個請求都是單獨的連接,當客戶再次訪問頁面2的時候,如何才能告訴Web服務器,客戶剛才已經登錄過了呢? 浏覽器和服務器之間有約定:通過使用cookie技術來維護應用的狀态。Cookie是可以被Web服務器設置的字符串,并且可以保存在 浏覽器中。
當 浏覽器訪問了頁面1時,web服務器設置了一個cookie,并将這個cookie和頁面1一起返回給浏覽器,浏覽器接到cookie之後,就會保存起來,在它訪問頁面2的時候會把這個cookie也帶上,Web服務器接到請求時也能讀出cookie的值,根據cookie值的内容就可以判斷和恢複一些用戶的信息狀态。Web-SSO完全可以利用Cookie技術來完成用戶登錄信息的保存,将 浏覽器中的Cookie和上文中的Ticket結合起來,完成SSO的功能。
為了完成一個簡單的SSO的功能,需要兩個部分的合作:
1、統一的 身份認證服務。
2、修改Web應用,使得每個應用都通過這個統一的認證服務來進行身份校驗。
很多的網站都有用到SSO技術,
新浪的用戶登錄也是用到的SSO技術.
實現SSO的技術主要有:
(1)基于cookies實現,需要注意如下幾點:如果是基于兩個 域名之間傳遞sessionid的方法可能在windows中成立,在unix&linux中可能會出現問題;可以基于數據庫實現;在安全性方面可能會作更多的考慮。另外,關于跨域問題,雖然cookies本身不跨域,但可以利用它實現跨域的SSO。
(2) Broker-based(基于經紀人),例如Kerberos等;這種技術的特點就是,有一個集中的認證和用戶帳号管理的服務器。經紀人給被用于進一步請求的電子的身份存取。中央數據庫的使用減少了管理的代價,并為認證提供一個公共和獨立的"第三方"。例如Kerberos, Sesame,IBM KryptoKnight(憑證庫思想)等。Kerberos是由 麻省理工大學發明的安全認證服務,當前版本V5,已經被UNIX和Windows作為默認的安全認證服務集成進 操作系統。
(3) Agent-based(基于代理人)在這種解決方案中,有一個自動地為不同的 應用程序認證用戶身份的代理程序。這個代理程序需要設計有不同的功能。比如,它可以使用口令表或加密 密鑰來自動地将認證的負擔從用戶移開。代理人被放在服務器上面,在服務器的認證系統和 客戶端認證方法之間充當一個"翻譯"。例如SSH等。
(4) Token-based,例如SecurID,WebID,現在被廣泛使用的口令認證,比如FTP, 郵件服務器的登錄認證,這是一種簡單易用的方式,實現一個口令在多種應用當中使用。
(5) 基于 網關Agent and Broker-based,這裡不作介紹。
(6) 基于安全斷言 标記語言(SAML)實現,SAML(Security Assertion Markup Language,安全斷言标記語言)的出現大大簡化了SSO,并被OASIS批準為SSO的執行标準。開源組織OpenSAML 實現了 SAML 規範。
CAS由 耶魯大學開發的 單點登錄系統(SSO,single sign-on),應用廣泛,具有獨立于平台的,易于理解,支持代理功能。
保護SSO讓vSphere更穩固
簡單說,你可以設置一個HA備份節點,在主SSO失效時接管SSO功能。這種方式需要占用更多服務器資源,但需要的基礎設施資源已經很便宜,特别是虛拟化之後。VMware演示了如何使用免費的Apache軟件創建基本的SSO服務器負載平衡組。要搭建一套帶負載平衡的SSO基礎設施,需要對證書和負載平衡技術有足夠的了解。
假定正在使用虛拟化基礎架構,任何承載SSO服務器站點虛拟機的物理主機出現故障,SSO站點虛拟機都會通過HA機制從備份節點重新啟動,從而接管SSO功能。當然,這并不能修複配置錯誤。如果要應對配置錯誤的情形,快照非常有用,即使你因為配置失誤而把SSO弄丢了,你也可以很容易回滾快照進行恢複。隻要你能決定,這種投入肯定是值得的。但可惜,即使是一些我曾經工作過的大型組織都沒有采用這類措施。如果有正常運行的HA系統,确實沒有必要。
如果需要運行多個站點并期望實現單一管理體系,方法會略有區别。多站點安裝過程需要在SSO安裝選項下拉,選擇多站點。從本質上說,使用多站點模式意味着在多主控模式下為每個站點設置了自己單獨的主節點。區别是,當您設置多站點模式時,你需要一個SSO服務器将這些站點鍊接到一起。
這種安裝模式的一個潛在問題是,不同站點彼此之間将不會複制數據庫。在實際案例中,對于大多數站點,數據庫複制并不重要。數據庫偶爾會需要複制,但是隻要你選擇外部獨立的身份驗證系統進行身份驗證,如OpenLDAP或微軟AD,就幾乎不會有這種複制需要。



















