WordPressのブルートフォースアタック対策を考えてみる

ワードプレスでブログを始めてから1週間が経ちます。

ユニークアクセス数が一日あたり0か1かの過疎ブログのはずですが、
アクセスログを見たらおびただしい数のアクセスがありました。

access-bfa

そのほとんどがwp-login.phpのログインページへのアクセスです。
ほぼ間違いなく不正ログインの痕跡です。
16時以降からパッタリとアクセスが止まっていますが、
これはサーバを一度再起動したためです。

アクセスログを見ると、毎回異なるIPアドレスから
wp-login.phpにアクセスしています。

したがって、特定のIPを制限するだけでは対処は難しいと思われます。
そこで、このwp-login.phpアクセスの防止策を挙げてみました。

方法1 wp-login.phpにBasic認証をかける
ログインページ自体にBasic認証をかけて
二重ログインの構造にしようという発想です。
機械的にアクセスされている事を考えると、
これだけでもかなりの効果が見込める事になります。

方法2 wp-login.php自体を別ページにする
wp-login.php自体を別ページにしてしまおうという発想です。
これと方法1を組み合わせればかなり安全になるのではないでしょうか。
別ページに移した後は、ダミーのログインページ(ハニーポット)をおいて
攻撃者の行動を解析するのもありですね。

方法3 wp-login.phpを特定のIPからのアクセスに限定する
これはwp-login.php自体にIP制限かける方法です。
自宅内でしかブログ更新しない場合は、プライベートIPのみからのアクセスに
制限してしまえば確実です。
これも方法1、2と組み合わせる事でセキュリティ強化が見込めます。

個人的には方法2で運用したいのですが、
wp-login.phpを置ける場所がWordPressディレクトリの1階層上までと
制限があるようです。
2階層以上はデフォルトでは出来ません。
スクリプトの書き換えで対応できなくも無いですが・・・

■参考文献
WordPress の wp-login.php をブルートフォースアタックから守る
wp-config.php の編集