web-dev-qa-db-ja.com

fail2ban一致を検索しますが、禁止しません

CentOS 7でApacheリバースプロキシと一緒にfail2ban 0.9.7を使用して、次のようなオープンプロキシとしてサーバーにアクセスしようとするボットを禁止しようとしています。

221.8.179.164 - - [10/Jun/2019:22:04:19 +0200] "CONNECT auth.riotgames.com:443 HTTP/1.1" 405 235 "-" "Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0"

ProxyRequestsはオフになっていますが、これらのリクエストのいくつかは、何らかの理由で200を返します。

これが私の設定です:

Apache-badhosts.conf

[Definition]
failregex = ^<Host> - -.*"(GET|POST|HEAD|CONNECT).*(bad_Host_1|bad_Host_2|bad_Host_3).*"$

ignoreregex =

jail.conf

[Apache-badhosts]
port     = http,https
# I made sure this is the proper path
logpath  = /var/log/httpd/access_log
bantime  = 172800
maxretry = 1
enabled  = true

そして、これがfail2ban-regexの結果です。

user@Host /e/fail2ban> Sudo fail2ban-regex /var/log/httpd/access_log /etc/fail2ban/filter.d/Apache-badhosts.conf

Running tests
=============

Use   failregex filter file : Apache-badhosts, basedir: /etc/fail2ban
Use         log file : /var/log/httpd/access_log
Use         encoding : UTF-8


Results
=======

Failregex: 10797 total
|-  #) [# of hits] regular expression
|   1) [10797] ^<Host> - -.*"(GET|POST|HEAD|CONNECT).*(bad_Host_1|bad_Host_2|bad_Host_3).*"$
`-

Ignoreregex: 0 total

Date template hits:
|- [# of hits] date format
|  [13813] Day(?P<_sep>[-/])MON(?P=_sep)Year[ :]?24hour:Minute:Second(?:\.Microseconds)?(?: Zone offset)?
`-

Lines: 13813 lines, 0 ignored, 10797 matched, 3016 missed
[processed in 2.44 sec]

fail2ban.log

ログはほとんど空で、sshdの禁止のみが表示されます。

上記の正規表現を使用して一致を見つけるのに、fail2banがIPを禁止しないのはなぜですか?

5
ojathelonius

ほとんどの場合、システムにpyinotifyがインストールされていないため、fail2banがログファイルの変更を取得できません。同じ問題があり、これを使用して修正しました。

1。

インストールpyinotify

yum install python-inotify

2。

インストールしたら、jail.local そして、置きます

[myjail]
...
backend = pyinotify
...

3。

systemctl restart fail2ban
4
Ergec