何気なくWPのログイン履歴を見ていたら、海外からログインしようとしている形跡が山のように表示されていて血の気が引きました。
対策は以前から行っていたので、何の心配もありませんでしたが何も対策していなかったらWP乗っ取りの餌食になっていた可能性もあったのかもしれません。レンタルサーバーの手引きの充実などでWP導入がしやすくなっている今だからこそ不正ログイン対策を見直しておきましょう。
目次
連続アクセスを制御する
プラグイン「Simple Login Lockdown」です。
このプラグインはログイン画面に何度もアクセスし、パスワードを突破しようとする不正に対して有効ですね。
一定回数ログインに失敗すると指定した時間を置かないと再ログイン画面に到達できない仕組みになっています。
では早速導入してみましょう。
Simple Login Lockdownの設定
まずは、いつも通りプラグイン「Simple Login Lockdown」をインストールして有効化しましょう。
Settingから設定画面を見てみましょう。
設定画面で「ログイン回数」と「ロック時間」を設定します。
上記例だと5回間違えると24時間ロックされます。
ログイン画面にBasic認証をかける
こちらはhtaccessでログイン画面にさらにパスワードをかける方法です。
Basic認証はログインURLにアクセスしようとすると、IDとパスワードでアクセス制限する方法です。
.htpasswdファイルの作成
Basic認証で利用するIDとパスワードを記述した.htpasswdファイルを作成しましょう。
自分でIDとパスワードを決めて、暗号化した記述を記入します。
.htpasswdを作成できる便利なツールも沢山あります。
作った.htpasswdファイルは/www/等の公開ディレクトリより上層ディレクトリを指定するのが好ましいですね。
.htaccessファイルの作成
wp-login.phpのファイルがあるディレクトリにある.htaccessを編集します。ない場合には.htaccessファイルを作成します。
<Files wp-login.php>
AuthName "ID Password"
AuthType Basic
AuthUserFile /fullpath/.htpasswd
Require valid-user
</Files>
# CRON etc...
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
Satisfy Any
Order allow,deny
Allow from all
Deny from none
</FilesMatch>
AuthUserFileの部分にフルパスで.htpasswdファイルを指定します。
「# CRON etc…」以降の指定では、Basic認証で不具合がありそうなファイルを除外しています。
wp-adminにアクセスしてみる
設置がうまくいっているとブラウザからwp-adminにアクセスしようとすると以下のようなポップアップが表示されます。
まとめ
もしも銀行の金庫を開けたらまだ鍵があったら、悪者は諦めてしまいます。Basic認証だけでは十分と言えるセキュリティとは確保できませんし「Simple Login Lockdown」プラグインも同じです。
でも、思っていたよりも「鍵が二つ」というだけで悪者に対して効果が高いようです。セキュリティの向上とハッキングの向上が比例しているなら数で勝負するのも大きな対策の内だそうです。
というわけで今回はあなたの大事なサイトをたったこれだけで守れる可能性を飛躍的に上げられますよというお話でした。
今日も知識欲は止まらない。