Koozali.org: home of the SME Server

Fail2Ban SSH Brute-Force

Offline FraunhoferIFF

  • *
  • 932
  • +0/-0
  • Widerstand ist Zwecklos !
    • http://www.magic-figo.de
Fail2Ban SSH Brute-Force
« 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

« Last Edit: December 29, 2007, 10:04:04 PM by FraunhoferIFF »

Offline Meiffe

  • *
  • 13
  • +0/-0
    • Meiffe Blog
Re: Fail2Ban SSH Brute-Force
« Reply #1 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>
« Last Edit: December 28, 2007, 01:53:02 AM by Meiffe »

Offline FraunhoferIFF

  • *
  • 932
  • +0/-0
  • Widerstand ist Zwecklos !
    • http://www.magic-figo.de
Re: Fail2Ban SSH Brute-Force
« Reply #2 on: December 28, 2007, 09:29:32 AM »
wie gemacht?

welches Paket?

Das können echt fast alle gebrauchen...

Offline Meiffe

  • *
  • 13
  • +0/-0
    • Meiffe Blog
Re: Fail2Ban SSH Brute-Force
« Reply #3 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
« Last Edit: December 28, 2007, 01:56:15 PM by Meiffe »

Offline yythoss

  • *
  • 532
  • +0/-0
    • http://www.hylafax-client.de
Re: Fail2Ban SSH Brute-Force
« Reply #4 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
« Last Edit: December 28, 2007, 01:32:19 PM by yythoss »

Offline Meiffe

  • *
  • 13
  • +0/-0
    • Meiffe Blog
Re: Fail2Ban SSH Brute-Force
« Reply #5 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 !
« Last Edit: December 28, 2007, 01:59:25 PM by Meiffe »

Offline yythoss

  • *
  • 532
  • +0/-0
    • http://www.hylafax-client.de
Re: Fail2Ban SSH Brute-Force
« Reply #6 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

Offline yythoss

  • *
  • 532
  • +0/-0
    • http://www.hylafax-client.de
Re: Fail2Ban SSH Brute-Force
« Reply #7 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
« Last Edit: December 28, 2007, 06:17:51 PM by yythoss »

Offline FraunhoferIFF

  • *
  • 932
  • +0/-0
  • Widerstand ist Zwecklos !
    • http://www.magic-figo.de
Re: Fail2Ban SSH Brute-Force
« Reply #8 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

Offline yythoss

  • *
  • 532
  • +0/-0
    • http://www.hylafax-client.de
Re: Fail2Ban SSH Brute-Force
« Reply #9 on: December 29, 2007, 12:03:09 AM »
Na klar, dass funzt schon!

yythoss

Offline FraunhoferIFF

  • *
  • 932
  • +0/-0
  • Widerstand ist Zwecklos !
    • http://www.magic-figo.de
Re: Fail2Ban SSH Brute-Force
« Reply #10 on: December 29, 2007, 12:33:41 AM »
moin yythoss,

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

Coole sache...

Marcel

Offline FraunhoferIFF

  • *
  • 932
  • +0/-0
  • Widerstand ist Zwecklos !
    • http://www.magic-figo.de
Re: Fail2Ban SSH Brute-Force
« Reply #11 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



Offline yythoss

  • *
  • 532
  • +0/-0
    • http://www.hylafax-client.de
Re: Fail2Ban SSH Brute-Force
« Reply #12 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
« Last Edit: December 29, 2007, 10:16:13 PM by yythoss »

Offline FraunhoferIFF

  • *
  • 932
  • +0/-0
  • Widerstand ist Zwecklos !
    • http://www.magic-figo.de
Re: Fail2Ban SSH Brute-Force
« Reply #13 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 :(



Offline FraunhoferIFF

  • *
  • 932
  • +0/-0
  • Widerstand ist Zwecklos !
    • http://www.magic-figo.de
Re: Fail2Ban SSH Brute-Force
« Reply #14 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