摘要:在Linux系統(tǒng)中廣為使用的Web服務(wù)器就是Apache HTTP Server,因此加強(qiáng)Apache服務(wù)的安全性就是一項重要的任務(wù)。在一般情況下Apache服務(wù)采用的協(xié)議是http,其數(shù)據(jù)在傳輸過程中采用的是明文傳輸方式,如果數(shù)據(jù)在傳輸過程中被截獲,所造成的危險就相當(dāng)大。如果將Apache服務(wù)進(jìn)行認(rèn)證,那么其傳輸數(shù)據(jù)的過程就會變?yōu)榧用軅鬏?,即使?shù)據(jù)被截獲,攻擊者也無法獲取用戶數(shù)據(jù)信息,保護(hù)了數(shù)據(jù)的安全。文章就RHEL(RedHat Enterprise?Linux) Apache服務(wù)器的認(rèn)證服務(wù)進(jìn)行研究,以提高Apache服務(wù)的安全性,并進(jìn)而提高網(wǎng)站服務(wù)的安全。
關(guān)鍵詞:Apache;認(rèn)證;安全;實(shí)現(xiàn)
中圖分類號:TP393
文獻(xiàn)標(biāo)識碼:A
文章編號:1006-8228(2020)09-54-03
Authentication based Apache service security and the implementation
Li Jianyong
(Chengdu Neusoft University, Chengdu, Sichuan 611844. China)
Abstract: The widely used web server in Linux system is Apache HTTP server. so it is an important task to strengthen thesecurity of Apache service. In general, the protocol adopted by Apache service is HTTP. and its data is transmitted in plaintext. Ifthe data is intercepted in the process of transmission. the danger will be quite great. If the Apache service is authenticated. theprocess of data transmission will become encrypted transmission. Even if the data is intercepted, the attacker cannot obtain the userdata information, thus protecting the data security. This paper studies the authentication service of Apache server on RHEL (RedHatEnterprise Linux), in order to improve the security of Apache service, and then improve the security of website service.
Key words: Apache; authentication; security; implementation
0引言
隨著網(wǎng)絡(luò)在現(xiàn)實(shí)生活中的日益普及,越來越多的企事業(yè)單位擁有了自己的網(wǎng)站以發(fā)布相關(guān)信息、進(jìn)行產(chǎn)品的推廣宣傳等工作,極大地方便了用戶對相關(guān)信息的獲取。就專業(yè)性的網(wǎng)絡(luò)管理工作而言,就是提供了Web服務(wù)。但是在Web服務(wù)的數(shù)據(jù)通信基本原理中,數(shù)據(jù)通信過程是明文傳輸?shù)倪^程,表現(xiàn)在網(wǎng)站的協(xié)議就是HTTP協(xié)議,這也是用戶在瀏覽器地址欄輸入網(wǎng)站地址后自動顯示HTTP的原因。因此數(shù)據(jù)在傳輸過程中一旦被截獲,由于數(shù)據(jù)是明文傳輸形式?jīng)]有安全性可言。特別是對于電子商務(wù)網(wǎng)站而言,用戶傳輸?shù)臄?shù)據(jù)有可能包含用戶的銀行卡號、密碼等,因此其數(shù)據(jù)一旦被截獲,給用戶造成的損失是不言而喻的,這也是為什么眾多電子商務(wù)網(wǎng)站、金融網(wǎng)站逐漸使用HTTPS協(xié)議的原因。HTTPS協(xié)議就是在HTTP協(xié)議基礎(chǔ)上增加了安全認(rèn)證,使得數(shù)據(jù)在傳輸過程中使用的是加密傳輸,這樣即使數(shù)據(jù)在傳輸過程中被截獲,攻擊者也無法獲取用戶的數(shù)據(jù),從而保護(hù)了數(shù)據(jù)的安全。
1Web服務(wù)和認(rèn)證Web服務(wù)的基本原理
1.1基本W(wǎng)eb服務(wù)流程
一臺普通的Web服務(wù)器與客戶端PC通信過程如圖1所示[2]。當(dāng)PC端在瀏覽器地址欄輸入網(wǎng)站地址后,PC端和Web服務(wù)器會建立TCP連接,服務(wù)器接受網(wǎng)站瀏覽請求后,從指定的位置瀆取指定的網(wǎng)頁文件。然后服務(wù)器將網(wǎng)頁頁面代碼發(fā)送給瀏覽器,瀏覽器解析HTML代碼并將解析的結(jié)果顯示到PC端。
1.2帶認(rèn)證的Web服務(wù)流程
當(dāng)客戶端PC訪問Web服務(wù)器時,其數(shù)據(jù)中帶有需要與認(rèn)證服務(wù)公鑰相匹配的私鑰。Web服務(wù)器接收到訪問數(shù)據(jù)時需要與認(rèn)證服務(wù)器中的公鑰相匹配,只有在密鑰體系檢查通過的情況下才將數(shù)據(jù)以加密的方式傳輸給客戶端PC。由于數(shù)據(jù)傳輸過程采用了加密措施,因此保護(hù)了數(shù)據(jù)傳輸?shù)陌踩?,其基本流程如圖2所示,表現(xiàn)在外觀上就是網(wǎng)站的通信協(xié)議是HTTPS。
通過使用帶認(rèn)證的Web服務(wù),使得只有通過了認(rèn)證的客戶端才能訪問服務(wù)器,保護(hù)了服務(wù)器的安全;同時也保證了客戶端訪問的是真正的服務(wù)器而不是仿冒的釣魚網(wǎng)站,保護(hù)了客戶端的安全。而客戶端與服務(wù)器之間的數(shù)據(jù)傳輸采用了加密措施,也保護(hù)了數(shù)據(jù)的安全。
2基本Apache服務(wù)的配置(以下配置基于RHEL7進(jìn)行)
由于在服務(wù)器領(lǐng)域Linux的性能與Windows相比占有很大的優(yōu)勢,因此在服務(wù)器市場Linux操作系統(tǒng)的占有率占統(tǒng)治地位,而RHEL( RedHat EnterpriseLinux)是Linux系統(tǒng)中的典型代表,在企業(yè)服務(wù)器市場占有優(yōu)先的地位,因此本文以下內(nèi)容基于RHEL進(jìn)行。
在RHEL中,Web服務(wù)有另外的一個名詞,即Apache服務(wù)。作為Apache服務(wù)的基本配置而言,基本上就是配置網(wǎng)站程序的存放位置和首頁文件的名稱,其配置過程比較基礎(chǔ)簡單,在本文中不進(jìn)行相關(guān)配置過程的介紹,請讀者參見其他文章。
3認(rèn)證服務(wù)的配置實(shí)現(xiàn)
認(rèn)證服務(wù)涉及到認(rèn)證證書[3]的問題,即客戶端怎么識別證書有效性的問題。在國際上有一個專門的證書頒發(fā)機(jī)構(gòu)(CA),經(jīng)過CA認(rèn)證頒發(fā)的證書是有效可靠的保證,但是該證書的申請需要一定費(fèi)用,比較適合大型企業(yè)使用。對于一般的中小型企業(yè)而言,如果企業(yè)網(wǎng)絡(luò)的使用范圍不是太大,為了節(jié)約成本起見可以采用自頒發(fā)證書的方式來進(jìn)行認(rèn)證。以下內(nèi)容基于采用自頒發(fā)證書的方式來進(jìn)行認(rèn)證的實(shí)現(xiàn)過程。
由于自頒發(fā)證書是企業(yè)自己頒發(fā)證書,因此在客戶端訪問時會看到“該證書由您沒有信任的公司頒發(fā)”或類似的警告信息[4]。但是不影響Apache服務(wù)的使用,也是最簡單的進(jìn)行認(rèn)證的方式。
(1)創(chuàng)建企業(yè)網(wǎng)站所在目錄及首頁文件,以備測試所用。
(2)安裝SSL模塊,如圖3所示[5]。
(3)創(chuàng)建存放證書的目錄。
(4)創(chuàng)建網(wǎng)站的私鑰,如圖4所示,圖中所示表示創(chuàng)建一個RSA密碼的私鑰,其長度為1024位。
(5)創(chuàng)建網(wǎng)站證書文件,如圖5所示,圖中所示表示創(chuàng)建一個以私鑰為基礎(chǔ)的證書文件server.crt。
注意在此配置過程中需要回答一些問題,其中“common name”就是企業(yè)網(wǎng)站的全名。
(6)修改證書目錄的權(quán)限以保護(hù)證書的安全,將目錄權(quán)限修改為400即可。
(7)編輯Apache服務(wù)主配置文件,配置好網(wǎng)站目錄及首頁文件。
(8)編輯證書配置文件ssl.conf,如圖6所示,主要是確定證書文件及秘鑰文件的路徑及名稱。
(9)重啟服務(wù),驗(yàn)證效果。
此時采用https協(xié)議訪問網(wǎng)站會出現(xiàn)“此連接不受信任”的界面,如圖7所示。這是因?yàn)樽C書是企業(yè)自己創(chuàng)建的,沒有經(jīng)過CA機(jī)構(gòu)認(rèn)證,前文已經(jīng)對此有所表述。對于知道并且信任此網(wǎng)站的客戶,可以選擇“我已充分了解可能的風(fēng)險”,再選擇下方的“添加例外”,如圖8所示,從而將此網(wǎng)站添加到可以訪問的網(wǎng)站中,如圖9所示。然后就可以正常顯示網(wǎng)站內(nèi)容,如圖10所示。
4結(jié)束語
在企業(yè)的網(wǎng)絡(luò)服務(wù)使用中,Apache服務(wù)是應(yīng)用最廣泛的服務(wù)之一[6],其所受到的網(wǎng)絡(luò)安全攻擊也是最多的。要保護(hù)Apache服務(wù)的安全,使用加密傳輸數(shù)據(jù)是其中的手段之一。加密傳輸數(shù)據(jù)的協(xié)議從HTTP變?yōu)镠TTPS,不僅使得數(shù)據(jù)在傳輸過程中是加密傳輸(即使攻擊者攻擊成功也不能解密數(shù)據(jù)),而且由于加密傳輸使用的是非對稱密鑰,使得服務(wù)端和客戶端能夠相互驗(yàn)證身份,也能夠?qū)崿F(xiàn)信息安全中的抵賴性要求,滿足電子商務(wù)交易的需要。因此,越來越多的網(wǎng)站使用了HTTPS協(xié)議,這也是大勢所趨。
本文就目前企業(yè)服務(wù)器中使用較多的RHEL系統(tǒng)進(jìn)行了Apache服務(wù)安全性的研究,主要通過認(rèn)征服務(wù)的方式加強(qiáng)了服務(wù)器的安全并講述了認(rèn)證服務(wù)的實(shí)現(xiàn)過程。本文中的認(rèn)證服務(wù)證書采取自頒發(fā)方式,減少了證書申請的費(fèi)用,主要適用于中小型企業(yè)網(wǎng)絡(luò),相對于中大型企業(yè)而言,本文提出的解決方案雖然也能夠解決Apache認(rèn)證服務(wù)的問題,但是由于要求客戶對網(wǎng)站進(jìn)行確認(rèn),可能會對客戶訪問造成一定影響,因此一般采用向證書頒發(fā)機(jī)構(gòu)(CA)申請證書的方式,這樣客戶在訪問企業(yè)網(wǎng)站時就能夠進(jìn)行直接訪問。通過對Apache服務(wù)進(jìn)行認(rèn)證,提高了網(wǎng)絡(luò)服務(wù)的安全,提升了網(wǎng)絡(luò)服務(wù)器和客戶端的相互信任。相對于其他安全措施而言,通過自頒發(fā)證書的方式實(shí)現(xiàn)證書服務(wù)以提高網(wǎng)絡(luò)服務(wù)的安全性不僅易于實(shí)現(xiàn),而且也不會增加企業(yè)的成本負(fù)擔(dān),具有廣泛的應(yīng)用前景。
參考文獻(xiàn)(References):
[1]李劍勇,基于認(rèn)證的WEB安全及實(shí)現(xiàn)[J].網(wǎng)絡(luò)空間安全,2018.4:44-47
[2]楊云.RHEL7.4& CentOS7.4網(wǎng)絡(luò)操作系統(tǒng)詳解(第二版)[M].清華大學(xué)出版社,2019.
[3]王闖,呂堯.我國網(wǎng)站可信認(rèn)證的實(shí)現(xiàn)路徑研究[J].網(wǎng)絡(luò)空間安全.2013.10:9-11
[4]張勤,楊章明.Linux服務(wù)器配置全程實(shí)錄[M].人民郵電出版社.2010.
[5]張金石.網(wǎng)絡(luò)操作系統(tǒng)-Linux配置與管理[M].人民郵電出版社.2012.
[6]孫亞男,李勇.Red Hat Enterprise Linux 7高薪運(yùn)維入門[M],清華大學(xué)出版社,2016.
收稿日期:2020-05-29
作者簡介:李劍勇(1969-),男,四川成都人,本科,副教授,重慶人工智能學(xué)會理事,主要研究方向:網(wǎng)絡(luò)安全與管理。