Heim  >  Artikel  >  Betrieb und Instandhaltung  >  SSH-Sicherheitshärtung: Schutz von Linux-SysOps-Umgebungen vor Angriffen

SSH-Sicherheitshärtung: Schutz von Linux-SysOps-Umgebungen vor Angriffen

PHPz
PHPzOriginal
2023-09-26 10:09:031040Durchsuche

SSH安全加固:保护Linux SysOps环境免受攻击

SSH-Sicherheitshärtung: Schutz von Linux-SysOps-Umgebungen vor Angriffen

Einführung:
Secure Shell (SSH) ist ein Protokoll, das häufig für Fernverwaltung, Dateiübertragung und sichere Übertragung verwendet wird. Da SSH jedoch häufig das Ziel von Hackern ist, ist es sehr wichtig, Ihren SSH-Server sicher zu härten. In diesem Artikel werden einige praktische Methoden vorgestellt, mit denen SysOps-Mitarbeiter (Systembetrieb und -wartung) ihre Linux-Umgebung absichern und vor SSH-Angriffen schützen können.

1. Deaktivieren Sie die SSH-ROOT-Anmeldung. Die SSH-ROOT-Anmeldung ist eines der beliebtesten Ziele für Hacker. Hacker können Brute-Force-Cracking oder Angriffe auf bekannte SSH-Schwachstellen nutzen, um über die SSH-ROOT-Anmeldung Administratorrechte zu erlangen. Um dies zu verhindern, ist die Deaktivierung der SSH-ROOT-Anmeldung ein sehr wichtiger Schritt.

Suchen Sie in der SSH-Konfigurationsdatei (normalerweise /etc/ssh/sshd_config) die Option „PermitRootLogin“, ändern Sie ihren Wert in „no“ und starten Sie dann den SSH-Dienst neu. Die geänderte Konfiguration lautet wie folgt:

PermitRootLogin no

2. SSH-Schlüsselauthentifizierung verwenden

SSH-Schlüsselauthentifizierung verwendet einen asymmetrischen Verschlüsselungsalgorithmus, der sicherer ist als die herkömmliche passwortbasierte Authentifizierung. Bei Verwendung der SSH-Schlüsselauthentifizierung muss der Benutzer ein Schlüsselpaar generieren, der öffentliche Schlüssel wird auf dem Server und der private Schlüssel auf dem Client gespeichert. Wenn sich ein Benutzer anmeldet, bestätigt der Server die Identität des Benutzers, indem er die Richtigkeit des öffentlichen Schlüssels überprüft.

So generieren Sie SSH-Schlüssel:

    Verwenden Sie den Befehl ssh-keygen auf dem Client, um ein Schlüsselpaar zu generieren.
  1. Kopieren Sie den generierten öffentlichen Schlüssel in die Datei ~/.ssh/authorized_keys des Servers.
  2. Stellen Sie sicher, dass die Berechtigungen der privaten Schlüsseldatei auf 600 eingestellt sind (d. h. nur der Eigentümer kann lesen und schreiben).
Nach Abschluss der oben genannten Schritte können Sie die Passwortanmeldung deaktivieren und nur die Schlüsselanmeldung zulassen. Ändern Sie in der SSH-Konfigurationsdatei die Option „PasswordAuthentication“ auf „no“ und starten Sie dann den SSH-Dienst neu.

PasswordAuthentication no

3. Ändern Sie den SSH-Port

Standardmäßig lauscht der SSH-Server auf Port 22. Da dieser Port öffentlich ist, ist er anfällig für Brute-Force-Angriffe oder Port-Scans. Um die Sicherheit zu verbessern, können wir den Überwachungsport des SSH-Servers ändern.

Suchen Sie in der SSH-Konfigurationsdatei die Option „Port“ und stellen Sie sie auf eine unkonventionelle Portnummer ein, z. B. 2222. Denken Sie daran, den SSH-Dienst neu zu starten.

Port 2222

4. Verwenden Sie eine Firewall, um den SSH-Zugriff einzuschränken.

Die Konfiguration einer Firewall ist einer der wichtigen Schritte zum Schutz des Servers. Durch den Einsatz einer Firewall können wir den SSH-Zugriff nur auf bestimmte IP-Adressen oder IP-Adressbereiche beschränken.

Mit der iptables-Firewall können Sie den folgenden Befehl ausführen, um den SSH-Zugriff einzuschränken:

sudo iptables -A INPUT -p tcp --dport 2222 -s IP-Adresse, auf die zugegriffen werden darf -j ACCEPT

sudo iptables -A INPUT -p tcp -- dport 2222 -j DROP

Der obige Befehl ermöglicht der angegebenen IP-Adresse den Zugriff auf SSH und blockiert den Zugriff von allen anderen IP-Adressen. Denken Sie daran, die Firewall-Regeln zu speichern und anzuwenden.

5. Verwenden Sie Fail2Ban, um schädliche IPs automatisch zu blockieren.

Fail2Ban ist ein Tool, das Protokolldateien automatisch überwachen und schädliches Verhalten blockieren kann. Durch die Überwachung fehlgeschlagener SSH-Anmeldungen kann Fail2Ban die IP-Adressen von Angreifern automatisch blockieren.

Öffnen Sie nach der Installation von Fail2Ban dessen Konfigurationsdatei (normalerweise /etc/fail2ban/jail.conf) und konfigurieren Sie Folgendes:

[sshd]

enabled = true
port = 2222
filter = sshd
maxretry = 3
findtime = 600
bantime = 3600

Die obige Konfiguration bedeutet, dass eine IP-Adresse automatisch für 1 Stunde blockiert wird, wenn sie innerhalb von 10 Minuten mehr als dreimal versucht, sich per SSH anzumelden. Nachdem die Konfiguration abgeschlossen ist, starten Sie den Fail2Ban-Dienst neu.

Zusammenfassung:

Durch die Deaktivierung der SSH-ROOT-Anmeldung, die Verwendung der SSH-Schlüsselauthentifizierung, das Ändern von SSH-Ports, die Verwendung von Firewalls zur Einschränkung des SSH-Zugriffs und die Verwendung von Fail2Ban können wir die Linux-SysOps-Umgebung effektiv absichern und vor SSH-Angriffen schützen. Im Folgenden sind einige praktische Methoden aufgeführt, mit denen SysOps-Mitarbeiter geeignete Sicherheitsmaßnahmen auswählen und entsprechend der tatsächlichen Situation umsetzen können. Gleichzeitig ist die regelmäßige Aktualisierung und Überwachung der Software und Patches auf dem Server auch ein Schlüssel zum Schutz des Servers vor Angriffen. Nur wenn wir wachsam bleiben und geeignete Sicherheitsmaßnahmen ergreifen, können wir die Sicherheit unserer Linux-Umgebung gewährleisten.

Das obige ist der detaillierte Inhalt vonSSH-Sicherheitshärtung: Schutz von Linux-SysOps-Umgebungen vor Angriffen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn