![]() |
| 新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(88):安全連接方式SSL |
![]() |
安全連接方式SSL通常的連接方式中,通信是以非加密的形式在網絡上傳播的,這就有可能被非法竊聽到,尤其是用于認証的口令信息 。為了避免這個安全漏洞,就必須對傳輸過程進行加密。對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,以避開專利紛爭。
安裝好openssl之后,就可以安裝Apache+mod_ssl了。然而為了安裝完全正確,需要清除原先 安裝的Apache服務器的其他版本,并且還要清除所有的設置文件及其缺省設置文件,以避免出現安裝問題。最好也刪除 /usr/local/www目錄(或更名),以便安裝程序能建立正確的初始文檔目錄。如果是一台沒有安裝過Apache 服務器的新系統,就可以忽略這個步驟,而直接安裝Apache+mod_ssl了。 刪除舊有文件之后,便可進入相應目錄,啟動安裝和編譯進程。
最后一個make用于生成認証証書,由于這個Port直接生成了httpd.conf等缺省文件(如果安裝的 時候沒有httpd.conf等文件存在),因此可以直接啟動新的服務器而不需要設置,如果啟動過程因為設置文件的不 合適而導致一些小問題,請參照前面對標准Apache服務器的設置說明作出相應修改。
此時使用start參數為僅僅啟動普通Apache的httpd守護進程,而不啟動其SSL能力,而startssl 才能啟動Apache的SSL能力。如果之前Apache的守護進程正在運行,便需要使用stop參數先停止 服務器運行。 然后,就可以啟動netscape或其他支持SSL的瀏覽器,輸入URL為:https://ssl_server/ 來查看服務器是否有相應,https使用的缺省端口為443,如果一切正常,服務器將返回mod_ssl的使 用手冊,講解SSL以及mod_ssl的技朮及其使用方法。 未完,待續。。。 |
||||||
| 新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(88):安全連接方式SSL | |||||||
Copyright(C) 1999 SINA.com, Stone Rich Sight. All Rights Reserved
版權所有 四通利方 新浪網