ssh

So sichern Sie den SSH-Server in Ubuntu 20.04 von Basic bis Advanced

So sichern Sie den SSH-Server in Ubuntu 20.04 von Basic bis Advanced
Wie alle anderen Server ist auch der SSH-Server anfällig für unberechtigte Zugriffsversuche. Wenn Sie einen SSH-Server verwenden möchten, müssen Sie daher zuerst daran gedacht haben, ihn zu sichern, um sich auf längere Sicht vor unerwünschten Situationen zu schützen. Im Allgemeinen wird der Begriff „Sichern eines Servers“ auch als „Härten eines Servers“ bezeichnet.„Dies kann durch mehrere Maßnahmen erreicht werden. Diese Maßnahmen hängen von der Sicherheitsstufe ab, die Sie benötigen.

Die Maßnahmen zur Sicherung des SSH-Servers reichen von einfach bis fortgeschritten, und wie bereits erwähnt, können Sie sie je nach Sicherheitsstufe auswählen, die Sie benötigen. Sie können jede der vorgeschriebenen Maßnahmen überspringen, wenn Sie ausreichende Kenntnisse über die Folgen haben und in der Lage sind, diesen zu begegnen. Außerdem können wir nie sagen, dass ein einzelner Schritt 100% Sicherheit gewährleistet oder ein bestimmter Schritt besser ist als der andere.

Es hängt alles davon ab, welche Art von Sicherheit wir tatsächlich brauchen. Daher möchten wir Ihnen heute einen sehr tiefen Einblick in die grundlegenden und fortgeschrittenen Schritte zur Sicherung eines SSH-Servers in Ubuntu 20 geben.04. Abgesehen von diesen Methoden werden wir Ihnen als Bonus noch einige zusätzliche Tipps zur Sicherung Ihres SSH-Servers mitteilen. Also lasst uns mit der heutigen interessanten Diskussion beginnen.

Methode zum Sichern des SSH-Servers in Ubuntu 20.04:

Alle SSH-Konfigurationen werden in der Datei /etc/ssh/sshd_config gespeichert. Diese Datei wird als sehr wichtig für das normale Funktionieren Ihres SSH-Servers angesehen. Bevor Sie Änderungen an dieser Datei vornehmen, wird daher dringend empfohlen, eine Sicherungskopie dieser Datei zu erstellen, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backen


Wenn dieser Befehl erfolgreich ausgeführt wird, erhalten Sie keine Ausgabe, wie in der folgenden Abbildung gezeigt:

Nach dem Erstellen einer Sicherungskopie dieser Datei ist dieser Schritt optional und wird ausgeführt, wenn Sie alle Optionen überprüfen möchten, die derzeit in dieser Konfigurationsdatei aktiviert sind. Sie können es auschecken, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:

sudo sshd -T


Die aktuell aktivierten Optionen der SSH-Konfigurationsdatei sind im Bild unten dargestellt shown. Sie können in dieser Liste nach unten scrollen, um alle Optionen anzuzeigen.

Jetzt können Sie mit der Sicherung Ihres SSH-Servers beginnen, während Sie in Ubuntu 20 von den grundlegenden Schritten zu den erweiterten Schritten wechseln.04.

Grundlegende Schritte zum Sichern des SSH-Servers in Ubuntu 20.04:

Die grundlegenden Schritte zum Sichern eines SSH-Servers in Ubuntu 20.04 sind wie folgt:

Schritt 1: Öffnen der SSH-Konfigurationsdatei:

Sie können die SSH-Konfigurationsdatei öffnen, indem Sie den unten angegebenen Befehl in Ihrem Terminal ausführen:

sudo nano /etc/ssh/sshd_config


Die SSH-Konfigurationsdatei ist in der folgenden Abbildung dargestellt:

Schritt 2: Deaktivieren der kennwortbasierten Authentifizierung:

Anstatt Passwörter zur Authentifizierung zu verwenden, gelten SSH-Schlüssel als sicherer. Wenn Sie die SSH-Schlüssel für die Authentifizierung generiert haben, müssen Sie daher die kennwortbasierte Authentifizierung deaktivieren. Dazu müssen Sie die Variable „PasswordAuthentication“ suchen, auskommentieren und ihren Wert auf „no“ setzen, wie in der Abbildung unten hervorgehoben:

Schritt #3: Leere Passwörter ablehnen/verweigern:

Manchmal finden Benutzer es äußerst praktisch, leere Passwörter zu erstellen, um sich komplexe Passwörter nicht merken zu müssen. Diese Vorgehensweise kann sich als schädlich für die Sicherheit Ihres SSH-Servers erweisen. Daher müssen Sie alle Authentifizierungsversuche mit leeren Passwörtern ablehnen. Dazu müssen Sie die Variable „PermitEmptyPasswords“ suchen und einfach auskommentieren, da ihr Wert standardmäßig bereits auf „no“ gesetzt ist, wie in der folgenden Abbildung hervorgehoben:

Schritt 4: Verbieten der Root-Anmeldung:

Sie sollten Root-Logins strikt verbieten, um jeden Eindringling davor zu schützen, Root-Zugriff auf Ihren Server zu erhalten. Sie können dies tun, indem Sie die Variable „PermitRootLogin“ suchen, auskommentieren und ihren Wert auf „nein“ setzen, wie in der Abbildung unten hervorgehoben:

Schritt # 5: Verwenden des SSH-Protokolls 2:

Der SSH-Server kann mit zwei verschiedenen Protokollen betrieben werden, d.e., Protokoll 1 und Protokoll 2. Protokoll 2 implementiert erweiterte Sicherheitsfunktionen, weshalb es Protokoll 1 vorgezogen wird. Protokoll 1 ist jedoch das Standardprotokoll von SSH und wird in der SSH-Konfigurationsdatei nicht explizit erwähnt. Wenn Sie also statt mit Protokoll 1 mit Protokoll 2 arbeiten möchten, müssen Sie explizit die Zeile „Protokoll 2“ zu Ihrer SSH-Konfigurationsdatei hinzufügen, wie in der folgenden Abbildung hervorgehoben:

Schritt # 6: Festlegen eines Sitzungs-Timeouts:

Manchmal lassen die Benutzer ihre Computer sehr lange unbeaufsichtigt. In der Zwischenzeit kann jeder Eindringling vorbeikommen und sich Zugang zu Ihrem System verschaffen, während er seine Sicherheit verletzt. Hier kommt das Konzept des Session-Timeouts ins Spiel. Diese Funktion dient dazu, einen Benutzer bei längerer Inaktivität abzumelden, damit kein anderer Benutzer auf sein System zugreifen kann.

Diese Zeitüberschreitung kann eingestellt werden, indem Sie die Variable „ClientAliveInterval“ suchen, auskommentieren und ihr einen beliebigen Wert (in Sekunden) Ihrer Wahl zuweisen. In unserem Fall haben wir ihm den Wert „300 Sekunden“ oder „5 Minuten“ zugewiesen. Das bedeutet, dass, wenn der Benutzer dem SSH-Server für „300 Sekunden“ fernbleibt, er automatisch abgemeldet wird, wie in der folgenden Abbildung hervorgehoben:

Schritt # 7: Bestimmten Benutzern den Zugriff auf den SSH-Server erlauben:

Der SSH-Server ist kein Server, dessen Zugriff von jedem anderen Benutzer benötigt wird. Daher darf der Zugriff nur auf die Benutzer beschränkt werden, die ihn tatsächlich benötigen. Um bestimmten Benutzern den Zugriff auf den SSH-Server zu ermöglichen, müssen Sie der SSH-Konfigurationsdatei eine Variable namens „AllowUsers“ hinzufügen und dann die Namen aller Benutzer schreiben, denen Sie den Zugriff auf den SSH-Server erlauben möchten, getrennt durch ein Leerzeichen. In unserem Fall wollten wir nur einem Benutzer den Zugriff auf den SSH-Server ermöglichen. Aus diesem Grund haben wir nur seinen Namen hinzugefügt, wie in der folgenden Abbildung hervorgehoben:

Schritt # 8: Begrenzung der Anzahl der Authentifizierungsversuche:

Immer wenn ein Benutzer versucht, auf einen Server zuzugreifen und sich zum ersten Mal nicht authentifizieren kann, versucht er es erneut. Der Benutzer führt diese Versuche so lange durch, bis er sich erfolgreich authentifizieren kann und somit Zugriff auf den SSH-Server erhält. Dies gilt als höchst unsichere Praxis, da ein Hacker einen Brute-Force-Angriff starten kann (ein Angriff, der wiederholt versucht, ein Passwort zu erraten, bis die richtige Übereinstimmung gefunden wurde). Dadurch erhält er Zugriff auf Ihren SSH-Server.

Aus diesem Grund wird dringend empfohlen, die Anzahl der Authentifizierungsversuche zu begrenzen, um Angriffe zum Erraten von Passwörtern zu verhindern. Der Standardwert der Authentifizierungsversuche beim SSH-Server ist auf „6“ gesetzt. Sie können es jedoch je nach gewünschter Sicherheitsstufe ändern. Dazu müssen Sie die Variablen „MaxAuthTries“ suchen, auskommentieren und ihren Wert auf eine beliebige Zahl setzen. Wir wollten die Authentifizierungsversuche auf „3“ beschränken, wie in der Abbildung unten hervorgehoben:

Schritt # 9: Ausführen des SSH-Servers im Testmodus:

Inzwischen haben wir alle grundlegenden Schritte unternommen, um unseren SSH-Server auf Ubuntu 20 zu sichern.04. Wir müssen jedoch noch sicherstellen, dass die soeben konfigurierten Optionen ordnungsgemäß funktionieren. Dazu speichern und schließen wir zunächst unsere Konfigurationsdatei. Danach werden wir versuchen, unseren SSH-Server im Testmodus auszuführen. Wenn es im Testmodus erfolgreich ausgeführt wird, bedeutet dies, dass Ihre Konfigurationsdatei keine Fehler enthält. Sie können Ihren SSH-Server im Testmodus ausführen, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:

sudo sshd -t


Wenn dieser Befehl erfolgreich ausgeführt wird, wird keine Ausgabe auf dem Terminal angezeigt, wie in der Abbildung unten gezeigt. Wenn jedoch in Ihrer Konfigurationsdatei Fehler auftreten, werden diese Fehler durch Ausführen dieses Befehls auf dem Terminal ausgegeben. Sie sollen dann diese Fehler beheben. Erst dann können Sie weitermachen.

Schritt # 10: Neuladen des SSH-Servers mit neuen Konfigurationen:

Wenn der SSH-Server nun im Testmodus erfolgreich gelaufen ist, müssen wir ihn neu laden, damit er die neue Konfigurationsdatei lesen kann, d.h.e., die Änderungen, die wir in den oben gezeigten Schritten an der SSH-Konfigurationsdatei vorgenommen haben. Um den SSH-Server mit neuen Konfigurationen neu zu laden, müssen Sie den folgenden Befehl in Ihrem Terminal ausführen:

sudo service sshd neu laden


Wenn Ihr SSH-Server erfolgreich neu gestartet wurde, zeigt das Terminal keine Ausgabe an, wie in der folgenden Abbildung gezeigt:

Erweiterte Schritte zum Sichern des SSH-Servers in Ubuntu 20.04:

Nachdem Sie alle grundlegenden Schritte zum Sichern des SSH-Servers in Ubuntu 20 ausgeführt haben.04, können Sie endlich zu den fortgeschrittenen Schritten übergehen. Dies ist nur ein Schritt vorwärts, um Ihren SSH-Server zu sichern. Wenn Sie jedoch nur ein moderates Sicherheitsniveau erreichen möchten, reichen die oben beschriebenen Schritte aus. Wenn Sie jedoch etwas weiter gehen möchten, können Sie die folgenden Schritte ausführen:

Schritt # 1: Öffnen des ~/.ssh/authorized_keys-Datei:

Die grundlegenden Schritte zum Sichern des SSH-Servers sind in der SSH-Konfigurationsdatei implementiert. Dies bedeutet, dass diese Richtlinien für alle Benutzer gelten, die versuchen, auf den SSH-Server zuzugreifen. Dies impliziert auch, dass die grundlegenden Schritte eine generische Methode zur Sicherung des SSH-Servers darstellen represent. Wenn wir jedoch versuchen, das Prinzip der „Defense in Depth“ zu berücksichtigen, werden wir feststellen, dass wir jeden einzelnen SSH-Schlüssel separat sichern müssen. Dies kann durch die Definition expliziter Sicherheitsparameter für jeden einzelnen Schlüssel erfolgen. Die SSH-Schlüssel werden im ~/ gespeichert.ssh/authorized_keys-Datei, also greifen wir zuerst auf diese Datei zu, um die Sicherheitsparameter zu ändern. Wir führen den folgenden Befehl im Terminal aus, um auf die ~/.ssh/authorized_keys-Datei:

sudo nano ~/.ssh/authorized_keys

Durch Ausführen dieses Befehls wird die angegebene Datei mit dem Nano-Editor geöffnet open. Sie können diese Datei jedoch auch mit jedem anderen Texteditor Ihrer Wahl öffnen. Diese Datei enthält alle SSH-Schlüssel, die Sie bisher generiert haben.

Schritt 2: Definieren spezifischer Konfigurationen für bestimmte Schlüssel:

Um ein erweitertes Sicherheitsniveau zu erreichen, stehen die folgenden fünf Optionen zur Verfügung:

Diese Optionen können vor jedem beliebigen SSH-Schlüssel Ihrer Wahl geschrieben werden, um sie für diesen bestimmten Schlüssel verfügbar zu machen. Es können auch mehrere Optionen für einen einzelnen SSH-Schlüssel konfiguriert werden. Wenn Sie beispielsweise die Portweiterleitung für einen bestimmten Schlüssel deaktivieren oder mit anderen Worten keine Portweiterleitung für einen bestimmten Schlüssel implementieren möchten, lautet die Syntax wie folgt:

no-port-forwarding DesiredSSHKey

Hier haben Sie anstelle des DesiredSSHKey einen tatsächlichen SSH-Schlüssel in Ihrem ~/.ssh/authorized_keys-Datei. Nachdem Sie diese Optionen für Ihre gewünschten SSH-Schlüssel angewendet haben, müssen Sie die ~/.ssh/authorized_keys-Datei und schließen Sie sie. Das Gute an dieser erweiterten Methode ist, dass Sie Ihren SSH-Server nach diesen Änderungen nicht neu laden müssen. Vielmehr werden diese Änderungen automatisch von Ihrem SSH-Server gelesen.

Auf diese Weise können Sie jeden SSH-Schlüssel gründlich absichern, indem Sie die erweiterten Sicherheitsmechanismen anwenden.

Einige zusätzliche Tipps zum Sichern des SSH-Servers in Ubuntu 20.04:

Abgesehen von all den grundlegenden und fortgeschrittenen Schritten, die wir oben unternommen haben, gibt es auch einige zusätzliche Tipps, die sich für die Sicherung des SSH-Servers in Ubuntu 20 als sehr gut erweisen können.04. Diese zusätzlichen Tipps wurden im Folgenden besprochen:

Halten Sie Ihre Daten verschlüsselt:

Die Daten, die sich auf Ihrem SSH-Server befinden, sowie die Daten, die während der Übertragung verbleiben, müssen verschlüsselt werden, und zwar mit einem starken Verschlüsselungsalgorithmus. Dies schützt nicht nur die Integrität und Vertraulichkeit Ihrer Daten, sondern verhindert auch, dass die Sicherheit Ihres gesamten SSH-Servers gefährdet wird.

Halten Sie Ihre Software auf dem neuesten Stand:

Die Software, die auf Ihrem SSH-Server läuft, muss auf dem neuesten Stand sein. Dies geschieht, um sicherzustellen, dass keine Sicherheitslücken in Ihrer Software unbeaufsichtigt bleiben. Vielmehr sollten sie rechtzeitig gepatcht werden. Dies schützt Sie auf lange Sicht vor potenziellen Schäden und verhindert auch, dass Ihr Server ausfällt oder aufgrund von Sicherheitsproblemen nicht verfügbar ist.

Stellen Sie sicher, dass SELinux aktiviert ist:

SELinux ist der Mechanismus, der den Grundstein für die Sicherheit innerhalb der Linux-basierten Systeme legt. Es funktioniert durch die Implementierung der Mandatory Access Control (MAC). Es implementiert dieses Zugriffskontrollmodell, indem es Zugriffsregeln in seiner Sicherheitsrichtlinie definiert. Dieser Mechanismus ist standardmäßig aktiviert. Die Benutzer dürfen diese Einstellung jedoch jederzeit ändern. Das bedeutet, dass sie SELinux jederzeit deaktivieren können. Es wird jedoch dringend empfohlen, SELinux immer aktiviert zu lassen, damit Ihr SSH-Server vor allen möglichen Schäden geschützt werden kann.

Verwenden Sie strenge Passwortrichtlinien:

Wenn Sie Ihren SSH-Server mit Passwörtern geschützt haben, müssen Sie starke Passwortrichtlinien erstellen. Idealerweise sollten die Passwörter mehr als 8 Zeichen lang sein. Sie sollten nach einer bestimmten Zeit, z. B. alle 2 Monate, gewechselt werden. Sie sollten keine Wörter aus dem Wörterbuch enthalten; Sie sollten vielmehr eine Kombination aus Alphabeten, Zahlen und Sonderzeichen sein. Ebenso können Sie einige andere besonders strenge Maßnahmen für Ihre Passwortrichtlinien definieren, um sicherzustellen, dass sie stark genug sind.

Überwachen und pflegen Sie die Audit-Logs Ihres SSH-Servers:

Wenn mit Ihrem SSH-Server etwas schief geht, können die Audit-Logs Ihr erster Helfer sein. Daher müssen Sie diese Protokolle weiterhin pflegen, damit Sie die Ursache des Problems zurückverfolgen können. Wenn Sie außerdem den Zustand und die Funktion Ihres SSH-Servers kontinuierlich überwachen, wird dies auch das Auftreten größerer Probleme von vornherein verhindern prevent.

Führen Sie regelmäßige Backups Ihrer Daten durch:

Zu guter Letzt sollten Sie immer ein Backup Ihres gesamten SSH-Servers erstellen. Dadurch werden Ihre Daten nicht nur vor Beschädigung oder vollständigem Verlust bewahrt; Stattdessen können Sie diesen Backup-Server auch verwenden, wenn Ihr Hauptserver ausfällt. Dadurch wird auch die Serverausfallzeit begrenzt und die Verfügbarkeit sichergestellt.

Fazit:

Indem Sie alle in diesem Artikel vorgeschriebenen Maßnahmen beachten, können Sie Ihren SSH-Server in Ubuntu 20 . einfach sichern oder härten.04. Wenn Sie jedoch einen Hintergrund in der Informationssicherheit haben, müssen Sie sich dieser Tatsache bewusst sein, dass es nichts wie 100%ige Sicherheit gibt. Alles, was wir bekommen können, ist das Best-Effort-Versprechen, und dieses Best Effort ist nur so lange sicher, bis es auch gebrochen wird. Deshalb können Sie auch nach all diesen Maßnahmen nicht sagen, dass Ihr SSH-Server 100% sicher ist; Vielmehr kann es immer noch solche Schwachstellen aufweisen, an die Sie nie gedacht hätten. Solche Schwachstellen können nur behoben werden, wenn wir unseren SSH-Server genau im Auge behalten und ihn bei Bedarf aktualisieren updating.

So kehren Sie die Scrollrichtung von Maus und Touchpads in Windows 10 um
Maus und Touchpads machen das Rechnen nicht nur einfach, sondern auch effizienter und weniger zeitaufwendig. Wir können uns ein Leben ohne diese Gerät...
So ändern Sie Mauszeiger- und Cursorgröße, Farbe und Schema unter Windows 10
Der Mauszeiger und der Cursor in Windows 10 sind sehr wichtige Aspekte des Betriebssystems. Dies kann auch für andere Betriebssysteme gesagt werden, a...
Kostenlose und Open-Source-Spiele-Engines für die Entwicklung von Linux-Spielen
Dieser Artikel behandelt eine Liste von kostenlosen und Open-Source-Spiele-Engines, die für die Entwicklung von 2D- und 3D-Spielen unter Linux verwend...