管理画面を制限する
このサイトではネット上のさまざまな攻撃からの防御のため、Wordfenceプラグインの無料版を使用しています。最近、存在しないIDでの不正ログインが頻繁に記録されるようになったので、特に実害があった訳では無いのですが、この際、ログインページと管理画面へのアクセスを、特定のIPアドレスからのみ可とする制限をかけました。NGINXの設定ファイルに、以下の記述を追加して、NGINX自体を再起動すると、ログインページが許可されたIPアドレスからのアクセスの場合しか表示されないため、Wordfenceのログにも不正ログインの記録が載ることはありません。
location ~* /wp-login\.php|/wp-admin/((?!admin-ajax\.php).)*$ { allow 172.16.245.1; 例)アクセスを許可したいアドレス allow 172.17.0.0/16; 例)アクセスを許可したいアドレスレンジ allow 127.0.0.1; deny all; location ~ \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9001; fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT/$fastcgi_script_name; include fastcgi_params; } index index.php; try_files $uri $uri/ /index.php?$args; }
そもそもWordfenceを使用するきっかけになったのは「プラグインの脆弱性」事件の時で、この時サーバーにはそこそこ気をつけてそれなりの防御をしていたのですが、Wordpress自体はあまり対策をしていなかったので、Wordpress専用の防御機能を導入するため、いろいろ調べて「Wordfence」を選択しました。今のところ無料版でも十分な機能を提供してくれています。おすすめのプラグインの一つと言えます。