Fail2ban Nginx Konfiguration
Hallo,
ich wollte gern fail2ban nutzen für meinen Nginx Webserver um die ganzen Bots zu bannen.
Nachdem ich fail2ban installiert habe, habe ich die jail.local erstellt mit folgendem Inhalt:
Wenn ich dann schaue was z.B. der Filter nginx-bad-request macht:
sehe ich, dass fail2ban das system journal durchsucht.
Das bringt natürlich nichts, da Nginx hier loggt: /var/log/nginx/access.log
Da ich bestimmt nicht der erste Mensch bin, der Nginx auf Ubuntu LTS 24.04 mit fail2ban betreiben will, stellt sich mir die Frage: Was soll ich hier ändern ?
Nginx ins Journal loggen lassen will ich ungern, wüsste auch nicht wie/wo ich das einstellen sollte.
Oder muss ich die ganzen Regeln unter /etc/fail2ban/filter.d/ händlisch ändern?
z.B.: nginx-http-auth.conf
ich könnte bei den 4 Filtern für Nginx dort eintragen:
ich bin mir aber nicht sicher ob das im Sinne des Erfinders ist.
MfG
ich wollte gern fail2ban nutzen für meinen Nginx Webserver um die ganzen Bots zu bannen.
Nachdem ich fail2ban installiert habe, habe ich die jail.local erstellt mit folgendem Inhalt:
[DEFAULT]
ignoreself = true
bantime = 2h
maxretry = 3
[nginx-bad-request]
enabled = true
[nginx-botsearch]
enabled = true
[nginx-http-auth]
enabled = true
[nginx-limit-req]
enabled = true
Wenn ich dann schaue was z.B. der Filter nginx-bad-request macht:
fail2ban-client status nginx-bad-request
Status for the jail: nginx-bad-request
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- Journal matches: _SYSTEMD_UNIT=nginx.service + _COMM=nginx
`- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:
Das bringt natürlich nichts, da Nginx hier loggt: /var/log/nginx/access.log
Da ich bestimmt nicht der erste Mensch bin, der Nginx auf Ubuntu LTS 24.04 mit fail2ban betreiben will, stellt sich mir die Frage: Was soll ich hier ändern ?
Nginx ins Journal loggen lassen will ich ungern, wüsste auch nicht wie/wo ich das einstellen sollte.
Oder muss ich die ganzen Regeln unter /etc/fail2ban/filter.d/ händlisch ändern?
z.B.: nginx-http-auth.conf
# fail2ban filter configuration for nginx
[Definition]
mode = normal
mdre-auth = ^\s*\[error\] \d+#\d+: \*\d+ user "(?:[^"]+|.*?)":? (?:password mismatch|was not found in "[^\"]*"), client: <HOST>, server: \S*, request: "\S+ \S+ HTTP/\d+\.\d+", host: "\S+"(?:, referrer: "\S+")?\s*$
mdre-fallback = ^\s*\[crit\] \d+#\d+: \*\d+ SSL_do_handshake\(\) failed \(SSL: error:\S+(?: \S+){1,3} too (?:long|short)\)[^,]*, client: <HOST>
mdre-normal = %(mdre-auth)s
mdre-aggressive = %(mdre-auth)s
%(mdre-fallback)s
failregex = <mdre-<mode>>
ignoreregex =
datepattern = {^LN-BEG}
journalmatch = _SYSTEMD_UNIT=nginx.service + _COMM=nginx
ich könnte bei den 4 Filtern für Nginx dort eintragen:
journalmatch =/var/log/nginx/access.log
MfG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 670659
Url: https://administrator.de/forum/fail2ban-nginx-konfiguration-670659.html
Ausgedruckt am: 12.01.2025 um 22:01 Uhr
1 Kommentar