FreeBSD安全連線方式SSL(轉)

gugu99發表於2007-08-11
FreeBSD安全連線方式SSL(轉)[@more@]

  通常的連線方式中,通訊是以非加密的形式在網路上傳播的,這就有可能被非法竊聽到,尤其是用於認證的口令資訊。為了避免這個安全漏洞,就必須對傳輸過程進行加密。對HTTP傳輸進行加密的協議為HTTPS,它是透過SSL(安全Socket層)進行HTTP傳輸的協議,不但透過公用金鑰的演算法進行加密保證傳輸的安全性,而且還可以透過獲得認證證書CA,保證客戶連線的伺服器沒有被假冒。

  使用公用金鑰的方式可以保證資料傳輸沒有問題,但如果瀏覽器客戶訪問的站點被假冒,這也是一個嚴重的安全問題。這個問題不屬於加密本身,而是要保證金鑰本身的正確性問題。要保證所獲得的其他站點公用金鑰為其正確的金鑰,而非假冒站點的金鑰,就必須透過一個認證機制,能對站點的金鑰進行認證。當然即使沒有經過認證,仍然可以保證資訊傳輸安全,只是客戶不能確信訪問的伺服器沒有被假冒。如果不是為了提供電子商務等方面對安全性要求很高的服務,一般不需要如此嚴格的考慮。

  雖然Apache伺服器不支援SSL,但Apache伺服器有兩個可以自由使用的支援SSL的相關計劃,一個為Apache-SSL,它整合了Apache伺服器和SSL,另一個為Apache+mod_ssl,它是透過可動態載入的模組mod_ssl來支援SSL,其中後一個是由前一個分化出的,並由於使用模組,易用性很好,因此使用範圍更為廣泛。還有一些基於Apache並整合了SSL能力的商業Web伺服器,然而使用這些商業Web伺服器主要是北美,這是因為在那裡SSL使用的公開金鑰的演算法具備專利權,不能用於商業目的,其他的國家不必考慮這個專利問題,而可以自由使用SSL。

  雖然通常mod_ssl以及其他複雜的Apache模組都提供了詳細的編譯安裝說明,並提供了非常有用的指令碼程式和Makefile來幫助使用者進行安裝。然而為Web伺服器增加一個模組並不是一個簡單而易於描述的任務,幸運的是,FreeBSD提供了Ports Collection,讓使用者不必關係每一步安裝細節就能安裝好這個模組。

  如果不打算使用Ports Collection來安裝mod_ssl,那麼事情就略微麻煩一些,必須自己手工下載Apache的原始碼,以及mod_ssl的程式碼,按照說明一步步的編譯安裝。

  Apache+mod_ssl依賴於另外一個軟體:openssl,它是一個可以自由使用的SSL實現,首先需要安裝這個Port(由於專利的影響,這些軟體無法制作為可以直接安裝的二進位制軟體包,必須使用Ports Collection 安裝)。openssl位於/usr/ports下面的security子目錄下,當下載其源程式之前,需要設定環境變數USA_RESIDENT為NO,以避開專利紛爭。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-944575/,如需轉載,請註明出處,否則將追究法律責任。

相關文章