Koozali.org: home of the SME Server
Other Languages => Deutsch => Topic started by: FraunhoferIFF on December 27, 2007, 06:19:23 PM
-
So ich hab im Englischen Teil des Forums einen Deutschen Benutzer gesehen, der Fail2Ban installieren wollte und nicht weiß wie....
Deswegen und wegen meines schlechten Englisch mach ich hier einen Beitrag dazu auf.
Wer hat Fail2Ban schon laufen ?
Marcel
Installation :
wget http://dag.wieers.com/rpm/packages/fail2ban/fail2ban-0.6.2-1.el4.rf.noarch.rpm
yum localinstall fail2ban-0.6.2-1.el4.rf.noarch.rpm
vi /etc/fail2ban.conf
Wichtig :
locale =en_US
/etc/init.d/fail2ban start
-
ich habs laufen mit SSH und FTP .
Noch nicht besonders schön , aber es funktioniert. (hab Probleme mit den Regex)
E-Mail Versand funktioniert wenn man die Mailadressen voll auschreibt.
zB from <fail2ban@domain.de>
-
wie gemacht?
welches Paket?
Das können echt fast alle gebrauchen...
-
Eins vorneweg, ich bin LinuxNewbie !!!
Ich finde den SME Klasse :-P
Ich habe dieses Paket benutzt (benutze 7.2)
ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el4/en/i386/dag/RPMS/fail2ban-0.6.2-1.el4.rf.noarch.rpm
1 Einfach mit yum localinstall installiert.
2 Die config /etc/failtoban.conf angepasst
locale = en_US
[SSH]
# Option: enabled
# Notes.: enable monitoring for this section.
# Values: [true | false] Default: true
#
enabled = true
# Option: logfile
# Notes.: logfile to monitor.
# Values: FILE Default: /var/log/meesages
#
logfile = /var/log/messages
# Option: port
# Notes.: specifies port to monitor
# Values: [ NUM | STRING ] Default:
#
port = 22
# Option: timeregex
# Notes.: regex to match timestamp in SSH logfile. For TAI64N format,
# use timeregex = @[0-9a-f]{24}
# Values: [Mar 7 17:53:28]
# Default: \S{3}\s{1,2}\d{1,2} \d{2}:\d{2}:\d{2}
#
timeregex = \S{3}\s{1,2}\d{1,2} \d{2}:\d{2}:\d{2}
# Option: timepattern
# Notes.: format used in "timeregex" fields definition. Note that '%' must be
# escaped with '%' (see http://rgruet.free.fr/PQR2.3.html#timeModule).
# For TAI64N format, use timepattern = tai64n
# Values: TEXT Default: %%b %%d %%H:%%M:%%S
#
timepattern = %%b %%d %%H:%%M:%%S
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile.
# Values: TEXT Default: Authentication failure|Failed password|Invalid user
#
# failregex = : (?:(?:Authentication failure|Failed [-/\w+]+) for(?: [iI](?:llegal|nvalid) user)?|[Ii](?:llegal|nvalid) user|ROOT LOGIN REFUSED) .*(?: from|FROM) (?:::f{4,6}:)?(?P<host>\S*)
failregex = authentication failure; .* rhost=(?P<host>\S+)
[FTP]
# Option: enabled
# Notes.: enable monitoring for this section.
# Values: [true | false] Default: false
#
enabled = true
# Option: logfile
# Notes.: logfile to monitor.
# Values: FILE Default: /var/log/secure
#
logfile = /var/log/messages
# Option: port
# Notes.: specifies port to monitor
# Values: [ NUM | STRING ] Default:
#
port = ftp
# Option: timeregex
# Notes.: regex to match timestamp in VSFTPD logfile.
# Values: [Mar 7 17:53:28]
# Default: \S{3}\s{1,2}\d{1,2} \d{2}:\d{2}:\d{2}
#
timeregex = \S{3}\s{1,2}\d{1,2} \d{2}:\d{2}:\d{2}
# Option: timepattern
# Notes.: format used in "timeregex" fields definition. Note that '%' must be
# escaped with '%' (see http://rgruet.free.fr/PQR2.3.html#timeModule)
# Values: TEXT Default: %%b %%d %%H:%%M:%%S
#
timepattern = %%b %%d %%H:%%M:%%S
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile.
# Values: TEXT Default: Authentication failure|Failed password|Invalid user
#
# failregex = ftp: \(pam_unix\) authentication failure; .* rhost=(?P<host>\S+)
failregex = authentication failure; .* rhost=(?P<host>\S+)
Ich weiß, die failregex sind sehr einfach :sad: aber ich hatte noch nicht mehr Zeit.
Nach 3 erfolglosen Loginversuchen (FTP und SSH) wird derjenige geblockt. (FTP und SSH)
bantime = 300
maxfailures = 3
Zum Testen !
fail2ban -vvv
eingeben.
Probiert es mal aus
-
Ich habe das Gleiche rpm und fast die gleiche Konfiguration, jedoch ist der Eintrag
[hr]
im SSH Bereich falsch!
Wichtig ist eigentlich nur die richtigen Ports einzutragen und das zu beobachtende Logfile anzugeben.
Dann noch die failregex anpassen, was im oberern Beispiel zu sehen ist, nicht ganz so schwer ist.
Diese Einträge genügen ja um eine Abwehr zu haben.
yythoss
-
^^erledigt
SSH
Günstiger wäre es die var/log/sshd/current auszulesen.
Leider komme ich mit der Regex da nicht weiter :-x
Bei manchen Providern ist rhost in der messages log nicht die IP Adresse, somit ist ein blocken dann nicht möglich !
-
Da muß ich Dir Recht geben, dass /var/log/sshd/current währe besser, aber mein Wissen reicht da auch nicht weiter, denn die IP Adresse steht mitten drin und man kann sie nicht wirklich bestimmen. Die meisten Attacken kann man aber auch so gut aufhalten!
yythoss
-
Was mir aufgefallen ist, es gibt in /var/log/sshd/current kein Timestamp, was aber wohl erfoderlich ist!
Normalerweise könnte man den original failregex verwenden, jedoch logged der sshd nicht genug ins syslog (messages).
Auch das ändern des LogLevel am sshd hat hier nichts geändert.
yythoss
-
also bis jetzt hatte ich keine Möglichkeit zu sehen ob es geht.mal keine atts von außen heute .. werd mal von außen selber testen :)
Läuft es bei euch ?
Marcel
-
Na klar, dass funzt schon!
yythoss
-
moin yythoss,
ja sieht gut aus und reicht völlig aus :)
Coole sache...
Marcel
-
So ich hab im Englischen Teil des Forums einen Deutschen Benutzer gesehen, der Fail2Ban installieren wollte und nicht weiß wie....
Deswegen und wegen meines schlechten Englisch mach ich hier einen Beitrag dazu auf.
Wer hat Fail2Ban schon laufen ?
Marcel
Installation :
wget http://dag.wieers.com/rpm/packages/fail2ban/fail2ban-0.6.2-1.el4.rf.noarch.rpm
yum localinstall fail2ban-0.6.2-1.el4.rf.noarch.rpm
vi /etc/fail2ban.conf
Wichtig :
locale =en_US
/etc/init.d/fail2ban start
-
Hallo @FraunhoferIFF
das reicht leider nicht! Man muss auf jeden Fall das config file wie oben beschrieben anpassen!!! Sonst passiert nichts!!!
yythoss
-
hatte mich auch nur verklickt,,, wollt das kleine händchen oben haben,,, also leider doppel post gemacht weil unser Board so geilo ist :(
-
also ich mußte feststellen , das unser Fail2ban, ständig abstürzt.
Jedoch erst nach dem Update auf 7.3 SME....
Was ist das :(
Marcel
-
Kann ich nicht bestätigen, ich habe jeden Tag ca. 3 geblockte IP Adressen.
yythoss
-
Läuft bei mir bislang auch ohne Probleme.
-
Wie kann man fail2ban als Service eintragen?
Oder Autostarten lassen ?
Marcel
-
trage den start eintrag doch in die /etc/rc.d/rc.locale ein...damit wird es bei jedem neustart ausgeführt
-
jo vielen dank.
Passt :)
Marcel
-
Hab nochmal ein bisschen probiert - so geht auch der FTP Bann.
[FTP]
# Option: enabled
# Notes.: enable monitoring for this section.
# Values: [true | false] Default: false
#
enabled = true
# Option: logfile
# Notes.: logfile to monitor.
# Values: FILE Default: /var/log/secure
#
logfile = /var/log/messages
# Option: port
# Notes.: specifies port to monitor
# Values: [ NUM | STRING ] Default:
#
port = ftp
# Option: timeregex
# Notes.: regex to match timestamp in VSFTPD logfile.
# Values: [Mar 7 17:53:28]
# Default: \S{3}\s{1,2}\d{1,2} \d{2}:\d{2}:\d{2}
#
timeregex = \S{3}\s{1,2}\d{1,2} \d{2}:\d{2}:\d{2}
# Option: timepattern
# Notes.: format used in "timeregex" fields definition. Note that '%' must be
# escaped with '%' (see http://rgruet.free.fr/PQR2.3.html#timeModule)
# Values: TEXT Default: %%b %%d %%H:%%M:%%S
#
timepattern = %%b %%d %%H:%%M:%%S
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile.
# Values: TEXT Default: Authentication failure|Failed password|Invalid user
#
failregex = .* (?P<host>\S+) - no such user .*
-
sehr gut :)
Vielen Dank
Marcel