Ok Hi nochmal!
Jetzt habe ich probiert und ... "Ja"! das gestaltet mir größte Schwierigkeiten mit fail2ban. Kann mir jemand bitte dabei helfen?
Ich habe also das RPM installiert:
Dann habe ich einfach mal ein chkconfig fail2ban on gemacht und rcfail2ban start und rcfail2ban stop; Das geht mal an sich. Dann hab ich mir das alles ein bisschen angeschaut zum Einstieg. Jetzt fand ich auch bald
- jail.conf
- action.d
- filter.d
Bei den Filtern also fand ich in /etc/fail2ban/filter.d eine:
Darin steht ein regulärer Ausdruck, mit dem wohl Logfiles überwacht werden. Man kann auch eigene Filter anlegen und diese wiederum Testen mit fail2ban-regex.
Also habe ich getestet, ob das irgendwie funktioniert. Weil man das ja wohl schätze ich mal irgendwie auch aktivieren muss?
Code:
fail2ban-regex /var/log/messages 'pure-ftpd(?:\[\d+\])?: (.+?@<HOST>) \[WARNING\] %(__errmsg)s \[.+\]$'
Ergebnis:
Code:
/usr/share/fail2ban/server/filter.py:430: DeprecationWarning: the md5 module is deprecated; use hashlib instead
import md5
Running tests
=============
Use regex line : pure-ftpd(?:\[\d+\])?: (.+?@<HOST>) \[WARNING\] %(...
Use log file : /var/log/messages
Results
=======
Failregex
|- Regular expressions:
| [1] pure-ftpd(?:\[\d+\])?: (.+?@<HOST>) \[WARNING\] %(__errmsg)s \[.+\]$
|
`- Number of matches:
[1] 0 match(es)
Ignoreregex
|- Regular expressions:
|
`- Number of matches:
Summary
=======
Sorry, no match
Look at the above section 'Running tests' which could contain important
information.
Pure-ftpd loggt bei mir und bei einigen anderen standardmäßig in /var/log/messages (syslog). Eine Logzeile mit verfehltem Login sieht beispielsweise so aus:
Code:
May 17 23:43:59 wild-thing pure-ftpd: (?@192.168.0.5) [WARNING] Authentication failed for user [tux]
(Davon sind etwa 16000 Zeilen vorhanden. Mein Problem dass die Regexp dafür nicht passt?)
Eine INFO das alle geklappt hat sieht so aus:
Code:
May 18 10:36:37 wild-thing pure-ftpd: (?@192.168.0.5) [INFO] tux is now logged in
Dann gibt es beispielsweise noch sowas:
Code:
May 16 20:02:19 wild-thing pure-ftpd: (?@192.168.0.5) [DEBUG] This is a private system - No anonymous login
Und sowas:
Code:
May 17 22:35:47 wild-thing pure-ftpd: (?@192.168.0.5) [WARNING] Sorry, cleartext sessions are not accepted on this server. Please reconnect using SSL/TLS security mechanisms.
Wie muss man die regexp richtig anpassen, sodass fail2ban die Authentication failed findet und richtig verarbeitet?
Dann scheint es noch ein Problem zu geben. Und zwar eben das mit '/var/log/messages' bei einigen Menschen scheint pure-ftpd nach /var/log/pureftpd.log zu loggen. Wo/Wie stellt man in dem pure-ftp Filter ein, dass er in /var/log/messages liest? Hier die Filter config für pure-ftpd mit fail2ban wie sie im rpm enthalten ist:
Code:
# Fail2Ban configuration file
#
# Author: Cyril Jaquier
# Modified: Yaroslav Halchenko for pure-ftpd
#
# $Revision: 3$
#
[Definition]
# Error message specified in multiple languages
__errmsg = (?:Authentication failed for user|Erreur d'authentification pour l'utilisateur)
#
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "<HOST>" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P<host>\S+)
# Values: TEXT
#
failregex = pure-ftpd(?:\[\d+\])?: (.+?@<HOST>) \[WARNING\] %(__errmsg)s \[.+\]$
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
Uff ok ich hoffe das ist kein zu heftiger Aufsatz! Vielen Dank für die Hilfe!
Grüße,
R