Apache惡意域名綁定的解決辦法
Apache 惡意域名綁定的解決辦法近日接觸了一款建站集成軟件包XAMPP (Apache MySQL PHP PERL)。這個(gè)軟件包原來(lái)的名字是LAMPP ,但是為了避免誤解,最新的幾個(gè)版本就改名為
Apache 惡意域名綁定的解決辦法
近日接觸了一款建站集成軟件包XAMPP (Apache MySQL PHP PERL)。這個(gè)軟件包原來(lái)的名字是LAMPP ,但是為了避免誤解,最新的幾個(gè)版本就改名為 XAMPP 了。它可以在Windows 、Linux 、Solaris 三種操作系統(tǒng)下安裝使用,支持多語(yǔ)言:英文、簡(jiǎn)體中文、繁體中文、韓文、俄文、日文等。
我所試驗(yàn)的環(huán)境是RedHat5,安裝過(guò)程很簡(jiǎn)單,首先解壓軟件包。一般我喜歡放在/opt目錄下,因?yàn)?opt目錄通常是用來(lái)放應(yīng)用和軟件包的。選擇好路徑后指定解壓目錄:
tar zxvf xampp-linux-1.7.7.tar.gz /opt
解壓完成后,xampp 會(huì)在/opt下生成lampp 目錄,通常該目錄的路徑為:/opt/lampp,直接運(yùn)行以下命令對(duì)XAMPP 軟件包進(jìn)行初始化安裝。 /opt/lampp/lampp start
Starting XAMPP for Linux 1.7.7...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.
XAMPP 提示成功啟動(dòng),在瀏覽器中輸入http://ip,如果打開以下界面說(shuō)明XAMPP 安裝成功:
,該頁(yè)面默認(rèn)的URL 路徑為:http://ip/xampp/splash.php
既然有中文,我們當(dāng)然就選中文咯,點(diǎn)擊進(jìn)入XAMPP 的配置界面:
在這個(gè)配置頁(yè)面中,我們可以通過(guò)訪問(wèn)狀態(tài)選項(xiàng)來(lái)查看所有軟件包中程序的狀態(tài)信息:
,在這個(gè)配置頁(yè)面中,我們可以通過(guò)訪問(wèn)phpinfo()來(lái)查看所有apache 與php 整合的信息: http://ip/xampp/phpinfo.php
此軟件包還整合了phpMyAdmin 數(shù)據(jù)庫(kù)管理工具,地址為:
其他功能用處不大,我就不詳細(xì)說(shuō)明了,主要記住以上兩個(gè)工具的訪問(wèn)地址即可。軟件安裝完成后,默認(rèn)狀態(tài)下存在著較大的安全隱患。
1、XAMPP 頁(yè)面可以被網(wǎng)絡(luò)中的任何人訪問(wèn),該頁(yè)面未使用任何加密和驗(yàn)證過(guò)程,當(dāng)XAMPP 程序安裝在互聯(lián)網(wǎng)服務(wù)器中,任何人都可以通過(guò)該地址訪問(wèn)XAMPP 信息,存在安全隱患。
2、phpMyAdmin 的用戶未設(shè)置密碼,phpMyAdmin 在MySQL 安裝時(shí)缺省沒(méi)有設(shè)置密碼,為了避免觸發(fā)任何安全問(wèn)題,在軟件包確定使用前,應(yīng)對(duì)數(shù)據(jù)庫(kù)所有帳戶進(jìn)行密碼設(shè)置。
3、在XAMPP 安裝完成時(shí),會(huì)默認(rèn)安裝ProFTPD 工具,此FTP 帳戶默認(rèn)密碼是lampp ,在軟件包確定使用前,應(yīng)對(duì)FTP 帳戶的密碼進(jìn)行修改。
4、刪除或修改敏感的文件。在XAMPP 安裝時(shí),集成了兩個(gè)工具, phpinfo()和 phpMyAdmin ,當(dāng)服務(wù)器暴露在互聯(lián)網(wǎng)時(shí),任何人都可以通過(guò)訪問(wèn)這兩個(gè)工具獲取服務(wù)器的詳細(xì)信息,若MySQL 未修改初始密碼,非法用戶就可以通過(guò)phpMyAdmin 對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改、刪除操作。因此,在服務(wù)器上線前,應(yīng)盡量刪除以上工具,如不能刪除,請(qǐng)盡量將文件、
,文件夾名稱設(shè)置的較為隱蔽。
說(shuō)了這么多與惡意域名綁定無(wú)關(guān)的事,也該言歸正傳了,XAMPP 的默認(rèn)WEB 文檔存放路徑為:
/opt/lampp/htdocs
在使用http://ip訪問(wèn)該網(wǎng)站時(shí)會(huì)出現(xiàn)XAMPP 的默認(rèn)歡迎頁(yè)面,也就是剛才出現(xiàn)的那個(gè)頁(yè)面,下面就用這個(gè)頁(yè)面來(lái)當(dāng)作真正做好的網(wǎng)站首頁(yè)進(jìn)行測(cè)試:
我要實(shí)現(xiàn)的功能是www.a.com www.c.com 能夠訪問(wèn)該頁(yè)面;使用網(wǎng)站IP 地址和其他域名均不能訪問(wèn)該網(wǎng)站。要實(shí)現(xiàn)自定義域名能夠順利訪問(wèn)指定的網(wǎng)站,需要在本機(jī)的hosts 中添加記錄。 C:WindowsSystem32driversetchosts
10.154.0.224 www.a.com
10.154.0.224 www.b.com
10.154.0.224 www.c.com
10.154.0.224 www.d.com
10.154.0.224 www.e.com
10.154.0.224是我安裝XAMPP 軟件集成包的LINUX 服務(wù)器,修改完成后,我們使用IE 瀏覽器使用這幾個(gè)域名訪問(wèn)下試試看,如果配置無(wú)誤,應(yīng)該都可以打開XAMPP 的主頁(yè)面。至此我們的準(zhǔn)備工作就完成了。
接下來(lái)開始配置apache ,首先禁止使用IP 地址訪問(wèn)歡迎頁(yè)面,打開apache 的配置文件 /opt/lampp/etc/httpd.conf
在該文件結(jié)尾加上以下內(nèi)容:
NameVirtualHost 10.154.0.224:80 //聲明虛擬主機(jī)監(jiān)聽(tīng)端口為80
,ServerName 10.154.0.224
//創(chuàng)建10.154.0.224的虛擬主機(jī) //虛擬主機(jī)名稱,當(dāng)用戶使用10.154.0.224 訪問(wèn)該站點(diǎn)時(shí),將執(zhí)行ServerName 相同的 虛擬主機(jī)配置。 //設(shè)定一個(gè)區(qū)域,當(dāng)用戶使用10.154.0.224 訪問(wèn)站點(diǎn)時(shí),執(zhí)行下列區(qū)域內(nèi)的配置 //拒絕來(lái)自任何地址的訪問(wèn)
Deny from all
完成以上配置后,我們用http://ip訪問(wèn)網(wǎng)站主頁(yè)面時(shí)會(huì)提示沒(méi)有權(quán)限訪問(wèn)目錄。 Forbidden
You don't have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request
根據(jù)上面對(duì)apache 配置文件httpd.conf 的修改,apache 禁止了所有訪問(wèn)該網(wǎng)站的方式,也就是說(shuō),任何以IP 或域名的方式均無(wú)法訪問(wèn)該站點(diǎn)了。如果不添加例外虛擬主機(jī),所有域名將無(wú)法與這臺(tái)WEB Server綁定。
為了讓www.a.com www.c.com 兩個(gè)域名可以訪問(wèn)該網(wǎng)站,我們需要在httpd.conf 中添加例外的虛擬主機(jī),具體如下:
ServerAdmin wangcheng@bjca.org
,DocumentRoot /opt/lampp/htdocs
ServerName www.a.com
ServerAlias www.a.com www.c.com a.com w.a.com ww.a.com
AllowOverride All
Order allow,deny
Allow from all
Options -Indexes
需要注意的是,如果測(cè)試機(jī)無(wú)法訪問(wèn)互聯(lián)網(wǎng),就無(wú)法解析域名地址。配置文件修改后需要對(duì)apache 進(jìn)行重啟操作,apache 在重啟時(shí)需要檢測(cè)設(shè)置的虛擬主機(jī)域名是否可以解析,如不能解析,程序也將無(wú)法啟動(dòng)。解決辦法與Windows 相同,使用hosts 文件新建自定義域名。Hosts 文件在:
/etc/hosts
添加解析地址后,我們使用IE 訪問(wèn)www.a.com ,如果出現(xiàn)主頁(yè)的頁(yè)面,說(shuō)明配置成功了,根據(jù)添加www.a.com 的方法繼續(xù)添加www.c.com
ServerAdmin wangcheng@bjca.org
DocumentRoot /opt/lampp/htdocs
,ServerName www.c.com
ServerAlias www.c.com c.com w.c.com ww.c.com
AllowOverride All
Order allow,deny
Allow from all
Options -Indexes
重啟apache 后,使用www.c.com 訪問(wèn)主頁(yè)的頁(yè)面,如果www.a.com 成功,那么www.c.com 基本也不會(huì)有問(wèn)題。www.a.com 和www.c.com 訪問(wèn)正常后,使用www.b.com 和www.d.com 對(duì)網(wǎng)站進(jìn)行訪問(wèn)測(cè)試,如果出現(xiàn)類似下列信息頁(yè)面,說(shuō)明配置成功。 Forbidden
You don't have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request
最后介紹一下ServerAlias 選項(xiàng),此選項(xiàng)是Server 別名,用戶通過(guò)訪問(wèn)別名也可以訪問(wèn)到該主機(jī),所以,ServerAlias 選項(xiàng)可以添加多個(gè)域名,將所有可以綁定該主機(jī)的域名添加到別名中,可以減少添加ServerName 虛擬主機(jī)的工作量,但這樣做可能存在問(wèn)題。
根據(jù)以上的配置,我們的站點(diǎn)基本可以阻止IP 或惡意域名的綁定了。