- Linux服務(wù)器安全策略詳解(第2版)
- 曹江華
- 1564字
- 2019-01-01 07:27:54
2.5 OpenSSL面臨的安全問題及其解決思路
2.5.1 OpenSSL面臨的安全問題
SSL是一個相當(dāng)不錯的安全機制,然而若應(yīng)用在特殊要求方面,它還存在這樣那樣的問題。SSL常見的安全問題有下面三種。
1.攻擊證書
類似Verisign之類的公共CA機構(gòu)并不總是可靠的,系統(tǒng)管理員經(jīng)常犯的錯誤就是過于信任Verisign等公共CA機構(gòu)。例如,如果Verisign發(fā)放一個證書“某某某”,系統(tǒng)管理員很可能就會相信“某某某”。但是,對于用戶的證書,公共CA機構(gòu)可能不像對網(wǎng)站數(shù)字證書那樣重視和關(guān)心其準(zhǔn)確性。例如,Verisign發(fā)放了一個“keyman”組織的證書,其中一員“JACK”在一個網(wǎng)站要求認(rèn)證用戶身份時,提交了“JACK”的證書,他可能會對其返回的結(jié)果大吃一驚。
如果黑客不能利用非法的證書突破服務(wù)器,他們可能嘗試暴力攻擊(Brute-Force Attack)。雖然暴力攻擊證書比暴力攻擊口令更為困難,但仍然是一種攻擊方法。要暴力攻擊客戶端認(rèn)證,黑客編輯一個可能的用戶名字列表,然后為每一個名字向CA機構(gòu)申請證書。每一個證書都用于嘗試獲取訪問權(quán)限。用戶名的選擇越多越好,其中一個證書被認(rèn)可的可能性就越高。暴力攻擊證書的方便之處在于它僅需要猜測一個有效的用戶名,而不用猜測用戶名和口令。
2.竊取證書
除上面的方法外,黑客還可能竊取有效的證書及相應(yīng)的私有密鑰。最簡單的方法是利用特洛伊木馬。這種攻擊幾乎可使客戶端證書形同虛設(shè)。它攻擊的是證書的一個根本性弱點:私有密鑰——整個安全系統(tǒng)的核心——經(jīng)常保存在不安全的地方。對付這些攻擊的唯一有效方法或許是將證書保存到智能卡或令牌之類的設(shè)備中。
3.安全盲點
系統(tǒng)管理員沒辦法使用現(xiàn)有的安全漏洞掃描(Vulnerability Scanners)或網(wǎng)絡(luò)入侵偵測系統(tǒng)(Intrusion Detection Systems,IDS),來審查或監(jiān)控網(wǎng)絡(luò)上的SSL交易。網(wǎng)絡(luò)入侵偵測系統(tǒng)是通過監(jiān)測網(wǎng)絡(luò)傳輸來尋找沒有經(jīng)過認(rèn)證的活動。任何符合已知的攻擊模式或者并未經(jīng)過政策上授權(quán)的網(wǎng)絡(luò)活動,都被標(biāo)識以供系統(tǒng)管理者監(jiān)視。而要讓IDS能夠發(fā)生作用,IDS必須能夠監(jiān)視所有的網(wǎng)絡(luò)流量信息,但是SSL的加密技術(shù)卻使得通過HTTP傳輸?shù)男畔o法讓IDS辨認(rèn)。雖然我們可以用最新的安全掃描軟件審查一般的網(wǎng)頁服務(wù)器來尋找已知的安全盲點,這種掃描軟件并不會檢查經(jīng)過SSL保護的服務(wù)器。受到SSL保護的網(wǎng)頁服務(wù)器的確擁有與一般服務(wù)器同樣的安全盲點,可是也許是因為建立SSL連接所需要的時間及困難度,安全漏洞掃描軟件并不會審查受到SSL保護的網(wǎng)頁服務(wù)器。沒有網(wǎng)絡(luò)入侵偵測系統(tǒng)再加上沒有安全掃描軟件審查,使得最重要的服務(wù)器反而成為受到最少防護的服務(wù)器。
4.安全漏洞
負責(zé)維護軟件確保通信暢通的開源軟件組織OpenSSL Project在2003年9月30日發(fā)布了一個補丁,修復(fù)英國政府在安全測試中發(fā)現(xiàn)的三個安全漏洞。這些安全漏洞存在于OpenSSL Project版本的安全套接層(SSL)軟件中。網(wǎng)站和瀏覽器使用這種軟件為數(shù)據(jù)加密,在這些安全漏洞中,其中兩個安全漏洞可以導(dǎo)致拒絕服務(wù)攻擊,第三個安全漏洞能夠讓黑客從互聯(lián)網(wǎng)上突破計算機系統(tǒng)。OpenSSL安全小組的開發(fā)人員Mark Cox表示,英國政府在對這種軟件進行嚴(yán)格測試的過程中發(fā)現(xiàn)了這些安全漏洞。
2.5.2 解決思路
1.勤打補丁
Linux服務(wù)器運行的軟件主要包括OpenSSL、SSH、MySQL、PHP、Apache等,這些軟件大都是開源軟件,而且都在不停升級,穩(wěn)定版和測試版交替出現(xiàn)。在www.apache.org上,最新的ChangeLog中都寫著bug fix或security bug fix的字樣。所以Linux網(wǎng)管員要經(jīng)常關(guān)注相關(guān)網(wǎng)站的bug fix,及時升級或添加補丁。
2.通過Proxy代理服務(wù)器的SSL
我們可以在一個SSL Proxy代理程序上使用這項資料審查技術(shù)。SSL Proxy是一個在連接埠80上接收純文字的HTTP通信請求的軟件,它會將這些請求通過經(jīng)由SSL加密過的連接,轉(zhuǎn)寄到目標(biāo)網(wǎng)站。我們在連接埠80開一個聽取的Socket,通過上述的OpenSSL指令,將所有進入這個Proxy的數(shù)據(jù)傳送出去。這在UNIX上,你只須將以下的指令加到你們的/etc/inetd.conf檔案里面,這個inetd.conf包含所有inetd提供的網(wǎng)絡(luò)服務(wù)的設(shè)定:
www stream tcp nowait root /usr/sbin/tcpd /usr/local/bin/ssl_proxy.sh
而/usr/local/bin/ssl_proxy.sh的內(nèi)容則如下所述:
#!/bin/sh /usr/local/ssl/bin/openssl s_client -no_tls1-quiet -connect 168.172.100.10:443 2>/ dev/null
168.172.100.10是SSL防護下的網(wǎng)站的地址。其中“-no_tls1” 及“-quiet”選項將SSL交談(Handshake)的標(biāo)題顯示關(guān)掉,并且也刪除了SSL對于尚未經(jīng)過授權(quán)的網(wǎng)站認(rèn)證所發(fā)出的告警。
- 丹尼爾·希利斯講計算機
- RISC-V開放架構(gòu)設(shè)計之道
- 文心一言從新手到高手(寫作+繪畫+教育+編程+助手)
- 深度強化學(xué)習(xí):算法原理與金融實踐入門
- 深度序列模型與自然語言處理:基于TensorFlow 2實踐
- 算法分析導(dǎo)論(第2版)
- 計算機科學(xué)概論(第13版)
- 策略三十六計和算法三十六計
- VMware、Citrix和Microsoft虛擬化技術(shù)詳解與應(yīng)用實踐
- 區(qū)塊鏈技術(shù)與應(yīng)用
- 計算機應(yīng)用基礎(chǔ)學(xué)習(xí)指導(dǎo)
- Linux服務(wù)器安全策略詳解(第2版)
- 中小型計算機網(wǎng)絡(luò)設(shè)計、維護與管理
- 分布式算法精髓
- 計算機導(dǎo)論(第三版)