SP用メニューボタン
ソレゾレブログ

技術的な事だったり日常の気になる事だったり

WordPress管理画面にログイン最大試行回数の制限を設定する方法(ブルートフォースアタック対策)

スポンサーリンク

検証環境

この機能の検証はWordpress5.8.1で行っています。

この記事は、Wordpressで有効なセキュリティの一覧についてまとめた下記ブログの下位文章です。気になる方は親文章も参照してみてください。

WordPress管理画面のログイン最大試行回数

WordPressの管理画面は、初期値ではログインの最大試行回数が制限されていなくブルートフォースアタックの危険性があります。

ブルートフォースアタックについては下記ブログを参照してください。

ログイン最大試行回数を制限するにはプラグインのインストールが最適です。ここではいくつかのプラグインを紹介します。

スポンサーリンク

プラグインの紹介

SiteGuard WP Plugin

下記ブログの記事を参照してください。

Limit Login Attempts Reloaded(バージョン2.23.1)

Limit Login Attemptsの後継プラグイン。Limit Login Attemptsの更新が滞っていたため、違う開発者が後継版として開発を引き継いだとか。ですので、使うなら Limit Login AttemptsではなくてLimit Login Attempts Reloadedです。

プラグインをインストールすると、メニュ直下に[Limit Login Attempts]メニューが追加されます。

ダッシュボード

通常版では、1日間の?ログイン試行の失敗数、日付毎にログイン試行失敗の有無?、だけが見れるようです。プレミアム版は、ログイン試行の失敗を国ごとに統計、日付毎にログイン試行失敗があった場合の統計、が見れるようになるようです。

プレミアム版にアップグレードを促すリンクボタンがあります。

通常版は、ブルートフォースアタックを防御できても、防御するのは自分が持っているサーバーやレンタルサーバーですので、防御するのにリソースを食って動作が遅くなる可能性があります。プレミアム版は、その機能をクラウドに外出しするので、サーバーに負荷がかからないようです。そのほか、国ごとIPアドレスの許可/拒否、攻撃者がログインに失敗するたびにロックアウト間隔が長くなる機能、プレミアムサポートフォーラム、ダッシュボードの表示内容追加、など他にも機能が追加されるそうです。詳しくは下記本家のサイトをご覧ください。

Limit Login Attempts Reloadedの設定画面 - ダッシュボード

設定

Limit Login Attempts Reloadedの設定画面 - 設定
GDPR準拠

GDPR(General Data Protection Regulation)とは「EU一般データ保護規則」のことで、日本でいう「個人情報保護法」です。EEA(欧州経済領域)所在者の個人情報を取り扱う場合、収集・保存・利用についての規制強化が目的とのことで、対象情報は、氏名、住所、位置情報、オンラインの識別子(IPアドレス、Cookie他)、年齢制限、他です。

欧州経済領域に所在している方の個人情報を扱う方以外は、必要ないのでチェックを入れる必要はありません。

GDPRに準拠していることを表示したい方は、チェックをオンにして、「GDPR Message」に準拠している旨のメッセージを書き、メッセージを表示したい箇所にショートコードを追記すれば良いみたいです。

GDPRmessage

GDPR準拠をWebサイトに表示したい場合に、そのメッセージを設定する欄です。

ロック通知

最大試行回数に達した時にメール通知するか、どのメールアドレスに通知するか、何回ロックアウトしたら通知するか、が設定できます。ロックアウト回数は1回で良い気がします。

メールには下記のようなメッセージが届きます。

Hello ユーザー名,


1 failed login attempts (1 lockout(s)) from IP アクセス元IP
Last user attempted: ログインID
IP was blocked for **分間


This notification was sent automatically via Limit Login Attempts Reloaded Plugin. This is installed on your サイトのドメイン名 WordPress site. Please login to your WordPress dashboard to view more info.


Under Attack? Try our advanced protection. Have Questions? Visit our help section

Logs

Limit Login Attempts Reloadedの設定画面 - Logs
総ロック数

これまでにロックがかけられた総数です。「カウントをリセットする」でリセットできます。

Safelist

ログイン制限を免除するアクセス元IPとユーザー名をホワイトリストで設定できます。

ブラックリスト

ログイン制限を強制するアクセス元IPとユーザー名をホワイトリストで設定できます。

ロックのログ

これまでのログイン制限がログとして記録されます。ログのクリアをすることが出来ます。

ロック解除

ロックされた場合は、ログイン制限された対象ログの一番右に、「Locked」というボタンが現れるので、クリックすると「Unlocked」となって解除されます。

デバッグ

Limit Login Attempts Reloadedの設定画面 - デバッグ
デバッグ情報

プラグインでトラブルが起きた時にサポートに送付するデバッグ情報が表示されます。

実際にロックされた時

ロックはログインID単位ではなくアクセス元IP単位でされます。ですので、ロック後に同じIPを持つ端末から他のログインIDでアクセスしても、ロックされたままとなっていました。

実際にロックされてみました。試行回数が残っているときは下記メッセージが出力されます。

Limit Login Attempts Reloadedで実際にロックされてみた1

試行回数が上限に達すると下記のようなメッセージが出力されました。

Limit Login Attempts Reloadedで実際にロックされてみた2