pam_abl Autoblacklisting für PAM

Mittels des PAM Moduls pam_abl von Andy Armstrong ist es möglich, pam-basierte Dienste durch Autoblacklisting infolge Brute-Force oder Dictionary Attacken zu schützen. Es wird in der Regel so konfiguriert, daß die blacklist-User weiterhin einen normalen Login sehen, aber garantiert nicht authentifiziert werden. Der Vorteil von pam_abl ist es, dass im Gegensatz zu beispielsweise Portsentry, das auf eine Anzahl von SYN-Paketen reagiert, indem entsprechende Hosts an der Firewall blockiert und dadurch für einen Denial-Of-Service Angriff durch gefälschte Pakete anfällig wird, weil das automatische Blacklisting einen kompletten TCP-drei-Wege-Handshake voraussetzt.

UP

fail2ban daemon against ssh attacks

Installation

Konfiguration

/etc/security/pam_abl.conf

# debug
host_db=/var/lib/abl/hosts.db
host_purge=2d
host_rule=*:10/1h,30/1d
user_db=/var/lib/abl/users.db
user_purge=2d
user_rule=!root:10/1h,30/1d

* : Alle User sind für diese Regel gültig
! : Dieser User ist für diese Regel nicht gültig
| : Benutzerliste

user_rule=*:6/1h|root/ssh:4/1h,8/1d
user_purge=2d

Alle User dürfen maximal 6x pro Stunde falsche Kennwörter eingeben, root beim Dienst ssh maximal 4 Versuche pro Stunde und maximal 8 Fehlversuche pro Tag, ansonsten ist der Account gesperrt.
:!: Dies gilt dann allerdings nur für die entsprechende Absende-IP-Adresse. Es wird nicht der gesamte Dienst für den User gesperrt. Nach 2d zwei Tagen wird die IP-Adresse dann wieder freigegeben.

UP

/etc/pam.d/sshd

#%PAM-1.0
auth       required     pam_stack.so service=system-auth
auth       required     pam_nologin.so
auth       required     pam_abl.so config=/etc/security/pam_abl.conf
account    required     pam_stack.so service=system-auth
password   required     pam_stack.so service=system-auth
session    required     pam_selinux.so
session    required     pam_stack.so service=system-auth
session    required     pam_limits.so
session    optional     pam_console.so

UP

/etc/ssh/sshd_config (Auszug)

UsePAM yes

UP

Debugging

Befehlszeile pam_abl

pam_abl

pam_abl zeigt die aktuelle Blacklist (Failed users: und Failed hosts:) an.

Beispiel für eine Ausgabe von ''pam_abl''.

Links

 
wissen/security/ssh/pam_abl_autoblacklisting.txt · Zuletzt geändert: 05.09.2010 20:31
 
Recent changes RSS feed Donate Valid XHTML 1.0 Valid CSS Recent cached RSS feed cacert-signed web site: inhalt.serviert.de