Blog

sicherer ssh-server

7 Möglichkeiten, Ihren SSH-Server zu sichern

SSH-Server

7 Möglichkeiten, Ihren SSH-Server zu sichern

Die Herausforderung für jeden IT-Administrator besteht darin, die richtige Lösung zur Sicherung der Daten zu finden. Wenn es um die Sicherung von SSH-Servern geht, möchte jeder die Lösung testen und die genauen Funktionen sehen, die auch sehr wichtig sind.

Diese Seite zeigt, wie Sie Ihren OpenSSH-Server unter einem Linux/Raspberry-Betriebssystem sichern und in einer Echtzeitumgebung testen.

Sicherer SSH-Server

Was macht SSH?

SSH bietet zwei Hauptfunktionen:

  • Anmelden bei entfernten Systemen und Ausführen von Terminalsitzungen, Ausführen von entfernten Befehlen und dergleichen auf diesen entfernten Systemen.
  • Übertragen von Dateien zwischen Remote-Systemen.

Hier ist unsere Top-7-Liste für die Sicherung Ihres Open SSH:

1)Verwenden Sie auf SSH Public Key basierende Anmeldungen

Die auf öffentlichen Schlüsseln basierende Authentifizierung in Verbindung mit zentralisierten Identitäten in einem LDAP-Backend ist die stärkste Authentifizierungsmethode für OpenSSH-Server. 

Generieren Sie ein Schlüsselpaar mit dem folgenden ssh-keygen-Befehl von Ihrem Linux-, Mac- oder Windows-Computer. 

Sie können das Schlüsselpaar entweder auf Ihrem lokalen Desktop/Laptop generieren oder nur den öffentlichen Schlüssel in Ihr LDAP-Konto importieren.

Um das Schlüsselpaar zu generieren, lautet der Standardbefehl für alle Systeme ssh-keygen, er fordert Sie auf, den Pfad zu der Datei einzugeben, in der Sie den Schlüssel speichern möchten.

Ein Standardpfad und ein Dateiname werden in Klammern vorgeschlagen. Zum Beispiel: /home/Nutzername/.ssh/id_rsa. 

SSH-basierte Anmeldungen auf öffentlichen Schlüsseln

Mit RCDevs-Lösungen erhalten Sie Zugang zum Self-Service. Hier können Benutzer das neue Schlüsselpaar selbst generieren oder ihren vorhandenen öffentlichen Schlüssel importieren, um ihren vorhandenen privaten Schlüssel für SSH-Logins zu verwenden. Sogar die Hardware-FIDO- und PIV-Schlüssel können für Ihre SSH-Logins verwendet werden. 

Öffentliche Schlüssel müssen nicht auf jedem SSH-Server bereitgestellt werden! Stattdessen wird ein Agent installiert und der Agent prüft beim Server, ob der während der SSH-Anmeldung bereitgestellte private Schlüssel mit dem öffentlichen Schlüssel übereinstimmt, der in den Benutzerkonten gespeichert ist.   

SSH-basierte Anmeldungen auf öffentlichen Schlüsseln

Mit den RCDevs-Lösungen erfolgt die SSH-Schlüsselverwaltung/-bereitstellung vollständig automatisiert von der Schlüsselpaargenerierung über den Widerruf der Zugriffe (auf allen oder einer Gruppe von Systemen für einen Benutzer auf einmal) bis zur automatischen Verlängerung durch Endbenutzer eines of abgelaufener Schlüssel. 

SSH-basierte Anmeldungen auf öffentlichen Schlüsseln

Mehr Information auf WebADM 

Weitere Informationen zum kostenlosen Sichern von SSH-Servern

Dokumentation der Integration

2) MFA aktivieren

Die Aktivierung der Multi-Faktor-Authentifizierung (MFA) auf Linux-Computern ist ebenfalls eine der bewährten Möglichkeiten, Ihren SSH-Server zu schützen.

Sie können eine einfache Anmeldung oder eine Push-Anmeldung für MFA implementieren.

Die folgende Abbildung zeigt den Anmeldeablauf für MFA in SSH-Server.

MFA Einfacher Anmeldeablauf
MFA Push-Anmeldeablauf

Auf Unix-ähnlichen Systemen müssen Prozesse wie der OpenSSH-Daemon den Benutzer authentifizieren und einige Dinge über ihn erfahren (Benutzer-ID, Home-Verzeichnis). Die Authentifizierung erfolgt über einen Mechanismus namens Pluggable Authentication Modules, und das Abrufen von Informationen über Benutzer (oder sogar Gruppen, Hostnamen) erfolgt über einen anderen Mechanismus, der als Name Service Switch bezeichnet wird.

Lesen Sie, wie Sie MFA in SSH-Server / PAM implementieren

3) Verwalten Sie Ihre SSH-Schlüssel und -Konten zentral

Verwalten Sie Ihre SSH-Schlüssel und -Konten zentral

Viele oder sogar alle Unix- und Linux-Logins laufen ungeregelt ab, ohne dass man feststellen kann, welcher Schlüssel zu welcher Identität gehört und ob der Zugriff gegen die IAM-Richtlinien des Unternehmens verstößt. In der Praxis bedeutet dies, dass sich eine unbekannte Identität mit einem Schlüssel anmelden kann, von dem nicht einmal bekannt ist, dass er existiert. Um die Sache noch schlimmer zu machen, sind SSH-Anmeldungen im Allgemeinen für privilegierten Zugriff vorgesehen, der die kritischste Form des Zugriffs ist.

Die Lösung ist zu SSH-Schlüssel zentralisieren und Konten. Es wird auch empfohlen, die Self-Service-Webregistrierung zur Automatisierung der Schlüsselverteilung und zur Überprüfung des unerwünschten Zugriffs oder der Erneuerung veralteter Schlüssel zu verwenden.

4) Deaktivieren Sie den SSH-Zugriff mit dem Root-Konto

Das Root-Konto auf Linux-Systemen ist das erste Konto, auf das ein Angreifer aufgrund von Berechtigungen für dieses Konto zuzugreifen versucht.

In der SSH-Konfiguration können Sie die Root-Anmeldung zulassen oder nicht.

Deaktivieren Sie den SSH-Zugriff mit dem Root-Konto

Es ist möglich, Benutzern über den SUDO-Mechanismus privilegierten Zugriff zu gewähren. SUDO bietet die Möglichkeit, einen Befehl als Administrator (wie root) oder als anderer Benutzer zu starten, während der Nachweis der ausgeführten Befehle geführt wird. SUDO bietet die Möglichkeit, einem Benutzer oder einer Benutzergruppe eine Aktion zu erlauben (zB ein System zu aktualisieren), ohne ihnen vollen Zugriff auf das System zu gewähren.

Vom Zugriff auf das Root-Konto über SSH wird dringend abgeraten, aber falls Sie dies zulassen müssen, sollten Sie den Remote-Zugriff auf dieses Konto mit einer auf öffentlichem Schlüssel basierenden Authentifizierung in Verbindung mit einer Einmalpasswort-(OTP)-/ Yubikey-/Voice-Passwortvalidierung zulassen .

5) Idle TimeOut und Sitzungsintervall konfigurieren

Ein Benutzer kann sich über ssh beim Server anmelden, und Sie können ein Leerlauf-Timeout-Intervall und eine Sitzungsdauer festlegen, um unbeaufsichtigte ssh-Sitzungen zu vermeiden.

Idle TimeOut und Sitzungsintervall – SSH-Server

Sie legen ein Zeitüberschreitungsintervall in Sekunden (300 Sek. == 5 Minuten) fest. Nach Ablauf dieses Intervalls wird die SSH-Sitzung gesperrt und der Benutzer muss sein LDAP-Passwort eingeben.

6) Ändern Sie den SSH-Standardport 

Einer der Hauptvorteile des Änderns des Ports und der Verwendung eines nicht standardmäßigen Ports besteht darin, dass Sie nicht von gelegentlichen Scans erkannt werden. Es gibt einen Standardport für alle Dienste. Wenn also die Portnummer geändert wird, ist es schwierig zu erkennen, welcher Dienst hinter diesem Port ausgeführt wird, und somit verringert sich die Wahrscheinlichkeit, dass Sie angegriffen werden.

7) Setzen Sie ein Limit für Passwortversuche

Indem Sie ein Limit für Ihre Passwortversuche für die SSH-Anmeldung festlegen, können Sie Brute-Force-Angriffe auf Ihren Server reduzieren. Einige der bewährten Verfahren in der Benutzereinstellung, um unethischen Zugriff zu reduzieren, können sein:

-Blockieren von IP-Adressen mit mehreren Anfragen in kurzer Zeit.

-Blockieren von Anmeldeversuchen für Benutzer mit mehreren falschen Passwörtern.

-Einstellen einer Zeitlücke zwischen Anmeldeversuchen beim SSH-Server.

Bonustipps von RCDevs

RCDevs unterstützt 3 Sicherheitsebenen, dh SSH Public Key-basierte Anmeldung, Multi-Factor Authentication und LDAP-Passwort zum Anmelden.

Einige der von RCDevs unterstützten und empfohlenen Sicherheitsfunktionen für eine sichere Anmeldung sind:

1)SUDO-Befehle

Das SUDO-Befehl definiert auf Benutzer-, Gruppen-, System- und Netzwerkebene, welche Aktionen von ihnen gemäß den definierten und bereitgestellten Berechtigungen ausgeführt werden können.  

SUDO-Befehle - SSH-Server

2) Benutzerblockierung

User Blocking ist sehr hilfreich, um Brute-Force-Angriffe zu verhindern. Sie können maximale Anmeldeversuche, Zeitgeber zum Blockieren von Fehlern, Blockieren von Warnungen an den Administrator, maximale Sitzungszeit, Bildschirmsperrzeit usw. festlegen.

Benutzerblockierung beim Sichern von SSH-Servern
Maximale Sitzungszeit beim Sichern des SSH-Servers

Sie können Benutzern auch Zugriffe basierend auf IP-Adressen, Clientzertifikaten und sogar Clientrichtlinien erlauben.

Benutzerzugriffe basierend auf IP-Adressen - SSH-Server

3)Serverrichtlinie

Mit der Serverrichtlinie können Sie festlegen, welche Art von Schlüsselbenutzern (RSA, ECC oder DSA), Schlüssellänge, Schlüsselablauf und maximale Schlüsselnutzung verwendet werden sollen.

Beispiel– Sie möchten das Ablaufen des Schlüssels 1 Monat nach der Generierung erzwingen. Sie können die Tage einfach auf der Registerkarte Schlüsselablauf auswählen, wie in der Abbildung unten.

Serverrichtlinie – SSH-Server

4) Zugriff basierend auf Tags

Der Teamzugriff kann auf Tags basieren, die pro Benutzer oder Gruppe delegiert werden.

Alle vom SpanKey-Server verwalteten Hosts können in der SpanKey-Client-Konfiguration markiert werden. Beispielsweise könnten alle Webserver in der Konfigurationsdatei des SpanKey-Clients mit dem Akronym «WEB» gekennzeichnet werden. Anschließend können Sie dieses Tag für alle Webmaster-Konten oder -Gruppen hinzufügen, um den SSH-Zugriff auf jeden Webserver mit einer gemeinsamen zentralen Konfiguration sicherzustellen.

Zugriff basierend auf Tags – SSH-Server

5)Zusätzlicher Login-Faktor

Sie können auch einen zusätzlichen Authentifizierungsfaktor für die SSH-Anmeldung und die SCP/SFTP-Dateiübertragung hinzufügen. (LDAP/OTP-Passwörter)

Der zusätzliche Login-Faktor für die SSH-Anmeldung ist auch mit der biometrischen Authentifizierung FIDO oder VOICE möglich.

Zusätzlicher Login-Faktor - SSH-Server

6) Benutzerbenachrichtigung

Sie können Ihre Benutzer per E-Mail oder SMS benachrichtigen, wenn das Schlüsselpaar oder das LDAP-Passwort abläuft. Darüber hinaus können Sie den SpanKey-Server so konfigurieren, dass er automatisch Self-Service-Zugriffsanfragen für den Zugriff auf die verschiedenen Portale sendet, wenn SpanKey erkennt, dass das Passwort oder das SSH-Schlüsselpaar des Benutzers abgelaufen ist.   

Benutzerbenachrichtigung - SSH-Server

7) Offline-Modus

Ein weiteres interessantes Feature von SpanKey ist die Tatsache, dass Sie, selbst wenn SpanKey-Server aus irgendeinem Grund ausfallen und Authentifizierungen mit dem Server nicht verifiziert werden können, spezifische Konten konfigurieren können, die im Offline-Modus verwendet werden können. Auf diese Weise können Sie auch dann auf Ihre SSH-Server zugreifen, wenn der SpanKey-Server nicht mehr antwortet.

Offline-Modus - SSH-Server

Sie können herunterladen die RCDevs Security Solutions SSH Key Management Lösung jetzt und erhalten Sie bis zu 5 Spankey-Hosts kostenlos.

de_DEDE