- プラグイン「Wordfence Security – Firewall & Malware Scan」の全ての設定方法を知りたい。
という人のために、プラグイン「Wordfence Security – Firewall & Malware Scan」の全ての設定方法を、3万文字で解説します。
長文ですので、必要に応じて辞書的に適宜活用してください。
公式の英文を日本語訳しつつ内容を圧縮し、要所ではさらに細かな設定方法も解説します。
Wordfenceは、ファイアウォール(攻撃をブロック)とマルウェアスキャナー機能(攻撃された内容の読み取り)を搭載しています。
ファイアウォールは、悪意のある通信を検知して遮断、ログインを制限してブルートフォースアタック(不正侵入のための総当たり攻撃)を防御する、など。
マルウェアスキャナーは、コアファイルやテーマ、プラグインに対するマルウェアをスキャンして、不正な改ざんを報告したり修正してくれる、などです。
- 1.前提条件・事前準備・参考記事
- 2.「Wordfence」の各機能の説明と設定方法
- 2-1.Wordfence Global Options(グローバルオプション)
- 2-1-1.Wordfence License(有料ライセンス登録)
- 2-1-2.View Customization(カスタマイズを見る)
- 2-1-3.General Wordfence Options(一般的なWordfenceオプション)
- 2-1-3-1.Update Wordfence automatically when a new version is released?(Wordfenceの自動更新)
- 2-1-3-2.Where to email alerts(アラート受信メールアドレス変更)
- 2-1-3-3.How does Wordfence get IPs(WordfenceがIPを取得する方法)
- 2-1-3-4.Hide WordPress version(WordPressのバージョンを隠す)
- 2-1-3-5.Disable Code Execution for Uploads directory(UploadsディレクトリのPHPコード実行を無効にする)
- 2-1-3-6.Pause live updates when window loses focus(ウィンドウがフォーカスを失ったときにライブ更新を一時停止する)
- 2-1-3-7.Update interval in seconds(秒単位の更新間隔)
- 2-1-3-8.Bypass the LiteSpeed “noabort” check(LiteSpeedの「noabort」チェックを迂回する)
- 2-1-3-9.Delete Wordfence tables and data on deactivation(無効化時にWordfenceテーブルとデータを削除する)
- 2-1-4.Dashboard Notification Options(ダッシュボード通知オプション)
- 2-1-5.Email Alert Preferences(警告メールアラート設定)
- 2-1-6.Activity Report(活動報告)
- 2-2.Firewall Options(ファイアウォールオプション)
- 2-2-1.Basic Firewall Options(基本的なファイアウォールオプション)
- 2-2-2.Advanced Firewall Options(高度なファイアウォールオプション)
- 2-2-2-1.Delay IP and Country blocking until after WordPress and plugins have loaded (only process firewall rules early)(WordPressとプラグインが読み込まれるまでIPと国のブロックを遅らせる(ファイアウォールルールのみを早期に処理する))
- 2-2-2-2.Allowlisted IP addresses that bypass all rules(全てのルールを回避する許可リストに記載されたIPアドレス)
- 2-2-2-3.Allowlisted services(許可リストにあるサービス)
- 2-2-2-4.Immediately block IPs that access these URLs(これらのURLにアクセスするIPをすぐにブロックする)
- 2-2-2-5.Ignored IP addresses for Wordfence Web Application Firewall alerting(外部サービスをファイアウォールでブロックしない)
- 2-2-2-6.Rules(既知攻撃のブロックルール)
- 2-2-3.Brute Force Protection(ブルートフォース保護)
- 2-2-3-1.Enable brute force protection(ブルートフォース保護を有効にする)
- 2-2-3-1-1.Lock out after how many login failures(ログイン失敗n回数後にロック)
- 2-2-3-1-2.Lock out after how many forgot password attempts(パスワード再発行の使用n回後にロック)
- 2-2-3-1-3.Count failures over what time period(n時間にx回ログイン失敗するとロック)
- 2-2-3-1-4.Amount of time a user is locked out(ロックアウトされる時間)
- 2-2-3-1-5.Immediately lock out invalid usernames(存在しないユーザーID入力時点で即座にロック)
- 2-2-3-1-6.Immediately block the IP of users who try to sign in as these usernames(指定したユーザーID入力時点で即座にロック)
- 2-2-3-1-7.Prevent the use of passwords leaked in data breaches(どこかから流出したパスワード情報を使用したらロック)
- 2-2-3-2.Additional Options(追加オプション)
- 2-2-3-2-1.Enforce strong passwords(強力なパスワードを強制)
- 2-2-3-2-2.Don’t let WordPress reveal valid users in login errors(ユーザーID正解時、ログインエラーで正解していると悟らせない)
- 2-2-3-2-3.Prevent users registering ‘admin’ username if it doesn’t exist(ユーザーをadmin名で登録させない)
- 2-2-3-2-4.Prevent discovery of usernames through ‘/?author=N’ scans, the oEmbed API, and the WordPress REST API(全てのユーザーID表示を隠す)
- 2-2-3-2-5.Block IPs who send POST requests with blank User-Agent and Referer(空白のユーザーエージェントとリファラーで投稿リクエストを送信するIPアドレスをブロック)
- 2-2-3-2-6.Custom text shown on block pages(ブロックページに表示されるカスタムテキスト)
- 2-2-3-2-7.Check password strength on profile update(プロファイルの更新時にパスワードの安全度を確認する)
- 2-2-3-2-8.Participate in the Real-Time Wordfence Security Network(リアルタイムWordfenceセキュリティネットワークに参加する)
- 2-2-3-1.Enable brute force protection(ブルートフォース保護を有効にする)
- 2-2-4.Rate Limiting(レート制限)
- 2-2-4-1.Enable Rate Limiting and Advanced Blocking(レート制限とブロックを有効にする)
- 2-2-4-1-1.How should we treat Google’s crawlers(Googleクローラーをどのように扱うか)
- 2-2-4-1-2.If anyone’s requests exceed(誰かのリクエストが条件を超えたらブロック)
- 2-2-4-1-3.If a crawler’s page views exceed(クローラーのページビューが条件を超えたらブロック)
- 2-2-4-1-4.If a crawler’s pages not found (404s) exceed(クローラーの404エラーが条件を超えたらブロック)
- 2-2-4-1-5.If a human’s page views exceed(訪問者のページビューが条件を超えたらブロック)
- 2-2-4-1-6.If a human’s pages not found (404s) exceed(訪問者の404エラーが条件を超えたらブロック)
- 2-2-4-1-7.How long is an IP address blocked when it breaks a rule(上記のルールに違反したIPアドレスのブロック時間)
- 2-2-4-1-8.Allowlisted 404 URLs(許可リストにある404URL)
- 2-2-4-1.Enable Rate Limiting and Advanced Blocking(レート制限とブロックを有効にする)
- 2-2-5.Allowlisted URLs(許可されたURL)
- 2-3.Blocking Options(ブロッキングオプション)
- 2-4.Scan Options(スキャンオプション)
- 2-4-1.Scan Scheduling(スキャンスケジュール)
- 2-4-2.Basic Scan Type Options(基本スキャンタイプのオプション)
- 2-4-3.General Options(一般オプション)
- 2-4-4.Performance Options(パフォーマンスオプション:低速サーバー用オプション)
- 2-4-4-1.Use low resource scanning (reduces server load by lengthening the scan duration)(低リソーススキャンを使用(スキャン期間を長くすることでサーバーの負荷を軽減))
- 2-4-4-2.Limit the number of issues sent in the scan results email(スキャン結果のメールで送信される問題の数を制限する)
- 2-4-4-3.Time limit that a scan can run in seconds(スキャンを数秒で実行できる時間制限)
- 2-4-4-4.How much memory should Wordfence request when scanning(スキャン時にWordfenceが要求するメモリの量)
- 2-4-4-5.Maximum execution time for each scan stage(各スキャンステージの最大実行時間)
- 2-4-5.Advanced Scan Options(高度なスキャンオプション)
- 2-5.Tool Options(ツールオプション)
- 2-5-1.Live Traffic Options(データ追跡オプション)
- 2-5-1-1.Traffic logging mode(トラフィックログモード)
- 2-5-1-2.Don’t log signed-in users with publishing access(ログイン中のユーザーを無視する)
- 2-5-1-3.List of comma separated usernames to ignore(特定のユーザーを無視する)
- 2-5-1-4.List of comma separated IP addresses to ignore(特定のIPアドレスを無視する)
- 2-5-1-5.Browser user-agent to ignore(特定のブラウザを無視する)
- 2-5-1-6.Amount of Live Traffic data to store (number of rows)(保存するライブトラフィックデータの量(行数))
- 2-5-1-7.Maximum days to keep Live Traffic data (minimum: 1)(ライブトラフィックデータを保持する最大日数)
- 2-5-2.Import/Export Options(インポート:設定読み込み/エクスポート:書き出しオプション)
- 2-5-3.Login Security Options(ログインセキュリティオプション:2段階認証)
- 2-5-1.Live Traffic Options(データ追跡オプション)
- 2-1.Wordfence Global Options(グローバルオプション)
- 3.まとめ
1.前提条件・事前準備・参考記事
Wordfenceのインストール、アンインストール、最適な設定方法、使い方は、以下の記事を参考にしてください。
WordPressのセキュリティに関しては、以下を参考にしてください。
- WordPress(サイト)運営者が知るべきサイバー攻撃の種類と対策
- WordPressのおすすめセキュリティ系プラグインを比較した結果【Cocoon】
- Googleアカウントの作成方法(データSIMだけでもOK)
- Wordfenceの(アン)インストール方法と最適な設定方法
- Wordfence Securityの全ての設定方法を3万文字で解説
- WordfenceとGoogle認証システムで2段階認証(2FA)を設定する方法
- Wordfenceの使い方、画面の見方を6万文字で解説
- XO Securityの設定方法
- SiteGuard WP Pluginの設定方法
- BBQ(Block Bad Queries:ブロックバッドクエリ)の設定方法
- Invisible reCaptcha for WordPressの設定方法【Google reCATCHA】
- ログイン(2段階認証)エラー対策【Invisible reCaptcha、Wordfenceの2FA、ConoHa WING】
- UpdraftPlus(アップドラフトプラス)の設定方法と使い方
2.「Wordfence」の各機能の説明と設定方法
管理画面メニュー左側「Wordfence」をクリックします。
「This is your Dashboard」というWordfenceの各機能の説明が表示されたら、「×」をクリックして消します。
他の専用メニューをクリックしても似たような説明が出ますが、同じように「×」をクリックして消します。
次に「All Options」をクリックします。
ここから全ての設定をします。
2-1.Wordfence Global Options(グローバルオプション)
2-1-1.Wordfence License(有料ライセンス登録)
プレミアムにアップグレードする項目です(有料)。
プレミアムにアップグレードする際は、購入時に得たライセンスキーを「License Key (ライセンスキー)」に入力します。
有料版のプレミアムを購入する場合は、「UPGRADE TO PREMIUM(プレミアムにアップグレード)」をクリックします。
無料で使うので、無視します。
2-1-2.View Customization(カスタマイズを見る)
Wordfenceメニューに表示する内容を設定します。
- Display “All Options” menu item(「すべてのオプション」メニューを表示)
- Display “Blocking” menu item(「ブロッキング」メニューを表示)
- Display “Live Traffic” menu item(「ライブトラフィック」メニューを表示)
「All Options」は、各種設定の為に必要です。
初期値「チェック」を入れたまま、無視します。
2-1-3.General Wordfence Options(一般的なWordfenceオプション)
2-1-3-1.Update Wordfence automatically when a new version is released?(Wordfenceの自動更新)
チェックを入れると、Wordfenceの新しいバージョンがリリースされた時、24時間以内に自動的に更新します。
WordPressのプラグインには、自動更新機能がないものもあります。
この項目は、セキュリティの穴を防ぐためにあります。
「Update Wordfence automatically when a new version is released?」に「チェック」を入れて、有効化します。
WordPressの標準設定であるプラグインの自動更新をONにする場合は、この項目はOFFにします。
2-1-3-2.Where to email alerts(アラート受信メールアドレス変更)
Wordfenceを通知するメールアドレスを設定します。
初期値だと、Wordfenceインストール時に設定したメールアドレスが入力されています。
初期値「Wordfenceインストール時に設定したメールアドレス」のまま、無視します。
2-1-3-3.How does Wordfence get IPs(WordfenceがIPを取得する方法)
WordfenceのIP取得方法を選択します。
- Let Wordfence use the most secure method to get visitor IP addresses. Prevents spoofing and works with most sites. (Recommended)(Wordfenceが最も安全な方法を使用して訪問者のIPアドレスを取得できるようにします。 なりすましを防ぎ、ほとんどのサイトで動作します。 (推奨))
- Use PHP’s built in REMOTE_ADDR and don’t use anything else. Very secure if this is compatible with your site.(PHPに組み込まれているREMOTE_ADDRを使用します。他には何も使用しないでください。 これがサイトと互換性がある場合は非常に安全です。)
- Use the X-Forwarded-For HTTP header. Only use if you have a front-end proxy or spoofing may result.(X-Forwarded-For HTTPヘッダーを使用します。 フロントエンドプロキシがある場合にのみ使用してください。そうしないと、なりすましが発生する可能性があります。)
- Use the X-Real-IP HTTP header. Only use if you have a front-end proxy or spoofing may result.(X-Real-IP HTTPヘッダーを使用します。 フロントエンドプロキシがある場合にのみ使用してください。そうしないと、なりすましが発生する可能性があります。)
- Use the Cloudflare “CF-Connecting-IP” HTTP header to get a visitor IP. Only use if you’re using Cloudflare.(Cloudflareの「CF-Connecting-IP」HTTPヘッダーを使用して、訪問者のIPを取得します。 Cloudflareを使用している場合にのみ使用してください。)
Wordfence公式は、1個目「Let Wordfence use~」を推奨しています。
初期値の1個目「Let Wordfence use~」にチェックを入れたまま、無視します。
2-1-3-4.Hide WordPress version(WordPressのバージョンを隠す)
チェックを入れると、WordPressのバージョンを部外者から隠します。
WordPressはデフォルトでバージョンを公開しています。
この項目でWordPressのバージョンを隠しても、WordPressのバージョンを判別する方法(cssやjavascriptファイルなどの静的コンテンツの「フィンガープリント」)は他にもあります。
Wordfence公式は、通常はこの項目の無効化を推奨しています。
初期値「空白」のまま、無視します。
2-1-3-5.Disable Code Execution for Uploads directory(UploadsディレクトリのPHPコード実行を無効にする)
チェックを入れると、FTPの「public_html/ドメイン/wp-content/uploads」ディレクトリに.htaccessを配置し、Uploadsディレクトリでのコード(PHP)を無効にします。
バックドア対策用の項目(不正アクセス後の裏口封鎖)ですが、そもそも不正アクセスされたら手遅れです。
不正アクセスされないようなセキュリティ環境を作るべきです。
また、UploadsディレクトリでPHPを実行するプラグインは多い為、プラグインがエラーになる可能性が高くなります。
初期値「空白」のまま、無視します。
バックドアとは、直訳すると「裏口」という意味で、PC内に作る正規のものではない侵入ルートのこと。
不正ログイン後、PC(コンピュータ)内に(他人に知られることなく)通信接続の機能を設け、PCにその接続ルートは安全なものだと誤認識させます。
バックドアの特徴は、一度侵入を許してしまうと、2回目・3回目の侵入は容易になる点です。
2-1-3-6.Pause live updates when window loses focus(ウィンドウがフォーカスを失ったときにライブ更新を一時停止する)
チェックを入れると、スキャン中に別ウィンドウで作業時、「Status Updates Paused(ステータスの更新が一時停止されました)」と表示され、スキャンを中断してサーバーの負荷を減らします。
無効にするとサーバー負荷が高まります。
初期値「チェック」を入れたまま、無視します。
2-1-3-7.Update interval in seconds(秒単位の更新間隔)
Wordfenceが管理インターフェースのビューを更新する頻度を指定します。
初期値の2秒から10秒などに変更すると、ライブトラフィックまたはスキャンページの表示で消費される処理能力を大幅に削減します。
貧弱なレンタルサーバーの場合は、数値を大きくすれば、サーバーの負荷が減少します。
代わりに、スキャンのスピードが遅くなります。
ConoHa WINGなら、初期値「2」秒のままで十分なスペックです。
初期値「2」のまま、無視します。
トラフィックとは、ネットワーク上を流れる情報(量)のこと。
サイトの「訪問数」、「閲覧数(アクセス数)」になります。
2-1-3-8.Bypass the LiteSpeed “noabort” check(LiteSpeedの「noabort」チェックを迂回する)
チェックを入れると、LiteSpeedサーバーにおいて、自動アップデート・スキャンを勝手に中断されないようにします。
最近のLiteSpeedサーバーでは中断されることは無いですが、中断される場合はチェックを入れます。
ConoHa WINGは、「Apache + NGINX」サーバーのため関係ありません。
ConoHa WINGなら初期値「空白」のまま、無視します。
2-1-3-9.Delete Wordfence tables and data on deactivation(無効化時にWordfenceテーブルとデータを削除する)
チェックを入れた状態でWordfenceプラグインを無効化(停止)すると、テーブル等のデータが消え、初めてWordfenceを利用した状態に戻ります。
逆にチェックを入れずにWordfenceをアンインストールすると、Wordfenceのテーブルとデータがサーバーに残ったままになります。
なので、Wordfenceをアンインストールする時は、チェックを入れます。
Wordfenceをアンインストールするには、以下3つの操作をしてからアンインストールします。
- 「Two-Factor Authentication」で、2段階認証を削除する
- 「Delete Wordfence tables and data on deactivation」で、Wordfenceのテーブルとデータを削除する
- 「Protection Level」で、「wordfence-waf.php」ファイルを削除する
Wordfenceのアンインストール方法は、以下の記事を参考にしてください。
Wordfenceの(アン)インストール方法と最適な設定方法
アンインストール時の項目なので、初期値「空白」のまま、無視します。
2-1-4.Dashboard Notification Options(ダッシュボード通知オプション)
チェックを入れると、WordPressの本体、プラグイン、テーマの「必要な更新」を通知します。
通知は、Wordfenceのダッシュボードの「Notifications(通知)」エリアに、「何かしました履歴」が残ります。
- Updates Needed (Plugin, Theme, or Core)(必要な更新(プラグイン、テーマ、またはコア))
- Scan Status(スキャンステータス)
初期値「Updates Needed (Plugin, Theme, or Core)」「Scan Status」に「チェック」を入れたまま、無視します。
2-1-5.Email Alert Preferences(警告メールアラート設定)
チェックを入れると、チェックの条件に該当した場合、「Where to email alerts(アラート受信メールアドレス変更)」で設定したメールアドレスにメール通知が届きます。
サイトを攻撃されるようになり、メール通知が鬱陶しくなったら各項目を無効化します。
その場合も、「ブルートフォースアタック(総当たり攻撃)で侵入されない前提」は維持します。
- Email me when Wordfence is automatically updated(Wordfenceの自動更新時にメール):無効のまま
- Email me if Wordfence is deactivated(Wordfenceが無効になったらメール):有効のまま
- Email me if the Wordfence Web Application Firewall is turned off(ファイアウォールがオフならメール):有効のまま
- Alert me with scan results of this severity level or greater:(この重大度レベル以上のスキャン結果をメール):有効、Lowのまま
- Alert when an IP address is blocked(IPアドレスがブロックされたらメール):有効のまま
- Alert when someone is locked out from login(誰かがログインから追い出されたらメール):有効のまま
- Alert when someone is blocked from logging in for using a password found in a breach(誰かがログインをブロックされたらメール):有効のまま
- Alert when the “lost password” form is used for a valid user(パスワード忘れたフォームが使用されたときにメール):有効のまま
- Alert me when someone with administrator access signs in(管理者がログインしたらメール):無効にする
- Only alert me when that administrator signs in from a new device or location(管理者が新しいデバイスか場所からログインしたらメール):無効のまま
- Alert me when a non-admin user signs in(管理者以外のユーザーがログインしたらメール):個人なら有効、複数人で使うなら無効
- Only alert me when that user signs in from a new device or location(管理者以外のユーザーが新しいデバイスか場所からログインしたらメール):個人なら有効、複数人で使うなら無効
- Alert me when there’s a large increase in attacks detected on my site(サイトで検出された攻撃が大幅増加したらメール):有効のまま
- Maximum email alerts to send per hour 0 means unlimited alerts will be sent.(1時間あたりに送信するメール限度):0(無制限)のまま
ここでは、不正ログインされない前提(侵入されたら手遅れ)なので、利便性を取ります。
9個目「Alert me when someone with administrator access signs in(管理者がログインしたらメール)」の「チェック」を外します。
2-1-6.Activity Report(活動報告)
2-1-6-1.Enable email summary(メールの概要通知を有効にする)
チェックを入れると、活動報告の概要が、設定した間隔でメール通知されます。
「Once a day(日に一回)」「Once a week(週に一回:初期設定)」「Once a month(月に一回)」から選択できます。
通常、そんなに報告は必要ありません。
初期値「Once a week」から「Once a month」に選択・変更します。
2-1-6-2.List of directories to exclude from recently modified file list(最近変更されたファイルのリストから除外するディレクトリのリスト)
最近変更されたファイルのリストから、除外するディレクトリ(フォルダ)のリストを指定します。
初期値「wp-content/cache」「wp-content/wflogs」を入れたまま、無視します。
2-1-6-3.Enable activity report widget on the WordPress dashboard(WordPressダッシュボードのアクティビティレポートウィジェットを有効にする)
チェックを入れると、WordPressの方のダッシュボードに付いている、活動レポートを表示します。
ログイン失敗やIPブロックなどを簡単に確認できるため、有効のままにします。
初期値「チェック」を入れたまま、無視します。
2-2.Firewall Options(ファイアウォールオプション)
ファイアウォール、ブルートフォースアタック(総当り攻撃)からの保護、レート制限(アクセス制限)、IPアドレスのブロックなどを設定します。
2-2-1.Basic Firewall Options(基本的なファイアウォールオプション)
2-2-1-1.Web Application Firewall Status(WAFの状態)
ファイアウォールの状態を「Enabled and Protecting(ファイアウォールを有効)」「Leaning Mode(学習モード)」「Disabled(無効)」から選択します。
Wordfenceを初めてインストールすると、自動的に「Leaning Mode(学習モード)」になります。
サイト保護と通常の訪問者の違いを学習するために、7日間の学習をお勧めします。
学習モード終了後は、何らかのエラーがあれば学習モードにし、エラーが無くなれば「Enabled and Protecting(ファイアウォールを有効)」にします。
ファイアウォールの使い方は、以下の記事を参考にしてください。
Wordfenceの(アン)インストール方法と最適な設定方法
初期値「Leaning Mode(学習モード)」のまま、無視します。
「Automatically enable on(自動的にファイアウォールを有効にする日付)」:初期値「インストールから7日後」のまま、無視します。
2-2-1-2.Protection Level(保護レベル)
Wordfenceをアンインストールする時に使う項目です。
Wordfenceは、Wordfence稼働時と、アンインストール後も、ファイアウォールによりWordfenceのPHPファイルが保護されます。
このため、何もせずにWordfenceをアンインストールすると、「wordfence-waf.php」ファイルが残ったままになります。
Wordfenceをアンインストールするには、以下3つの操作をしてからアンインストールします。
- 「Two-Factor Authentication」で、2段階認証を削除する
- 「Delete Wordfence tables and data on deactivation」で、Wordfenceのテーブルとデータを削除する
- 「Protection Level」で、「wordfence-waf.php」ファイルを削除する
「Protection Level」では、以下4クリックで削除できます。操作完了に、約5分かかります。
- 「REMOVE EXTENDED PROTECTION(拡張保護を削除)」をクリックします。
- 「DOWNLOAD .HTACCESS 」をクリックします。
- 「DOWNLOAD .USER.INI」をクリックします。
- 「CONTINUE」をクリックします。
アンインストール時は、「Delete Wordfence tables and data on deactivation(無効化時、設定削除)」も同時にチェックを入れて有効化します。
Wordfenceのアンインストール方法は、以下の記事を参考にしてください。
Wordfenceの(アン)インストール方法と最適な設定方法
アンインストール時の項目なので、無視します。
2-2-1-3.Real-Time IP Blacklist(リアルタイムIPブラックリスト)
他サイトであった、悪意のあるアクティビティを持つIPからの全ての攻撃をブロックします。
有料なので、無視します。
2-2-2.Advanced Firewall Options(高度なファイアウォールオプション)
2-2-2-1.Delay IP and Country blocking until after WordPress and plugins have loaded (only process firewall rules early)(WordPressとプラグインが読み込まれるまでIPと国のブロックを遅らせる(ファイアウォールルールのみを早期に処理する))
チェックを入れると、WordPressとプラグインがロードされるまで、IP・国・その他のブロックを遅らせ、ファイアウォールを早期に処理します。
何らかの理由でWordfence以外のプラグインが使えない時にテストする項目です。
この項目にチェックを入れてエラーが消えたら、Wordfenceのファイアウォールが原因のエラーになります。
緊急時のテスト用項目なので、初期値「空白」のまま、無視します。
2-2-2-2.Allowlisted IP addresses that bypass all rules(全てのルールを回避する許可リストに記載されたIPアドレス)
全てのルールを回避し、エラーを自分だけ回避する項目です。
ホワイトリストに登録されたIPアドレスは攻撃判定されません。
WordPressを操作していてエラーが出る場合は、自分のIPアドレスを入力すれば、エラーを回避できます。
自分のIPアドレスは、以下のサイトで確認できます。
あなたが現在インターネットに接続しているグローバルIPアドレス確認
また、この項目だと、2段階認証のIPアドレスはホワイトリスト化されません。
ログイン(2段階認証)エラーの対策に、IPアドレスをホワイトリストに加えるには、以下の場所に対象デバイスのIPアドレスを入力します。
- WordPressにログイン>管理メニュー「Wordfence」>5個目「Login Security」>上部タブ左から2個目「Settings」>「Login Security Settings」>「Settings」の6個目「Whitelisted IP addresses that bypass 2FA」
ログイン(2段階認証)エラーの対策は、以下の記事を参考にしてください。
ログイン(2段階認証)エラー対策【Invisible reCaptcha、Wordfenceの2FA、ConoHa WING】
初期値「空白」のまま、無視します。
2-2-2-3.Allowlisted services(許可リストにあるサービス)
Facebookなど一部の外部サービスの意図しないブロックを回避します。
初期値「Sucuri」「Facebook」「Uptime Robot」「StatusCake「Seznam Search Engine」にチェックを入れたまま、無視します。
2-2-2-4.Immediately block IPs that access these URLs(これらのURLにアクセスするIPをすぐにブロックする)
指定したURLにアクセスするIPアドレスを、即時ブロックします。
存在しないか、普通のユーザーがまずアクセスしない、同じURLに攻撃されていたら、該当するURLを入れてブロックします。
URLを入力するので、通常のユーザーもそのURLにアクセスできなくなるので、注意します。
初期値「空白」のまま、無視します。
2-2-2-5.Ignored IP addresses for Wordfence Web Application Firewall alerting(外部サービスをファイアウォールでブロックしない)
外部サービスが上手く動かない時に、該当URLを入れます。
外部サーバーに自動でバックアップする、マルウェア(ウイルス)をスキャンさせる、クローラーでキャッシュを作成させる、などです。
初期値「空白」のまま、無視します。
2-2-2-6.Rules(既知攻撃のブロックルール)
ファイアウォールには、既知の攻撃(一般的に見られ、実際に悪用される攻撃)に一致する多くのルールがあります。
有効化した項目は、攻撃のルールが適用されます。
「SHOW ALL RULES(すべてのルールを表示)」をクリックすると、全てのルールを確認できます。
初期値「有効」のまま、無視します。
2-2-2-6-1.MANUALLY REFRESH RULES(手動で更新するルール)
「MANUALLY REFRESH RULES(手動で更新するルール)」をクリックすると、「Rules Updated(ルールが更新されました)」と表示され、ファイアウォールのルールを更新します。
ルール更新日は、「Next Update Check: 日付」です。
無料版は、30日ごとにファイアウォールルールが更新されます。
プレミアム(有料版)は、世界のどこかで新しい脅威が発生した時に、ファイアウォールルールが自動的に更新されます。
2-2-3.Brute Force Protection(ブルートフォース保護)
ブルートフォースアタック(総当たり攻撃)からの保護の設定です。
対策は、初期値で100%発揮されています。
ブルートフォースアタック(総当たり攻撃/ブルートフォース攻撃)とは、WordPressのログインファイルにアクセスし、繰り返しユーザーネーム・パスワードを入力して、ログインを試みるサイバー攻撃のこと。
ブルートフォースアタックの対策をしないと、何万回、何億回とログイン試行をされ、最終的にログインされてしまいます。
2-2-3-1.Enable brute force protection(ブルートフォース保護を有効にする)
「ON」にすると、ブルートフォースアタック(総当たり攻撃)からの保護を有効にします。
「OFF」にすると、「Brute Force Protection」の項目全て(「Participate in the Real-Time Wordfence Security Network」まで)が無効化します。
初期値「ON」のまま、無視します。
2-2-3-1-1.Lock out after how many login failures(ログイン失敗n回数後にロック)
選択した回数ログインに失敗すると、指定された時間の間、そのIPアドレスがロックアウトされます(ログインできなくなります)。
攻撃者は、ツールを使い、何億回とログイン試行をして、最終的にログインIDとログインパスワードを得ます。
このログイン試行回数を制限することで、ログインIDとログインパスワードの取得を防ぎます。
初期値では20回に設定されていますが、若干回数が多いです。
何らかのトラブルがあった際に、自分がロックアウトされないよう、10回程度に設定しておくと良いです。
自分の失敗を想定し、初期値「20」から「10」に変更・選択します。
プラグイン「XO Security」「SiteGuard」と被る項目です。
「XO Security」で機能を有効化した場合、「Wordfence」と「XO Security」は、どちらかが適用されるはずです。
「SiteGuard」側はOFFにします。
- 「XO Security」:「ログイン」>「試行回数制限」>「12時間の間に」「10回までリトライを許可する」にする
- 「SiteGuard」:「ログインロック」を「OFF」にする
パスワードは16文字以上、できれば32文字で構成します。
パスワードは覚えられないため、パスワードマネージャーで管理しましょう。
2-2-3-1-2.Lock out after how many forgot password attempts(パスワード再発行の使用n回後にロック)
選択した回数、パスワードの再発行「パスワードをお忘れですか ?」を使うと、指定された時間の間、そのIPアドレスがロックアウトされます。
攻撃者は、パスワード再発行により、管理者にパスワードリセットメールを殺到させます。
さらに、システム上のユーザーアカウントを推測できます。
このパスワード再発行の回数を制限することで、パスワードリセットメール爆撃と、ユーザーアカウントの推測を防ぎます。
自分の失敗は想定しないので、初期値「20」から「1」に変更・選択します。
2-2-3-1-3.Count failures over what time period(n時間にx回ログイン失敗するとロック)
選択した時間以内に、x回ログインに失敗すると、指定された時間の間、そのIPアドレスがロックアウトされます。
例えば、失敗カウント「Lock out after how many login failures(ログイン失敗n回数後にロック)」で10回の失敗、試行可能期間「Count failures over what time period(n時間にx回ログイン失敗するとロック)」で5分、と指定した場合、5分間に10回ログインに失敗すると、ロックアウトされます。
ブルートフォースアタックは通常、数秒ごとに1つのログイン試行を送信します。
したがって、ログイン失敗の数を20に設定した場合、ブルートフォースハッキングの試みを防ぐには5分で十分です。
とはいえ、攻撃者が何時間かに1回、攻撃をするかもしれません。なので、数時間に設定すると良いです。
初期値「4 hours」から「12 hours」に選択・変更します。
プラグイン「XO Security」「SiteGuard」と被る項目です。
「XO Security」で機能を有効化した場合、「Wordfence」と「XO Security」は、どちらかが適用されるはずです。
「SiteGuard」側はOFFにします。
- 「XO Security」:「ログイン」>「試行回数制限」>「12時間の間に」「10回までリトライを許可する」にする
- 「SiteGuard」:「ログインロック」を「OFF」にする
2-2-3-1-4.Amount of time a user is locked out(ロックアウトされる時間)
選択した時間、ロックアウトされたIPアドレスは、ログインできなくなります。
適度に強力なパスワードを使用している場合、パスワードを正しく推測するには数千回の試行が必要になります。
例えば、失敗カウント「Lock out after how many login failures(ログイン失敗n回数後にロック)」を10に設定し、試行可能期間「Count failures over what time period(n時間にx回ログイン失敗するとロック)」を4時間に設定し、このオプションのロックアウト時間「Amount of time a user is locked out(ロックアウトされる時間)」を4時間に設定した場合、攻撃者は4時間ごとに10回の推測を取得し、その後に4時間待機する必要があります。
したがって、8時間ごとに10個の試行が限界値となり、1日あたり30個の推測しか得られません。
仮にパスワード施行が3000回必要なら、正しいパスワードの取得に100日間かかる計算になります。
パスワードを「英字(大小区別)+数字+記号93文字=使用できる文字数93」で16桁にした場合、必要となる総当たり攻撃の全パターン試行回数は、3131穰3180𥝱1708垓10京回になります。
ロックアウトの条件を上記の設定にすれば、全パターン試行回数÷30なので、104穰3772𥝱6723垓6000京日かかります。絶対に突破されません。
万が一、ロックアウト時間が無くなったとしても、パスワードを倍の32桁にすれば安心です。
初期値「4 hours」のまま、無視します。
2-2-3-1-5.Immediately lock out invalid usernames(存在しないユーザーID入力時点で即座にロック)
チェックを入れると、存在しないユーザー名を入力した時点で、即座にロックアウトされます。
攻撃者は、正しいユーザー名を探すために試行回数を重ねます。それを防ぎます。
しかし、ユーザー名のコピペミスも考えられるので、この項目は無効にしておきます。
初期値「空白」のまま、無視します。
2-2-3-1-6.Immediately block the IP of users who try to sign in as these usernames(指定したユーザーID入力時点で即座にロック)
ユーザー名を追加すると、そのユーザー名でログインした場合、そのIPアドレスがブロックされます。
「admin」などのブルートフォース攻撃で頻繁に使用されるユーザー名や、トップレベルドメインなしのドメイン名の追加が効果的です。
ただし、このリストに追加するユーザー名が、システム上の実際のユーザー名と同一または類似していると、正当なユーザーがブロックされる可能性があります。
入力した内容を消去する場合は、「☓」をクリックします。
初期値「空白」に「admin」を入力します。
トップレベルドメイン(TLD)とは、ドメイン名に使われる「com」や「net」「jp」などのこと。
2-2-3-1-7.Prevent the use of passwords leaked in data breaches(どこかから流出したパスワード情報を使用したらロック)
チェックを入れると、ユーザーが、データ侵害で漏えいしたパスワードのリストに存在するパスワードでログインすることを防ぎます。
攻撃者はどこかのサイトで不正なログインパスワードリストを入手したら、他のサイトでそのリストを使ってログインをします。
この項目は、他サイトで流出したパスワードの使用を防ぎます。
以下2つから選択します。
- For admins only(管理者のみ)
- For all users with “publish posts” capability(管理者含めた投稿できるユーザー全員)
初期値「For admins only」から「For all users with “publish posts” capability」に変更・選択します。
2-2-3-2.Additional Options(追加オプション)
2-2-3-2-1.Enforce strong passwords(強力なパスワードを強制)
チェックを入れると、パスワードを発行する時、強力なパスワードの発行を強制します。
強力なパスワードの作成には、文字数が多い、大文字小文字、数字、記号が使われる、という点が求められます。
以下2つから選択します。
- Force admins and publishers to use strong passwords (recommended)(管理者と発行者に強力なパスワードを使用するように強制する(推奨))
- Force all members to use strong passwords(全てのメンバーに強力なパスワードを使用するように強制する)
Wordfence公式は、「Force admins and publishers to use strong passwords (recommended)」を推奨しています。
初期値の「チェック」を入れ、「Force admins and publishers to use strong passwords (recommended)」のまま、無視します。
2-2-3-2-2.Don’t let WordPress reveal valid users in login errors(ユーザーID正解時、ログインエラーで正解していると悟らせない)
チェックを入れると、ログイン失敗時のエラーメッセージを「ERROR: The username or password you entered is incorrect.(エラー:入力したユーザー名またはパスワードが正しくありません。)」と一律に表示します。
WordPressの初期値では、ログイン時に「ユーザーIDだけ」を間違ったのであれば「ユーザー名は合っているがユーザーIDは間違っている」と表示されます。
これでは、不正ログインのヒントになってしまいます。
この項目は、ユーザー名、パスワードの推測をエラーメッセージから推測できなくします。
初期値の「チェック」を入れたまま、無視します。
プラグイン「XO Security」「SiteGuard」と被る項目ですが、「XO Security」「SiteGuard」側が優先されます。
- 「XO Security」:「ログイン」>「ログインエラーメッセージの変更」を「ON」にする→「エラー: ユーザー名またはパスワードが間違っています。」
- 「SiteGuard」:「ログイン詳細エラーメッセージの無効化」を「ON」にする→「エラー: 入力内容を確認の上、もう一度送信してください。」
2-2-3-2-3.Prevent users registering ‘admin’ username if it doesn’t exist(ユーザーをadmin名で登録させない)
チェックを入れると、「admin」ユーザー名が存在しない場合、ユーザーが「admin」ユーザー名を登録できないようにします。
「admin」の使用は危険なので、この項目は有効化させておきます。
初期値の「チェック」を入れたまま、無視します。
2-2-3-2-4.Prevent discovery of usernames through ‘/?author=N’ scans, the oEmbed API, and the WordPress REST API(全てのユーザーID表示を隠す)
チェックを入れると、全てのユーザーID表示を隠します。
WordPress 4.7以降のバージョンは、「REST API」による設計が組み込まれました。
その結果、次のような特別に細工されたURLにアクセスして、有効なユーザー名を見つけることができます。
- example.com/?author=2
- example.com/wp-json/oembed/1.0/embed?url=http%3A%2F%2Fexample.com%2Fhello-world%2F
- example.com/wp-json/wp/v2/users
この項目は、「REST API」によるユーザー名探しを防ぎます。
初期値の「チェック」を入れたまま、無視します。
REST APIとは、RESTの原則に則って構築されたWebシステムのHTTPでの呼び出しインターフェースのこと。
REST(REpresentational State Transfer)とは、分散型システムにおける複数のソフトウェアを連携させるのに適した設計原則の集合、考え方のこと。
JSON形式(JavaScript)でWordPressの記事やページなどの情報を取得できます。
REST APIのメリットは、開発がより楽になる、サーバー負荷が減る、などです。
例えば、ドメイン名の最後に/wp-json/wp/v2/posts/と追記すると、投稿一覧の結果を返してくれます。
プラグイン「XO Security」と被る項目の為、「XO Security」側ではOFFにします。
- 「XO Security」:「REST API」>「REST API の無効化」と「REST API URL の変更」を「OFF」にする
- 「XO Security」:「秘匿」>「作成者アーカイブの無効化」と「コメント著者名クラスの無効化」を「OFF」にする
2-2-3-2-5.Block IPs who send POST requests with blank User-Agent and Referer(空白のユーザーエージェントとリファラーで投稿リクエストを送信するIPアドレスをブロック)
チェックを入れると、空白のユーザーエージェントとリファラーで投稿リクエストを送信するIPアドレスをブロックします。
言い換えると、誰が、どこから来たかがわからない場合に、IPアドレスをブロックします。
不適切に作成されたブルートフォースハッキングスクリプトの多くは、空白のユーザーエージェント(どのブラウザーかを指定していない)と空白のリファラーヘッダー(どのURLかを指定していない)を使用して、ログイン試行とコメントスパム試行を送信します。
この項目を有効にすると、このようなリクエストがサイトに到達するのを防ぐだけでなく、リクエストの発信元のIPアドレスもすぐにブロックされます。
このブロッキングルールが有効になる条件は、User-AgentとRefererの両方がリクエストから欠落していることです。
通信を秘匿する外部サービスを利用したいというユーザーの声を反映し、Wordfence公式は初期値を無効化にしています。
この項目が有効化中にWordfenceにエラーがあった場合、チェックを外します。
エラーが無くなれば、この項目がエラーの内容になります。
「チェック」を入れて、有効化します。
ユーザーエージェントとは、あるホームページにアクセスしたときに伝える、自分自身の情報のこと。
利用しているOS(WindowsかMac OS)やブラウザ、スマートフォンの機種などの情報を伝えます。
リファラーとは、ユーザーがあるWebページを訪れる際に経由したWebページのこと。
あるWebページに訪れる直前にどのWebページを見ていたかという「参照元」のページを指します。
2-2-3-2-6.Custom text shown on block pages(ブロックページに表示されるカスタムテキスト)
Wordfenceがユーザーまたはbotをブロックすると、ブロックに関する一般的な情報が英字で表示されます。
意図しないブロックが発生した場合を想定し、サイト所有者への連絡方法に関する情報などの追加メッセージを含めることができます。
ただ、そもそもブロックされるような入力をするユーザーは、何かしらおかしな行動をしていると考えられます。
親切に日本語表示を用意する必要はありません。
初期値の「空白」のまま、無視します。
2-2-3-2-7.Check password strength on profile update(プロファイルの更新時にパスワードの安全度を確認する)
チェックを入れると、虚弱なパスワードを使用したユーザーがいた場合、管理者にメール通知されます。
メールは通知のみとなり、管理者にユーザーのパスワードはわかならいため、ユーザーのプライバシーは守られます。
初期値の「チェック」を入れたまま、無視します。
2-2-3-2-8.Participate in the Real-Time Wordfence Security Network(リアルタイムWordfenceセキュリティネットワークに参加する)
チェックを入れると、Wordfenceのセキュリティネットワークに参加します。
あなたの匿名データ(個人を特定できない情報)を、Wordfenceに提供します。
その代わり、ブルートフォースアタック(総当たり攻撃)を仕掛けたIP情報を受け取り、ブロックします。
この項目により、Wordfenceをインストールしたネットワークは、世界中の悪質なIPアドレスを駆逐します。
初期値の「チェック」を入れたまま、無視します。
2-2-4.Rate Limiting(レート制限)
「Rate Limiting(レート制限)」は、DDoS攻撃対策の項目です。
クローラーまたは人間によるアクセス集中を、制限またはブロックし、サーバーダウン(サイトにアクセスできなくなる)を防ぎます。
DDoS攻撃(Distributed Denial of Service attack/分散型サービス拒否攻撃)とは、様々な手段で負荷を与えることで、攻撃対象のサービスを停止させる攻撃です。
DDoS攻撃が実行されると、攻撃対象のサーバーは大量のアクセスや通信の処理のためにリソースを割くことになり、Webサイトやサービスが正常に作動できなくなります。
2-2-4-1.Enable Rate Limiting and Advanced Blocking(レート制限とブロックを有効にする)
「ON」にすると、レート制限とブロック機能を有効にします。
「OFF」にすると、「Rate Limiting」の項目全て(「Whitelisted 404 URLs」まで)が無効化します。
初期値「ON」のまま、無視します。
2-2-4-1-1.How should we treat Google’s crawlers(Googleクローラーをどのように扱うか)
Googleのクローラーをどのように扱うべきか、選択します。
- Verified Google crawlers have unlimited access to this site(確認済みのGoogleクローラーはこのサイトに無制限にアクセスできます)
- Anyone claiming to be Google will not be rate-limited(Googleであると主張する人は、レート制限されません)
- Treat Google like any other Crawler(他のクローラーと同じようにGoogleを扱います)
Googleクローラーは特別です。
通常は、Googleのクローラーが中断なくサイトにアクセスしてインデックスを作成できるようにし、サイトに無制限にアクセスできるようにする必要があります。
この項目では、通常のサイト訪問者よりもGoogleの扱いを特別なものとし、より多くのアクセス権が付与されるようにします。
初期値「Verified Google crawlers have unlimited access to this site」のまま、無視します。
2-2-4-1-2.If anyone’s requests exceed(誰かのリクエストが条件を超えたらブロック)
誰かのリクエストが条件を超えたら、この制限が適用されます。
「How should we treat Google’s crawlers(Googleクローラーをどのように扱うか)」で初期値「Verified Google crawlers have unlimited access to this site」を選択していた場合、Googlebotには適用されません。
条件の設定と、条件を満たした場合、制限するかブロックするかを選択します。
- 条件:「n per minute(1分あたりn件)」か「unlimited(無制限)」
- 条件を満たしたIPアドレスを処置する選択:「throttle it(制限)」か「block it(ブロック)」
※「throttle it(制限)」:リクエストの頻度が設定した制限を下回るまで、サイトへのアクセスが一時的にブロックされます。
一般的に、クローラーの速度は「240 per minute(1分あたり240件)」です。
人間のアクセスが集中したとしても、通常のクローラーと同程度と想定します。
設定するなら、「240 per minute(1分あたり240件)」「throttle it(制限)」にします。
初期値「Unlimited」「throttle it」から「240 per minute」「throttle it」に変更・選択します。
2-2-4-1-3.If a crawler’s page views exceed(クローラーのページビューが条件を超えたらブロック)
訪問者が人間ではなく、サイトをクロールするbotであることが検出された場合、この制限が適用されます。
条件の設定と、条件を満たした場合、制限するかブロックするかを選択します。
- 条件:「n per minute(1分あたりn件)」か「unlimited(無制限)」
- 条件を満たしたIPアドレスを処置する選択:「throttle it(制限)」か「block it(ブロック)」
一般的に、クローラーの速度は「240 per minute(1分あたり240件)」です。
設定するなら、「240 per minute(1分あたり240件)」「throttle it(制限)」にします。
初期値「Unlimited」「throttle it」から「240 per minute」「throttle it」に変更・選択します。
2-2-4-1-4.If a crawler’s pages not found (404s) exceed(クローラーの404エラーが条件を超えたらブロック)
クローラーの404エラーが条件を超えた場合、この制限が適用されます。
Wordfenceでスキャンした結果、404エラーが多い場合は、この項目を活用します。
攻撃者がログインページを探している時、多くのページが404エラーとして検出されます。
この場合、「30 per minute(1分あたり30件)」に設定し、「block it(ブロック)」にすると効果的です。
ただし、サイトが適切に設計または設定されていない場合、通常の運用中に、ページが見つからない(404)エラーが多数発生する可能性があります。
例えば、Webページに存在しない多くの画像を含めると、ページはサイトで多くの404エラーを生成します。
初期値「Unlimited」「throttle it」のまま、無視します。
2-2-4-1-5.If a human’s page views exceed(訪問者のページビューが条件を超えたらブロック)
訪問者が人間であることが検出された場合、この制限が適用されます。
アクセス集中を防ぐ場合に設定します。
WebサイトでAJAX(Googleマップなど)を使用している場合は、この値を高く保つことをお勧めします。
条件の設定と、条件を満たした場合、制限するかブロックするかを選択します。
- 条件:「n per minute(1分あたりn件)」か「unlimited(無制限)」
- 条件を満たしたIPアドレスを処置する選択:「throttle it(制限)」か「block it(ブロック)」
設定するなら、「240 per minute(1分あたり240件)」「throttle it(制限)」にします。
初期値「Unlimited」「throttle it」から「240 per minute」「throttle it」に変更・選択します。
2-2-4-1-6.If a human’s pages not found (404s) exceed(訪問者の404エラーが条件を超えたらブロック)
訪問者の404エラーが条件を超えた場合、この制限が適用されます。
ユーザーが望まないページを何度も見ている場合、多くのページが404エラーとして検出されます。
この場合、「30 per minute(1分あたり30件)」に設定し、「throttle it(制限)」にすると効果的です。
ただし、サイトが適切に設計または設定されていない場合、通常の運用中に、ページが見つからない(404)エラーが多数発生する可能性があります。
例えば、Webページに存在しない多くの画像を含めると、ページはサイトで多くの404エラーを生成します。
初期値「Unlimited」「throttle it」のまま、無視します。
2-2-4-1-7.How long is an IP address blocked when it breaks a rule(上記のルールに違反したIPアドレスのブロック時間)
上記のルールで「block it(ブロック)」を設定した場合、違反したIPアドレスをブロックする時間を選択します。
Wordfence公式は、5分から1時間を推奨しています。
この数値は、IPが関与できる悪意のあるアクティビティを制限するのに十分な時間です。
「All Options」>2個目「Firewall Options」>2個目「Advanced Firewall Options」>3個目「Immediately block IPs that access these URLs(これらのURLにアクセスするIPをすぐにブロックする)」のブロック時間は、この項目「How long is an IP address blocked when it breaks a rule(上記のルールに違反したIPアドレスのブロック時間)」の設定が適用されます。
初期値「5 minutes」のまま、無視します。
2-2-4-1-8.Allowlisted 404 URLs(許可リストにある404URL)
ホワイトリストに登録された404 URLは、レート制限から除外されます。
URLは「/favicon.ico」のようにスラッシュで始める必要があります。
初期値には、以下が含まれています。
- /favicon.ico
- /apple-touch-icon*.png
- /*@2x.png
- /browserconfig.xml
初期値のまま、無視します。
2-2-5.Allowlisted URLs(許可されたURL)
2-2-5-1.Add Allowlisted URL/Param(許可リストにあるURL /パラメータを追加する)
特定のアクション・要求が誤検知であると識別する場合、ホワイトリストのURとして追加できます。
例えば、ウイジェットを操作して保存した時に、403エラーが発生した場合。以下のように入力します。
- URLボックス: /wp-admin/admin-ajax.php
- ドロップダウン:Param Type: POST
- Param Name(パラメータ名):actions(自分がわかる名称なら何でも良いです。)
- 「ADD」をクリックします。
- 右上「SAVE CHANGES」をクリックし、保存します。
ただ、通常は「学習モード」を使用してエラーを回避した方が簡単です。
保存した内容は、下の一覧に表示されます。
何も保存されていない時は、「No whitelisted URLs currently set.(ホワイトリストに登録されたURLは現在設定されていません。)」と表示されます。
また、ファイアウォールの「Learning Mode(学習モード)」で学習した正常リストが、ここに載ります。
初期値のまま、無視します。
2-2-5-2.Monitor background requests from an administrator’s web browser for false positives(管理者のWebブラウザからのバックグラウンド要求を監視して、誤検知がないかどうかを確認する)
誤検知(実際には悪意のないアクションをブロックする)を発見する項目です。
チェックを入れると、サイトと管理画面の裏で動いているシステムを監視します。
- Front-end Website(フロントエンドWebサイト:ユーザーが閲覧するページ)
- Admin Panel(管理パネル:管理画面)
システムが怪しいと判断されると、「Background Request Blocked.(バックグラウンドリクエストがブロックされました)」というメッセージが表示されます。
内容を確認した上で、誤検知であるならホワイトリストに加えます。
ブロックされた要求が発生した時にサイトで作業していた場合、「ホワイトリスト」ボタンをクリックすれば、ブロックされた要求をホワイトリストに登録できます。
この項目を無効化すると、ファイアウォールの保護には影響しませんが、誤検知に気づきにくくなる場合があります。
初期値「Front-end Website」「Admin Panel」に「チェック」を入れたまま、無視します。
2-3.Blocking Options(ブロッキングオプション)
2-3-1.Advanced Country Blocking Options(高度な国別ブロッキングオプション)
国別アクセス禁止が可能で、ログインページとそれ以外を制限できます。
攻撃者は、基本的に同じ国からのアクセスが多いため、国別にブロックすれば効果が高いです。
有料なので、無視します。
2-4.Scan Options(スキャンオプション)
スキャンは、不正ログインされた(侵入された)後の処置になり、重要ではありません。
不正ログイン対策こそが重要です。
2-4-1.Scan Scheduling(スキャンスケジュール)
「ENABLED(許可)」にすると、サイトに侵入された後のログをスキャンします。
無料版だと、強制的に「Let Wordfence choose when to scan my site (recommended)(Wordfenceに自分のサイトをスキャンするタイミングを選択させる(推奨))」になります。
クイックスキャンは毎日(時間不明)、フルスキャンは72時間ごとにします。
初期値「ENABLED」のまま、無視します。
2-4-2.Basic Scan Type Options(基本スキャンタイプのオプション)
どのタイプのスキャンをするかを選択します。
通常は初期設定値の「Standard Scan」、重ければ「Limited Scan」を選択します。
初期値「Standard Scan」のまま、無視します。
2-4-2-1.Limited Scan(限定スキャン:低速サーバー用)
標準スキャンと比べ、ある程度の機能を除外してスキャンします。
低速サーバーでスキャンに時間がかかる・重くなるなら、この項目を選択します。
2-4-2-2.Standard Scan(標準スキャン)
標準的なスキャンをします。
重ければ「Limited Scan」を選択します。
2-4-2-3.High Sensitivity(高感度スキャン)
不正侵入された後の、高検知モードです。
ハッキングされたと思われるサイト所有者向けになります。
誤検知が発生する可能性があります。
かなりサーバーに負荷がかかるため、緊急時以外は使いません。
2-4-2-4.Custom Scan(カスタムスキャン)
General Options(一般オプション)をカスタマイズした場合、自動的に選択されます。
2-4-3.General Options(一般オプション)
スキャンのオプションを変更できます。
Limited Scan(低速サーバー用スキャン)とStandard Scan(標準スキャン)の設定を変更したい時に使います。
- Check if this website is on a domain blacklist(プレミアム版のみ)(このWebサイトがドメインブラックリストに含まれているかどうかを確認する)
- Check if this website is being “Spamvertised”(プレミアム版のみ)(このウェブサイトが「スパム広告」されているかどうかを確認する)
- Check if this website IP is generating spam(プレミアム版のみ)(このWebサイトのIPがスパムを生成しているかどうかを確認する)
- Scan for misconfigured How does Wordfence get IPs(WordfenceがIPを取得する方法)
- Scan for publicly accessible configuration, backup, or log files(一般にアクセス可能な構成、バックアップ、またはログファイルをスキャンする)
- Scan for publicly accessible quarantined files(公的にアクセス可能な隔離されたファイルをスキャンする)
- Scan core files against repository versions for changes(変更について、リポジトリバージョンに対してコアファイルをスキャンする)
- Scan theme files against repository versions for changes(テーマファイルをリポジトリバージョンに対してスキャンして変更を確認する)
- Scan plugin files against repository versions for changes(プラグインファイルをリポジトリバージョンに対してスキャンして変更を確認する)
- Scan wp-admin and wp-includes for files not bundled with WordPress(WordPressにバンドルされていないファイルのwp-adminおよびwp-includesをスキャンする)
- Scan for signatures of known malicious files(既知の悪意のあるファイルの署名をスキャンする)
- Scan file contents for backdoors, trojans and suspicious code(ファイルの内容をスキャンして、バックドア、トロイの木馬、疑わしいコードを探す)
- Scan file contents for malicious URLs(悪意のあるURLのファイルコンテンツをスキャンする)
- Scan posts for known dangerous URLs and suspicious content(既知の危険なURLと不審なコンテンツがないか投稿をスキャンする)
- Scan comments for known dangerous URLs and suspicious content(既知の危険なURLと疑わしいコンテンツのコメントをスキャンする)
- Scan WordPress core, plugin, and theme options for known dangerous URLs and suspicious content(WordPressコア、プラグイン、テーマオプションをスキャンして、既知の危険なURLと疑わしいコンテンツを探す)
- Scan for out of date, abandoned, and vulnerable plugins, themes, and WordPress versions(古い、放棄された、脆弱なプラグイン、テーマ、WordPressバージョンをスキャンする)
- Scan for admin users created outside of WordPress(WordPress以外で作成された管理者ユーザーをスキャンする)
- Check the strength of passwords(パスワードの強度を確認する)
- Monitor disk space(ディスク容量を監視する)
- Monitor Web Application Firewall status(Webアプリケーションファイアウォールのステータスを監視する)
- Scan files outside your WordPress installation(WordPressインストール外のファイルをスキャンする)
- Scan images, binary, and other files as if they were executable(実行可能であるかのように、イメージ、バイナリ、その他のファイルをスキャンする)
初期値のまま、無視します。
2-4-4.Performance Options(パフォーマンスオプション:低速サーバー用オプション)
2-4-4-1.Use low resource scanning (reduces server load by lengthening the scan duration)(低リソーススキャンを使用(スキャン期間を長くすることでサーバーの負荷を軽減))
チェックを入れると、スキャン時間をを2~4倍に増やし、サーバー負荷を減らします。
ConoHa WINGなら十分なサーバースペックなので、無効化のままで良いです。
初期値「空白」のまま、無視します。
2-4-4-2.Limit the number of issues sent in the scan results email(スキャン結果のメールで送信される問題の数を制限する)
スキャン終了時のメール送信の総数を制限します。「0」か空欄の場合、無制限にメール送信します。
初期値「1000」のまま、無視します。
2-4-4-3.Time limit that a scan can run in seconds(スキャンを数秒で実行できる時間制限)
スキャンの実行時間を秒単位で制限します。「0」か空欄の場合、初期値の3時間になります。
初期値「空白」のまま、無視します。
2-4-4-4.How much memory should Wordfence request when scanning(スキャン時にWordfenceが要求するメモリの量)
スキャン時にWordfenceが使用するメモ利用をメガバイト単位で指定します。
メモリ不足のエラーが出た場合は、「512」に変更します。
初期値「256」のまま、無視します。
2-4-4-5.Maximum execution time for each scan stage(各スキャンステージの最大実行時間)
各スキャンの最大実行時間を指定します。
スキャンの時間が長くなる場合、この項目で設定した時間を区切りにスキャン内容を保存し、再度サーバーにアクセスしてスキャンを続行します。
ここで指定する場合、値は「10」以上が必要です。
「10」未満の場合、PHP.ini構成ファイルのmax_execution_timeを2で割った値を使用します。
設定する場合、まず「30」を試し、保存してスキャンを実行します。
スキャンが完了しない場合は、「15」を試し、それでも完了しなければ「12」を試します。
初期値「0」のまま、無視します。
2-4-5.Advanced Scan Options(高度なスキャンオプション)
2-4-5-1.Exclude files from scan that match these wildcard patterns (one per line)(これらのワイルドカードパターンに一致するファイルをスキャンから除外する(1行に1つ))
ワイルドカードパターンに一致するファイルを、スキャンから除外します(1行に1つ)。
ファイルへのフルパスを使用するか、「*(アスタリスク)」を使用して任意の数の任意の文字と一致させることができます。
フルパスと「*(アスタリスク)」の例は以下になります。
- フルパス:「wp-content/uploads/image.jpg」と入力すると、image.jpgファイルのみを除外します。
- 「*(アスタリスク)」:「wp-content/uploads/*」と入力すると、アップロードフォルダー内のすべてのファイルがスキャンから除外されます。
ただし、「wp-content/uploads/*」と入力して画像スキャンを無視する場合、「Disable Code Execution for Uploads directory(UploadsディレクトリのPHPコード実行を無効にする)」を有効化しておかないと、「uploadsフォルダ」にバックドア(裏口)用ファイルなどを置かれても気付けなくなります。
初期値「空白」のまま、無視します。
ワイルドカードとは、任意の文字列を表す特殊文字です。「*」と「?」の2種類あります。
- 「*(アスタリスク)」:「任意の0文字以上」を表すワイルドカード
- 「?(クエスチョンマーク)」:「任意の1文字」を表すワイルドカード
例えば、「image*.jpg」と指定した場合。
「image【ここに何か適当な文字が、何文字か入るかもしれないよ】*.jpg」という意味になり、以下のように探します。
- image1.jpg
- image12.jpg
- image123.jpg
例えば、「image?.jpg」と指定した場合。
「image【ここに何か適当な文字が、1文字入るかもしれないよ】*.jpg」という意味になり、以下のように探します。
- image1.jpg
- image2.jpg
- image3.jpg
2-4-5-2.Additional scan signatures (one per line)(追加のスキャン署名(1行に1つ))
追加のスキャン署名(シグネチャ)を追加できます(1行に1つ)。
正規表現は、パターン区切り文字なしで入力します。
例えば、「X09jkF」と「X6p3Kn」のマルウェアを探している場合、次のように入力します。
- X09jkF
- X6p3Kn
初期値「空白」のまま、無視します。
シグネチャとは、電子署名のこと。
セキュリティにおけるシグネチャとは、「これがマルウェアの特徴ですよ」という犯人の顔写真のようなものです。
シグネチャには「特定の”0″と”1″の組み合わせパターン」が定義されており、定義されたシグネチャと「同一の”0″と”1″の組み合わせパターン」が含まれるファイルを見つけると、マルウェアとして検知します。
2-5.Tool Options(ツールオプション)
2-5-1.Live Traffic Options(データ追跡オプション)
2-5-1-1.Traffic logging mode(トラフィックログモード)
セキュリティ関連のトラフィック(情報量:アクセス数)のみを記録するか、全てのトラフィックを記録するか、を選択します。
「ALL TRAFFIC(全てのデータ)」は重くなり、Google Analyticsのように訪問者全てを集計する状態になります。
Wordfence公式は「SECURITY ONLY(セキュリティのみ)」を推奨しています。
初期値「SECURITY ONLY」のまま、無視します。
2-5-1-2.Don’t log signed-in users with publishing access(ログイン中のユーザーを無視する)
チェックを入れると、管理者や編集者をライブトラフィックに表示しなくなります。
初期値「チェック」を入れたまま、無視します。
2-5-1-3.List of comma separated usernames to ignore(特定のユーザーを無視する)
特定のログインユーザーを、ライブトラフィックから除外できます。
カンマ区切りで複数指定可能です。
初期値「空白」のまま、無視します。
2-5-1-4.List of comma separated IP addresses to ignore(特定のIPアドレスを無視する)
特定のIPアドレス(たとえば、自分のスマートフォンなど)を、ライブトラフィックから除外できます。
カンマ区切りで複数指定可能です。
初期値「空白」のまま、無視します。
2-5-1-5.Browser user-agent to ignore(特定のブラウザを無視する)
特定のユーザーエージェント(ブラウザ)を、ライブトラフィックから除外できます。
ライブトラフィックに表示したくないサイトで、外部スキャナーまたはその他のリモートサービスを実行している場合は、ここに入力します。
カンマ区切りで複数指定可能です。
初期値「空白」のまま、無視します。
2-5-1-6.Amount of Live Traffic data to store (number of rows)(保存するライブトラフィックデータの量(行数))
ライブトラフィックに割り当てられるデータベース領域の量を設定します。
ここの数値の行数分、ライブトラフィックデータを保存します。
数値が大きくなるほど、データベース接続(サイト表示)が遅くなります。
初期値「2000」から、「500」に減らします。
2-5-1-7.Maximum days to keep Live Traffic data (minimum: 1)(ライブトラフィックデータを保持する最大日数)
ライブトラフィックデータを保存する最大日数を設定します。
初期値は30日で、最小は1日です。
制限は毎日チェックされ、制限を超える記録はその時点で削除されます。
初期値「30」のまま、無視します。
2-5-2.Import/Export Options(インポート:設定読み込み/エクスポート:書き出しオプション)
各種設定、ブロックしたIPなどをバックアップするためのエクスポート(書き出し)とインポート(読み込み)ができます。
「IMPORT/EXPORT OPTIONS」をクリックすると、Wordfenceメニュー「Tools(ツール)」>「Import/Export Options」に飛びます。
以下はWordfenceの「Import/Export Options(インポート/エクスポートオプション)」に含まれています。
- All default options(全てのデフォルト(初期値)オプション)
- Scan Schedule(スキャンスケジュール)
- Manually and permanently Blocked IPs(手動で永久にブロックされたIPアドレス)
- Blocking rules(ブロッキングルール)
次の設定はエクスポートされません。
- Disabled firewall rules(無効化されたファイアウォールルール)
- All Whitelisted URL/Param firewall entries(ホワイトリストに登録されたすべてのURL / Paramファイアウォールエントリー)
- Web Application Firewall Status(Webアプリケーションファイアウォールのステータス)
- The firewall Protection Level(ファイアウォール保護レベル)
- The Real-Time IP Blacklist(リアルタイムIPブラックリスト)
2-5-2-1.Export(書き出し)
オプションをエクスポートすると、約128文字の英数字の文字列であるトークンが与えられます。
このトークンを使うと、Wordfence設定(APIキー(ライセンス)を除く)をインポートできます。
トークンの使用期限はありません。(将来変更される可能性あり。)
「EXPORT WORDFENCE OPTIONS(WORDFENCEオプションのエクスポート)」をクリックすると「Export Successful(エクスポート成功)」が表示され、トークン(文字列)が出ます。
2-5-2-2.Import(読み込み)
エクスポートトークンを使うと、Wordfence設定を別のサイトにインポートできます。
トークンを入力欄に入れ、「IMPORT WORDFENCE OPTIONSWORDFENCEオプションのインポート)」をクリックすると、「Import Successful(インポート成功)」画面になります。
「Import Successful(インポート成功)」画面で「RELOAD(リロード)」をクリックすると、Wordfenceの各種設定をインストールします。
2-5-3.Login Security Options(ログインセキュリティオプション:2段階認証)
2段階認証を設定できます。
「LOGIN SECURITY OPTIONS」をクリックすると、メニュー「Login Security」 →「Settings」に飛びます。
不正ログイン対策に、2段階認証は必須です。
2段階認証の設定方法は、以下の記事を参考にしてください。
WordfenceとGoogle認証システムで2段階認証(2FA)を設定する方法
ログイン(2段階認証)エラーになった場合は、以下の記事を参考にしてください。
ログイン(2段階認証)エラー対策【Invisible reCaptcha、Wordfenceの2FA、ConoHa WING】
3.まとめ
WordPressにおけるセキュリティ対策の主軸は、Wordfenceです。
必要に応じて、適宜設定を変更しましょう。
Wordfenceの使い方は、以下の記事を参考にしてください。
Wordfenceの使い方、画面の見方を6万文字で解説