Limit Login Attempts:サイトを様々な攻撃から保護できる
WordPress サイトを様々な攻撃から保護できる WordPress 用プラグインの紹介です。
それは「Limit Login Attempts」です。
その導入手順から日本語化・使い方と設定などを解説していきます。
Limit Login Attempts
Limit Login Attempts は、WordPress サイトを様々な攻撃から保護できます。
Limit Login Attempts の主な特徴は、以下のとおりです。
- ログイン試行を制限
- トラフィックをリアルタイムで監視
- ブルートフォース攻撃の保護
- ユーザー登録時の使い捨て、偽の、または一時的なメールアドレスの使用禁止
- ファイアウォール(SQLインジェクション、クロスサイトスクリプティング、リモートファイルインクルード、ローカルファイルインクルードなどの攻撃から保護)
- マルウェアスキャナー(WordPressコア、プラグイン、テーマファイルを含む全てのファイルをスキャン)
- 悪意のある IP から保護
- 特定の範囲の IP からのリクエストをブロック
- ログインセキュリティ(ログイン試行を制限し、ログイン試行を追跡します)
- 全てのユーザーのパスワード強度の確認
- IP の手動および自動ブロッキング(ブラックリストとホワイトリストが含まれます)
- リスクベースのアクセス制御
- WordPress ファイルの保護(ディレクトリコンテンツの閲覧・ダッシュボードからファイルを編集不可)
- Google reCAPTCHA による保護
- IP範囲、国、ブラウザ/ユーザーエージェント、リファラー、ホスト名(DNS)に基づいてユーザーをブロック
- Htaccess によるセキュリティ保護
- IPルックアップ(WHOIS)
- セキュリティログ(ブロックされた IP、スパマー、ボット、HTTP 404、403、および 400 をログに記録)
- スパムコメントフィルター
- 管理者およびエンドユーザーへの通知(ユーザーアカウントでの IP ブロック及び異常なアクティビティに関するメールアラートの送信)
- DOS(サービス拒否)攻撃からの保護
- 特定の国からの訪問者またはボットからのスパムをブロック
記事を作成もしくは更新時点での Limit Login Attempts のバージョン:4.0.3
Gutenberg エディターでの動作
Gutenberg エディターに追加される機能は無いので、気にする必要は無いです。
インストール手順
Limit Login Attempts をインストールするには 2 種類の方法があります。
下記の URL から ZIP ファイルを入手して、管理画面からアップロードして有効化する。
Limit Login Attempts – WordPress.org
もしくは、WordPress.org の公式プラグインディレクトリにリリースされているので、
管理画面からインストールできます。
ダッシュボードから「プラグイン」メニューの「新規追加」を選択し、
プラグイン追加画面右上の検索窓に「Limit Login Attempts」と入力します。
検索結果の一番左上に表示されると思うので、「今すぐインストール」をクリックします。
※一番左上に表示されない場合は、上記の画像から探して下さい。
インストールが完了したら、プラグインを「有効化」します。
プラグインのインストールに慣れていない方は、
下記の記事にて詳しく解説していますので、御覧ください。
WordPressプラグインのインストール手順を解説 – WordPress活用術
日本語化
Limit Login Attempts を有効化した際に日本語化されない場合には、
日本語化用の言語パックを translate.wordpress.org から入手できる場合があります。
WordPress と関連プロジェクト(テーマ・プラグイン)用の翻訳プラットフォームとして、
translate.wordpress.org (GlotPress) が導入されています。
※ボランティアで翻訳されている場合が多いので、
全てのプラグインで、必ずしも日本語化用の言語パックが用意されているわけでは無いです。
また、用意されていても 100% 翻訳されている保証もありません。
日本語化用の翻訳ファイルの探し方は、下記の記事を参照してください。
WordPress公式での日本語化用の翻訳ファイルの探し方 – WordPress活用術
専用テーブル
下記のテーブルを Limit Login Attempts 専用のテーブルとして作成し利用します。
テーブル作成時に $wpdb->prefix も使用しているので、マルチサイトにも対応。
mo-wpns-handler.php に記述されています(長文になるので省略)。
専用メニュー
管理画面の「設定」メニューの下に追加されています。
使い方
Limit Login Attempts は、有効化するとデフォルトの設定で動作しています。
以降で説明する各種設定を必要であれば変更しましょう。
ダッシュボード(Dashboard)
ここでは、
ログイン失敗回数
攻撃をブロックした回数
ブロックした IP 数
ホワイトリストに登録されている IP 数
を確認できます。
また、各設定画面にジャンプすることも可能です。
設定
ログイン&スパム(Login and Spam)
Login Security
Brute Force Protection ( Login Protection )
- Enable Brute force protection
ブルートフォースアタック(総当たり攻撃)からの保護を有効にする。 - Allowed login attempts before blocking an IP
IP をブロックする前に許可するログイン試行回数を入力します。
初期値:10 - Time period for which IP should be blocked
ブロックした IP のブロック継続期間を選択します。 - Show remaining login attempts to user
ユーザーに残りのログイン試行回数を表示するかどうか。
Google reCAPTCHA
- Enable Google reCAPTCHA
Google reCAPTCHA を有効にするかどうか。 - Site key
Google reCAPTCHA のサイトキーを入力します。 - Secret key
Google reCAPTCHA のシークレットキーを入力します。 - Enable reCAPTCHA for
reCAPTCHA を有効にするフォームを選択します。
Mobile authentication
Enable Mobile Authentication:
モバイル認証を有効にするかどうか。
※認証には miniOrange 2 Factor プラグインがインストールされている必要があります。
Risk Based Access
Risk Based Access:
リスクに応じたアクセスを可能にするかどうか。
このオプションをチェックすると、
2 要素画面に「このデバイスを記憶する」オプションが表示されます。
※リスクベースのアクセスを有効にするには miniOrange 2 Factor プラグインがインストールされている必要があります。
Rename Login URL
Enable Rename Login Page URL:
ログインページの URL を変更するかどうか。
変更する場合には、Login Page URL に URL を入力します。
User Session Timeout
Number of Days:
ログインユーザーを自動ログアウトさせるまでの日数を設定します。
Registration Security
Block Registerations from fake users
Enable blocking registrations from fake users:
メンバー登録で、使い捨て/偽物/一時的なメールアドレスの使用を禁止するかどうか。
Advanced User Verification
Enable advanced user verification:
高度なユーザー認証を有効にするかどうか。
※miniOrange OTP Verification のインストールが必要です。
Social Login Integration
Enable login and registrations with social networks.
Google、Twitter、Facebook、Vkontakte、LinkedIn、Instagram、Amazon、Salesforce、Windows Live などのソーシャルネットワークアカウントでのログインと登録を可能にするかどうか。
※Social Login, Sharing のインストールが必要です。
Content & Spam
Content Protection
- Protect your wp-config.php file
wp-config.php file を保護するかどうか。 - Prevent Directory Browsing (Recommended)
ディレクトリ内のファイル一覧の表示を防止するかどうか(防止推奨)。 - Disable File Editing from WP Dashboard (Themes and plugins)
ダッシュボードからの(テーマとプラグインの)ファイル編集を無効にするかどうか。
Comment SPAM
- Enable comments SPAM blocking by robots or automated scripts. (Recommended)
(推奨)ロボットや自動スクリプトによるスパムコメントをブロックするかどうか。 - Add google reCAPTCHA verification for comments (Recommended)
(推奨)コメントに Google reCAPTCHA を適用するかどうか。
Inactive User Logout
- Enable Inactive User Logout
無操作状態のユーザーを自動ログアウトさせるかどうか。 - Inactive Logout Duration(Seconds)[min = 20]
無操作状態から何秒経過すると自動ログアウトさせるかを秒単位で指定します。
初期値:30 秒 - Allowed in Admin session
管理者権限を持つユーザーのセッションは、無操作状態を許可するかどうか。
Disable XML-RPC
- Disable XML-RPC
WordPress の XML-RPC 機能を無効化するかどうか。
Web アプリケーションファイアウォール(WAF)
Firewall Dashboard
ブロックした攻撃回数とブロックした IP の数を確認できます。
また。各種設定の解説と設定にジャンプすることもできます。
Settings
Website firewall on plugin level:
プラグインレベルの Web サイトファイアウォール。
WordPress の読み込み後に WAF を有効にします。
WordPress への接続後、不正なリクエストをブロックします。
プラグイン自体の Every Request をチェックします。
Website firewall on .htaccess level [Recommended]:
.htaccess レベルでの Web サイトファイアウォール [推奨] .
WordPress 読み込み前に WAF を有効化します。
WordPress への接続前に不正なリクエストをブロックします。
ページが読み込まれる前に不正なリクエストをブロックします。
Website firewall on plugin level 有効時のみ選択可能。
- SQL Injection Protection
SQL インジェクション攻撃から保護するかどうか。有効にすると、データベースにアクセスしようとする全ての不正なリクエストをブロックします。 - Cross Site scripting Protection
クロスサイトスクリプティングから保護するかどうか。有効にすると、ウェブサイト上の不正なスクリプティングをブロックします。 - Local File Inclusion Protection
有効にすると、ローカルファイルのインクルージョンをブロックします。この攻撃は、サーバーのローカルファイルに変更を加えてる目的で行われます。
Premium 版のみの機能です。
Block After [Recommended : 10] :
同一 IP から、ここで設定した値を超える攻撃を受けた場合、その IP をブロックします。
Website firewall on .htaccess level 有効時のみ選択可能。
この機能は .htaccess ファイルに変更を加えます。
変更後に問題が発生した場合に備えて、現在のバージョンをバックアップとして、
ここでダウンロードできます。
IP Blacklist
Manual IP Blocking:
ブロック中の IP アドレスの一覧を確認できます。
手動での登録も可能。リストの検索もできます。
IP Whitelisting:
ホワイトリストに登録されている IP アドレスを確認できます。
手動での登録も可能。リストの検索もできます。
IP LookUp:
入力した IP のホスト名などを検索することができます。
Real Time Blocking
Premium 版のみの機能です。
Rate Limiting
Rate Limiting:
有効にすると、DoS 攻撃からウェブサイトを保護し、制限を超えた以降のリクエストを全てブロックします。
Premium 版のみの機能です。
高度なブロック(Advanced Blocking)
IP Address Range Blocking
ここでは、ブロックしたい IP アドレスを範囲指定できます(例:192.168.0.100-192.168.0.190)。
htaccess level blocking
Enable htaccess level security:
htaccess でのセキュリティを有効にするかどうか。
Browser Blocking
Enable Browser Blocking:
特定のウェブブラウザーからのアクセスをブロックするかどうか。
現在、このページを閲覧するのに使用している Web ブラウザーは対象外となります。
Block HTTP Referer’s
リファラースパムから保護することができます。
リファラーに含まれる文字列を登録できます。
Country Blocking
Select countries from below which you want to block.:
国単位でアクセスをブロックすることができます。
以下から、その国を選択します。
通知(Notifications)
Notify Administrator if IP address is blocked.:
IP アドレスがブロックされたら、管理者に通知するかどうか。
Notify users for unusual activity with their account.:
アカウントの異常な動きをユーザーに通知するかどうか。
「Customize Email Template」リンクをクリックすると、
メールテンプレートを編集することができます。
レポート(Reports)
ログイン時とログインに失敗時の IP の情報を確認できます。