GNU/Linux >> LINUX-Kenntnisse >  >> Linux

[Linux]:Die 12 wichtigsten Sicherheitsfunktionen, die im SSH-Server aktiviert werden müssen!

Auf den meisten Linux/Unix-Systemen gibt es einige Möglichkeiten, um remote auf eine Shell (Befehlszeile) zuzugreifen. Eine der älteren Möglichkeiten ist die Verwendung des Telnet-Programms. Der Zugriff auf eine Shell über Telnet stellt ein Sicherheitsrisiko dar, da die Nachrichten, die zwischen Client und Server ausgetauscht werden, im Klartext vorliegen! Jeder, der die Verbindung zwischendurch „schnüffeln“ kann, kann also Ihren Benutzernamen, Ihr Passwort und vieles mehr sehen. Aus diesen Gründen benötigen Sie ein ausgeklügelteres Programm als Telnet, um sich mit einem entfernten Host zu verbinden.

SSH, ein Akronym für Secure SHell, wurde entwickelt und erstellt, um die beste Sicherheit beim Fernzugriff auf einen anderen Computer zu bieten. Es verschlüsselt nicht nur die Sitzung, sondern bietet auch bessere Authentifizierungsmöglichkeiten sowie Funktionen wie sichere Dateiübertragung, X-Sitzungsweiterleitung, Portweiterleitung und mehr, sodass Sie die Sicherheit anderer Protokolle erhöhen können. Das Zulassen der Remote-Anmeldung über SSH ist gut für administrative Zwecke, kann jedoch die Sicherheit Ihres Servers gefährden. Der SSH-Zugriff ist oft das Ziel von Brute-Force-Angriffen und muss ordnungsgemäß eingeschränkt werden, um zu verhindern, dass Dritte Zugriff auf Ihren Server erhalten. In diesem Artikel werden wir sehen, wie man SSH sichert.

Es gibt zwei Konfigurationsdateien „ssh_config“ und „sshd_config“ im Verzeichnis /etc/ssh/. Die Datei ssh_config enthält die Konfiguration für ausgehende SSH-Verbindungen. wobei die Datei sshd_config Konfigurationsparameter enthält, die eingehende SSH-Verbindungen zum Server selbst steuern. ~/.ssh/ ist das SSH-Konfigurationsverzeichnis des Benutzers.

1. So legen Sie starke Benutzernamen/Passwörter fest

Ein SSH-Server, der läuft und der Außenwelt ausgesetzt ist, wäre das Hauptziel von Brute-Force-Angriffen! Typischerweise scannt ein Hacker nach Port 22, um Rechner zu finden, auf denen ssh läuft, und versucht dann einen Brute-Force-Angriff dagegen. Mit starken Passwörtern können Sie Hacker abwehren, bevor sie Erfolg haben. Hoffentlich verwenden Sie bereits sichere Passwörter, aber wenn nicht, versuchen Sie, Passwörter zu wählen, die Folgendes enthalten:

  1. Mindestens 8 Zeichen
  2. Mischung aus Groß- und Kleinbuchstaben
  3. Mischung aus Buchstaben und Zahlen
  4. Nicht alphanumerische Zeichen (z. B. Sonderzeichen wie ! ” £ $ % ^ usw.)

Wenn Ihre Benutzer immer noch schwache Passwörter wählen, erstellen Sie Benutzernamen, die für Hacker schwer zu erraten sind! Dies macht es Hackern schwer, Benutzernamen zu erraten, ohne die sie das Passwort nicht brutal erzwingen können (Stellen Sie sicher, dass Benutzer keine Benutzernamen preisgeben). Vermeiden Sie gebräuchliche Benutzernamen wie admin, henry, bob usw.,

2. So verbieten Sie die Remote-Anmeldung mit leeren Passwörtern

Mit dieser Funktion müssen Sie dem SSH-Server explizit mitteilen, dass er die Remote-Anmeldung für Konten mit leeren Passwörtern verbieten soll. Öffnen Sie mit Ihrem bevorzugten Editor /etc/ssh/sshd_config Datei und suchen Sie nach den folgenden Zeilen:

#PermitEmptyPasswords no

Entfernen Sie das #-Symbol und ändern Sie das nein auf ja .

PermitEmptyPasswords yes

Vergessen Sie nach der Änderung nicht, sshd wie unten gezeigt neu zu starten:

Caution: Follow tip #12 to ensure sshd_config file is error free
/etc/init.d/sshd restart

3. So deaktivieren Sie die Remote-Anmeldung für Root-Benutzer auf einem Linux-Computer

Sie können unseren vorherigen Artikel lesen – So deaktivieren Sie die Remote-Anmeldung für Root-Benutzer auf einem Linux-Computer

4. So erlauben Sie nur bestimmten Benutzern, sich über SSH anzumelden

Sie können unseren vorherigen Artikel lesen – wie Sie bestimmten Benutzerkonten erlauben oder verweigern, sich remote beim Linux-Server anzumelden.

5. So ändern Sie den standardmäßigen SSH-Überwachungsport

Standardmäßig überwacht der SSH-Server Port 22 auf Verbindungen. Angreifer verwenden eine Port-Scanner-Software wie nmap, um nach einem offenen Port zu suchen. Es wird empfohlen, den SSH-Port auf eine Nummer höher als 1024 zu ändern, da die meisten Port-Scanner höhere Ports nicht scannen.

Öffnen Sie mit Ihrem bevorzugten Editor die Datei /etc/ssh/sshd_config und suchen Sie nach der Zeile mit der Aufschrift:

Port 22

Ändern Sie die Portnummer etwa so:

Port 2222

Vergessen Sie nach der Änderung nicht, sshd wie unten gezeigt neu zu starten:

Caution: Follow tip #12 to ensure sshd_config file is error free
/etc/init.d/sshd restart

Sobald die Portnummer des SSH-Servers geändert wurde, können Sie sich aus der Ferne anmelden, indem Sie die Portnummer wie unten gezeigt angeben:

ssh -p 2222 useranme@servername

6. Nur SSH-Protokoll 2 zulassen

Der SSH-Server unterstützt zwei Protokolle, d. h. 1 und 2. Das ältere Protokoll 1 unterliegt Sicherheitsproblemen, einschließlich Man-in-the-Middle und Sicherheitslücken. SSH-Protokoll 2 ist im Vergleich zu Protokoll 1 sicherer. Der SSH-Server auf dem neuesten Betriebssystem wird mit aktiviertem Protokoll 2 ausgeliefert. Falls es sich um mehrere Protokolle handelt, wie unten gezeigt, dann ändern Sie, um nur Protokoll 2 zu aktivieren, wie unten gezeigt:

Öffnen Sie mit Ihrem bevorzugten Editor die Datei /etc/ssh/sshd_config und suchen Sie nach der Zeile mit der Aufschrift:

Protocol 2,1

Ändern Sie die Zeile so, dass nur Protokoll 2 steht!

Protocol 2

Vergessen Sie nach der Änderung nicht, sshd wie unten gezeigt neu zu starten:

Caution: Follow tip #12 to ensure sshd_config file is error free
/etc/init.d/sshd restart

7. Wie beschränkt man die Remote-Anmeldung auf bestimmte Benutzer von bestimmten IP-Adressen ?

Wenn Sie sicher sind, dass Ihr SSH-Server von Benutzern von ganz bestimmten Hosts verwendet wird, z. B.:SSH-Server, auf den nur Benutzer aus einem Unternehmens-LAN zugreifen, dann ist es besser, Benutzern die Anmeldung von einem bestimmten Host zu erlauben. Gehen Sie dazu wie folgt vor:

Öffnen Sie mit Ihrem bevorzugten Editor die Datei /etc/ssh/sshd_config und fügen Sie die folgende Zeile hinzu:

AllowUsers [email protected]

Sie können auch eine Reihe von IPs wie folgt blockieren:

AllowUsers [email protected].*
AllowUsers [email protected].*.*

Vergessen Sie nach der Änderung nicht, sshd wie unten gezeigt neu zu starten:

Caution: Follow tip #12 to ensure sshd_config file is error free
/etc/init.d/sshd restart

8. Wie kann man automatisierte Bot-basierte SSH-Angriffe stoppen ?

Sie können unseren vorherigen Artikel lesen – Wie stoppe ich automatisierte Bot-basierte SSH-Angriffe?

9. How to Hash Known Hosts Files

Weitere Informationen finden Sie in unserem vorherigen Artikel: How to Hash Known Hosts Files of ~/.ssh/ directory

10. So konfigurieren Sie das Zeitüberschreitungsintervall für die Abmeldung bei Leerlauf für SSH

Benutzer melden sich oft remote an und vergessen sich abzumelden! Eine Sitzung im Leerlauf kann zu einem Sicherheitsrisiko führen. Administratoren müssen ein Zeitüberschreitungsintervall für Leerlauf festlegen, um diese Leerlaufsitzungen abzumelden. Um das Timeout-Intervall für die Abmeldung im Leerlauf festzulegen, befolgen Sie die folgenden Richtlinien:

Öffnen Sie mit Ihrem bevorzugten Editor /etc/ssh/sshd_config Datei und suchen Sie nach den folgenden Zeilen:

#ClientAliveInterval 0

Entfernen Sie das #-Symbol und ändern Sie das ClientAliveInterval auf 300 (das Timeout-Intervall ist in Sekunden, dh 300 Sekunden =15 Minuten). Nach Ablauf dieses Intervalls wird der inaktive Benutzer automatisch abgemeldet.

ClientAliveInterval 300

Vergessen Sie nach der Änderung nicht, sshd wie unten gezeigt neu zu starten:

Caution: Follow tip #12 to ensure sshd_config file is error free
/etc/init.d/sshd restart

11. So konfigurieren Sie Log Analyzer für SSH

Die Protokollierung der Benutzeraktivität liefert dem Administrator immer diese zusätzlichen Informationen über die Benutzeraktivität auf dem Server. Darüber hinaus können Tools wie LogWatch Ihnen das Leben erleichtern, indem Sie alle Protokolle für einen bestimmten Zeitraum lesen und einen Bericht in einem benutzerfreundlichen, lesbaren Format erstellen.

Öffnen Sie mit Ihrem bevorzugten Editor /etc/ssh/sshd_config Datei und suchen Sie nach den folgenden Zeilen:

#LogLevel INFO

Entfernen Sie das #-Symbol und starten Sie den sshd-Dienst wie unten gezeigt neu:

Caution: Follow tip #12 to ensure sshd_config file is error free
/etc/init.d/sshd restart

12. Überprüfen Sie die SSH-Konfiguration, bevor Sie den „sshd“-Daemon

neu starten

Während Sie Änderungen an sshd_config vornehmen , stellen Sie sicher, dass Sie keine Fehler hinterlassen haben. Führen Sie den folgenden Befehl aus, um zu prüfen, ob sshd_config Fehler enthält, bevor Sie SSH neu starten Server.

# /usr/sbin/sshd -t

Starten Sie jetzt den Dienst wie folgt neu:

# /etc/init.d/sshd restart

(oder)

# service sshd restart

Linux
  1. Aktivieren Sie die SSH-Root-Anmeldung auf dem Debian-Linux-Server

  2. Top 7 Tipps zur Sicherheitshärtung für CentOS 8 / RHEL 8 Server

  3. So aktivieren Sie den SSH-Dienst in Ubuntu 22.04 LTS

  4. SSH auf CentOS 8 aktivieren - Beste Methode?

  5. SSH-Probleme beheben

So installieren Sie den SSH-Server in Ubuntu 20.04

So aktivieren Sie den SSH-Server unter Ubuntu 22.04

Top 10 SSH-Funktionen, die Sie kennen MÜSSEN, um produktiver zu sein

Verwenden der SSH-Portweiterleitung als Sicherheitstool unter Linux

So aktivieren Sie Ping auf Windows Server 2008 R2

5 Best Practices für Linux SSH-Sicherheit zum Schutz Ihrer Systeme