So sichert man den Zugriff auf einen Linux Server

Serversicherheit ist ein aktuelles Thema. Ein Grund hierfür ist die dieses Jahr aufgedeckte Sicherheitslücke im Network Time Protokoll. Für öffentliche Server existiert zudem eine Vielzahl an Gefahren:

  • DDoS-Attacken
  • Brute-Force-Angriffe
  • Code-Injections
  • Sesson-Hijacking
  • Ausnutzung von Schwachstellen in populären Content Management Systemen (CMS) wie Word Press

Kein Server ist jemals zu 100 Prozent sicher. Dennoch arbeiten Sicherheitsexperten täglich an der Aufdeckung und Bekämpfung von neuen Bedrohungen. Angreifer sind ihnen jedoch häufig einen Schritt voraus. Deshalb ist es wichtig, den Administratorenzugriff eines dedizierten, also nicht für alltägliche Aufgaben genutzten,  Linux Servers abzusichern.

Administratorenzugriff über verschiedene Ebenen absichern

Das Secure Shell (SSH) Protokoll verwaltet am häufigsten Linux Server. SSH bietet verschlüsselte Tunnel zwischen Server und Client, sodass Passwörter und empfindliche Befehle geschützt sind. Zwar ist das SSH-Protokoll in seiner aktuellen Version nicht unsicher, jedoch kann die Sicherheit erhöht werden, wenn man die  vorgegebene Standard Konfiguration erweitert. Die Internet Assigned Numbers Authority (IANA), die eine Buchhalter-Funktion über bestimmte Registrierungen hat und der Koordination dient, teilt das SSH-Protokoll dem Port 22 zu. Der Port 22 ist das am dritthäufigsten gescannte Netzwerkprotokoll  im Internet. Automatische Bots und Scanner suchen nach den Servern, welche den Port 22 geöffnet haben und versuchen dann dort Brute-Force-Attacken auf SSH-Logins. Die Attacken können auf drei Wegen reduziert werden.

 1 . SSH-Ports ändern

Wechselt der Nutzer seinen Port, wird es für den SSH-Dämon schwer, zu „lauschen“. Wählt man einen „Nicht-Standard-Port“ aus,  wird sich die Anzahl der Brute-Force-Login-Versuche stark verringern. Generell gehen Bots und Scanner den Weg mit dem niedrigsten Widerstand und Aufwand. Das bedeutet, dass ein automatisiertes Bot seine Zeit nicht damit verschwendet, alle 65.000 Transmission Control Protocol (TCP)-Ports zu scannen, denn es weiß, dass es tausend andere Server gibt, bei denen der SSH-Dämon auf Port 22 „lauscht“. Für Anfänger ist es schwer, den Port alleine zu wechseln. Das österreichische Unternehmen Internex ist unter anderem auf SSL-Sicherheit spezialisiert und bietet individuelle Hilfe und Beratung an. Nähere Informationen zu den einzelnen SSL-Zertifikaten gibt es hier.

2. SSH-Keys verwenden 

Asymmetrische Kryptographie -Methoden erscheinen auf den ersten Blick kompliziert, aber meist erstellen Linux-Distributionen gute Anleitungen für das Erstellen von SSH-Key-Zugängen.  Moderne SSH-Keys nutzen asymmetrische Kryptographie, um digitale Keys zu sichern und zu signieren. Ziel der ist die Übermittlung und Identifizierung von verschlüsselten Daten. Nutzer sollten SSH-Keys verwenden und sogleich die Anmeldung ohne SSH-Keys deaktivieren. Da sich nur der Nutzer mit dem entsprechenden Key identifizieren kann, beugt diese Maßnahme Brute-Force-Attacken vor. Da der Key theoretisch auch gestohlen werden kann, sollten Nutzer ein besonders sicheres Passwort für ihren privaten Key nutzen.

 3.  ACLs implementieren

Eine weitere Maßnahme, um Brute-Force-Attacken enorm zu verringern, sind Access Control Lists. ACLs sind Genehmigungen, die an ein bestimmtes Objekt – hier den Server  – gebunden sind. Der Nutzer kann Stateful Firewalls verwenden, um den SSH-Zugang auf bestimmte IPs zu beschränken und den Zugang für alle anderen Internet-Adressen zu verweigern. So können Bots und automatisierte Scanner keine Verbindung mehr zum Server des Nutzers aufbauen. Um die Sicherheit zu optimieren, sollten ACLs nicht nur bei SSH-Protokollen, sondern auch bei allen anderen relevanten Services angewendet werden.

Für einen maximal sicheren Administratoren-Zugriff, sollten alle Maßnahmen gleichzeitig angewendet werden, denn eine einzige Ergänzung kann einem Brute-Force-Angriff nicht ausreichend vorbeugen. Ändert der Nutzer nur den SSH-Port auf einen „Nicht-Standard-Port“, werden Brute-Force-Login-Versuche nicht verhindert, da auch der geänderte und neue Port herausgefunden werden könnte. Auch die bloße Verwendung von ACLs sichert den Authentifizierungsvorgang nicht von selbst ab. Sicherheitsexperten nutzen das Konzept der mehrstufigen Sicherheitsebenen, wo mehrere Sicherheitsebenen übereinander gelegt werden, um eine bestmögliche Abdeckung zu erreichen.

Bildquelle: wladi- Fotolia.com 

1 thought on “So sichert man den Zugriff auf einen Linux Server”

  1. Vielen Dank für den ausführlichen Artikel! – Zu den Zertifikaten hab ich noch ein paar Tipps (Stand 3/2016):

    1) “Alte” SHA-1 SSL Zertifikate bitte unbedingt updaten auf SHA-2 (a) wegen Sicherheit (b) wegen Google Ranking, siehe div. Berichte im Netz zu dem Thema.
    2) Empfehlung für kostenlose (!) Single Domain SSLs: https://letsencrypt.org/
    3) Empfehlung für günstige Wildcard RapidSSL Zertifikate: https://www.interssl.at/
    4) Egal bei welchem Anbieter – ab 2016 darauf achten, dass “Certificate Transparency” unterstützt bzw. aktiv ist. Mehr Infos zu dem Thema unter https://www.certificate-transparency.org/

    LG
    Franz

Kommentare sind geschlossen.