はじめに#
WordPress は現在最も人気のある CMS ですが、そのためにログイン爆破攻撃が絶え間なく行われています。
Simple Login Logというプラグインをインストールしている場合、毎日の爆破試行回数の多さに驚くでしょう。このプラグインは、バックエンドへのログイン試行をすべて記録し、成功または失敗に関わらずログを残します。
そのため、予防策を講じることは非常に重要です。この記事では、Apache を使用した VPS 上で WordPress のバックエンドログイン画面への IP アクセスを制限する方法を紹介します。
Apache httpd の設定方法#
Apache を使用すると、特定のファイルやフォルダへの IP アクセスを制限することができます。詳しい手順は、Files Directiveを参照してください。
以下では、WordPress のバックエンドログイン画面であるwp-login.php
ファイルのアクセスを制限する方法を簡単に説明します。
例えば、IP アドレス192.168.2.1
のみアクセスを許可する場合、以下の設定を Apache の設定ファイルhttpd.conf
またはウェブサイトのルートディレクトリにある.htaccess
ファイルに記述します。
<Files "wp-login.php">
Order Deny,Allow
Deny from all
Allow from 192.168.2.1
</Files>
IP アドレス範囲192.168.2.*
のみアクセスを許可する場合は、以下のように設定します。
<Files "wp-login.php">
Order Deny,Allow
Deny from all
Allow from 192.168.2
</Files>
複数の IP アドレス192.168.2.1
、192.168.2.2
を許可する場合は、以下のように設定します。
<Files "wp-login.php">
Order Deny,Allow
Deny from all
Allow from 192.168.2.1 192.168.2.2
</Files>
固定 IP がない場合の対処方法#
すでに VPS をお持ちの場合、この問題は心配ありません。
VPS は固定 IP を使用しており、当サイトのいくつかのワンクリックスクリプトを使用すれば、数分で構築し、その後、socks5 プロキシを接続することで固定 IP を取得できます。
もちろん、上記の方法を使用したくない場合は、SiteGuard WP Pluginプラグインをインストールするという選択肢もあります。