Eines der am häufigsten verwendeten Sicherheitsprotokolle zum Herstellen von Verbindungen in UNIX-Umgebungen ist das SSH-Protokoll (Secure Shell), das eine Reihe von speziellen Funktionen und Merkmalen zum Schutz der Daten und Verbindungen bietet.
SSH ist ein Protokoll, das speziell für die Sicherheit der Kommunikation zwischen zwei Systemen über das Client / Server-Modell entwickelt wurde und mit dem Benutzer eine Remoteverbindung zu einem Host herstellen können .
Eine der Hauptfunktionen von SSH besteht darin, dass die Verbindungssitzung verschlüsselt wird, wodurch verhindert wird, dass Benutzer nicht verschlüsselte Kennwörter erhalten.
- Sobald die anfängliche Verbindung hergestellt ist, kann der Client überprüfen, ob er eine Verbindung zu demselben Server herstellt, mit dem er zuvor verbunden war
- Der Client sendet die Authentifizierungsinformationen über eine 128-Bit-Verschlüsselung an den Server
- Alle während der Sitzung gesendeten und empfangenen Daten werden durch 128-Bit-Verschlüsselung übertragen, was das Entschlüsseln und Lesen erschwert
- Der Client hat die Möglichkeit, X11-Anwendungen vom Server weiterzuleiten. Dies ist eine von X11 als Weiterleitung bezeichnete Technik, mit der Grafikanwendungen sicher über ein lokales oder externes Netzwerk verwendet werden können
In den Linux-Betriebssystemen befindet sich die SSH-Konfigurationsdatei nun im Pfad / etc / ssh / ssh_config. Dank dieser Datei können alle Sicherheitsmaßnahmen für die SSH-Verbindungen durchgeführt werden.
Bei macOS-Systemen befindet sich diese Datei im Pfad / private / etc / ssh / ssh_config und ist aus Kompatibilitätsgründen symbolisch mit / etc / ssh / ssh_config verknüpft.
Bei der Bearbeitung dieser Datei müssen wir Folgendes beachten.
- Leerzeilen und Zeilen, die mit ‘#’ beginnen, sind Kommentare
- Jede Zeile beginnt mit einem Schlüsselwort, gefolgt von einem oder mehreren Argumenten.
- Die Konfigurationsoptionen können durch optionale Leerzeichen oder Leerzeichen und ein = Zeichen getrennt werden
- Argumente können in doppelte Anführungszeichen (“) eingeschlossen werden, um Argumente anzugeben, die Leerzeichen enthalten
1. So bearbeiten Sie die Linux-Datei ssh_config
Um diese Datei zu bearbeiten, um unsere eigenen Werte zu ermitteln, müssen wir mit einem Editor Folgendes ausführen:
sudo nano / etc / ssh / ssh_config
Wir werden folgendes sehen:
Die Datei ssh_config ist nach Hosts organisiert. Dort enthält jeder Host spezifische Konfigurationen für diesen bestimmten Host, wobei wir Platzhalter wie * verwenden können, um mehrere Hostnamen mit einer einzigen Deklaration abzugleichen.
Einige der Parameter, die wir in dieser Datei verwenden können, sind:
Als Nächstes erhalten Sie einige praktische Tipps, um die Sicherheit von SSH-Verbindungen zu Linux zu verbessern und so die besten Zugriffsfunktionen zu erhalten.
2. So blockieren Sie SSH Linux-Dateien
Der erste Schritt vor dem Bearbeiten der Datei besteht darin, sicherzustellen, dass sowohl in der Datei ssh_config als auch in der Datei sshd_config der Besitzer und der Benutzer als root konfiguriert sind, da dies der Superuser von Linux ist und niemand besser als dieser der Besitzer ist.
Dazu führen wir Folgendes aus:
sudo chown root: root / etc / ssh / sshd_config sudo chmod og-rwx / etc / ssh / sshd_config
3. So bestätigen Sie das Linux-Protokoll für SSH Version 2
Version 2 von SSH verfügt über einen verbesserten Schlüsselaustauschalgorithmus, der für die Sicherheitslücke in Version 1 nicht anfällig ist, wodurch die Gesamtsicherheit der Verbindungen verbessert wird. Daher ist es ideal, zu bestätigen, dass das neue Protokoll 2 verwendet wird Ort des Protokolls 1 und dafür müssen wir die folgende Zeile in der Datei ssh_config bestätigen:
Protokoll 2
Dort können wir das Protokoll auch implizit über Ciphers konfigurieren, wodurch automatisch Protocol in 2 erstellt wird, um moderne Ciphers zu verwenden. Dafür validieren wir die folgende Zeile direkt unter der Protocol-Zeile:
Ziffern aes128-ctr, aes192-ctr, aes256-ctr
4. Deaktivieren leerer SSH-Linux-Kennwörter
Es ist wichtig zu überprüfen, dass jedes SSH-Konto beim Anmelden ein Kennwort verwenden muss, indem leere Kennwörter blockiert werden, die einen einfachen Zugriff ermöglichen und Sicherheitsrisiken im System verursachen. Um dies zu überprüfen, verwenden wir die folgende Zeile oder fügen sie vor dem Symbol hinzu, falls sie nicht vorhanden ist #:
PermitEmptyPasswords nicht
5. So deaktivieren Sie die SSH Linux-Root-Anmeldung
Durch das Vermeiden der Anmeldung des Root-Benutzers können bestimmte Konten gesperrt und nicht im gesamten System verwendet werden. Die Optionen für PermitRootLogin lauten “yes”, “without-password”, “forced-commands-only” oder ” nein. ” Der Standardwert ist “yes”. Um die Root-Anmeldung vollständig zu stoppen, verwenden wir die folgende Zeile:
PermitRootLogin nicht
6 So richten Sie einen neuen Linux-SSH-Port ein
Standardmäßig ist SSH der Port 22 zugewiesen, sodass Angreifer mit Sicherheit wissen, auf welchen Port sie zugreifen, um ihre Angriffe auszuführen. Eine gute Sicherheitsmethode besteht darin, diesen Port standardmäßig zu ändern und nur autorisierten Benutzern anzuzeigen. der neue Hafen.
Dazu müssen wir die Port-Zeile lokalisieren und die folgende Syntax hinzufügen:
Port XXXXX
7. So beschränken Sie den SSH-Linux-Zugriff
Wenn der Zugriff auf den SSH-Server aus mehreren Benutzern besteht, können bestimmte Einschränkungen angewendet werden, um Gruppen zu erstellen, in denen diese Benutzer enthalten sind. Dies ist durch Hinzufügen von Schlüsselwörtern wie den folgenden möglich:
AllowUsers (Ermöglicht den Benutzerzugriff) AllowGroups (Ermöglicht Gruppenzugriff) DenyUsers (Benutzerzugriff einschränken) DenyGroups (beschränkt den Gruppenzugriff)
Beispielsweise können wir in der Konfigurationsdatei Folgendes ausführen:
AllowUsers TechnoWikis-Tests DenyGroups-Test
8. So aktualisieren Sie die Grace Time von SSH Linux
Standardmäßig kann ein Benutzer zwei Minuten lang inaktiv bleiben, ohne sich anzumelden. Dies dient dazu, nicht autorisierte Verbindungen zum System zu verhindern. Diesmal können wir sie in der LoginGraceTime-Zeile bearbeiten und diese erhöhen oder verringern Zeit:
LoginGraceTime 1m
9. So erstellen Sie einen Alias SSH Linux
In den SSH-Konfigurationen kann ein Alias angegeben werden, mit dem über einen Port eine Verbindung zu einem bestimmten Server hergestellt werden kann. Definierte Benutzer können beispielsweise Folgendes hinzufügen:
Host-Entwickler Hostname dev.solvetic.com Port 3333 Benutzer TechnoWikis
In diesem speziellen Fall müssen wir wie folgt zugreifen:
ssh [email protected] -p 3333
10 Authentifizierung mit sicheren Schlüsseln SSH Linux
ssh ist viel sicherer und nützlicher, wenn es mit öffentlichen / privaten Schlüsselpaaren für Authentifizierungsprobleme verwendet wird, anstatt Passwörter zu verwenden. Die Datei ssh_config kann mit dem IdentityFile-Schlüssel einen bestimmten Schlüssel für einen bestimmten Host deklarieren. In diesem Fall würden wir Folgendes eingeben:
Host-Entwickler Hostname dev.solvetic.com Port 3333 Benutzer TechnoWikis IdentityFile ~ / .ssh / dev.solvetic.key
In diesem Fall wäre die Verbindung wie folgt:
ssh -i ~ / .ssh / dev.solvetic.key [email protected] -p 3333
Einige zusätzliche Parameter sind:
Daher haben wir verschiedene Möglichkeiten, um die Sicherheit und die SSH-Konnektivität unter Linux zu verbessern.