WordPressで作成されたサイトが増え、それに伴い不正アクセスなどの事例が増えていたので、WordPressの管理画面への不正アクセス(勝手にログインしようとする人や、ロボット?)を見てみたら、管理画面への不正ログインしようとした痕跡が5日で400件以上あったので対策したまとめです。
WordPress管理画面への不正ログインを知る
ログイン履歴を管理、表示してくれるプラグイン「Crazy Bone(狂骨)」をインストールします。便利なプラグインですね。
WordPress › Crazy Bone « WordPress Plugins
普通にインストールして有効化すれば使えますが、不安な人は以下のサイトの記事がわかりやすいです。
WordPressのログイン履歴を表示するプラグイン「Crazy Bone」
有効化すると、WordPressの管理画面左メニュー、ユーザの中にログイン履歴というメニューができます。
それを見てみると、、
5日ほどで400件以上!!!履歴の数は399件なのですが。途中でユーザ名を指定してログインしてきている中国のIPアドレスをアクセスできなくしたので、実際はこれ以上の数字になると思います。
WordPress不正ログインの対策その1
プラグインを利用して何度かログインに失敗したら、何分間(何時間)かログインできなくするという対策。
詳しくは以下のサイトが参考になります。
Login LockDown(ログインセキュリティ対策プラグイン)
ただ、この方法では私の環境では数が減らない(アクセスしてくるIPアドレスが多い)ので、入れてはみたものの使いませんでした。
WordPress不正ログインの対策その2
WordPressの管理画面はwp-adminというディレクトリに入っているので、そのディレクリへのアクセスを自分の環境のみにするという方法です。
Apache環境の場合ですが、.htaccessというファイルを作成し、wp-adminディレクトリに設置する方法です。
設定したIPアドレス以外からはアクセスできなくなるので、利用する場合は注意が必要です。IPアドレスが変わる環境では使えないです。。。
まず、自分(作業環境)のIPアドレスを確認します。以下のサイトで確認できます。
http://www.cman.jp/network/support/go_access.cgi
wp-adminフォルダに.htaccessというファイルを設置します。サーバ上で作成すれば問題ないのですが、デスクトップなどで作成すると見えない(表示されない)ので、htaccess.txtなどで作成しておいてサーバ上で.htaccessにリネームすると良いかもです。
.htaccessに、以下を記述します。
order deny,allow deny from all allow from 自分のIPアドレス
必ず最後に改行を入れて下さい。
例:
order deny,allow deny from all allow from 111.111.111.11
これで指定したIPアドレス以外から管理画面にアクセスできなくなっていると思います。
複数のIPアドレスを指定したり、いろいろできます。
念のために自分の環境でアクセスできるか、3G環境などでアクセスした場合にアクセスできないか(403ページが表示される)を確認してください。
サーバのファイルを弄るので、自己責任、取扱い注意でお願いします。。。
というか、外部環境で作業する場合にいろいろ不都合ですね。。