So konfigurieren Sie die SSH-Linux-Sicherheit

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.

Arten des Schutzes
Bei Verwendung des SSH-Protokolls haben wir folgende Schutzarten:

  • 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.

configure-seguridad-SSH-Linux-1.png

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: configure-seguridad-SSH-Linux-2.png

See also  So öffnen Sie den Windows 10-Task-Manager

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:

Gastgeber
Beschränken Sie Anweisungen, die nur für Hosts gelten, die einem der nach dem Schlüsselwort angegebenen Muster entsprechen.

Spiel
Schränken Sie Anweisungen so ein, dass sie nur für Hosts gelten, die den angegebenen Kriterien entsprechen

AddressFamily
Gibt an, welche Adressfamilie für die Verbindung verwendet werden soll. Die gültigen Argumente sind: any, inet, inet6.

BatchMode
Mit diesem Wert wird die Passwortabfrage deaktiviert und somit ein versehentliches Blockieren einer Passwortabfrage verhindert

BindAddress
Gibt die Verwendung der auf dem lokalen Computer angegebenen Adresse als Quelladresse der Verbindung an.

ChallengeResponseAuthentication
Gibt an, ob die Challenge-Response-Authentifizierung verwendet werden soll. Dies ist hauptsächlich eine geerbte Methode und wurde durch KbdInteractiveAuthentication ersetzt

CheckHostIP
Er weist ssh an, zusätzlich die IP-Adresse des Hosts in der Datei known_hosts zu überprüfen.

Chiffre
Es bezieht sich auf die Verschlüsselung, die zum Verschlüsseln der Sitzung in Protokollversion 1 verwendet wird.

Chiffren
Gibt die Verschlüsselung an, die für Version 2 des Protokolls in der bevorzugten Reihenfolge zulässig ist.

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 

configure-seguridad-SSH-Linux-3.png

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 

configure-seguridad-SSH-Linux-4.png

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 

configure-security-SSH-Linux-5.png

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.

See also  Verbinden Sie Image-Dateien in ISO mit Multiboot CD, DVD oder USB Linux

Dazu müssen wir die Port-Zeile lokalisieren und die folgende Syntax hinzufügen:

 Port XXXXX 

configure-seguridad-SSH-Linux-6.png

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 

configure-seguridad-SSH-Linux-7.png

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:

Kompression (Kompression)
Dort können wir Werte wie yes oder no verwenden, um die Komprimierung für einen Host zu deaktivieren.

LogLevel (Registrierungsebene)
Hiermit können Sie den Detaillierungsgrad in den Datensätzen für den ssh-Client definieren. Die Optionen sind QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG1, DEBUG2 und DEBUG3.

StrictHostKeyChecking
Legen Sie eine Einstellung zum Hinzufügen von Hosts zur Datei known_hosts fest.

Daher haben wir verschiedene Möglichkeiten, um die Sicherheit und die SSH-Konnektivität unter Linux zu verbessern.

See also  Wie Screenshot iPad Pro 2020

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *