説明
fail2ban は、ブルート フォース攻撃を防ぐために実装できる最も簡単で効果的なセキュリティ対策の1つです。
WP fail2ban provides the link between WordPress and fail2ban
:
Oct 17 20:59:54 foobar wordpress(www.example.com)[1234]: Authentication failure for admin from 192.168.0.1
Oct 17 21:00:00 foobar wordpress(www.example.com)[2345]: Accepted password for admin from 192.168.0.1
WPf2b には、wordpress-hard.conf
、wordpress-soft.conf
、wordpress-extra.conf
という3つのfail2ban フィルターが搭載されています。これらは、即時の禁止 (hard) と伝統的なより緩やかなアプローチ (soft) を分けて考えられるように設計されており、カスタム設定のための追加ルールもあります。
機能
-
Failed Login Attempts
The very first feature of WPf2b: logging failed login attempts so the IP can be banned. Just as useful today as it was then. -
Block User Enumeration
One of the most common precursors to a password-guessing brute force attack is user enumeration. WPf2b can block it, stopping the attack before it starts. -
Block username logins
Sometimes it’s not possible to block user enumeration (for example, if your theme provides Author profiles). WPf2b can require users to login with their email address instead of their username. -
Blocking Users
Anther of the older WPf2b features: the login process can be aborted for specified usernames.
Say a bot collected your site’s usernames before you blocked user enumeration. Once you’ve changed all the usernames, add the old ones to the list; anything using them will trigger a “hard” fail. -
Empty Username Login Attempts
Some bots will try to login without a username; harmless, but annoying. These attempts are logged as a “soft” fail so the more persistent bots will be banned. -
Spam
WPf2b will log a spammer’s IP address as a “hard” fail when their comment is marked as spam; the Premium version will also log the IP when Akismet discards “obvious” spam. -
Attempted Comments
Some spam bots try to comment on everything, even things that aren’t there. WPf2b detects these and logs them as a “hard” fail. -
Pingbacks
Pingbacks are a great feature, but they can be abused to attack the rest of the WWW. Rather than disable them completely, WPf2b effectively rate-limits potential attackers by logging the IP address as a “soft” fail. -
Block XML‑RPC Requests [Premium]
The only reason most sites need XML‑RPC (other than Pingbacks) is for Jetpack; WPf2b Premium can block XML‑RPC while allowing Jetpack and/or Pingbacks. -
Block Countries [Premium]
Sometimes you just need a bigger hammer – if you’re seeing nothing but attacks from some countries, block them! -
Cloudflare and Proxy Servers
WPf2b will work with Cloudflare, and the Premium version will automatically update the list of Cloudflare IP addresses.
You can also configure your own list of trusted proxies. -
新しい – syslog ダッシュボード ウィジェット
何が記録されているのか疑問に思ったことはありますか? 新しいダッシュボードウィジェットには、最後の5つのメッセージが表示されます。Premium バージョンでは、攻撃の分析と防止に役立つ完全な履歴が保持されます。 -
Site Health Check
WPf2b will (try to) check that yourfail2ban
configuration is sane and that the filters are up to date; out-of-date filters are the primary cause of WPf2b not working as well as it can.
When did you last run the Site Health tool? -
mu-plugins
サポート
WPf2b は、必用プラグインとして簡単に構成できます – 設定を見てください。 -
API to Extend WPf2b
If your plugin can detect behaviour which should be blocked, why reinvent the wheel? -
Event Hooks [Premium]
Need to do something special when WPf2b detects a particular event? There’s a hook for that.
Premium
- Web Application Firewall (WAF)
- Akismet support.
- Block XML‑RPC while allowing Jetpack and/or Pingbacks.
- Block Countries.
- Auto-update Cloudflare IPs.
- Event log.
- Event hooks.
インストール
- Plugin ディレクトリを介してインストールするか、プラグインディレクトリにアップロードします。
- WordPressのプラグインメニューよりプラグインを有効化します。
- 必要に応じて
wp-config.php
を編集 – 設定を参照してください。
評価
貢献者と開発者
変更履歴
5.3.2
- Drop Site Health checks for free add‑ons.
5.3.1
- Fix regression in plugin message registration.
5.3.0
- Add
WP_FAIL2BAN_SYSLOG_TAG_HOST
to simplifyfail2ban
configuration withjournald
. - Fix database upgrade when jQuery not loaded. [Premium only]
- Freemius ライブラリを更新。
5.2.2
- Fix regression in Site Health when
exec
is disabled (h/t @ahardy42). - PHP 8.3: Fix harmless warning on About tab.
- WAF: Add support for themes that update image size options (h/t Jerker Wredenmark). [Premium only]
- Freemius ライブラリを更新。
5.2.1
- Fix bug in WAF when not logged in (h/t Rudi Diedrich). [Premium only]
- Site Health: Add support for
open_basedir
(h/t Jaroslav Huba). - Freemius ライブラリを更新。
5.2.0
- WAF: Add new filter file for WAF events. [Premium only]
- WAF: Add feature: prevent unauthorised user deletion. [Premium only].
- Fix untrusted proxy message.
- Work-around for WooCommerce bug causing double logging of password reset requests (h/t @anuja).
- Site Health: Improve notifications.
5.1.1
- Freemius ライブラリを更新。
5.1.0
- Web Application Firewall. [Premium only]
- Add PTR record lookup to event report. [Premium only]
- Improve report performance. [Premium only]
- Site Health: Check
fail2ban
is running. - Site Health: Obsolete Filters – Detect DigitalOcean Droplet and link to documentation.
- Fix harmless warning (h/t @Yavor).
- Fix warning caused by bug in Google Sitekit (h/t @DaWolfey).
- Freemius ライブラリを更新。
5.0.1
- Tweak Site Health notifications.
- Freemius ライブラリを更新。
5.0.0 “Delphi”
- IPv6 support.
- Akismet support. [Premium only]
- Auto-update Cloudflare IPs. [Premium only]
- Event hooks. [Premium only]
- Performance improvements:
- Improve reports. [Premium only]
- Cache IP lists. [Premium only]
- Cache Plugin API message registration. [Premium only]
- Site Health: Check installed filters against previous versions.
- Moved “Authentication attempt for unknown user” to
wordpress-soft.conf
. - Moved “extra” Comment messages to
wordpress-soft.conf
. - Show date/time in local timezone (h/t @geniusmedia). [Premium only]
- Deprecate
WP_FAIL2BAN_LOG_COMMENTS_EXTRA
andWP_FAIL2BAN_COMMENT_EXTRA_LOG
; useWP_FAIL2BAN_LOG_COMMENT_ATTEMPTS
andWP_FAIL2BAN_COMMENT_ATTEMPT_LOG
instead. - Freemius ライブラリを更新。
Please read the notes before upgrading.
4.4.0.9
- Preparation for v5: prevent auto-updating across major release.
- Freemius ライブラリを更新。
4.4.0.8
- Back-port fix for
mu-plugins
activation. - Freemius ライブラリを更新。
4.4.0.7
- Back-port fix for type error in menu-fixer when viewing Event Log (h/t @geniusmedia). [Premium only]
- Back-port fixes for event summaries. [Premium only]
- Freemius ライブラリを更新。
4.4.0.6
- Fix initialisation error in event log. [Premium only]
- Fix type error in event log when no events available. [Premium only]
- Freemius ライブラリを更新。
4.4.0.5
- Fix type error on Remote IPs tab with no MaxMind database configured (h/t @Tobias‑Conrad). [Premium only]
- Freemius ライブラリを更新。
4.4.0.4
- Fix warning with array of blocked users (h/t @Znuff).
- Fix reports. [Premium only]
4.4.0.3
- Fix type error (h/t @brianshim).
4.4.0.2
- Add
WP_FAIL2BAN_USE_AUTHPRIV
– a single place to switch toLOG_AUTHPRIV
for systems withoutLOG_AUTH
. - Add
WP_FAIL2BAN_FREE_ONLY
. - Add
WP_FAIL2BAN_PLUGIN_LOG_OTHER
andWP_FAIL2BAN_PLUGIN_OTHER_LOG
. - Improve performance.
- Moved cron event to update trusted Cloudflare IP ranges to the Cloudflare add-on. [Premium only]
- Add support for Pingbacks while blocking XML‑RPC. [Premium only]
- Freemius ライブラリを更新。
4.3.2.2
- Add cron event to update trusted Cloudflare IP ranges weekly. [Premium only]
- Add cron event to update trusted Jetpack IP ranges weekly. [Premium only]
- Add cron event to update MaxMind database weekly. [Premium only]
- Workaround for missing
syslog
constants in Windows (h/t @dmarkowicz). - Clarify upgrade message on Last 5 Messages widget. [Free only]
- Merge About and Status tabs. [Premium only]
- Freemius ライブラリを更新。
4.3.2.1
- Add support for WP fail2ban Blocklist.
- Add new Standard Configurations.
- Improve Help links.
- Fix logging checkboxes [Premium only].
- 最後のメッセージを無効にする間違った定数を修正 (h/t @kermina)。
- 共同作成者が別のユーザーによる投稿をリストしようとしたときに、ユーザーの列挙をブロックすることで誤検知を修正。
- Fix index issue with ancient versions of MySQL.
- 定義されているが空の無害な警告
WP_FAIL2BAN_PROXIES
を修正 (h/t @stevegrunwell)。 - 新しいブロック イベント クラスをバックポート。
- Freemius ライブラリを更新。
- Change to GPLv3 with additional terms as per Section 7.
4.3.2.0
- Add support for blocking by Country. [Premium only]
- Add XML‑RPC blocking; allow trusted IPs and Jetpack (h/t @mhweb). [Premium only]
4.3.0.9
- 最後のメッセージを無効にする間違った定数を修正 (h/t @kermina)。
- 共同作成者が別のユーザーによる投稿をリストしようとしたときに、ユーザーの列挙をブロックすることで誤検知を修正。
- MySQL の古いバージョンでのインデックスの問題を修正。[プレミアムのみ]
- 定義されているが空の無害な警告
WP_FAIL2BAN_PROXIES
を修正 (h/t @stevegrunwell)。 - 新しいブロック イベント クラスをバックポート。
- Freemius ライブラリを更新。
4.3.0.8
- Gutenberg 事前読み込み作成者リストによってトリガーされるユーザー列挙ブロックの回避策の問題。(h/t @brrrrrrrt)[WordPress のみ]
4.3.0.7
wp-config.php
に定数を含めることを可能にするリファクタリングが完了。(h/t @iCounsellor)- MaxMind のデータベースの更新を修正。[プレミアムのみ]
4.3.0.6
- ユーザーの列挙ブロックが有効になっている場合、エディタの下のロールの [投稿] ページで [禁止エラーを修正します。[WordPress のみ]
4.3.0.5
- マルチサイトの空のユーザー名検出を修正。
- 新しいマルチサイト インストールをアクティブ化する際の無害な警告を修正。
functions.php
ファイルを含むディレクトリ内の CLI から実行されるスクリプトを介してwp-load.php
が読み込まれる難解なエッジケースを修正。
4.3.0.4 “Columbo”
- 新しいダッシュボードウィジェットを追加: 最後の5つの
syslog
メッセージ。 - 完全なマルチサイト サポートを追加 。
- ユーザー名ログインブロックを追加 (電子メールでログインを強制)。
- 空のユーザー名を使用してログイン試行用に 個別のログを 追加します。
- WordPress ブロックエディター (Gutenberg) との ユーザー列挙ブロック の互換性を向上。
- PHP の最小バージョンを 5.6 に設定します。
4.2.8
- 新しいサポートフォーラムにリンクを追加。
- Gutenberg とのユーザー列挙の競合を修正 (h/t @dinghy)。
- 通知の通知管理メニューを修正 (h/t @marioivangf)。
- 無害な XDebug 通知を修正 (h/t @dinghy)。
- Freemius ライブラリを更新。
4.2.7.1
oembed
を介してユーザーの列挙をブロックするときのエラー を修正 (h/t @wordpressfab)。
4.2.7
- REST を介してユーザーの列挙をブロックする場合のエラーを修正。
- [設定] タブのボタンを修正。
4.2.6
- リモート ツールアドオンのサポートを追加。
- 新しい ClassicPress セキュリティ ページのサポートを追加。
- ユーザー列挙ブロックの改善。
4.2.5.1
- PHP < 7.0 でプレミアムアクティベーションの問題を修正。
4.2.5
- PHP 5.3 のサポートを正しく修正します。CentOS 6でテストされました。UI またはプレミアム機能をサポートしていません。
- 管理領域から REST API または XMLRPC を呼び出す場合の
WP_FAIL2BAN_BLOCK_USER_ENUMERATION
の潜在的な問題を修正。
4.2.4
- ログイン失敗メッセージのフィルタを追加。
- 管理領域からのスパムコメントのログ記録を修正。
- プラグインページから設定リンクを修正。
- Freemius ライブラリを更新
4.2.3
- いくつかのバージョンの PHP 7.x では
define()
が無視される問題を回避します。 - 設定タブに設定メモを追加。
- ドキュメントリンクを修正。
4.2.2
- 5.3 の互換性を修正。
4.2.1
WP_FAIL2BAN_COMMENT_EXTRA_LOG
のサポートを完了。- Add support for 3rd-party plugins; see Developers.
- Add-on for Contact Form 7 (experimental).
- Gravity Forms 用アドオン (実験的)。
- パスワードが正しくない既知のユーザーのログを変更します。以前は不明なユーザーとして記録され、
hard
フィルタによって一致しました (古いバージョンの WordPress の制限による)、現在は既知のユーザーとして記録され、soft
によって一致します。 - ユーザー名として電子メールのバグ修正 – 正しく記録され、
hard
フィルターではなく 、soft
フィルターによって一致しました。 - 無料/プレミアムの競合を防ぐためのコードでの回帰のバグ修正。
4.2.0
- リリースされていません。
4.1.0
- REST 認証用に個別のログを追加。
mu-plugins
にプレインストールされた以前のバージョンとの競合を修正。WPf2bは既にインストールされていますか ?。
4.0.5
WP_FAIL2BAN_COMMENT_EXTRA_LOG
を追加。WP_FAIL2BAN_PINGBACK_ERROR_LOG
を追加 (将来の機能)。WP_FAIL2BAN_LOG_SPAM
がLOG_NOTICE
使用するように変更。WP_FAIL2BAN_SPAM_LOG
をLOG_AUTH
に変更。WP_FAIL2BAN_LOG_COMMENTS_EXTRA
イベントを、デフォルトでLOG_NOTICE
を使用するように変更。mu-plugins
で 3.x との競合を修正。
4.0.2
- PHP 5.3 の互換性を修正。
WP_FAIL2BAN_LOG_COMMENTS_EXTRA
のバグ修正。WP_FAIL2BAN_REMOTE_ADDR
概要のバグ修正。
4.0.1
- Freemius 経由で追加機能を追加します。これは完全にオプションです。 WPf2b は、ここに記載されている新機能を含め、以前と同様に動作します。
- 設定の概要ページを追加 (設定 -> WP fail2ban)。
WP_FAIL2BAN_PASSWORD_REQUEST_LOG
を追加。WP_FAIL2BAN_SPAM_LOG
を追加。- Add
WP_FAIL2BAN_LOG_COMMENTS_EXTRA
– enable logging for attempted comments on posts which are:- not found,
- コメントのために閉じ、
- ゴミ箱で、
- ドラフト、
- パスワードで保護
- REST API を使用してユーザーの列挙をブロック。
4.0.0
- リリースされていません。
3.6.0
- PHPDoc からコード内にフィルタファイルが生成されます。これまでは、フィルターとコードが同期していないことが多々ありましたが(プログラマーのミス)、これはパターンとそれを発するコードを近づけることで解決するはずです。
- PHPUnit テストを追加。ほぼ100 % コードをカバー、適切にテストすることは非常に困難な
WP_FAIL2BAN_PROXIES
例外を除いて。 wordpress-soft.conf
のバグ修正。WP_FAIL2BAN_XMLRPC_LOG
を追加。WP_FAIL2BAN_REMOTE_ADDR
を追加。WP_FAIL2BAN_PROXIES
はPHP 7で IP の配列をサポートするようになりました。- すべてのドキュメントを https://docs.wp-fail2ban.com/に移動。
3.5.3
wordpress-hard.conf
のバグ修正。
3.5.1
WP_FAIL2BAN_BLOCK_USER_ENUMERATION
のためのバグ修正。
3.5.0
WP_FAIL2BAN_OPENLOG_OPTIONS
を追加。WP_FAIL2BAN_LOG_COMMENTS
とWP_FAIL2BAN_COMMENT_LOG
を追加。WP_FAIL2BAN_LOG_PASSWORD_REQUEST
を追加。WP_FAIL2BAN_LOG_SPAM
を追加。WP_FAIL2BAN_TRUNCATE_HOST
を追加。WP_FAIL2BAN_BLOCKED_USERS
では、PHP 7 を使用してユーザーの配列をサポートしています。
3.0.3
wordpress-hard.conf
内での正規表現を修正。
3.0.2
- XML-RPC 認証エラーの WP 4.5.x での二重ログの防止
3.0.1
wordpress-hard.conf
内での正規表現を修正。
3.0.0
WP_FAIL2BAN_SYSLOG_SHORT_TAG
を追加。WP_FAIL2BAN_HTTP_HOST
を追加。- XML-RPC 認証エラーをログに記録。
- MU 展開のサポートを強化。
2.3.2
2.3.0
- 実験
WP_FAIL2BAN_PROXIES
コードのバグ修正 (KyleCartmell に感謝)。
2.2.1
WP_FAIL2BAN_BLOCKED_USERS
の愚かな間違いを修正。
2.2.0
- カスタム認証ログは、
WP_FAIL2BAN_AUTH_LOG
と呼ばれるようになりました。 - pingback のログ記録を追加。
WP_FAIL2BAN_LOG_PINGBACKS
を参照してください。 - カスタムの pingback ログは、
WP_FAIL2BAN_PINGBACK_LOG
と呼ばれます 。
2.1.1
- マイナーなバグ修正。
2.1.0
- ユーザーの列挙をブロックするためのサポートを追加。
WP_FAIL2BAN_BLOCK_USER_ENUMERATION
を参照してください。 - CIDR 表記のサポートを
WP_FAIL2BAN_PROXIES
で追加します。
2.0.1
WP_FAIL2BAN_PROXIES
用実験コードのバグ修正。
2.0.0
- X-Forwarded-For ヘッダーの実験的なサポートを追加。
WP_FAIL2BAN_PROXIES
を参照してください。 - 正規表現ベースのログインブロッキングの 実験的 なサポートを追加。
WP_FAIL2BAN_BLOCKED_USERS
を参照してください。
1.2.1
- FAQ を更新。
1.2
- 無害な警告を修正。
1.1
- マイナーなコスメティックの更新。
1.0
- 最初のリリース。