SEブログ

【WordPress】ログイン制限をする

こんにちは!

 

今回は、WordPress のセキュリティについて書きました。

WordPress の認証を何度か失敗すると、認証を制御するようにしたいので調べたり試してみました。

 

概要

ログイン画面へのアクセスは、自分のモバイルから、家の PC からもアクセスしています。

ログイン制限として、特定の IP からのみアクセスできる事もやろうと思えばできますが、私は特定の IP のみではないようにしたいのです。

不特定の IP からログイン画面にアクセスできるので、つまり誰でも認証を何度も試みることが可能になります。

 

影響

認証失敗の制限をかけないと悪意のあるユーザーからブルートフォースアタックで攻撃され、結果認証ができてしまうと Web サイトが改ざんされてしまうような被害を受けます。

 

事前作業

特に WordPress のバックアップの必要などは無いかと思いますが、認証に失敗したら、WordPress にどういう動作というか制限をさせたいのかを考えて、それに合ったプラグインを決めると良いかと思います。

 

対応

WordPress のプラグイン を使います。

 

Login Lockdown を使う場合

このプラグインは設定した時間内に、パスワードを指定した回数以上間違えると、「アクセス元の IP アドレスは指定した時間の間に認証ができなくなる」という事が可能です。

 

設定方法

 

① プラグインを検索します。プラグイン名は Login Lockdown です。

 

② インストールしたら有効化します。

 

③ プラグインの設定画面へ行きます。

 

④ 設定を変更します。

機能 説明
 Max Login Retries ログインを試みる回数の上限
Retry Time Period Restriction (minutes) 何分以内に Max Login Retries で設定した値の回数認証に失敗するとロックアウトするか
Lockout Length (minutes) ロックアウトした場合、次のログインできるまでの時間(分単位)
Lockout Invalid Usernames?  無効なユーザー名のログイン拒否するか。
Mask Login Errors?  ログインが失敗した場合、通常エラーメッセージを画面に表示させるが、それを非表示にするか。
Show Credit Link? プラグインのリンクを表示するか

 

確認方法

 

① まず、プラグイン無しの状態です。admin というユーザーが存在し、わざとパスワードを間違えて認証を試みました結果です。

ここで問題なのは、ユーザー名 admin のパスワードが間違っていると表示されているので、admin というユーザーが存在する事がばれてしまっております。

 

② それでは、次にプラグインをインストールして有効化した直後に認証失敗させた画面です。ロックアウトの機能は動作しておりますが、このエラー表示は英語ですが内容は変わっておりません。

admin は記載はありませんが、パスワードが間違っているという表示がある以上は admin ユーザーが存在する事がばれてしまっております。

また、Login Lockdown のクレジット情報が表示されておりますね。これは不要です。

 

③ プラグインの設定後の認証失敗した画面です。この認証エラーの表示であれば、ユーザーが存在するかどうかわかりませんよね。また、プラグインのクレジットは不要なので消しました。

 

④ 最後に実際に ロックアウトさせた後に プラグインの画面に [Activity] のログに表示されるか確認しました。ちゃんとロックアウトされた IP アドレスが表示されておりますね。これで OK です。

IP アドレスのチェックボックスにチェックを入れて、[Release Selected] をクリックすればロックアウトを開放できます。

 

以上です。いかがでしょうか。

 

今回プラグインを使ってみて分かったのは、悪意あるユーザーからの認証成功を防止する為に、ロックアウトの機能は必要だと思いました。

 

他のプラグインの機能も試してみたいと思います。

 

では最後までお読みいただきありがとうございました!