SSL正在保護我的網站……等等,你真的確定嗎?
譯文【51CTO精選譯文】多年以來,安全套接層加密方案已經成為保障Web安全的根本機制。然而最近一段時間大量涌現的攻擊行為提出這樣一個問題:SSL及其后續(xù)協議、傳輸層安保系統(tǒng)是否仍有能力扮演網站驗證最佳守護者的角色?批評者們認為,這些方案不僅自身存在漏洞,在部署方面也難度頗高;不過業(yè)界內大多數專家還是堅定地指出,上述體系本身并非如此不堪一擊——它們只是需要用戶在實施層面上多花些心思。
SSL與TLS,通常被統(tǒng)稱為SSL,廣泛分布在網絡世界的各個角落,用以驗證某個站點的實際內容到底是與其表述一致、抑或是由釣魚者及其它攻擊者為了竊取機密數據而打造的一個虛假外殼。SSL還同時還為我們提供了一套加密基礎設施,這樣共享數據的安全才有保證。整個體系與網絡世界聯系地如此緊密,以至于我們很難想象有哪一套新技術能夠在短時間內取代它的地位——甚至可以斷言,新機制大規(guī)模覆蓋SSL的情況幾乎不可能發(fā)生。由于SSL驚人的普及度,我認為目前在改善網站運作部署方面,采用SSL仍然是最為理想的選擇(至于以后會如何就由時間來檢驗吧)。
“即使我們現在認定SSL自身存在嚴重缺陷并且已經瀕臨崩潰,但不可否認它可能仍然是未來10年內我們所能依賴的最佳防御機制;如果大家從今天開始努力,也許10年之后會有理想的替代品誕生,”Trustwave公司身份及驗證管理業(yè)務副總裁Brian Trzupek表示,這是一家認證授權及安全服務供應企業(yè)。當下以SSL為基礎的最新技術——TLS 1.2——已經解決了已知的所有問題。至于其它漏洞,Trzupek認為“完全是由SSL的不當部署及使用所引發(fā)。”
誠然,SSL的信任生態(tài)系統(tǒng)并不完美,但網站經營者們完全可以采取一些步驟對其部署進行優(yōu)化,以盡量避免可能危及公司數據及令客戶承擔風險的失誤。以下是四項步驟的具體內容:
#p#
使用最新版本的協議及密碼套件
SSL協議的設計非常精巧,完全可以承受多種類型的攻擊。但是在這里我必須強調一大前提:要得到充分的保護,網站必須采用最新版本的SSL協議及密碼套件,而且其服務器也需要得到正確配置。
但大多數IT機構并沒有把上述要求落實到位。“很多SSL服務器在配置方面一塌糊涂,”Qualys公司工程部門總監(jiān)Ivan Ristic指出,這是一家IT安全服務供應商,曾經對120萬個網站的服務器進行過掃描,以研究SSL當前的部署狀況。“根據我們的觀察,只有約三分之一使用SSL的服務器經過恰當的配置;而在SSL不再安全的言論甚囂塵上的現在,配置正是解決問題的關鍵所在。”
公司的調查顯示,目前絕大多數服務器使用的仍然是落后于最新技術兩個版本的SSL工具。大家一定都非常了解為終端打上最新的關鍵性補丁以防范安全問題的重要性,同樣的道理,企業(yè)也應該使用跟得上時代的最新SSL版本以盡量可能會被攻擊者利用的漏洞,以避免會話劫持及其它復雜攻擊活動的出現。
從上述觀點出發(fā),企業(yè)也需要認真對待自身使用的由SSL協議所支持的實際加密機制。
“盡量選擇規(guī)模最大、結構最復雜的加密密鑰,它們能夠有效地保護我們身邊需要保護的設備,”Trzupek如是說。在理想狀況下,企業(yè)應該使用256位甚至強度更大的加密機制。
這是在Web服務器上正確配置SSL的一項關鍵性要素,Ristic解釋稱,但還有很多其它值得注意的事項,尤其是在應用層面上。
經過調查,Qualys公司發(fā)現在使用SSL的網站中,SSL普遍沒有被正確部署在應用層中,他補充道。即使是那些對SSL進行了良好配置的網站,也僅僅將著眼點放在協議層上。而對于Web應用程序與網站,則往往“隨意部署SSL了事,使得攻擊者很容易以此為契機展開惡意活動,”他說。
舉例來說,許多Web應用程序會在加密身份驗證尚不完善的情況下將產品交付用戶使用。“這種情況甚至令我們也感到震驚,”Ristic表示。“人們常常以純文本這種極不科學的形式輸入用戶名與密碼,而這對攻擊者們而言無疑是絕好的機會。”
另一種常見的配置錯誤是未對所部署的會話cookie做出充分保護,最終使攻擊者很容易訪問到這些敏感內容。Cookie內部必須具備“安全的”編碼構造,以確保其免受惡意人士的窺探。“即使大家已經對SSL服務器做出合理配置,但如果不為會話cookie添加安全標注……那么攻擊者很可能趁機將內容提取出來并劫持該會話,”Ristic指出。開發(fā)人員需要在創(chuàng)建新應用程序時就刻意避免上述失誤,因為一旦程序成形,對每個固有漏洞進行定義及修復將變得非常困難。
妥善管理加密密鑰
加密機制總會給企業(yè)帶來行政層面上的負擔,其中最大的麻煩就是管理用于信息在網站及用戶之間流通時加密及解密所必需的公共及私有密鑰。終端用戶利用公共密鑰對傳輸至網站服務器的數據流進行加密,而網站則采用一套私有密鑰對信息解密,并在用戶的瀏覽器端顯示出他們希望看到的內容。
值得一提的是,私有密鑰必須遠離攻擊者及機構內部的惡意人士。任何打算訪問私有密鑰的人必須首先獲得與之相匹配的授權認證;而該認證則由第三方認證授權機構(簡稱CA)進行核對,以了解來訪網站是否合法。因此,攻擊者往往以盜竊手段獲取私有密鑰以及與之對應的授權認證,這樣他們就能將自己的假冒網站以合法的面貌擺上臺面,進而令訪問者將其誤認作真正的站點并最終導致個人信息泄露。
但是對私有密鑰的保護往往令網站管理更加困難,因為安全性與便捷性之間存在著天然的對立關系。SSL Web服務器需要能夠在IT管理員完全不介入的情況下直接訪問私有密鑰,而站點運營方則更希望走捷徑,即盡量削弱密鑰的安全保護機制,這樣終端用戶才能更加順暢地調用網絡內容。
“我們必須確保這些密鑰在需要的時候能夠隨時使用,”JAS全球顧問公司創(chuàng)始人兼首席執(zhí)行官Jeff Schmidt指出,這是一家專業(yè)IT技術咨詢企業(yè),在風險管理及戰(zhàn)略技術風險指導方面頗有心得。“與此同時,大家需要確保只有自己指定的對象才能接觸到密鑰。”在大多數企業(yè)中,私有密鑰都以未加密的形式保存在Web服務器中,也就是說攻擊者完全可以在不具備密碼、智能卡或者其它需要以密碼登錄的設備時輕松獲取這些關鍵信息,Schmidt補充道。
綜上所述,當Web服務器存在漏洞時——尤其是在安全威脅日益增多的當下,業(yè)務體系中的某些點將不可避免地有所疏忽——攻擊者將得以訪問這些密鑰并利用它們創(chuàng)建仿冒服務器。此外,盡管大多數網站的經營者都知道當Web服務器被攻破后,新的授權認證及私有密鑰都應該由新的虛擬機保管,但他們出于成本的考慮往往對此根本不做必要的調整。
“我們在調查中發(fā)現了很多此類情況,明明Web服務器已經慘遭攻破,管理人員卻仍然將認證機制原封不動地保存在新服務器上,這簡直跟直接把密鑰送給攻擊者沒什么分別。”Schmidt表示。而有了這些密鑰,這幫混球將能夠非常方便地繼續(xù)創(chuàng)建偽造證書及仿冒網站。
保護公共及私有密鑰最顯而易見、同時也是最有效的方法之一,就是永遠不要將它們保存在Web服務器中。作為安保機制的核心,私有密鑰更是應該加以妥善保管。同樣,也不能將私有密鑰保存在FTP服務器上,或是出于任何理由將其通過郵件方式發(fā)送給他人。利用上述不安全的渠道共享或存儲密鑰很可能讓攻擊者有機可乘,同時企業(yè)內部對SSL保護系統(tǒng)有一定了解的非核心員工沒準也會心生歹念。“就在剎那之間,我們苦心打造的安全規(guī)劃、可審核性機制等等都會灰飛煙滅,”加密管理服務廠商Venafi公司CEO Jeff Hudson評論道。
解決方案其實并不復雜,只要使用一款密鑰管理工具,將公共及私有密鑰實施隔離,再確保SSL系統(tǒng)管理員無法接觸到私有密鑰即可。網站管理員不應該同時扮演密鑰管理員的角色;務必要將崗位職責劃分清楚。
保管好授權證書
除了不盡人意的加密密鑰管理工作,SSL網站運營者們往往對授權證書本身的保護也很不到位。在擁有企業(yè)內部網絡、大型電子商務網站或者其它包含敏感數據站點的機構中,授權證書的數量可能多達成千上萬。在處理如此海量的授權證書時,企業(yè)往往會將其分散至各服務器及網站管理者處,讓他們各自負責。這種做法無疑會迅速導致混亂及安全威脅。
大型零售商及其它企業(yè)甚至常常不清楚自己手頭到底在使用多少套授權證書,Hudson指出。最近某家大型零售企業(yè)就告訴他,其日常業(yè)務所使用的證書大約是15000套。而當他的團隊對該企業(yè)的零售基礎設施進行系統(tǒng)檢查后,發(fā)現所涉及的證書數量足足翻了一倍。根據來自Osterman研究機構與Venafi的最新調查結果,54%的企業(yè)對機構內部用到的數字證書數量沒有明確概念。
分布式證書管理領域的一大關鍵性問題在于,沒有某個人或團隊專職跟蹤審查證書的有效日期。也就是說,證書往往在到期之后企業(yè)中仍然無人留意,如此一來客戶或其它用戶在訪問時就會收到提示信息,宣稱證書可能存在問題。更嚴重的情況下,我們甚至可能因此而無法訪問需要的信息。
“當安全證書失去效力之后,將有大量客戶無法正常獲得服務,這時熱線電話必然一遍又一遍響個不停。最后,企業(yè)當機立斷對證書進行更新,而一切再次恢復平靜,”Trzupek告訴我們。而與此同時,當客戶一次又一次被提醒安全證書已過期時,企業(yè)辛辛苦苦樹立起來的印象也在逐漸土崩瓦解。
我們同樣不希望遇上這樣的狀況:客戶及其它用戶由于經常在我們的頁面上看到證書失效提示,因此將其認為合理情況并點擊了“確認”按鈕。這不僅破壞了證書的驗證流程,還將我們的網站徹底暴露在攻擊活動的威脅之下。
除了沒有專人跟蹤證書動態(tài),許多企業(yè)還忽略了制定或是強制執(zhí)行證書的采購流程及政策。程序員們往往會在匆忙間隨便打開某個CA機構的網站并直接進行購買,而沒有考慮該CA機構是否在企業(yè)自身的采購名單當中。事實上,從口碑不好的CA機構處隨便弄來的授權證書,在安全性方面根本無法與信譽良好的CA機構所提供的嚴格標準相提并論。
而另外一些企業(yè)所面臨的則是內部政策的執(zhí)行力度問題,Hudson表示。舉例來說,某家大型電子商務企業(yè)的管理者制定出一套完備的機制,明確規(guī)定了哪些人能夠安裝證書、而這些證書又應該從休息購買。但Hudson的研究團隊發(fā)現該企業(yè)的網站中有幾套證書并不符合上述要求,因為證書的提供者并不在企業(yè)核準的名單當中。
“我們立即反應了這一情況,告訴管理者‘打擾一下,我們在昨天的檢測中發(fā)現了三套來歷不明的證書,’那人怒發(fā)沖冠、以頭搶桌,憤憤地解釋稱‘我提醒過那幫家伙別這么干,’”Hudson描述道。
當證書管理機制手動落實,而證書的來源政策卻沒有被強制執(zhí)行時,企業(yè)相當于對未知的安全風險敞開了大門。通過去年DigiNotar與Comodo兩家公司鬧出的亂子,我們可以看出CA供應商本身很可能存在著巨大的違規(guī)漏洞。由Venafi贊助、Osterman公司組織進行的調查結果顯示,約72%的企業(yè)在CA供應商出現問題時,不具備一套現有證書自動更替體系。
要對證書管理流程做到徹底掌握,不妨考慮在企業(yè)內部引入自動化跟蹤流程。這類工具會對現有證書進行掃描并設置出對應的自動化系統(tǒng),保證在證書到期之前做出正確處理。只要這套體系落實到位,大家只需利用證書管理平臺將原本分散在諸多商務部門及服務器管理者手中的證書進行集中,就可以通過一位專門的證書管理員實施集中式管理;這樣做的同時,企業(yè)所制定的證書采購政策也自然得到了保障。
“我們都希望擁有一套能夠將所有不同類型的證書統(tǒng)一交給一位管理員進行控制的平臺,同時它也要能夠在局部人員有需要時允許他們登入集中化系統(tǒng),通過調用指定證書滿足自身的業(yè)務需求,”賽門鐵克公司產品營銷部門負責人Deena Thomchick解釋道。Entrust、RSA、賽門鐵克、Trustwave以及Venafi等企業(yè)目前都在提供證書生命周期管理系統(tǒng)類產品。
#p#
SSL實施水平情況一覽
SSL配置水平一覽,數據由Qualys SSL實驗室提供。
IT安全服務供應商Qualys公司對已經部署了SSL系統(tǒng)的超過30萬臺Web服務器進行了評估,其中配置水準達到A級的只占總數的32%。
公司的SSL實驗室首先調查了各家網站所使用證書的有效性與可信性是否經過權威機構的認證。任何連這一點都做不到的網站都會直接被判0分。
能夠滿足上述評判條件的網站將迎接以下三個方面的進一步審核:協議支持、密鑰交換支持以及密碼支持。三項中任何一項無法達到最低標準的網站都會直接被判0分,而完善的部署則能在這一環(huán)節(jié)贏得滿分。
拿到總體B級及以下評價的網站往往只在自己Web服務器中的SSL采取了默認配置,Qualys公司總結稱。
避免混合型內容
經過對超過25萬個SSL站點的調查,Qualys公司發(fā)現超過五分之一的受訪對象在網站中部署了混合型內容。
混合型內容是指,當企業(yè)在網站的某個頁面中使用SSL時,卻同時在該頁面中提供不受SSL保護的內容。這種做法會留下易被利用的安全漏洞。攻擊者們能夠將未被加密的內容攔截下來,進而按自己的意愿對其進行修改。如果網站未經加密的部分能夠運行腳本,攻擊者將有機會通過DNS感染等方式將網站流量引導至自己的站點處,這無疑是一種相當危險的破壞手段。
Trustwave公司SpiderLab研究部門高級副總裁Nicholas Percoco認為,只要我們擁有一套受SSL保護的HTTPS連接,那么無論何時都不應該允許外界內容傳輸到自己的域中,這些內容只能由未受保護的HTTP接收。“必須保證所有頁面都在SSL的保護之下,并且經過嚴格測試,”他補充道。
同樣,必須利用SSL保護由客戶及其它用戶所提交的所有形式的內容。舉例來說,當某位客戶在電子商務交易過程中點擊“聯系我們”按鈕時,不應該出現像“你所瀏覽的網頁內容未被加密”之類的提示信息。
混合型內容在擴展驗證SSL證書(簡稱EV SSL)方面帶來的問題尤為嚴重,Trzupek指出。EV SSL證書比目前使用較為廣泛的域驗證SSL證書更進一步,后者能夠利用最為簡潔的手段判斷出用戶是否有權訪問處于SSL證書保護之下的域。EV SSL證書部署成本更高,并要求網站擁有者為其打造一套擴展化裝置以完善訪問者的身份驗證流程。使用EV SSL證書的網站會在瀏覽器的地址欄中顯示出綠色提示條,以通知用戶該網站處于EV SSL的保護下。定期域驗證SSL則在地址欄中以掛鎖圖標表示。
如果大家在網站中引入EV證書機制,并將JavaScript資源也納入SSL的保護當中,那么頁面在瀏覽器上的顯示效果將遠差于普通SSL,Trzupek解釋道。“許多企業(yè)……投入重金采購了一套完善的EV證書并將其運用在品牌網站當中,而地址欄中的相應組件卻沒有變綠,他們完全搞不懂這是怎么回事。”
許多證書驗證機構已經開始在客戶企業(yè)購買了EV SSL后向其提供額外EV證書產品的折扣,因為這樣一來跨站點部署EV證書的成本才不會高得離譜,Trzupek告訴我們。但其中仍然存在問題,因為大多數網站運營者沒有意識到應該管理好頁面中的混合型內容。
時刻保持警覺大概是解決混合型內容問題的惟一辦法。企業(yè)必須利用恰當的廣泛測試與質量保障流程才能確保網站及應用程序開發(fā)工作中不會摻雜混合型內容。
Entrust公司高級安全主任Tim Moses指出,目前購買證書的客戶大致可以分成兩類:一類購買認證產品的出發(fā)點是讓自己的網站擁有綠色指示條或者掛鎖圖標,這會令訪問者認為該企業(yè)在安全性方面較為看重,并由此拉動企業(yè)的市場競爭力——“他們會為了獲得這些圖標而不擇手段,”他表示。“而另一類網站運營者則真的是把終端用戶的安全放在第一位,努力幫助自己的用戶免受攻擊侵害。”
大家的企業(yè)屬于哪一種?如果僅僅是打算借此提高市場競爭力,那么需要提醒各位的是,僅僅購買EV證書并不能給自己的網站帶來令人安心的全面保護。我們還需要關注自己的SSL服務器是否配置正確、密鑰管理流程是否得當、證書的采購與管理有無紕漏以及自己的網站中是否存在混合型內容。可以說,要想切實保證自己企業(yè)的網絡得到萬全的加密,以上四項步驟缺一不可。
最后,讓我們一起看看10大SSL常見錯誤:
#p#
加密服務供應商Entrust公司理事兼證書驗證及瀏覽器標準化設置論壇創(chuàng)始人Tim Moses為我們提出以下十條反面教材。
1. 服務器、尤其是流量巨大的網站服務器缺乏補丁更新機制。
2. 敏感腳本及表格被托管于不安全的頁面中。登入頁面等關鍵性內容一旦脫離了SSL的保護后果將不堪設想,因為用戶名與密碼等信息都包含在其中。
3. 使用不具備最新加密技術的落后密碼套件。
4. 對私有密鑰的處理不夠安全,包括系統(tǒng)管理之間通過郵件發(fā)送密鑰等不良習慣。
5. 在同一個Web頁面中同時提供安全及不安全內容,這使得攻擊者很容易對不安全內容實施注入攻擊。
6. 當心已經過期或無效的SSL證書,當用戶反復看到失效信息之后,往往會將此視為正?,F象。
7. 在電子商務網站中使用域驗證證書,在這類涉及資金交易的關鍵性部分最好使用安全性更高的擴展驗證證書。
8. 為www.example.com提供證書,卻忽略了example.com這樣的形式。用戶往往喜歡通過簡短的地址進行登錄。
9. 沒有為cookie內容提供保護措施。
10. 將密鑰與證書復制到多臺服務器中,沒有分別對每套副本進行本地追蹤,而且忽略了這些驗證機制的有效期。