WordPressで管理画面のセキュリティを高める簡単かつ(結構)確実な方法

某サーバ会社のクラッキング事件もようやく落ち着きましたね。当方管理のサイトでも1箇所だけ被害に遭ってしまいました。
それからいろいろと対策を考えていたのですが、サーバにさほど依存せず、WordPressのみで完結でき、かつ簡単な方法をご紹介します。
先に申し上げておきますが、この対策でも100%ではありません。というか、この手の対策に100%はないということを頭に入れておいて下さい。

実際にこのサイトでも実行している方法になります。

「Limit Login Attempts」プラグインをインストール

巷では「狂った骨」が大人気ですが、あちらはログを記録してくれるだけですので、インストールしても実際の対策にはならず、そこからもう一手間必要になります。
私がお勧めするプラグインはこちら。
WordPress › Limit Login Attempts « WordPress Plugins
簡単に機能を説明すると
・ログインを監視してくれます
・指定した回数、同一IPからのログインが失敗すると、そのIPアドレスからのアクセスを一定時間拒否(lockout)してくれます
・更に指定した回数lockoutすると、もっと長時間アクセスを拒否してくれます
・lockoutしたIPアドレスを管理画面に表示してくれます
設定は簡単で、基本的にはインストールし、有効にするだけでデフォルトの設定が走ってくれます。
ちなみに設定画面は下記の通りです。
Limit_Login_Attempts_‹_OpenMediaLaboratory_—_WordPress
基本的には[Lockout]の数値を変えることで設定を行います。
[4] allowed retries : 4回のリトライまでは許可されます。つまり、4回ログインに失敗したらLockoutされます。
[20] minutes lockout : Lockoutの時間は20分です。
[4] lockouts increase lockout time to [24] hours : 4回lockoutしたら、24時間はログイン出来なくなります。
[12] hours until retries are reset : 最後のリトライから12時間経つと、リトライした回数がリセットされます。
[Site connection]は、サーバにリバースプロキシを設定しているかどうかを確認しています。
nginxなどでリバースプロキシを設定している場合は、[From behind a reversy proxy]を選択して下さい。
[Handle cookie login]は、cookieに保存されているログイン情報からのログインを許可するかどうか、です。基本的には[Yes]で大丈夫と思います。
[Notify on lockout]は、lockoutした情報をどうするか、です。
 [Log IP]にチェックを入れるとIPアドレスを記録します。
 [Email to admin after [4] lockouts]は、4回lockoutすると管理者にメールを送ります。
私の場合、[Log IP]にチェックを入れているので、その下にLockdownしたIPアドレスの情報が記録されていきます。

あまりに何度もログインしようとするIPはwp-banでアクセスを止めてみる

こうやって記録していくと、あまりにも何度もログインしようとするIPアドレスが出てきます。
また、コメントスパムなどもほぼ同じIPからアクセスされることが多いですね。
そういうときにこのプラグイン、wp-banです。
WordPress › WP-Ban « WordPress Plugins
Ban_‹_OpenMediaLaboratory_—_WordPress
ちょっと縦長になりましたが・・・
いちばん簡単な使い方は、この管理画面の[Banned IPs:]の欄に、不正ログインしようとするIPアドレスを入力し、[Save Changes]をクリックします。
ワイルドカードも使えますので、あるIP帯まとめて拒否も可能です。
拒否される時に表示される画面は[Banned Message:]に記述することで、オリジナルの画面を準備することも可能です。
本来、この手のアクセス拒否は、.htaccessファイルなどで行うことでしたが、プラグインでこうやって手軽に出来ると便利ですね。
これで完璧という訳ではありませんが、ユーザ名の変更やパスワードの取扱などをきちんとした上でこういう対策をしておくと、比較的安心できるかも知れません。
[tmkm-amazon]4907237162[/tmkm-amazon]

Share this post