當前位置:工程項目OA系統(tǒng) > 泛普各地 > 江西OA系統(tǒng) > 南昌OA系統(tǒng) > 南昌OA信息化
用SSL技術保護Apache服務器通信
由于Apache在全球的應用范圍相當廣泛,因此其安全性就顯得舉足輕重,本文將對在Linux環(huán)境中使用SSL技術保護Apache服務器通信的方法進行詳細介紹。
Apache是世界排名第一的Web服務器,世界上60%以上的Web服務器是使用的Apache。Apache是一個免費的軟件,用戶可以免費從Apache的官方網(wǎng)站下載。任何人都可以參加其組成部分的開發(fā)。Apache允許世界各地的人對其提供新特性。當新代碼提交到Apache Group后,Apache Group對其具體內(nèi)容進行審查并進行測試和質量檢查。如果他們滿意,該代碼就會被集成到Apache的主要發(fā)行版本中。
但是,Apache服務器與客戶端的通信是明文方式,很多通過HTTP協(xié)議傳送數(shù)據(jù)的應用將受到黑客的威脅,信息的安全性難以得到保障。因此,本文就將對在Linux中,使用SSL技術保護Apache服務器通信做詳細介紹。
Apache的安裝和啟動
Apache的RPM軟件包既可以在Red Hat Linux 9安裝光盤中找到,也可以在Red Hat的FTP服務器上找到。同任何其他RPM軟件包安裝一樣,Apache的RPM軟件包的安裝也可以使用命令行形式的RPM工具安裝。用戶可以到www.redhat.com下載Apache的免費RPM軟件包,其文件名為ant-apache-bsf-1.6.1-1jpp_3rh.noarch.rpm,執(zhí)行如下命令即可完成Apache的安裝:
#rpm -Uvh ant-apache-bsf-1.6.1-1jpp_3rh.noarch.rpm
ApacheRPM將把文件安裝在如下的目錄中:
●/etc/httpd/conf:這一目錄包含Apache的所有配置文件,包括access.conf、httpd.conf和srm.conf。
●/etc/rc.d/:位于這一目錄下的目錄樹包含系統(tǒng)的啟動腳本。ApacheRPM在這里安裝了Web服務器的整套腳本,這些腳本可用來從命令行啟動和停止服務器,并且也可在工作站關閉、啟動或重新引導時自動啟動或停止服務器。
●/home/httpd: RPM在這一目錄安裝默認的服務器圖標、CGI腳本和HTML文件。如果想在其他地方保存Web內(nèi)容,通過在服務器的配置文件適當?shù)牡胤竭M行更改可以實現(xiàn)。
●/usr/doc和/usr/man: RPM包含手冊頁和readme文件,它們被放在這些目錄中。像大多數(shù)RPM軟件包一樣,readme文件以及其他相關的文檔放在/usr/doc下的一個以服務器軟件包的版本命名的目錄中。
●/usr/sbin:可執(zhí)行程序放在這一目錄中。包括服務器程序本身,還有各種工具,如用于創(chuàng)建驗證口令文件的htpasswd程序。
●/var/log/http: 服務器日志文件存放于該目錄。在默認情況下,有兩個日志文件:access_log和error_log,但是可以定義任意多個包含各種信息的自定義日志文件。
Apache服務器的手動啟動很簡單,假設Apache服務器安裝在/usr/sbin/目錄下,在Linux終端啟動Apache的命令為:
#.cd /usr/sbin
#./httpd start
重新啟動Apache的命令為:
#.cd /usr/sbin
#./httpd restart
停止Apache的命令為:
#.cd /usr/sbin
#./httpd stop
SSL的原理
通常的連接方式中,通信是以非加密的形式在網(wǎng)絡上傳播的,這就有可能被非法竊聽到,尤其是用于認證的口令信息。為了避免這個安全漏洞,就必須對傳輸過程進行加密。對HTTP傳輸進行加密的協(xié)議為HTTPS,它是通過SSL進行HTTP傳輸?shù)膮f(xié)議,不但通過公用密鑰的算法進行加密保證傳輸?shù)陌踩?,而且還可以通過獲得認證證書CA,保證客戶連接的服務器沒有被假冒。
SSL是一種國際標準的加密及身份認證通信協(xié)議,用戶采用的瀏覽器就支持此協(xié)議。SSL(Secure Sockets Layer)最初是由美國Netscape公司研究出來的,后來成為了Internet網(wǎng)上安全通信與交易的標準。SSL協(xié)議使用通信雙方的客戶證書以及CA根證書,允許客戶/服務器應用以一種不能被偷聽的方式通信,在通信雙方間建立起了一條安全的、可信任的通信通道。它具備以下基本特征:信息保密性、信息完整性、相互鑒定。
在SSL通信中,首先采用非對稱加密交換信息,使得服務器獲得瀏覽器端提供的對稱加密的密鑰,然后利用該密鑰進行通信過程中信息的加密和解密。為了保證消息在傳遞過程中沒有被篡改,可以加密Hash編碼來確保信息的完整性。
服務器數(shù)字證書主要頒發(fā)給Web站點或其他需要安全鑒別的服務器,證明服務器的身份信息,同樣客戶端數(shù)字證書用于證明客戶端的身份。
使用公用密鑰的方式可以保證數(shù)據(jù)傳輸沒有問題,但如果瀏覽器客戶訪問的站點被假冒,這也是一個嚴重的安全問題。這個問題不屬于加密本身,而是要保證密鑰本身的正確性問題。要保證所獲得的其他站點公用密鑰為其正確的密鑰,而非假冒站點的密鑰,就必須通過一個認證機制,能對站點的密鑰進行認證。當然即使沒有經(jīng)過認證,仍然可以保證信息傳輸安全,只是客戶不能確信訪問的服務器沒有被假冒。如果不是為了提供電子商務等方面對安全性要求很高的服務,一般不需要如此嚴格的考慮。
下面給出使用SSL進行通信的過程:
● 客戶端向服務器端發(fā)起對話,協(xié)商傳送加密算法。例如:對稱加密算法有DES、RC5,密鑰交換算法有RSA和DH,摘要算法有MD5和SHA。
● 服務器向客戶端發(fā)送服務器數(shù)字證書。比如:使用DES-RSA-MD5這對組合進行通信??蛻舳丝梢则炞C服務器的身份,決定是否需要建立通信。
● 客戶端向服務器傳送本次對話的密鑰。在檢查服務器的數(shù)字證書是否正確,通過CA機構頒發(fā)的證書驗證了服務器證書的真實有效性之后,客戶端生成利用服務器的公鑰加密的本次對話的密鑰發(fā)送給服務器。
● 服務器用自己的私鑰解密獲取本次通信的密鑰。
● 雙方的通信正式開始。
在一般情況下,當客戶端是保密信息的傳遞者時,不需要數(shù)字證書驗證自己身份的真實性,如我們通常使用的網(wǎng)上銀行交易活動,客戶需要將自己的隱秘信息如賬號和密碼發(fā)送給銀行,因此銀行的服務器需要安裝數(shù)字證書來表明自己身份的有效性,否則將會使得信息泄露。當然,在某些安全性要求極高地B2B應用,服務器端也需要對客戶端的身份進行驗證,這時客戶端也需要安裝數(shù)字證書以保證通信時服務器可以辨別出客戶端的身份,驗證過程類似于服務器身份的驗證過程。而在通常情況下,瀏覽器都會通過交互的方式來完成上述的通信過程。
在Linux中使用Apache+SSL
雖然Apache服務器不支持SSL,但Apache服務器有兩個可以自由使用的支持SSL的相關計劃:一個為Apache-SSL,它集成了Apache服務器和SSL;另一個為Apache+mod_ssl,它是通過可動態(tài)加載的模塊mod_ssl來支持SSL的。其中后一個是由前一個分化出來的,并由于使用模塊,易用性很好,因此使用范圍更為廣泛。還有一些基于Apache并集成了SSL能力的商業(yè)Web服務器,然而使用這些商業(yè)Web服務器主要是北美,這是因為在那里SSL使用的公開密鑰的算法具備專利權,不能用于商業(yè)目的,其他的國家不必考慮這個專利問題,而可以自由使用SSL。
Apache+mod_ssl依賴于另外一個軟件:openssl,它是一個可以自由使用的SSL實現(xiàn),首先需要安裝這個Port。
openssl-0.9.7a-2.i386.rpm下載地址為:ftp://rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/openssl-0.9.7a-2.i386.rpm,也可以在Red Hat Linux 9或者Fedora Core 4等Linux發(fā)行版本的光盤中找到該RPM包。并且,在默認條件下,執(zhí)行系統(tǒng)安裝將會安裝該軟件包。
安裝命令如下:
#rpm - ivh openssl- 0.9.7a-2.i386.rpm
安裝好openssl之后,就可以安裝Apache+mod_ssl了。然而為了安裝完全正確,需要清除原先安裝的Apache服務器的其他版本,并且還要清除所有的設置文件及其缺省設置文件,以避免出現(xiàn)安裝問題。最好也刪除 /usr/local/www目錄(或更名),以便安裝程序能建立正確的初始文檔目錄。如果是一臺沒有安裝過Apache服務器的新系統(tǒng),就可以忽略這個步驟,而直接安裝Apache+mod_ssl了。
啟動和關閉該服務器的命令如下所示:
●#apachectl start:啟動apache
●#apachectl startssl:啟動apache ssl。注意,此處若使用start參數(shù),則僅僅啟動普通Apache的httpd守護進程,而不啟動其SSL能力,只有startssl才能啟動Apache的SSL能力。如果之前Apache的守護進程正在運行,便需要使用stop參數(shù)先停止服務器運行。
●#apachectl stop:停止apache。
●#apachectl restart:重新啟動apache。
●#apachectl status:顯示apache的狀態(tài)。
●#apachectl configtest:測試httpd.conf配置是否正確。
啟動apache ssl后,就可以啟動Mozilla、IE或其他支持SSL的瀏覽器,輸入URL為:https://ssl_server/來查看服務器是否有響應,https使用的缺省端口為443,如果一切正常,服務器將會返回給客戶端證書,由客戶端進行驗證并且判斷,是否接受該證書并進行下一步的通信過程。
Apache的主要特征
●支持最新的HTTP協(xié)議,是最先支持HTTP1.1的Web服務器之一,與新的HTTP協(xié)議完全兼容,同時與HTTP1.0、HTTP1.1向后兼容。
●具有簡單而強大的基于文件的配置功能。該服務器沒有為管理員提供圖形用戶界面,提供了三個簡單但是功能異常強大的配置文件。
●支持通用網(wǎng)關接口(CGI)。采用mod_cgi模塊支持CGI。Apache支持CGI/1.1標準,并且提供了一些擴充。
●支持虛擬主機。是首批既支持IP虛擬主機又支持命名虛擬主機的Web服務器之一。
●支持HTTP認證。支持基于Web的基本認證。它還有望支持基于消息摘要的認證。
●內(nèi)部集成Perl。Perl是CGI腳本編程的事實標準。Apache對Perl提供了良好的支持,通過使用其mod_perl模塊,還可以將Perl的腳本裝入內(nèi)存。
●集成代理服務器。用戶還可以選擇Apache作為代理服務器。
●支持SSL。由于版本法和美國法律在進出口方面的限制,Apache本身不支持SSL。但是用戶可以通過安裝Apache的補丁程序集合(Apache-SSL)使得Apache支持SSL。
●支持HTTP Cookie。通過支持Cookie,可以對用戶瀏覽Web站點進行跟蹤。 (CCW)
- 1小專題:IC設計的幕后故事
- 2OA軟件怎樣才好用
- 3徹底封殺系統(tǒng)的共享漏洞
- 4自動化系統(tǒng)助政府“輕量級”辦公
- 5泛普軟件:五步驟,讓OA軟件更加安全
- 6無線網(wǎng)典型故障排除
- 7電視資產(chǎn)管理系統(tǒng)的技術支持
- 8在安全領域發(fā)展的最佳路線是什么?
- 9在入侵檢測防護策略中加入蜜罐
- 10四招保障企業(yè)數(shù)據(jù)安全
- 11搞定企業(yè)的WLAN安全
- 12端午十八般武藝選OA 三種快捷方式供參考
- 13企業(yè)選擇對癥下藥的OA軟件才是王道
- 14OA未來發(fā)展的路:大“OA”
- 15泛普軟件:智能化撲面而來 智OA蓄勢崛起
- 16協(xié)同OA撬動電子政務新變革
- 17協(xié)同辦公OA系統(tǒng)包括了若干個考試客服端軟件
- 18信息安全沒有在十全十美的方案
- 19備戰(zhàn)OA系統(tǒng)選型 請打有準備的仗
- 20如何避免軟件開發(fā)中不兼容的設計方法
- 21使用XAMPP輕松建站
- 22云計算不會改變OA行業(yè)格局
- 23打造知識創(chuàng)新型組織
- 24數(shù)字校園信息化標配 OA辦公系統(tǒng)
- 25信息化現(xiàn)狀分析 企業(yè)IT規(guī)劃成關鍵
- 26移動OA調研:2015年移動OA市場份額將超過2億
- 27Linux下的RSS閱讀器
- 28OA選型要先界定好OA系統(tǒng)管理范疇
- 29數(shù)據(jù)大清理
- 30智能數(shù)據(jù)倉庫設計方法
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓