當(dāng)前位置:首頁>WordPress建站>網(wǎng)站安全>增強(qiáng)WordPress安全性的10個(gè)Nginx規(guī)則

增強(qiáng)WordPress安全性的10個(gè)Nginx規(guī)則

WordPress 是最受歡迎的建站程序,到目前為止,它擁有超過30%的網(wǎng)絡(luò)市場份額,這也導(dǎo)致了 WordPress 經(jīng)常會(huì)成為安全威脅的目標(biāo)。因此,對于我們這些 WordPress 網(wǎng)站所有者來說,最好采取一些措施來加強(qiáng)網(wǎng)站的安全性。

WordPress 可以運(yùn)行在 Apache 或 Nginx 環(huán)境中,在《15個(gè)有用的WordPress .htaccess 代碼片段》中,我們分享了一些Apache下的安全規(guī)則,今天我們將分享一些增強(qiáng)WordPress安全性的Nginx規(guī)則。

1.限制訪問XMLRPC

WordPress中的XMLRPC端點(diǎn)(根目錄下的xmlrpc.php文件)用于允許外部應(yīng)用程序與WordPress數(shù)據(jù)交互。例如,它可以允許添加、創(chuàng)建或刪除文章。但是,XMLRPC也是一種常見的攻擊媒介,攻擊者可以在未經(jīng)授權(quán)的情況下執(zhí)行這些操作。所以最好允許從您信任的授權(quán)IP請求XMLRPC,如下所示:

location ~* /xmlrpc.php$ {
    allow 172.0.1.1;
    deny all;
}

添加上述內(nèi)容后,應(yīng)該在瀏覽器中訪問 xmlrpc.php 時(shí)會(huì)看到403錯(cuò)誤響應(yīng)代碼。

2.限制請求類型

大多數(shù)情況下,您的網(wǎng)站可能只執(zhí)行兩種類型的請求:

  • GET – 從你的網(wǎng)站上檢索數(shù)據(jù)
  • POST – 將數(shù)據(jù)提交到你的網(wǎng)站

所以,只允許我們的網(wǎng)站執(zhí)行這兩種請求類型,也是增強(qiáng)安全性的做法。

if ($request_method !~ ^(GET|POST)$ ) {
    return 444;
}

3.禁止直接訪問PHP文件

在神不知鬼不覺的情況下,黑客可能會(huì)將PHP文件上傳到你的服務(wù)器中,然后通過訪問該惡意文件執(zhí)行某些操作,即可在你的網(wǎng)站上創(chuàng)建后門。所有我們應(yīng)該禁止直接訪問任何php文件

location ~* /(?:uploads|files|wp-content|wp-includes|akismet)/.*.php$ {
    deny all;
    access_log off;
    log_not_found off;
}

4.禁止訪問某些敏感文件

和PHP文件相似,以點(diǎn)開頭的文件,比如 .htaccess.user.ini以及.git可能包含敏感信息。為了更安全,最好禁用對這些文件的直接訪問

location ~ /\.(svn|git)/* {
    deny all;
    access_log off;
    log_not_found off;
}
location ~ /\.ht {
    deny all;
    access_log off;
    log_not_found off;
}
location ~ /\.user.ini { 
    deny all; 
    access_log off;
    log_not_found off;
}

5.隱藏Nginx和PHP版本

最好不要對外公開Nginx以及PHP版本,如果特定的Ningx或PHP版本暴露出漏洞,攻擊者又發(fā)現(xiàn)你的服務(wù)器上的存在對應(yīng)的漏洞版本,那可能就很危險(xiǎn)了。以下規(guī)則可以隱藏Nginx和PHP版本:

#隱藏 nginx 版本.
server_tokens off;

#隱藏 PHP 版本
fastcgi_hide_header X-Powered-By;
proxy_hide_header X-Powered-By;

6.安全標(biāo)頭

安全標(biāo)頭( header )通過指示瀏覽器行為提供額外的安全層。例如,X-Frame-Options,可以防止你的網(wǎng)站被嵌入到iframe框架中進(jìn)行加載。而Strict-Transport-Security會(huì)讓瀏覽器采用HTTPS方式加載站點(diǎn)

add_header X-Frame-Options SAMEORIGIN;
add_header Strict-Transport-Security "max-age=31536000";
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";

7.阻止訪問子目錄

如果你的網(wǎng)站在子目錄上運(yùn)行,例如/blog,則最好允許訪問此子目錄。這意味著,其他類似子目錄的訪問結(jié)構(gòu),例如, /82jdkj/?.php 將是攻擊者經(jīng)常試圖訪問的目標(biāo),所以我們就應(yīng)該將 /blog 以外的子目錄限制訪問。

location ~ ^/(?!(blog)/?) { 
    deny all;
    access_log off;
    log_not_found off;
}

8.減少垃圾評論

垃圾評論可能不會(huì)破壞你的網(wǎng)站,但它會(huì)使你的數(shù)據(jù)庫中寫入這些垃圾內(nèi)容,從而作為廣告推廣。要減少垃圾評論內(nèi)容,您可以將以下規(guī)則添加到Nginx配置以及像Akismet這樣的垃圾評論防護(hù)插件。

set $comment_flagged 0;
set $comment_request_method 0;
set $comment_request_uri 0;
set $comment_referrer 1;
 
if ($request_method ~ "POST"){
    set $comment_request_method 1;
}
 
if ($request_uri ~ "/wp-comments-post\.php$"){
    set $comment_request_method 1;
}
 
if ($http_referer !~ "^https?://(([^/]+\.)?site\.com|jetpack\.wordpress\.com/jetpack-comment)(/|$)"){
    set $comment_referrer 0;
}
 
set $comment_flagged "${comment_request_method}${comment_request_uri}${comment_referrer}";
if ($comment_flagged = "111") {
    return 403;
}

9.限制請求

WordPress登錄頁面wp-login.php是暴力攻擊的常見端點(diǎn)。攻擊者會(huì)嘗試通過批量提交用戶名和密碼組合進(jìn)行登錄嘗試,可能無法破解你的密碼,但是對服務(wù)器資源占用非常大,可能會(huì)導(dǎo)致網(wǎng)站無法訪問

為此,我們可以應(yīng)用一個(gè)規(guī)則來限制頁面每秒可以處理的請求數(shù)。這里我們將限制設(shè)置為每秒2個(gè)請求,超過次數(shù)的請求將被阻止。

limit_req_zone $binary_remote_addr zone=WPRATELIMIT:10m rate=2r/s;
location ~ \wp-login.php$ {
    limit_req zone=WPRATELIMIT;
}

10.禁用目錄列表

最后一旦也非常重要,你應(yīng)該禁用目錄列表,以便攻擊者無法知道目錄中的內(nèi)容。

autoindex off;

注:原文出自 https://www.hongkiat.com/blog/nginx-rules-for-wordpress-security/ ,倡萌整理翻譯。

聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號 WPDAXUE
網(wǎng)站安全

WordPress文件讀寫權(quán)限建議

2019-8-3 8:53:06

網(wǎng)站安全

保護(hù)您的WordPress網(wǎng)站免受蠻力攻擊

2019-10-5 10:08:47

2 條回復(fù) A文章作者 M管理員
  1. 專業(yè)找錯(cuò)別字

    代碼加在那個(gè)文件里啊
    謝謝

    • 網(wǎng)站編輯

      每個(gè)基于 Nginx 環(huán)境的網(wǎng)站都有一個(gè)配置文件的,一般都是添加到對應(yīng)網(wǎng)站的配置文件

?
個(gè)人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

屏边| 灌阳县| 白沙| 镇巴县| 汉川市| 屯留县| 大庆市| 印江| 台中市| 靖州| 庆元县| 合阳县| 凭祥市| 诸城市| 遵义县| 土默特右旗| 吴堡县| 普宁市| 林口县| 舟曲县| 罗定市| 武川县| 和政县| 嘉定区| 观塘区| 米易县| 定远县| 台北市| 江山市| 漾濞| 武汉市| 尖扎县| 商水县| 盖州市| 察雅县| 沂南县| 大厂| 加查县| 乐亭县| 海南省| 祁连县|