SSH absichern
In meiner Artikelserie zum Thema „SSH absichern“ zeige ich euch mehrere Möglichkeiten wie ihr euren SSH Zugang zum Server sicherer machen könnt um so weniger Angriffsfläche für Hacker zu bieten. Sofern man nicht sehr wichtige Daten auf dem Server hat und ein hohes Level von Sicherheit bietet ist der Aufwand für Angreifer zu hoch und potentielle Hacker suchen sich ein anderes Ziel.
SSH absichern
SSH ist ein Dienst über diesen man mittels Konsole auf einen entfernten Rechner zugreifen kann. In der Regel führt man als Administrator dort als root wichtige System relevante aufgaben aus oder arbeitet als normaler User mit eingeschränkten Rechten mit der gesamten Funktionalität der installierten Programme an einem Projekt. In jedem Fall ist ein SSH Zugang Pflicht, selbst wenn alle anderen Ports geschlossen sind, es gibt eigentlich immer irgendwo einen offenen SSH Port.
Funktionsweise
Der SSH Daemon ist ein Hintergrundprozess der auf einem bestimmten Port auf Aktivität horcht. Standardmäßig ist das der Port 22. Die Funktionsweise von SSH ist wie folgt:
- SSH Daemon wartet auf dem zugewiesenen Port auf ein Login
- übergeben werden Benutzername und Passwort
- gibt es den Benutzer im System und passt das Passwort, dann kommt es zu einer Verbindung
Das SSH Protokoll arbeitet verschlüsselt. Das heißt nach erfolgreichem Login erhält der Benutzer Zugriff auf das System – als im Login angegebener Benutzer. SSH ist deshalb so populär, weil es eine sichere verschlüsselte Verbindung zwischen Sender und Empfänger aufbaut. Die übertragenen Daten – wie beispielsweise das Passwort – werden verschlüsselt übertragen und können somit von dritten nicht ausgespäht werden.
Login
In der Regel funktioniert ein SSH Login bekanntermaßen mit einer Kombination aus Benutzername und Passwort. Will ein Hacker sich einloggen benötigt er neben IP Adresse oder Domain des Servers noch den Port (sofern nicht der Standardport 22 offen ist), den Benutzernamen und das zugehörige Passwort.
Normalerweise ist die Domain oder die IP Adresse bekannt. Sofern nicht der Standardport verfügbar ist kann der Angreifer sehr schnell über einen Portscan den offenen SSH Port finden. Benutzername ist in der Regel unbekannt – sofern aber der root Zugriff nicht explizit verboten wird ist der Benutzername für den Vollzugriff in der Regel root oder admin. Fehlt nur noch das Passwort. Dieses müsste der Angreifer wissen, über eine Brute Force Methode erraten oder beim Administrator stehlen.
Schlüssel
Ein System in dem sich viele Benutzer ein- und ausloggen ist eine Schwachstelle schnell gefunden. Irgend ein Mitarbeiter verrät schon mal auf Anfrage das Passwort – schon ist der Server offen. Eine Alternative zu Benutzername und Passwort als Login sind Schlüssel. SSH absichern mit Schlüssel ist einfach und effektiv. Durch ein Paar aus privatem und öffentlichem Schlüssel kann sich der Benutzer ohne Passwortabfrage anmelden und der Administrator erkennt anhand der im System gespeicherten Schlüssel sofort wie viele Leute Zugriff haben können. Ohne Schlüssel kein Zugriff.
Fazit
Im nächsten Teil zeige ich euch einige recht einfache Mechanismen wie ihr den SSH Login besser vor Angreifern schützt. Sicherheit ist im Internet sehr wichtig und SSH absichern immer der erste Schritt. Auf einen Server hätte theoretisch jeder Mensch auf der Welt Zugriff. Sofern man wichtige Dienste oder Webseiten darauf laufen hat oder wertvolle Daten speichert ist man ein beliebtes Ziel – man denke an Webshops und Kreditkartendaten! Gerade dort, aber auch bei allen privaten Servern auch ist ein hohes Level an Sicherheit Pflicht.