Nginxで実行されている WordPressを使用している場合は、いくつかのコードを追加して、セキュリティを強化することができます。
参考までに htaccess to nginx converterで.htaccessをnginxで使用できるように変換するサービスを提供していますね。
uploadsディレクトリにPHPスクリプトをブロックする
uploadsディレクトリには、図、ビデオ、一時ファイルなど、さまざまなファイルが保存されることがあります。 次のNginx locationディレクティブを使用して アップロード フォルダのPHPスクリプトの実行をブロックすることができます。
location ~* /(?:uploads|files)/.*.php$ { deny all; }
機密ファイル隠し
次のlocation directiveは機密ファイルを隠す役割をします。 いくつかのサイトで、次のコードを提示するが、一部のシステムでは、正常に動作していないようです。
次のコードを入れたが、サイトが動作しない場合、削除してください。
location ~* .(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(.php)?|xtmpl)$|^(..*|Entries.*|Repository|Root|Tag|Template)$|.php_ { return 444; }
他のCGIスクリプトブロック
Nginx Webサーバーを実行している場合 WordPress サイトのレンダリングのために既にFastCGIを使用していることがあります。 悪意のある攻撃者は、他の言語のCGIスクリプトでウイルスを実行しようとすることができます。
location ~* .(pl|cgi|py|sh|lua)$ { return 444; }
WordPress サイトの一部のコアファイル/情報露出を防止する
WordPress フォルダ内にあるファイルの一部には、ハッカーがバージョンと同じ WordPress インストール本のためのより多くの情報を得るために悪用されることがあります。
次のコードでこれらの問題をある程度防ぐことができそうです。
location ~ /(\.|wp-config.php|readme.html|license.txt|wp-comments-post.php) { deny all; }
XML-RPCアクセスをブロック
XML-RPCは使用しない無効にすることです。 ただftpを介してxmlrpc.phpファイルを削除してもしますが、 WordPressが更新されるたびに削除することも面倒です。
location = /xmlrpc.php { deny all; access_log off; log_not_found off; }
関数ファイルに次のコードを追加しても良いとね(参照).
add_filter('xmlrpc_enabled', '__return_false');
画像ホットリンキン(Image Hotlinking)防止
"画像ホットリンク(画像リンク無断参照)を防止「という文章を使って、画像のホットリンクについて扱ったことがあります。
Nginxで画像リンクを無断で参照することを防止するには、次のlocationディレクティブを追加します。
location ~ .(gif|png|jpe?g)$ { valid_referers none blocked mywebsite.com *.mywebsite.com; if ($invalid_referer) { return 403; } }
コメントを残す