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