屏蔽惡意IP地址提高網(wǎng)站安全性
為了提高云虛擬主機上的網(wǎng)站安全性,防止惡意IP地址訪問網(wǎng)站,避免發(fā)生非法盜鏈和惡意采集網(wǎng)站資源的情況,造成資源占用、訪問延遲或網(wǎng)站無法訪問等問題,您可以通過配置Nginx文件或.htaccess文件以及ASP來屏蔽某些惡意IP地址,來指定網(wǎng)站的訪問權限。
注意事項
使用Nginx文件屏蔽IP地址訪問時
云虛擬主機管理控制臺支持allow和deny指令,為保證Nginx服務的穩(wěn)定性,在控制臺上編寫Nginx文件時,allow和deny指令只允許在location指令下使用。
使用
.htaccess
文件屏蔽IP地址訪問時在Linux操作系統(tǒng)云虛擬主機的/htdocs目錄下,請您提前上傳或者新建
.htaccess
文件。Order指令可以決定Allow規(guī)則和Deny規(guī)則的生效順序,即哪個規(guī)則排在最后,哪個規(guī)則就有最終決定權。舉例說明:
先檢查是否有Deny規(guī)則,無論有沒有Deny規(guī)則都會繼續(xù)檢查是否有Allow規(guī)則,如果有Allow規(guī)則,則執(zhí)行Allow規(guī)則且完全覆蓋掉Deny規(guī)則。例如,以下規(guī)則表示允許所有IP地址訪問網(wǎng)站。
Order Deny,Allow # 先檢查Deny規(guī)則,但Allow規(guī)則擁有決定權。 Deny from 192.168.13.0 # 只禁止192.168.13.0地址訪問網(wǎng)站。 Allow from all # 允許所有IP地址訪問網(wǎng)站。
為先檢查是否有Allow規(guī)則,無論有沒有Allow規(guī)則都會繼續(xù)檢查是否有Deny規(guī)則,如果有Deny規(guī)則,則執(zhí)行Deny規(guī)則且完全覆蓋掉Allow規(guī)則。例如,以下規(guī)則表示禁止所有IP地址訪問網(wǎng)站。
Order Allow,Deny # 先檢查Allow規(guī)則,但Deny規(guī)則擁有決定權。 Allow from 192.168.13.0 # 只允許192.168.13.0地址訪問網(wǎng)站。 Deny from all # 禁止所有IP地址訪問網(wǎng)站。
操作步驟
針對不同類型的云虛擬主機,采用不同的屏蔽方式來屏蔽惡意IP地址訪問網(wǎng)站。
部分云虛擬主機提供了訪問控制功能,請以實際控制臺顯示為準,您也可以使用該功能屏蔽惡意IP訪問網(wǎng)站,從而有效降低您網(wǎng)站被DDoS攻擊的風險。具體操作,請參見使用訪問控制屏蔽惡意IP和限制并發(fā)連接數(shù)。
增強版系統(tǒng)云虛擬主機(Nginx)
針對該類型云虛擬主機,建議您使用Nginx文件屏蔽IP地址。即在云虛擬主機管理控制臺的Nginx設置頁面,配置網(wǎng)站的指定訪問權限,屏蔽不允許的IP地址訪問。
登錄云虛擬主機管理頁面。
找到待配置Nginx文件的增強版云虛擬主機,單擊對應操作列的管理。
在左側(cè)導航欄,選擇 。
在NGINX設置頁面的編輯區(qū)域,輸入您的配置Nginx文件內(nèi)容(IP地址屏蔽規(guī)則)。
以WordPress網(wǎng)站配置Nginx文件為例。
各場景下IP地址屏蔽的生效規(guī)則示例如下所示:
location / { deny 192.168.13.0; }
location / { deny 192.168.13.0; deny 192.168.13.1; deny 10.1.5.0; }
location / { allow 192.168.13.0; allow 10.1.5.0; deny all; }
location / { deny 192.168.13.0/24; }
說明使用掩碼方式配置IP地址段權限時,請您使用網(wǎng)段中最小地址/掩碼方式,否則會出現(xiàn)配置錯誤提示:更新nginx設置失敗:nginx: [warn] low address bits of **** are meaningless。
Nginx文件編輯完成后,單擊保存設置。
完成IP屏蔽規(guī)則的配置后,如果這些屏蔽的IP再次訪問您的WordPress網(wǎng)站,網(wǎng)頁會返回403錯誤,表示您無訪問權限。
普通版Linux系統(tǒng)云虛擬主機(Apache)
針對該類型云虛擬主機,建議使用.htaccess
文件屏蔽IP地址,即在云虛擬主機管理控制臺的站點根目錄下,通過.htaccess
文件配置IP地址屏蔽規(guī)則。
本文以通過文件管理器方式管理網(wǎng)站程序文件為例,如果您想使用FTP工具管理網(wǎng)站程序文件,請參見通過FileZilla管理網(wǎng)站程序文件。
- 登錄云虛擬主機管理頁面。
- 找到待操作的云虛擬主機,單擊對應操作列下的管理。
- 在左側(cè)導航欄,選擇 。
上傳網(wǎng)站程序文件到云虛擬主機并解壓縮。
本文以WordPress網(wǎng)站為例,具體操作,請參見使用文件管理器管理文件。
在主機的站點根目錄下,找到
.htaccess
文件,單擊對應操作列的查看。如果
.htaccess
文件未找到,請下載壓縮包獲取該文件,然后清空原有的規(guī)則,按照實際需求添加規(guī)則即可。在文件查看/編輯頁面的編輯模式下,輸入
.htaccess
文件內(nèi)容(IP地址屏蔽規(guī)則)。獨享云虛擬主機
各場景下IP地址屏蔽的生效規(guī)則示例如下所示:
Order Allow,Deny Allow from all Deny from 192.0.2.0
Order Allow,Deny Allow from all Deny from 192.0.2.1 192.0.2.0
或者
Order Deny,Allow Deny from 192.0.2.1 192.0.2.0
Order Deny,Allow Deny from all Allow from 192.0.2.1 192.0.2.0
Order Allow,Deny Allow from all Deny from 192.168.13.0/24
共享云虛擬主機
各場景下IP地址屏蔽的生效規(guī)則示例如下所示:
SetEnvIf X-Real-IP ^(192.0.2.0)$ ip_deny Deny from env=ip_deny
SetEnvIf X-Real-IP ^(192.0.2.0|192.0.2.1|192.0.2.2)$ ip_deny Deny from env=ip_deny
.htaccess
文件編輯完成后,單擊確認。完成IP屏蔽規(guī)則的配置后,如果被屏蔽的IP再次訪問您的WordPress網(wǎng)站,網(wǎng)頁會返回403錯誤,表示對應IP地址無訪問權限。
普通版Windows系統(tǒng)云虛擬主機(IIS)
針對該類型云虛擬主機,建議使用ASP屏蔽IP地址。即將以下代碼添加到ASP頁面中,用以屏蔽不允許的IP地址訪問。示例代碼如下所示:
<%
requestIP = request.ServerVariables("REMOTE_ADDR")
IP = "[$Deny_IP2]"
trueURL = "http://www.baidu.com"
falseURL = "http://www.google.com"
ipArr = split(IP,"|")
flag = false
for i=0 to ubound(ipArr)
if requestIP=ipArr(i) then
flag=true
exit for
end if
next
if flag then
response.Redirect(falseURL)
else
response.Redirect(trueURL)
end if
%>
[$Deny_IP2]
為待屏蔽的IP地址,如果需要添加多個待屏蔽的IP地址,中間用|
隔開。