Koozali.org: home of the SME Server

Other Languages => Deutsch => Topic started by: FraunhoferIFF on December 27, 2007, 06:19:23 PM

Title: Fail2Ban SSH Brute-Force
Post 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

Title: Re: Fail2Ban SSH Brute-Force
Post by: Meiffe on December 28, 2007, 01:28:43 AM
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>
Title: Re: Fail2Ban SSH Brute-Force
Post by: FraunhoferIFF on December 28, 2007, 09:29:32 AM
wie gemacht?

welches Paket?

Das können echt fast alle gebrauchen...
Title: Re: Fail2Ban SSH Brute-Force
Post by: Meiffe on December 28, 2007, 12:59:24 PM
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

Code: [Select]
[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+)



Code: [Select]
[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
Title: Re: Fail2Ban SSH Brute-Force
Post by: yythoss on December 28, 2007, 01:27:16 PM
Ich habe das Gleiche rpm und fast die gleiche Konfiguration, jedoch ist der Eintrag

Code: [Select]
[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
Title: Re: Fail2Ban SSH Brute-Force
Post by: Meiffe on December 28, 2007, 01:43:04 PM
^^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 !
Title: Re: Fail2Ban SSH Brute-Force
Post by: yythoss on December 28, 2007, 04:06:44 PM
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
Title: Re: Fail2Ban SSH Brute-Force
Post by: yythoss on December 28, 2007, 04:58:38 PM
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
Title: Re: Fail2Ban SSH Brute-Force
Post by: FraunhoferIFF on December 28, 2007, 11:47:47 PM
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
Title: Re: Fail2Ban SSH Brute-Force
Post by: yythoss on December 29, 2007, 12:03:09 AM
Na klar, dass funzt schon!

yythoss
Title: Re: Fail2Ban SSH Brute-Force
Post by: FraunhoferIFF on December 29, 2007, 12:33:41 AM
moin yythoss,

ja sieht gut aus und reicht völlig aus :)

Coole sache...

Marcel
Title: Re: Fail2Ban SSH Brute-Force
Post by: FraunhoferIFF on December 29, 2007, 10:03:13 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


Title: Re: Fail2Ban SSH Brute-Force
Post by: yythoss on December 29, 2007, 10:11:30 PM
Hallo @FraunhoferIFF

das reicht leider nicht! Man muss auf jeden Fall das config file wie oben beschrieben anpassen!!! Sonst passiert nichts!!!

yythoss
Title: Re: Fail2Ban SSH Brute-Force
Post by: FraunhoferIFF on December 30, 2007, 07:48:19 PM
hatte mich auch nur verklickt,,, wollt das kleine händchen oben haben,,, also leider doppel post gemacht weil unser Board so geilo ist :(


Title: Re: Fail2Ban SSH Brute-Force
Post by: FraunhoferIFF on January 29, 2008, 10:30:59 AM
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
Title: Re: Fail2Ban SSH Brute-Force
Post by: yythoss on January 29, 2008, 12:13:33 PM
Kann ich nicht bestätigen, ich habe jeden Tag ca. 3 geblockte IP Adressen.

yythoss
Title: Re: Fail2Ban SSH Brute-Force
Post by: Meiffe on January 29, 2008, 05:08:09 PM
Läuft bei mir bislang auch ohne Probleme.
Title: Re: Fail2Ban SSH Brute-Force
Post by: FraunhoferIFF on February 20, 2008, 10:27:21 PM
Wie kann man fail2ban als Service eintragen?

Oder Autostarten lassen ?

Marcel
Title: Re: Fail2Ban SSH Brute-Force
Post by: faber38 on February 21, 2008, 07:45:31 AM
trage den start eintrag doch in die /etc/rc.d/rc.locale ein...damit wird es bei jedem neustart ausgeführt
Title: Re: Fail2Ban SSH Brute-Force
Post by: FraunhoferIFF on February 21, 2008, 08:42:12 AM
jo vielen dank.

Passt :)

Marcel
Title: Re: Fail2Ban SSH Brute-Force
Post by: Meiffe on March 16, 2008, 12:32:36 AM
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 .*
Title: Re: Fail2Ban SSH Brute-Force
Post by: FraunhoferIFF on March 17, 2008, 09:26:06 AM
sehr gut :)

Vielen Dank

Marcel