SEO增強WordPress網站安全性的Nginx安全規則

Nginx安全規則是在建造WordPress網站之前,最先需要配置的,目前WordPress 是最受歡迎的建站程序,它擁有超過30%的網絡市場份額,這也導致了WordPress 經常會成為安全威脅的目標。 Nginx安全規則顯得十分重要,因此,對於我們這些WordPress 網站所有者來說,最好設定一些Nginx安全規則來加強網站的安全性。

建置WordPress網站之前,請先配置 Nginx安全規則

是在搭建在網站之前,最先需要配置的,目前WordPress 是最受歡迎的建站程序,它擁有超過30%的網絡市場份額,這也導致了WordPress 經常會成為安全威脅的目標。 Nginx安全規則顯得十分重要,因此,對於我們這些WordPress 網站所有者來說,最好設定一些Nginx安全規則來加強網站的安全性。

WordPress 可以運行在Apache 或 Nginx 環境中,今天我們將分享一些增強WordPress安全性的Nginx規則。

增強WordPress網站安全性的10個Nginx安全規則-1

禁止下載以XXX 字尾的文件

設定網站內禁止下載的檔案副檔名,避免資料庫等敏感檔案被打包下載。

location ~ \.(zip|rar|sql|bak|gz|7z)$ { return 444; }

URL敏感字元跳轉

URL訪問連結中包含關鍵字一律跳到網站首頁,或指向到404頁面。

#url裡含有test直接跳到網站首頁if ($request_uri ~* test=) { return 301 https://uzbox.com; } #url中包含下列關鍵字,跳到首頁if ($request_uri ~* "(\.gz)|(")|(\.tar)|(admin)|(\.zip)|(\.sql)|(\.asp)|(\.rar)|(function)|($_GET)|(eval)|(\?php)|(config)|(\')|(box Suzak"") |

防止惡意爬蟲

屏蔽垃圾蜘蛛爬蟲的nginx配置,你可以將垃圾爬蟲的名稱加入到下面屏蔽的規則中。

以下是一些爬蟲的名稱,僅供參考。

qihoobot|Censys|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosoarch|Sogou spider| Bot|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu* Bot|YYSpider|DigExt|YisouSpider|Scrapy|HttpClient|MJ12bot|heritrix|EasouSpider|LinkpadBot|Ezooms

if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) { return 404; }

禁止非瀏覽器造訪網站

#禁止非瀏覽器存取if ($http_user_agent ~ ^$) { return 404; }

隱藏Nginx和PHP版本

最好不要對外公開Nginx以及PHP版本,如果特定的Ningx或PHP版本暴露出漏洞,攻擊者又發現你的伺服器上的存在對應的漏洞版本,那可能就很危險了。以下規則可以隱藏Nginx和PHP版本:

#隱藏nginx 版本. server_tokens off; #隱藏PHP 版本fastcgi_hide_header X-Powered-By; proxy_hide_header X-Powered-By;

安全標頭

安全標頭( header )透過指示瀏覽器行為提供額外的安全層。例如,X-Frame-Options,可以防止你的網站被嵌入iframe框架中進行載入。而Strict-Transport-Security會讓瀏覽器採用HTTPS方式載入站點

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";

阻止存取子目錄

如果你的網站在子目錄上運行,例如/blog,應該將 /blog以外的子目錄限制存取。

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

限制存取XMLRPC

WordPress中的XMLRPC端點(根目錄下的xmlrpc.php檔案)用於允許外部應用程式與WordPress資料互動。例如,它可以允許新增、建立或刪除文章。但是,XMLRPC也是常見的攻擊媒介,攻擊者可以在未經授權的情況下執行這些操作。所以最好允許從您信任的授權IP請求XMLRPC,如下所示:

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

新增上述內容後,應該在瀏覽器中存取xmlrpc.php 時會看到403錯誤回應代碼。

限制請求類型

大多數情況下,您的網站可能只會執行兩種類型的請求:

  • GET – 從你的網站檢索數據
  • POST – 將資料提交到你的網站

所以,只允許我們的網站執行這兩種請求類型,也是增強安全性的做法。

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

禁止直接存取PHP文件

在神不知不覺的情況下,駭客可能會將PHP檔案上傳到你的伺服器中,然後透過存取該惡意檔案執行某些操作,即可在你的網站上建立後門。所有我們應該禁止直接存取任何php文件

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

禁止存取某些敏感文件

和PHP文件相似,以點開頭的文件,例如 .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 ~ /\.useruser.;

減少垃圾評論

垃圾留言可能不會破壞你的網站,但它會使你的資料庫中寫入這些垃圾內容,從而作為廣告推廣。要減少垃圾評論內容,您可以將以下規則新增至Nginx配置以及像Akismet這樣的垃圾評論防護插件。

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

限制請求

WordPress登入頁面wp-login.php是暴力攻擊的常見端點。攻擊者會嘗試透過大量提交使用者名稱和密碼組合進行登入嘗試,可能無法破解你的密碼,但是對伺服器資源佔用非常大,可能會導致網站無法存取

為此,我們可以應用一個規則來限制頁面每秒可以處理的請求數。這裡我們將限制設定為每秒2個請求,超過次數的請求將被阻止。

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

禁用目錄列表

最後一旦也非常重要,你應該停用目錄列表,以便攻擊者無法知道目錄中的內容。

autoindex off;

總結

網站安全已經是最佳化中非常重要的一環,一旦網站被駭客入侵,就可能導致網站打不開、訪問速度變慢、被掛黑鍊等問題,而這些問題一出現就有可能被搜尋引擎拉入黑名單,掌握最基礎的網站安全防範知識是很有必要的。

評分

1 留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *