古云“蜀道之難,難于上青天~”在我這個(gè)剛?cè)腴T(mén)不就得來(lái)說(shuō),想要維護(hù)一個(gè)網(wǎng)站的安全還真的挺不容易的,我們要時(shí)刻關(guān)注最新的安全動(dòng)態(tài),關(guān)注系統(tǒng)的漏洞,并積極的做好應(yīng)對(duì),對(duì)于一個(gè)網(wǎng)管,網(wǎng)站的維護(hù),是比較重要的一個(gè)工程,先不論一些高層次的安全保護(hù)措施,對(duì)于httpd服務(wù)的基本安全措施,我們是應(yīng)該好好掌握的,否則好不容易架起來(lái)一個(gè)網(wǎng)站,分分鐘被一些電腦愛(ài)好者們給攻破了---------------》那那那就尷尬了。。。
目前成都創(chuàng)新互聯(lián)公司已為超過(guò)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、古冶網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
那么當(dāng)我們架好一個(gè)網(wǎng)站之后,怎樣去配置他的安全性呢??
在linux中,我們有這樣三種方法:
1.身份驗(yàn)證:對(duì)要在網(wǎng)頁(yè)上執(zhí)行操作的用戶(hù),進(jìn)行身份驗(yàn)證,驗(yàn)證其合法性,真實(shí)性。
2.來(lái)源控制:某些東西比如公司的機(jī)密,我們是不能讓外來(lái)人登錄并查看的,假設(shè):?jiǎn)挝粓F(tuán)隊(duì)好不容易研發(fā)出了科技成果,一個(gè)外界用戶(hù)一個(gè)”另存為“,或者“復(fù)制,粘貼”給考走了,那真是。。。。。
3.ssl套接層:也就是我們常常發(fā)現(xiàn)的網(wǎng)頁(yè)上url的http變成了https,在有關(guān)金錢(qián)交易的購(gòu)物網(wǎng)站上用的很多很多。
那下面我們就來(lái)看看如何走好這三部曲!!!
第一部曲:身份驗(yàn)證
要實(shí)現(xiàn)身份驗(yàn)證大致的流程:
A.在站點(diǎn)的主目錄下寫(xiě)說(shuō)明文件.htacess,說(shuō)明的內(nèi)容當(dāng)然就是要進(jìn)行身份驗(yàn)證了,這里有四個(gè)部分。
authuserfile /var/www/.htpasswd說(shuō)明對(duì)用戶(hù)身份驗(yàn)證,但是要?jiǎng)?chuàng)建用戶(hù)驗(yàn)證賬號(hào)庫(kù),但這里的與系統(tǒng)的賬號(hào)庫(kù)不是一個(gè)。
authname“please input youusername and passwd!!”彈出驗(yàn)證的端口,要求用戶(hù)輸入口令
authtype 驗(yàn)證的類(lèi)型
required 要求什么樣的用戶(hù)可以訪問(wèn)
B.產(chǎn)生賬號(hào)文件
htpasswd –c .htpasswd賬號(hào)名;使用該命令新建用戶(hù)賬號(hào)【注意-c 參數(shù)只用添加一次就好】
1.修改配置文件,httpd.conf

在 AllowOverride 設(shè)置為 None 時(shí), .htaccess 文件將被完全忽略。當(dāng)此指令設(shè)置為 All 時(shí),所有具有 ".htaccess" 作用域的指令都允許出現(xiàn)在 .htaccess 文件中。
2.創(chuàng)建站點(diǎn)的首頁(yè)
[root@localhost html]# echo"welcome to lining's web" >> index.html
開(kāi)啟httpd服務(wù),然后登陸,顯示我們的測(cè)試頁(yè)面。

3.配置身份驗(yàn)證
在網(wǎng)站根目錄下 /var/www/html 建立 .htacss文件

4.在/var/www目錄下,創(chuàng)建賬號(hào)庫(kù)文件,創(chuàng)建用戶(hù) lining
[root@localhostwww]# htpasswd -c .htpasswd lining
New password:
Re-type new password:

測(cè)試:

第二部曲------》來(lái)源控制
直接配置httpd.conf文件。

重啟httpd服務(wù),測(cè)試。

在這里我們進(jìn)入到了其他的頁(yè)面,而不是我們的主頁(yè)面,因?yàn)槲冶痪芙^訪問(wèn)了。
第二部曲-----》網(wǎng)站的加密訪問(wèn)【https】
在訪問(wèn)網(wǎng)站的時(shí)候我們通常,使用的是http開(kāi)頭的網(wǎng)站,http提供的是明碼的傳送方式,十分不安全。所以我們需要讓他進(jìn)行密文的傳輸,來(lái)提供安全性。
但是當(dāng)我們?yōu)g覽銀行網(wǎng)站的時(shí)候,就變成https的網(wǎng)站。那么https是怎么實(shí)現(xiàn)的呢???
答:它是通過(guò)安全套階層協(xié)議 ssl 實(shí)現(xiàn)的。
那么我們?cè)趌inux中又怎么實(shí)現(xiàn)安全套階層呢??
答:在linux要實(shí)現(xiàn)安全套接層時(shí)間加密訪問(wèn)我們就需要知道兩樣?xùn)|西。
1.openssl命令的使用
2.PKI公鑰基礎(chǔ)設(shè)施
首先我們來(lái)了解一下openssl命令的使用。
1.查看openssl的文件目錄,使用rpm -ql openssl命令。

查看openssl的功能,包括對(duì)稱(chēng)加密,非對(duì)稱(chēng)加密,校驗(yàn)等等功能!!!

2.摘要的做法【使用md5】。摘要的用途,可以用來(lái)檢驗(yàn)內(nèi)容的完整性,當(dāng)我們使用MD5算法對(duì)內(nèi)容進(jìn)行運(yùn)算,產(chǎn)生一個(gè)定長(zhǎng)的摘要,我們可以將摘要和內(nèi)容發(fā)給接收方,接收方通過(guò)再次計(jì)算摘要,對(duì)比兩份摘要來(lái)確定內(nèi)容是否被更改過(guò)。
【小例子】
復(fù)制inittab到以我的名字命名的文件夾,并做一個(gè)摘要。
[root@localhostlining]# openssl md5 inittab
MD5(inittab)=9d49303d50eb59151fc24eb0e3802232
更改inittab文件中的內(nèi)容,再次做一個(gè)摘要。
[root@localhostlining]# openssl md5 inittab
MD5(inittab)=a30c76ea4096ab1eddf06657d4e9a590
3.加密 passwd【引入salt概念,當(dāng)我們查看/etc/shadow文件時(shí),你可能會(huì)發(fā)現(xiàn),用戶(hù)設(shè)置的密碼在顯示中是不一樣的亂碼,這些亂碼就是由系統(tǒng)加密過(guò)得密碼。系統(tǒng)通過(guò)添加一組字符串,然后混入輸入的密碼中,進(jìn)行加密。】

4.對(duì)稱(chēng)加密/解密文件 des/des3
[root@localhost lining]# openssldes3 -a -in inittab -out f1//用3倍des算法加密inittab文件,并將加密后的內(nèi)容輸出為f1文件。
enter des-ede3-cbcencryption password: lining //加密時(shí)所用的密碼。解密是要用到。
Verifying -enter des-ede3-cbc encryption password: lining

[root@localhostlining]# openssl des3 -a -d -in f1 -out inittab2 //在此之前我刪除inittab文件,將f1文件解密為inittab2 文件
enterdes-ede3-cbc decryption password:
[root@localhostlining]# ll
total 20
-rw-r--r-- 1root root 2288 Jul 11 03:44 f1
-rw-r--r-- 1root root 1665 Jul 11 04:11 inittab2
5.非對(duì)稱(chēng)加密 rsa【非對(duì)稱(chēng)算法中要用到公鑰和私鑰,私鑰我們可以使用命令創(chuàng)建出來(lái),公鑰是從私鑰中提取的】
首先產(chǎn)生公鑰秘鑰對(duì)~ 使用genrsa 1024 產(chǎn)生1024位的私鑰,然后從私鑰中提取公鑰。

[root@localhostlining]# openssl rsa -in key.pem -pubout -out public.k //從私鑰中導(dǎo)出公鑰
writing RSA key

其次我們需要了解一下HTTPS在PKI上的運(yùn)用:
由于PKI內(nèi)容比較多所以暫不在本篇幅說(shuō)明。。。。
那么現(xiàn)在我們就著手實(shí)現(xiàn)一個(gè)https的站點(diǎn):
1.CA認(rèn)證中心的實(shí)現(xiàn),先修改openssl的配置文件【CA中心來(lái)對(duì)客戶(hù)端進(jìn)行驗(yàn)證并發(fā)放證書(shū)】



2.對(duì)于外部的客戶(hù)端,他們需要請(qǐng)求證書(shū),對(duì)于根CA,只需要 私鑰----》請(qǐng)求文件

https默認(rèn)使用端口443.所以要加裝另外的模塊。
[root@localhost~]# rpm -qa mod_ssl
mod_ssl-2.2.3-31.el5 //我的已經(jīng)安裝了這個(gè)模塊我們之前說(shuō)過(guò),模塊式動(dòng)態(tài)加載的,也就是當(dāng)你使用的時(shí)候,它自動(dòng)加載,所以并沒(méi)有什么操作。
然后再創(chuàng)建httpd的私鑰請(qǐng)求文件以及證書(shū)
[root@localhosthttpd]# mkdir certs
[root@localhostcerts]# openssl genrsa 1024 > httpd.key //私鑰文件
GeneratingRSA private key, 1024 bit long modulus
...++++++
...........................++++++
eis 65537 (0x10001)
[root@localhostcerts]# openssl req -new -in httpd.key -out httpd.req //請(qǐng)求文件
Generatinga 1024 bit RSA private key
...............................................................++++++
.......++++++
發(fā)放證書(shū)

[root@localhostCA]# cat index.txt //在證書(shū)數(shù)據(jù)庫(kù)中更新了httpd證書(shū)的信息
V 140711013035Z 01 unknown /C=CN/ST=HENAN/O=MyCompany Ltd
httpd和 證書(shū)捆綁:
[root@localhost CA]# vim /etc/httpd/conf.d/ssl.conf
112SSLCertificateFile /etc/httpd/certs/httpd.cert //指明站點(diǎn)的證書(shū)文件,用戶(hù)也是要通過(guò)它來(lái)確定是否訪問(wèn)到了正確站點(diǎn),而不是釣魚(yú)網(wǎng)站
119SSLCertificateKeyFile /etc/httpd/certs/httpd.key //指明網(wǎng)站的公鑰
登陸測(cè)試:

112SSLCertificateFile /etc/httpd/certs/httpd.cert
119SSLCertificateKeyFile /etc/httpd/certs/httpd.key
128SSLCertificateChainFile /etc/pki/CA/cacert.pem
繼續(xù)修改配置文件ssl.conf,我們可以通過(guò)查看站點(diǎn)的證書(shū)鏈然后將證書(shū)導(dǎo)出安裝到自己的計(jì)算機(jī)上面。從而實(shí)現(xiàn)客戶(hù)端與服務(wù)器的加密訪問(wèn)。
文章題目:apache的web安全三部曲
本文地址:http://chinadenli.net/article10/gsjddo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、自適應(yīng)網(wǎng)站、網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)