Sshd absichern
Aus Gentoo Linux Wiki
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 |
