安全連線方式ssl(轉)

post0發表於2007-08-10
安全連線方式ssl(轉)[@more@]

作者: yuguanglou [文章出自: ]

通常的連線方式中,通訊是以非加密的形式在網路上傳播的,這就有可能被非法竊聽到,尤其是用於認證的口令資訊。為了避免這個安全漏洞,就必須對傳輸過程進行加密。對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,以避開專利紛爭。

# USA_RESIDENT=NO; export USA_RESIDENT

# cd /usr/ports/security/openssl

# make; make install

  安裝好openssl之後,就可以安裝Apache+mod_ssl了。然而為了安裝完全正確,需要清除原先安裝的Apache伺服器的其他版本,並且還要清除所有的設定檔案及其預設設定檔案,以避免出現安裝問題。最好也刪除 /usr/local/www目錄(或更名),以便安裝程式能建立正確的初始文件目錄。如果是一臺沒有安裝過Apache 伺服器的新系統,就可以忽略這個步驟,而直接安裝Apache+mod_ssl了。

  刪除舊有檔案之後,便可進入相應目錄,啟動安裝和編譯程式。

# cd /usr/ports/www/apache13+mod_ssl

# make ; make install

# make certifaction=custom

  最後一個make用於生成認證證書,由於這個Port直接生成了httpd.conf等預設檔案(如果安裝的時候沒有httpd.conf等檔案存在),因此可以直接啟動新的伺服器而不需要設定,如果啟動過程因為設定檔案的不合適而導致一些小問題,請參照前面對標準Apache伺服器的設定說明作出相應修改。

# /usr/local/sbin/apachectl startssl

  此時使用start引數為僅僅啟動普通Apache的httpd守護程式,而不啟動其SSL能力,而startssl 才能啟動Apache的SSL能力。如果之前Apache的守護程式正在執行,便需要使用stop引數先停止伺服器執行。

  然後,就可以啟動netscape或其他支援SSL的瀏覽器,輸入URL為: 來檢視伺服器是否有相應,https使用的預設埠為443,如果一切正常,伺服器將返回mod_ssl的使用手冊,講解SSL以及mod_ssl的技術及其使用方法。

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

相關文章