Sshd absichern

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche

Wer Angst vor ssh-Brute-Force-Attacken hat, sollte seinen sshd absichern:

# emerge denyhosts

Denyhosts durchsucht Logs nach verdächtigen Loginversuchen und sperrt diese IPs für die angegeben Dienste, in diesem Fall nur sshd. Die einfachste Variante ist ein

# /etc/init.d/denyhosts start
# rc-update add denyhosts default

Dabei wird nach dem fünften Fehlversuch die entsprechende IP für immer gesperrt.

Will man denyhosts statt dauerhaft als Daemon nur bei jedem Loginversuch prüfen lassen, kann man folgendes tun:

Datei: /etc/hosts.deny
ALL:/etc/hosts.blocked
sshd:ALL:spawn denyhosts --purge --noemail -c /etc/denyhosts.conf: allow 


# touch /etc/hosts.blocked
Datei: Änderungen an /etc/denyhosts.conf:
HOSTS_DENY = /etc/hosts.blocked
#Nach einer Woche Sperre wieder aufheben, ist sinnvoll, da die meisten
#Attacken von dynamisch vergebenen IPs kommen
PURGE_DENY = 1w 


Die zweite Variante hat den Nachteil, daß der Loginvorgang etwas verzögert werden kann, wenn zwischen "echten" Logins /var/log/messages stark anschwillt. Daher empfiehlt es sich ggf. die AUTH-Facility nach /var/log/auth loggen zu lassen.

Datei: Änderungen an /etc/syslog-ng/syslog-ng.conf (vor "destination messages")
destination auth { file("/var/log/auth"); };
filter f_auth { facility(auth); };
log { source(src); filter(f_auth); destination(auth); flags(final); }; 


# /etc/init.d/syslog-ng reload

Damit auth auch rotiert wird, sollte man /etc/logrotate.d/syslog-ng anpassen:

Datei: Änderungen an /etc/logrotate.d/syslog-ng
/var/log/messages /var/log/auth { 


Die Denyhosts-Konfiguration muß dann natürlich auch noch angepaßt werden:

Datei: Änderungen an /etc/denyhosts.conf:
 SECURE_LOG = /var/log/auth 
'Persönliche Werkzeuge