SSH-Server absichern

Der SSH-Server bietet die Möglichkeit auf sichere Art und Weise auf entfernte Rechner zuzugreifen und auch Daten auszutauschen. Da dieser Dienst bei den meisten Servern aktiviert ist stellt er auch ein beliebtes Angriffsziel dar. In diesem Artikel wird beschrieben wie der SSH-Server gegen Angriffe auf aus dem Internet abgesichert werden kann.

Zusätzlich zu den hier beschriebenen Methoden zur Absicherung des Servers sollten immer die aktuellsten Sicherheits-Updates installiert werden.

Test der Einstellungen

Bevor die unten angeführten Maßnahmen auf einem Produktivsystem umgesetzt werden sollten die Einstellungen zunächst auf einem System getestet werden auf das direkt zugegriffen werden kann.

Bei einer Fehlkonfiguration kann es sonst leicht passieren dass man selbst aus dem System ausgesperrt ist.

Bordmittel nutzen

Der SSH-Server bringt von sich aus bereits einige mächtig Möglichkeiten mit, sich selbst gegen Angriffe zu schützen. Da diese Methoden sehr einfach in der Konfiguration des Servers aktiviert werden können, sollte mit der Absicherung hier begonnen werden.

Alle Einstellungen können in der Datei /etc/ssh/sshd_config durchgeführt werden. Die Änderungen werden durch einen Neustart des SSH-Dienstes übernommen:

$ /etc/init.d/sshd restart

Benutzer einschränken

Da es sich bei den meisten Angriffen um automatisierte Brute-Force-Attacken handelt, bringt die Verschleierung der Benutzernamen bereits ein erhöhtes Maß an Sicherheit. Bei diesen Angriffen wird versucht für bekannte Benutzernamen das Passwort zu erraten. Der Benutzer der auf einem Linux/Unix-System immer existiert ist root. Daher zielen auch die meisten Angriffe auf diesen Benutzer.

In dem die Option PermitRootLogin auf no gesetzt wird, kann der direkte Login durch root verhindert werden. Um weiterhin als root auf dem System arbeiten zu können, muss die Anmeldung durch einen nicht privilegierten Benutzer erfolgen, der mittels sudo oder su root-Rechter erhalten kann.

Der Benutzerzugriff mittels SSH kann mit der Option AllowUsers noch weiter eingeschränkt werden. Die erlaubten Benutzer können als Liste durch Leerzeichen getrennt angegeben werden.

AllowUsers <user1> <user2> ....

Auch kann der Zugriff für bestimmte Benutzer dahingehend eingeschränkt werden, dass die Anmeldung nur von bestimmten Hosts erlaubt ist.

AllowUsers    <user>@*.<domain-name>

In diesem Beispiel wird die Anmeldung nur von Rechnern aus einer bestimmten Domain erlaubt.

Die beiden oben genannten Beispiele können auch beliebig kombiniert werden.

Anmeldeversuche beschränken

Mit den beiden Parametern

LoginGraceTime    <sekunden>
MaxAuthTries      <anzahl>

kann der SSH-Server angewiesen werden, nach einer bestimmten Anzahl von fehlgeschlagenen Anmeldungen die Verbindung für eine Bestimmte Zeit abzulehnen.

Key-Authentication

Die Authentifizierung der Benutzer über einen privaten- bzw. öffentlichen Schlüssel ist sicherer als die Anmeldung mittels Passwort. In diesem Artikel wird beschrieben wie diese Art der Authentifizierung eingerichtet werden kann.

Um den Server damit auch zusätzlich abzusichern, muss die normale Benutzeranmeldung mittels Passwort deaktiviert werden. Das erfolgt in dem der Parameter PasswordAuthentication auf no gesetzt wird.

Ports ändern

Die meisten Angriffe werden wie gesagt automatisiert durchgeführt und erfolgen auf das Standard SSH-Port 22. Durch eine Änderung diese Ports auf ein (mehr oder weniger) beliebiges anderes Port, laufen die meisten Angriffe bereits ins Leere.

Die betreffende Option in der Konfigurationsdatei heißt Port.

Auf welchem Port der SSH-Dienst läuft lässt sich dann nur mehr mit Portscannern wie Security Audit mit nmap feststellen.

Ports Sperren

Eine weitere Möglichkeit Server-Dienste (nicht nur SSH) zusätzlich abzusichern bietet das Sperren von Diensten für bestimmte Hosts dar.

Tools wie fail2ban analysieren automatisch Log-Dateien und Sperren Angreifer für eine bestimmte Zeit mit dynamischen Firewall-Regeln.

Anmerkung

Ungeachtet aller Maßnahmen bleibt immer ein gewisses, wenn auch kleines, Restrisiko. Aber durch die Installation von Sicherheits-Upgrades und die oben genannten Maßnahmen kann es meist auf ein vertretbares Maß reduziert werden. Wieviel Aufwand getrieben werden soll, muss jeder selbst entscheiden.

Siehe auch


Diskussion

Geben Sie Ihren Kommentar ein
 
netzwerk/ssh-server_absichern.txt · Zuletzt geändert: 2010/03/01 22:03 (Externe Bearbeitung)
Nach oben
openSUSE.org

Beachten sie unbedingt den Haftungsausschluss!

Recent changes RSS feed openSUSE.org Powered by PHP do yourself a favour and use a real browser - get firefox!! Driven by DokuWiki

Sofern nicht anders gekennzeichnet, steht der Inhalt dieser Seite unter dem Schutz der Creative Commons Licence:
Creative Commons License Namensnennung, Keine kommerzielle Nutzung, Weitergabe unter gleichen Bedingungen, v 3.0