Fail2ban unter Debian 12  [GELÖST]

Allgemeine Diskussionen rund um KeyHelp.
xeppel
Posts: 174
Joined: Fri 6. Jan 2023, 22:13

Fail2ban unter Debian 12

Post by xeppel »

Hi,

mit debian 12 wird ja jetzt das Journal für Logs verwendet .derzeit habe ich folgende fail2ban-Jail Config:

Code: Select all

# Web server

[webaccess]
enabled  = true
port     = http,https
filter   = apache-auth
logpath  = /home/users/*/logs/error.log
maxretry = 5
bantime  = 3600


# Mail server

[postfix]
enabled  = true
port     = smtp,ssmtp,smtps,submission,submissions
filter   = postfix
logpath  = /var/log/mail.log
maxretry = 5
bantime  = 3600

[dovecot]
enabled  = true
port     = pop3,pop3s,imap,imaps,submission,submissions,sieve
filter   = dovecot
logpath  = /var/log/mail.log
maxretry = 10
bantime  = 3600


# FTP server

[proftpd]
enabled  = true
maxretry = 5
bantime  = 3600
der proftpd-Schutz funktioniert noch. wie müssen die anderen Einträge aber jetzt lauten ? da greift der Ban nicht bei Falscheingaben nämlich nicht mehr. KH scheint auch jetzt gar nicht mehr in "/home/users/*/logs/error.log" zu schreiben ?
User avatar
space2place
Posts: 494
Joined: Tue 24. Mar 2020, 11:02
Contact:

Re: Fail2ban unter Debian 12

Post by space2place »

Trag mail in Deine Sektionen

Code: Select all

backend = systemd
ein anstatt die Pfade zu nutzen
User avatar
Florian
Keyweb AG
Posts: 1261
Joined: Wed 20. Jan 2016, 02:28

Re: Fail2ban unter Debian 12

Post by Florian »

Hallo,

die Webserverprotokolle der Domains bleiben unverändert bei Debian 12, die laufen nicht über Journal
Mit freundlichen Grüßen / Best regards
Florian Cheno

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
xeppel
Posts: 174
Joined: Fri 6. Jan 2023, 22:13

Re: Fail2ban unter Debian 12

Post by xeppel »

okay danke versuch ich mal.

bei fehlgeschlagenen Logins mit htaccess passiert aber bei diesem Filter nichts. was mir aber noch auffällt, müsste die Zeile nicht so aussehen für Subdomains noch ?
logpath = /home/users/*/logs/*/error.log
User avatar
Jolinar
Community Moderator
Posts: 3610
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: Fail2ban unter Debian 12

Post by Jolinar »

Und wenn du meinst, daß ins Journal geloggt wird, dann schau doch dort einfach mal rein:

Code: Select all

journalctl -u fail2ban



FYI:

Code: Select all

man journalctl
:mrgreen: :geek: :ugeek:
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
xeppel
Posts: 174
Joined: Fri 6. Jan 2023, 22:13

Re: Fail2ban unter Debian 12

Post by xeppel »

Im Journal wird nicht geloggt. Ist der Filter vielleicht falsch ?
filter = apache-auth
User avatar
mhagge
Community Moderator
Posts: 490
Joined: Wed 8. Aug 2018, 15:19

Re: Fail2ban unter Debian 12

Post by mhagge »

siehe
Florian wrote: Thu 2. Nov 2023, 14:17 Hallo,

die Webserverprotokolle der Domains bleiben unverändert bei Debian 12, die laufen nicht über Journal
xeppel
Posts: 174
Joined: Fri 6. Jan 2023, 22:13

Re: Fail2ban unter Debian 12

Post by xeppel »

ja meine Config liest ja auch die Logs aus:

Code: Select all

[webaccess]
enabled  = true
port     = http,https
filter   = apache-auth
logpath  = /home/users/*/logs/error.log
maxretry = 5
bantime  = 3600
aber es funktioniert ja nicht (mehr).
User avatar
Alexander
Keyweb AG
Posts: 3842
Joined: Wed 20. Jan 2016, 02:23

Re: Fail2ban unter Debian 12

Post by Alexander »

Einmal den Pfad auf

Code: Select all

/home/users/*/logs/*/error.log
ändern und Dienst neu starten. Der alte Pfad ist seit Januar 2023 nicht mehr korrekt.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
xeppel
Posts: 174
Joined: Fri 6. Jan 2023, 22:13

Re: Fail2ban unter Debian 12

Post by xeppel »

Das habe ich wie hier erwähnt auch schon gemacht, aber damit funktioniert es weiterhin nicht.
xeppel wrote: Thu 2. Nov 2023, 14:34 bei fehlgeschlagenen Logins mit htaccess passiert aber bei diesem Filter nichts. was mir aber noch auffällt, müsste die Zeile nicht so aussehen für Subdomains noch ?
logpath = /home/users/*/logs/*/error.log
xeppel
Posts: 174
Joined: Fri 6. Jan 2023, 22:13

Re: Fail2ban unter Debian 12

Post by xeppel »

Diese Konfiguration steht ja sogar genau so in der keyhelp.local, nur disabled. Selbst wenn ich das dort auf true stelle und fail2ban neustarte, greift die Sperre nicht nach 10 Versuchen, ich versteh es nicht...
User avatar
Alexander
Keyweb AG
Posts: 3842
Joined: Wed 20. Jan 2016, 02:23

Re: Fail2ban unter Debian 12

Post by Alexander »

Gerade getestet, bei mir funktioniert alles nach wie vor:

/etc/fail2ban/jail.d/keyhelp.local

Code: Select all

[keyhelp-apache]
enabled  = true
port     = http,https
filter   = apache-auth
logpath  = /home/users/*/logs/*/error.log
maxretry = 10
/etc/fail2ban/filter.d/apache-auth

Code: Select all

# Fail2Ban apache-auth filter
#

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# apache-common.local
before = apache-common.conf

[Definition]

# Mode for filter: normal (default) and aggressive (allows DDoS & brute force detection of mod_evasive)
mode = normal

# ignore messages of mod_evasive module:
apache-pref-ign-normal = (?!evasive)
# allow "denied by server configuration" from all modules:
apache-pref-ign-aggressive =
# mode related ignore prefix for common _apache_error_client substitution:
apache-pref-ignore = <apache-pref-ign-<mode>>

prefregex = ^%(_apache_error_client)s (?:AH\d+: )?<F-CONTENT>.+</F-CONTENT>$

# auth_type = ((?:Digest|Basic): )?
auth_type = ([A-Z]\w+: )?

failregex = ^client (?:denied by server configuration|used wrong authentication scheme)\b
            ^user (?!`)<F-USER>(?:\S*|.*?)</F-USER> (?:auth(?:oriz|entic)ation failure|not found|denied by provider)\b
            ^Authorization of user <F-USER>(?:\S*|.*?)</F-USER> to access .*? failed\b
            ^%(auth_type)suser <F-USER>(?:\S*|.*?)</F-USER>: password mismatch\b
            ^%(auth_type)suser `<F-USER>(?:[^']*|.*?)</F-USER>' in realm `.+' (auth(?:oriz|entic)ation failure|not found|denied by provider)\b
            ^%(auth_type)sinvalid nonce .* received - length is not\b
            ^%(auth_type)srealm mismatch - got `(?:[^']*|.*?)' but expected\b
            ^%(auth_type)sunknown algorithm `(?:[^']*|.*?)' received\b
            ^invalid qop `(?:[^']*|.*?)' received\b
            ^%(auth_type)sinvalid nonce .*? received - user attempted time travel\b
            ^(?:No h|H)ostname \S+ provided via SNI(?:, but no hostname provided| and hostname \S+ provided| for a name based virtual host)\b

ignoreregex =

# DEV Notes:
#
# This filter matches the authorization failures of Apache. It takes the log messages
# from the modules in aaa that return HTTP_UNAUTHORIZED, HTTP_METHOD_NOT_ALLOWED or
# HTTP_FORBIDDEN and not AUTH_GENERAL_ERROR or HTTP_INTERNAL_SERVER_ERROR.
#
# An unauthorized response 401 is the first step for a browser to instigate authentication
# however apache doesn't log this as an error. Only subsequent errors are logged in the 
# error log.
#
# Source:
#
# By searching the code in http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/aaa/*
# for ap_log_rerror(APLOG_MARK, APLOG_ERR and examining resulting return code should get
# all of these expressions. Lots of submodules like mod_authz_* return back to mod_authz_core
# to return the actual failure.
#
# Note that URI can contain spaces.
#
# See also: http://wiki.apache.org/httpd/ListOfErrors
# Expressions that don't have tests and aren't common.
# more be added with  https://issues.apache.org/bugzilla/show_bug.cgi?id=55284 
#     ^user .*: nonce expired \([\d.]+ seconds old - max lifetime [\d.]+\) - sending new nonce\s*$
#     ^user .*: one-time-nonce mismatch - sending new nonce\s*$
#     ^realm mismatch - got `(?:[^']*|.*?)' but no realm specified\s*$
#
# Because url/referer are foreign input, short form of regex used if long enough to idetify failure.
# 
# Author: Cyril Jaquier
# Major edits by Daniel Black and Ben Rubson.
# Rewritten for v.0.10 by Sergey Brester (sebres).
/home/users/alex/logs/<DOMAIN>/error.log

Code: Select all

[Mon Nov 06 11:09:13.589914 2023] [auth_basic:error] [pid 15546:tid 140372691629632] [client 87....] AH01618: user vbn not found: /
[Mon Nov 06 11:09:16.385368 2023] [auth_basic:error] [pid 15546:tid 140372691629632] [client 87....] AH01618: user d not found: /
[Mon Nov 06 11:09:29.514884 2023] [auth_basic:error] [pid 15546:tid 140372691629632] [client 87....] AH01618: user dfg not found: /
/var/log/fail2ban.log

Code: Select all

2023-11-06 11:09:13,592 fail2ban.filter         [16238]: INFO    [keyhelp-apache] Found 87..... - 2023-11-06 11:09:13
2023-11-06 11:09:16,389 fail2ban.filter         [16238]: INFO    [keyhelp-apache] Found 87...... - 2023-11-06 11:09:16
2023-11-06 11:09:29,517 fail2ban.filter         [16238]: INFO    [keyhelp-apache] Found 87...... - 2023-11-06 11:09:29
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
racmo
Posts: 26
Joined: Fri 22. Apr 2016, 17:16

Re: Fail2ban unter Debian 12

Post by racmo »

Bei mir funktioniert Fail2Ban beim Apache-Auth auch nicht richtig. Nachdem ich die Konfigurationsdateien mit jenen von Alexander, abgeglichen habe, scheinen diese korrekt zu sein.

Die Apache Logeinträge zeigen mehrere fehlgeschlagene Authentifizierungsversuche wie folgt:

Code: Select all

[Mon Nov 06 13:39:56.637868 2023] [auth_basic:error] [pid 3175001:tid 140494544914112] [remote 171...:35924] AH01618: user rfghuu not found: /admin
[Mon Nov 06 13:39:58.441441 2023] [auth_basic:error] [pid 3175001:tid 140494452414144] [remote 171...:35924] AH01618: user rggvj not found: /admin
[Mon Nov 06 13:40:00.244168 2023] [auth_basic:error] [pid 3175001:tid 140494696277696] [remote 171...:35924] AH01618: user ggvbk not found: /admin
Ich habe versucht, die Übereinstimmung der Logdateien mit dem Fail2Ban-Filter mittels des folgenden Befehls zu testen:

Code: Select all

fail2ban-regex /home/users/web/logs/test.de/error.log /etc/fail2ban/filter.d/apache-auth.conf --print-all-missed
Dabei stellte ich fest, dass diese Einträge vom Test als "nicht identifiziert" markiert wurden, was darauf hindeutet, dass Fail2Ban diese nicht korrekt verarbeitet.

Eine Vermutung meinerseits ist, dass eventuell die Bezeichnung "remote" anstelle von "client" in den Logdateien zu dem Problem führen könnte. Bei Alexander steht dort "client". Hat jemand von Ihnen ähnliche Erfahrungen gemacht oder kann einen Tipp geben?
pandinusimperator
Posts: 19
Joined: Tue 24. Aug 2021, 22:34

Re: Fail2ban unter Debian 12

Post by pandinusimperator »

racmo wrote: Mon 6. Nov 2023, 13:56 Bei mir funktioniert Fail2Ban beim Apache-Auth auch nicht richtig. Nachdem ich die Konfigurationsdateien mit jenen von Alexander, abgeglichen habe, scheinen diese korrekt zu sein.

Die Apache Logeinträge zeigen mehrere fehlgeschlagene Authentifizierungsversuche wie folgt:

Code: Select all

[Mon Nov 06 13:39:56.637868 2023] [auth_basic:error] [pid 3175001:tid 140494544914112] [remote 171...:35924] AH01618: user rfghuu not found: /admin
[Mon Nov 06 13:39:58.441441 2023] [auth_basic:error] [pid 3175001:tid 140494452414144] [remote 171...:35924] AH01618: user rggvj not found: /admin
[Mon Nov 06 13:40:00.244168 2023] [auth_basic:error] [pid 3175001:tid 140494696277696] [remote 171...:35924] AH01618: user ggvbk not found: /admin
Ich habe versucht, die Übereinstimmung der Logdateien mit dem Fail2Ban-Filter mittels des folgenden Befehls zu testen:

Code: Select all

fail2ban-regex /home/users/web/logs/test.de/error.log /etc/fail2ban/filter.d/apache-auth.conf --print-all-missed
Dabei stellte ich fest, dass diese Einträge vom Test als "nicht identifiziert" markiert wurden, was darauf hindeutet, dass Fail2Ban diese nicht korrekt verarbeitet.

Eine Vermutung meinerseits ist, dass eventuell die Bezeichnung "remote" anstelle von "client" in den Logdateien zu dem Problem führen könnte. Bei Alexander steht dort "client". Hat jemand von Ihnen ähnliche Erfahrungen gemacht oder kann einen Tipp geben?
Hallo!

Hab es auch mal getestet mit fail2ban-regexp. Und auch bei mir steht in den Logs "remote" und nicht "client". Das ergab als Resultat

Code: Select all

Lines: 5 lines, 0 ignored, 0 matched, 5 missed
Daraufhin habe ich mal in der vor apache-auth geladenen apache-common.conf das "remote" mit reingenommen. Aus

Code: Select all

_apache_error_client = <apache-prefix>\[(:?error|<apache-pref-ignore>\S+:\S+)\]( \[pid \d+(:\S+ \d+)?\])? \[client <HOST>(:\d{1,5})?\]
wurde

Code: Select all

_apache_error_client = <apache-prefix>\[(:?error|<apache-pref-ignore>\S+:\S+)\]( \[pid \d+(:\S+ \d+)?\])? \[(client|remote) <HOST>(:\d{1,5})?\]
Damit hatte der Test dann 5 matched, 0 missed.

Das ganze unter Deb 11.

Grüße!
racmo
Posts: 26
Joined: Fri 22. Apr 2016, 17:16

Re: Fail2ban unter Debian 12

Post by racmo »

Ich danke dir! Danach funktioniert es bei mir auch.

Im Fail2Ban Log taucht dann auch endlich der Eintrag auf

Code: Select all

2023-11-06 15:37:57,205 fail2ban.filter         [4130545]: INFO    [keyhelp-apache] Found 2001:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx- 2023-11-06 15:37:57
2023-11-06 15:37:59,206 fail2ban.filter         [4130545]: INFO    [keyhelp-apache] Found 2001:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx - 2023-11-06 15:37:58
2023-11-06 15:38:00,407 fail2ban.filter         [4130545]: INFO    [keyhelp-apache] Found 2001:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx - 2023-11-06 15:37:59
2023-11-06 15:38:01,008 fail2ban.filter         [4130545]: INFO    [keyhelp-apache] Found 2001:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx - 2023-11-06 15:38:01
Post Reply