web-dev-qa-db-ja.com

fail2ban正規表現は機能していますが、アクションは実行されていません

Ubuntu13.10サーバーにfail2ban構成の次のスニペットがあります。

#jail.conf
[Apache-getphp]
enabled  = true
port     = http,https
filter   = Apache-getphp
action   = iptables-multiport[name=Apache-getphp, port="http,https", protocol=tcp]
           mail-whois[name=Apache-getphp, dest=root]
logpath  = /srv/Apache/log/access.log
maxretry = 1

#filter.d/Apache-getphp.conf
[Definition]
failregex  = ^<Host> - - (?:\[[^]]*\] )+\"(GET|POST) /(?i)(PMA|phptest|phpmyadmin|myadmin|mysql|mysqladmin|sqladmin|mypma|admin|xampp|mysqldb|mydb|db|pmadb|phpmyadmin1|phpmyadmin2|cgi-bin)
ignoreregex =

Access.logでtestコマンドを実行すると、正規表現が適切であることがわかります。

fail2ban-regex /srv/Apache/log/access.log /etc/fail2ban/filter.d/Apache-getphp.conf

複数のヒットでSUCCESSの結果が得られ、ログに次のようなエントリが表示されます。

187.192.89.147 - - [13/Apr/2014:11:36:03 +0100] "GET /phpTest/zologize/axa.php HTTP/1.1" 301 585 "-" "-"
187.192.89.147 - - [13/Apr/2014:11:36:03 +0100] "GET /phpMyAdmin/scripts/setup.php HTTP/1.1" 301 593 "-" "-"

次に、service fail2ban restartするたびに、停止/開始する各フィルターの電子メールを受け取るため、電子メールが正しく構成されていることがわかります。

ただし、これらすべてにもかかわらず、これらのリクエストのいずれかが受信された場合、アクションは実行されないようです。whoisを含む電子メール、およびiptablesへのエントリはありません。 fail2banがアクションを実行するのを妨げている可能性があるのは何ですか? (すべてがfail2ban-client -dで順番に表示され、チェーンにiptables -Lがロードされていることがわかります)

2
fpghost

私も同様の問題を抱えていました。解決策は単純に見えました-jail.confファイルで私は2つの同様の刑務所を持っていました-「Apache」と「ApacheMultiport」が有効になっています。両方の刑務所は、入力として同じフィルターと同じログファイルを使用していました。刑務所「ApacheMultiport」をコメントアウトした後、fail2banはログファイル内の正規表現の照合を正しく開始しました。

PS。 failregexで引用符を使用しておらず、fail2ban0.9.0.devを使用しています。

2
vanbandit