fail2ban trouve des coïncidences, mais pas des banites

j'utilise fail2ban 0.9.7 sur CentOS 7 avec le serveur proxy inversé Apache, Essayer de bloquer les bots en essayant d'accéder à mon serveur en tant que proxy ouvert, par exemple:

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"

Certaines de ces demandes pour une raison quelconque sont retournées 200, même si

ProxyRequests

éteint.

Voici ma configuration:

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

Et voici le résultat

fail2ban-regex

:

user@host /e/fail2ban&gt; 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&lt;_sep&gt;[-/])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

Le magazine est presque vide et ne montre que

sshd

Interdit.

Pourquoi fail2ban N'interdit pas les adresses IP, bien qu'elle trouve une coïncidence en utilisant l'expression régulière ci-dessus?
</host></host>
Invité:

Christine

Confirmation de:

Très probablement tu n'as pas

pyinotify

installé sur votre système, à cause de quoi fail2ban Impossible de changer le fichier journal. J'ai eu le même problème et je l'ai décidé avec cela.

1.

Ensemble

pyinotify

yum install python-inotify

2.

Après l'avoir installé, éditez votre

jail.local

et met

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

3.

systemctl restart fail2ban

Emilie

Confirmation de:

Pas tout à fait une solution au problème ci-dessus, mais peut aider les autres qui viennent ici:

Pour moi, le problème était que fail2ban Vous ne cherchez pas le fichier journal.

Mes prisons nginx n'a pas fonctionné parce qu'ils ont utilisé

logpath = %(nginx_error_log)s

lequel à

/var/log/nginx/error.log

. Cependant, tous les appels, y compris 4xx et 5xx, Enregistré

/var/log/nginx/access.log

.

Échange

%(nginx_error_log)s

avec

%(nginx_access_log)s

Le reculé.

Pour savoir quel fichier journal utilise la prison, vous pouvez vérifier le message de démarrage.

/var/log/fail2ban.log

:

Creating new jail 'nginx-http-auth'
Jail 'nginx-http-auth' uses pyinotify {}
Initiated 'pyinotify' backend
Added logfile: '/var/log/nginx/error.log' (pos = 0, hash = da39a3ee5e6b4b0d3255bfef95601890afd80709)

Pour répondre aux questions, connectez-vous ou registre