Teil 8: Sicherheit

Es war einmal ein friedlicher Ort genannt Internet. Alle Kommunikation war unverschlüsselt, alle Nutzer hielten sich an die Netiquette. Wenn man keine Zugangsdaten hatte, versuchte man nicht, auf Rechner zuzugreifen.

Inzwischen ist das Netz eher zu einem Schlachtfeld geworden. Das Log meines Servers wies in der ersten Nacht über 1000 Zugriffsversuche aus. Sinnfrei wurden Kombinationen aus Benutzernamen und Passwort probiert. Dabei war der einzige aktive Dienst der SSH Deamon.
Dagegen muss und kann man etwas unternehmen.

SSH Login nur mit Zertifikat erlauben

Zum einen ist das bequemer, weil man nicht jedesmal ein Passwort eingeben muss, zum Anderen ist es sicherer, weil sich ein Zertifikat nunmal um Längen schwerer erraten lässt als ein Passwort. Und so geht's:

Auf dem lokalen Rechner:

ssh-keygen -t rsa #Hier keine Passphrase eingeben. Den Schlüssel einfach sicher aufbewahren
cat .ssh/id_pub
Auf dem Server
cat > .ssh/id_pub
Jetzt nur noch die Ausgabe von eben kopieren und auf dem Server wieder einfügen. Danach <Strg><D> drücken, fertig.
Beim erneuten Login sollte jetzt kein Passwort mehr abgefragt werden.

Jetzt noch die Konfiguration in /etc/ssh/sshd_config anpassen:

PermitRootLogin without-password
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
und zur Sicherheit den sshd neu starten. Ab jetzt sollte ein Login mit Passwort nicht mehr möglich sein
(Am Besten mal Benutzer wechseln und ausprobieren).

Angreifer frustrieren

TODO: fail2ban

Den eigenen Server auf die Probe stellen

TODO: nmap