So passen Sie die SSH-Einstellungen für maximale Sicherheit an

Cum se personalizează setările SSH pentru securitate maximă
⏱️ 7 min read

Die SSH-Konfigurationsdatei auf Ihrem Unix-System steuert, wie die sichere Shell funktioniert. Es kann verwendet werden, um die Verwendung des Befehls ssh zu vereinfachen, bestimmte vom Benutzer gewünschte Funktionen zu konfigurieren oder die Sicherheit gegen potenzielle Angriffe zu erhöhen. Während relativ einfache Aktionen, wie das Ändern des SSH-Ports auf Ihren Geräten, häufig eine große Anzahl von SSH-Kaltanrufen auf Ihrem Computer eliminieren können, kann die SSH-Konfigurationsdatei viel mehr als das.

Wo ist die SSH-Konfigurationsdatei?

Auf Linux-Systemen finden Sie Ihre systemweite ssh-Konfigurationsdatei unter “/ etc / ssh / ssh_config”.

Auf macOS-Systemen befindet sich dieselbe Datei unter “/ private / etc / ssh / ssh_config”, die aus Kompatibilitätsgründen mit “/ etc / ssh / ssh_config” verknüpft ist.

Eine zweite benutzerspezifische ssh_config-Datei befindet sich unter „~ / .ssh / ssh_config“ (das Symbol „~“ steht für das Ausgangsverzeichnis). Diese Datei ersetzt die systemweite Konfigurationsdatei, sodass Sie benutzerspezifische Optionen festlegen können, ohne die Systemkonfiguration zu ändern. Systeme werden nicht immer mit einer Datei “~ / .ssh / ssh_config” ausgeliefert, sie können jedoch einfach erstellt werden.

In Zukunft werden wir diese Konfigurationsdatei aus Gründen der Klarheit und Einfachheit als “ssh_config” bezeichnen.

Bearbeiten der Datei ssh_config

Um die Datei ssh_config zu bearbeiten, öffnen Sie ein Terminalfenster und bearbeiten Sie die Datei mit Ihrem bevorzugten Texteditor. Wir werden Nano in dieser Demo verwenden, aber stattdessen können auch vi oder emacs verwendet werden.

Dadurch wird eine Datei mit Dutzenden von kommentierten Zeilen geöffnet, in denen die Funktionsweise der Datei erläutert wird. Es handelt sich jedoch nicht um eine vollständige Erklärung.

edit-ssh-config-datei-edit-ssh-config-in-terminal

Was ist die Datei ssh_config und was macht ssh_config?

Die Datei ssh_config wird verwendet, um zu steuern, wie sicher die Shell ist, besser bekannt als die ssh Terminalbefehl, funktioniert auf Ihrem System. Die Datei ssh_config wird von Hosts organisiert. Jeder Host enthält spezifische Einstellungen für diesen Host. Platzhalter mögen * kann verwendet werden, um mehrere Hostnamen mit einer einzigen Deklaration abzugleichen.

Optionen werden mit einem Schlüssel / Definition-Paar deklariert. Es sind viele Schlüssel verfügbar. Eine ausführliche Erläuterung der Funktionen der einzelnen Schlüssel finden Sie auf der Manpage ssh_config.

Härten Sie Ihre SSH-Konfiguration

Sperren der Dateien: Stellen Sie vor dem Bearbeiten der Datei sicher, dass sowohl in den Dateien ssh_config als auch sshd_config Eigentümer und Benutzer auf root festgelegt sind. In den meisten Fällen möchten Sie auch Berechtigungen für andere als root verbieten.

Bestätigen Sie das SSH-Protokoll 2

Stellen Sie sicher, dass Sie das neuere und moderne Protokoll 2 anstelle von Protokoll 1 verwenden. Das ältere Protokoll arbeitet mit einer schwächeren Integritätsprüfung und ist im Allgemeinen weniger sicher.

Verwenden Sie in Ihrer ssh_config Folgendes, um das Protokoll explizit festzulegen:

Sie können Ihr Protokoll auch implizit mithilfe von Chiffren festlegen, wodurch das Protokoll automatisch auf 2 gesetzt wird, um moderne Chiffren zu verwenden.

Leeres Passwort nicht zulassen

Stellen Sie sicher, dass jedes SSH-Konto beim Anmelden ein Kennwort verwendet, indem Sie leere Kennwörter blockieren.

Root-Login nicht zulassen

Root sollte für die meisten Linux-Anwendungen selten verwendet werden. Durch das Verhindern der Root-Anmeldung können Sie Konten für bestimmte Zwecke sperren und keine systemweite Nutzung gewähren. Dies ist auch ein Konto, auf das bei Angriffen abgezielt wird. Zu den Optionen für PermitRootLogin gehören “Ja”, “Ohne Passwort”, “Nur erzwungene Befehle” oder “Nein”. Der Standardwert ist “Ja”. Um die Root-Anmeldung vollständig zu stoppen, geben Sie die folgende Zeile ein.

Ändern Sie die Portnummer

Sie können die Portnummer von 22 (Standardeinstellung) ändern, um die direkten Treffer auf Ihren Server an diesem Port zu begrenzen. Dies schränkt die meisten Personen ein, die ein Skript verwenden, das zu diesem Port wechselt, oder die diesen Port manuell angreifen. Dies schränkt jedoch nicht diejenigen ein, die nach offenen Ports suchen und alles angreifen, was offen ist. Darüber hinaus müssen Sie sicherstellen, dass jeder, der über diesen Port zugreift, die neue Nummer kennt und dass die neue Portnummer von jedem Client oder jeder Software verwendet wird.

Um den Port anzupassen, bearbeiten Sie den Haupt-ssh-Daemon unter “/ etc / ssh / sshd_config”. Sie möchten eine neue Zeile hinzufügen, die den Port gemäß der Syntax angibt Port XXXXX.

edit-ssh-config-datei-change-ssh-port

Zugriff einschränken

Wenn Sie mehrere Personen haben, die auf Ihren Server zugreifen, möchten Sie möglicherweise die Verwendung von ssh insgesamt einschränken. In diesen Fällen können Sie sowohl Benutzer als auch Gruppen zulassen und ablehnen. Dazu möchten Sie einen der folgenden Schlüssel verwenden, gefolgt von den Werten, die Sie zulassen oder ablehnen möchten: DenyUsers, AllowUsers, DenyGroups und AllowGroups. Dies wird in dieser Reihenfolge ausgeführt. Selbst wenn Sie einem Benutzer erlauben, dass er sich im Abschnitt “Verweigerer” befindet, wird er abgelehnt.

Aktualisieren Sie die LoginGraceTime

Standardmäßig beträgt die Zeit, die eine Person ohne Anmeldung im Leerlauf sitzen muss, zwei Minuten. Wenn Sie dies einschränken, können Sie nicht autorisierte Verbindungen verhindern. Ein typischer Vorschlag ist eine Minute oder weniger. Stellen Sie die Zeit mit LoginGraceTime ein.

Anpassen von SSH-Konfigurationen

Aliase erstellen

Ssh-Befehlszeilenoptionen können über Aliase in ssh_config angegeben werden. Mit dem folgenden Alias ​​kann der Benutzer eine Verbindung zum herstellen dev Server mit den angegebenen Optionen einfach durch Eingabe ssh dev an der Kommandozeile.

Dies führt den folgenden Befehl aus, wenn er ausgeführt wird:

Beachten Sie, dass der SSH-Port in 22222 geändert wurde, um Kaltanrufe zu verhindern. Ansonsten handelt es sich um eine sehr einfache SSH-Verbindung, die der Einfachheit halber um viele Zeichen gekürzt wird.

Authentifizierung mit sicheren Schlüsselpaaren

ssh ist sicherer und bequemer, wenn es mit öffentlichen / privaten Schlüsselpaaren zur Authentifizierung anstelle von Kennwörtern verwendet wird. Die Datei ssh_config kann mithilfe von einen bestimmten Schlüssel für einen bestimmten Host deklarieren IdentityFile Schlüssel.

Wie in den vorherigen Beispielen kann dieser ssh-Befehl mit ssh dev ausgeführt werden, wobei der folgende Befehlszeilenäquivalentbefehl ausgeführt wird:

Andere ssh-Optionen einstellen

Die folgenden ssh-Optionen sind einige der gebräuchlichsten Schlüssel in ssh_config-Dateien.

Compression: Dieser Schlüssel verwendet “Ja” oder “Nein” als Argumente und wird verwendet, um die Komprimierung für einen Host zu deaktivieren. Dies ist normalerweise nicht erforderlich, es sei denn, die Verbindung ist unglaublich langsam.

LogLevel: Legen Sie den Detaillierungsgrad in den clientseitigen ssh-Protokollen fest. Von am wenigsten ausführlich bis am ausführlichsten sind die Optionen RUHIG, FATAL, FEHLER, INFO, VERBOSE, DEBUG1, DEBUG2 und DEBUG3.

StrictHostKeyChecking: Legen Sie eine Voreinstellung für das Hinzufügen von Hosts zur Datei unknown_hosts fest. Mit “Ja” werden niemals bekannte_Hosts hinzugefügt. “Nein” wird immer zu bekannten_Hosts hinzugefügt. “Ask”, die Standardoption, fragt den Benutzer, bevor er zur Datei “unknown_hosts” hinzufügt. “Ja” bietet die größte Sicherheit gegen Trojaner-Angriffe, kann jedoch mit einer schlecht verwalteten Datei “unknown_hosts” mühsam sein. “Nein” ist am wenigsten sicher, kann jedoch die Verbindung zu einer großen Anzahl temporärer Hosts weniger schmerzhaft machen.

UserKnownHostsFile: Geben Sie den Pfad für eine benutzerspezifische Datei unknown_hosts an.

Verbindungsweiterleitung

ssh wird häufig zum Weiterleiten von Verbindungen verwendet, sodass eine lokale Verbindung über eine Remoteverbindung tunneln kann. Die folgenden Optionen können zum Konfigurieren der Verbindungsweiterleitung verwendet werden.

LocalForward: Definieren Sie eine Verbindung, um den Datenverkehr eines lokalen Ports an einen Remotecomputer weiterzuleiten. Dadurch wird die Verbindung über das Remote-Netzwerk unterbrochen.

RemoteForward: Definieren Sie einen Remote-Port, der aus einem lokalen Port getunnelt werden soll. Dies ist die Umkehrung der obigen Option.

DynamicForward: Konfigurieren Sie einen lokalen Port für die Verwendung mit einem dynamischen Weiterleitungsprotokoll.

Fazit

Die meisten Optionen von ssh_config sind vorhanden, um bequemere Möglichkeiten zum Ausführen bestimmter Aufgaben mit dem Befehl ssh bereitzustellen. Auf diese Weise können komplexe Aliase und Verknüpfungen konfiguriert werden, um die Sicherheit zu erhöhen, indem die sichereren Teile von ssh einfacher zu verwenden sind.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Benutzerbild von Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Das könnte dich auch interessieren …

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x