Apache是一款知名的網(wǎng)站服務(wù)器軟件,用于架設(shè)網(wǎng)站服務(wù)器(WEB服務(wù)器),Apache的常規(guī)配置在我的視頻中有詳細(xì)講解,如果對(duì)此服務(wù)器的基本操作還不熟練,大家可以查看Apache服務(wù)器基礎(chǔ)配置講解。
正常情況下,通過(guò)域名訪問(wèn)主機(jī),該域名會(huì)解析成web服務(wù)器的IP,從而達(dá)到訪問(wèn)web服務(wù)器的目的,但如果一些非法的域名,也被解析為該web服務(wù)器的地址,就會(huì)對(duì)web服務(wù)器造成很多困擾,尤其是惡意解析,配合DDOS攻擊,會(huì)對(duì)web服務(wù)器會(huì)造成更大的傷害。今天,我們討論一下Apache的站點(diǎn)安全性實(shí)現(xiàn),限制通過(guò)IP地址訪問(wèn)站點(diǎn),僅允許通過(guò)域名(而且是指定的域名)訪問(wèn),該方法主要防止部分用戶的惡意解析行為。
下面我們開(kāi)始講解實(shí)驗(yàn)過(guò)程:
實(shí)驗(yàn)環(huán)境:準(zhǔn)備2臺(tái)主機(jī)(vmware workstation)
Apache Server CentOS7 192.168.0.1 www.pip.cc
Client Windows7 192.168.0.88
實(shí)驗(yàn)準(zhǔn)備:設(shè)置IP地址、安裝httpd服務(wù)
圖1 Apache Server IP信息
圖2 安裝Apache
圖3 Client Windows7 IP
圖1、圖2、圖3分別配置了兩臺(tái)主機(jī)的ip地址,并在CentOS7上安裝了Apache服務(wù)。
準(zhǔn)備工作我們做好了,說(shuō)一下”僅域名能訪問(wèn),IP不能訪問(wèn)“的思路,其實(shí)很簡(jiǎn)單,我們利用Windows服務(wù)器中”主機(jī)頭“的概念,將通過(guò)IP訪問(wèn)服務(wù)器的客戶端強(qiáng)制”轉(zhuǎn)移“到其它目錄,使其看不到真正的站點(diǎn),即可實(shí)現(xiàn)限制IP訪問(wèn)的目的。
步驟一、關(guān)閉Apache默認(rèn)主頁(yè)(這個(gè)會(huì)對(duì)實(shí)驗(yàn)效果有影響,該默認(rèn)主頁(yè)僅僅用于測(cè)試Apache服務(wù)器是否安裝成功,在實(shí)際環(huán)境下幾乎用不到,關(guān)掉也無(wú)妨)
圖4 關(guān)閉默認(rèn)主頁(yè)
圖4中,修改/etc/httpd/conf.d/welcome.conf文件,將紅框部分注銷掉,表示關(guān)閉默認(rèn)主頁(yè)。
步驟二、創(chuàng)建站點(diǎn)根目錄(注意要?jiǎng)?chuàng)建兩個(gè)根目錄)
圖5 創(chuàng)建站點(diǎn)目錄
圖5中,我們創(chuàng)建了兩個(gè)站點(diǎn)目錄,其中/var/www/test/是正常網(wǎng)站目錄,而/var/www/errors/是假網(wǎng)站目錄,我們只要將通過(guò)IP訪問(wèn)服務(wù)器的用戶”引導(dǎo)“到該目錄即可!
步驟三、創(chuàng)建虛擬主機(jī)(注意要?jiǎng)?chuàng)建兩臺(tái)虛擬主機(jī))
圖6 創(chuàng)建虛擬主機(jī)配置文件vt.conf
圖7 vt.conf
圖6中,創(chuàng)建/etc/httpd/conf.d/vt.conf文件,該文件用于配置虛擬主機(jī),圖7是vt.conf的內(nèi)容,紅框部分就是主機(jī)頭,我們可以清楚的看見(jiàn)第一個(gè)虛擬主機(jī)是正常的,主機(jī)頭是www.pip.cc,第二個(gè)虛擬主機(jī)是異常的,主機(jī)頭是192.168.0.1。也就是說(shuō),用戶只能通過(guò)www.pip.cc這個(gè)域名去訪問(wèn)站點(diǎn)服務(wù)器,如果直接用IP訪問(wèn),就會(huì)訪問(wèn)到錯(cuò)誤的頁(yè)面。
步驟四、重啟httpd服務(wù)后驗(yàn)證
圖8 重啟apache服務(wù)
圖8中,修改好配置文件后,要重啟apache服務(wù)才能生效。
圖9 Windows7客戶端修改hosts文件
圖9中,因?yàn)橐ㄟ^(guò)域名訪問(wèn),還需要配置DNS服務(wù)器,模擬環(huán)境下不做了,太麻煩,DNS是動(dòng)態(tài)解析,我們可以用靜態(tài)解析替換,直接修改windows7的hosts文件(C:\windows\system32\drivers\etc\),添加紅框部分的記錄,表示www.pip.cc會(huì)被解析為192.168.0.1。
圖10 Windows7 上驗(yàn)證效果
圖10中,我們同時(shí)通過(guò)域名和IP訪問(wèn)Apache服務(wù)器,發(fā)現(xiàn)通過(guò)IP地址訪問(wèn)的頁(yè)面出現(xiàn)了友好的錯(cuò)誤提示,而通過(guò)域名訪問(wèn)的頁(yè)面提示welcome。實(shí)驗(yàn)成功!我們成功將IP訪問(wèn)頁(yè)面引導(dǎo)向另一個(gè)頁(yè)面。
以上就是限制IP訪問(wèn),僅允許域名訪問(wèn)的方法,嚴(yán)格意義上說(shuō),這個(gè)不叫限制,最多稱為隱藏。圖10中,通過(guò)IP訪問(wèn),出現(xiàn)了友好提示”You Must use Domain-Name to visit“,當(dāng)然這個(gè)是我自己寫的提示,算是”溫柔的手段“,如果”暴力“一點(diǎn)的,我們也可以這樣做,看下幾張圖:
圖11 創(chuàng)建目錄配置文件
圖11中,創(chuàng)建/etc/httpd/conf.d/di.conf文件,寫入目錄權(quán)限
圖12 目錄權(quán)限寫法一
圖13 驗(yàn)證效果一
圖12中,我們可以針對(duì)通過(guò)IP訪問(wèn)的站點(diǎn)根目錄(/var/www/errors)寫入拒絕權(quán)限,圖13是驗(yàn)證效果,網(wǎng)頁(yè)干脆打不開(kāi)了。
圖14 目錄權(quán)限方法二
圖15 驗(yàn)證效果二
圖14中,也可以這樣寫,這個(gè)寫法在Apache2以前的版本中很流行,也是拒絕所有人訪問(wèn)。圖15是驗(yàn)證效果,提示的非常明確:Forbidden,被拒絕了。
這兩種”暴力“方法都可以,在實(shí)際使用過(guò)程中,更傾向于”溫柔“方法,通過(guò)友好提示,引導(dǎo)用戶通過(guò)域名訪問(wèn)網(wǎng)站。大家可以試一下,很實(shí)用的技巧,今天就到這里,晚安給位!
聯(lián)系客服