web-dev-qa-db-ja.com

ブロックするfail2ban Wordpress wp-login.phpへのブルートフォース攻撃

Wp-loginに何度もヒットするIPのブロックを禁止しないように設定する方法はありますか?

私はこのjail.localを追加しようとしました:

[Apache-wp-login]

enabled = true
action   = iptables[name=wplogin, port=http, protocol=tcp]
           sendmail-whois[name=wplogin, dest=root, [email protected]]
filter  = Apache-wp-login
logpath = /var/log/Apache2/other_vhosts_access.log
maxretry = 5

そして、/ etc/fail2ban/filter.d/Apache-wp-login.confに定義を追加します:

[Definition]

# Option:  failregex
# Notes.:  Regexp to catch Apache dictionary attacks on Wordpress wp-login
# Values:  TEXT
#
failregex = [\w\.\-]+ [\w\.\-]+ .*] "POST /wp-login.php

それでもwp-loginの試行がmaxentryの制限をはるかに超えています...これは、一般的ではなく、結合されたログ形式を使用していることが原因である可能性がありますか?

3
Alex Douglas

WordPressテーマfunctions.phpファイルを変更して、以下を追加しました。

add_action('wp_login_failed', 'log_wp_login_fail'); // hook failed login function log_wp_login_fail($username) { error_log("WP login failed for username: $username"); }

ログインに失敗すると、エラーログに記録されるようになりました。

私のApache-wp-config.confは次のようになります:[Definition] failregex = [[]client <Host>[]] WP login failed.* ignoreregex =

そして私のjail.localには次のものが含まれています:[Apache-wp-login] enabled = true filter = Apache-wp-login action = iptables-multiport[name=Apache-wp-login, port="http,https"] sendmail-whois[name=Apache-wp-login, dest=root, [email protected]] logpath = /home/*/logs/*error.log bantime = 720 maxretry = 6

これでより多くの情報 サイト

3
qux