巷でWordPressサイトに対するブルートフォースアタックが流行り出してから結構経ちますが、まだまだ攻撃がおさまる気配はありませんね。今後も増えていく一方かもしれませんね。
ブルートフォースアタックの対処として、一定回数ログインに失敗するとユーザーをロックする「Limit Login Attempts」とか「Login LockDown」というプラグインを以前紹介させていただきました。Limit Login Attempts の記事に追記しましたが、当ブログも結構攻撃を受けているみたいです。
個人でひっそりとやっているブログですらブルートフォースアタックの攻撃対象になっているので、WordPress で作ったサイトを運営している方は今すぐ対策することをおすすめします。具体的な対処としては、以下のようなことが挙げられます。
ユーザー名にadminを使わない
WordPress でサイトを作成する場合、デフォルトでは admin というユーザーを使うようになっています。この admin を使って管理しているウェブマスターは多いです。私も以前はそうでした。
そのため、admin ユーザーはブルートフォースアタックの標的になりやすいです。当ブログへの攻撃もログを見るとすべてが admin ユーザーでログインしようとしていました。
ユーザー名に admin を使わない、というのは一番効果がある対策でしょう。
パスワードを強化する
ブルートフォースアタックは日本語で言うと「総当たり攻撃」です。つまり、ありとあらゆるパスワードを試してどれかヒットすればいいな、という古典的な攻撃手法になります。
abcとか123とか簡単なパスワードにしていると、すぐにヒットしてしまいます。英語と数字の組み合わせとか、パスワードは解読しにくいように設定しておきましょう。
プラグインを使う
上述した「Limit Login Attempts」とか「Login LockDown」といったプラグインを使って対策するのも効果的です。ただし、ユーザー名に admin を使わず、パスワードを強化したうえで、二次対策として活用した方がより効果的です。
さて、前置きが非常に長くなってしまいましたが、そんなブルートフォースアタックの対策にもなるプラグイン「Force Email Login」を紹介したいと思います。
Force Email Loginとは
Force Email Login は、ログイン方法をユーザー名からメールアドレスに変更するプラグインです。ユーザー名を使わないことで、admin などのユーザー名を狙った攻撃から守ることができます。
Force Email Login の具体的な機能としては、以下のようなものがあります。
- 従来のユーザー名によるログインをすべて拒否して、メールアドレスによるログインを強制
- ログインに失敗すると、ログイン処理に対して10秒間 wp_die() を発火させて膨大な量のブルートフォースアタックによるサーバー負荷を軽減
- メールアドレス以外のログインは、問答無用で wp_die() を発火させて、同じくサーバー負荷を軽減
Force Email Loginのインストール
インストール手順は以下の通りです。
- Force Email Loginをダウンロードします。
- ダウンロードしたファイルを展開し wp-content/plugins にアップロードします。
- 管理画面の[プラグイン]ページで、Force Email Loginプラグインを有効化します。
Force Email Loginの設定
設定は特にありません。ログイン画面も今まで通り「ユーザー名」と記載されたままですが、ユーザー名にはメールアドレスを入力してログインします。
従来のユーザー名とパスワードでログインしようとしても拒否されるので、プラグインを有効化したら必ず登録メールアドレスを確認しておきましょう。メールアドレスは、[設定] – [一般] から確認できます。
あとがき
ログインユーザー名がメールアドレスになれば、今のところかなりの確率で不正ログインを防げるんじゃないでしょうか。連続ログインできないようにして、負荷を軽減できるところも Good ですね。
これからも WordPress に対する攻撃は増え続けると考えられますので、まだ対策していない方はぜひ導入してみてください。