Heim >häufiges Problem >So verhindern Sie, dass der Server von anderen angegriffen wird
Das Sichern eines Servers ist nicht schwierig, aber bei so vielen Routinevorgängen vergisst man es leicht. Deshalb möchte ich hier mit Ihnen darüber sprechen, wie Sie verhindern können, dass andere in den Server eindringen, und gleichzeitig Ihren Eindruck vertiefen. Ich hoffe, dass es Ihnen nach der Lektüre hilfreich sein wird.
Die Situation, auf die ich gestoßen bin, war relativ einfach. Ich habe den folgenden Befehl ausgeführt:
cat /var/log/auth.log | grep Accepted
Dieser Befehl hat den erfolgreichen Authentifizierungsdatensatz auf meinem Server zurückgegeben ist eine IP, die nicht von mir ist. Der SSH-Dienst war also kompromittiert.
Vergessen Sie nicht, dass es einen weiteren Befehl last
gibt, der den zuletzt erfolgreich angemeldeten Benutzer zurückgibt.
Was Sie unmittelbar nach dem Kauf des Servers tun müssen:
/var/log/auth.log
bösartiges Verhalten zu identifizieren und IPs zu sperren Wenn es zu einem Einbruch kommt, müssen Sie wissen, wie man den Einbruch untersucht und beseitigt. Am besten erstellen Sie den VPS neu. Das ist es, was ich tue. Ich habe einen Server von Hetzner gekauft und seine Konsole bietet die Möglichkeit, einen VPS neu zu erstellen (den alten VPS zu entfernen, einen neuen zu erstellen) und die ursprüngliche IP beizubehalten. Also habe ich einen VPS neu erstellt. Anschließend habe ich den SSH-Schlüssel mit dem ssh-keygen
-Tool (Teil des Standard-OpenSSH-Pakets) auf meinem lokalen Computer generiert: (Der folgende Befehl funktioniert sowohl unter Linux als auch unter macOS)
ssh-keygen
Der Befehl befindet sich im ~/.ssh
Verzeichnis Ein Schlüsselpaar wird erstellt. Führen Sie dann den folgenden Befehl aus:
ssh-copy-id you_user@your_server_id
Dieser Befehl lädt den neu erstellten öffentlichen Schlüssel auf den Server hoch. Melden Sie sich als Nächstes beim Server an und ändern Sie die SSHD-Konfiguration:
nano /etc/ssh/sshd_config
Ändern Sie die PasswordAuthentication-Konfiguration in der Konfigurationsdatei:
PasswordAuthentication no
Diese Konfiguration deaktiviert die Passwortanmeldung (zum Anmelden können nur Schlüssel verwendet werden). ).
Das System, das ich auf dem Server verwende, ist Ubuntu, daher können diese beiden Tools über die folgenden Befehle installiert werden:
apt install ufw fail2ban
Öffnen Sie nur SSH und http( s) Port:
ufw allow ssh ufw allow 80 ufw allow 443
ufw aktivieren:
ufw enable
Als nächstes konfigurieren Sie das fail2ban-Tool:
# 备份默认配置 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local nano /etc/fail2ban/jail.local
Suchen Sie in der Konfigurationsdatei nach banaction =
und setzen Sie es auf ufw
. Laden Sie dann die fail2ban-Konfiguration neu:
fail2ban-client reload
Nach einer so einfachen Konfiguration führen drei falsche Anmeldeversuche von derselben IP dazu, dass die IP für 10 Minuten gesperrt wird. Ich persönlich habe die Sperrfrist auf 7 Tage angepasst. Der folgende Befehl kann den Status von fail2ban überprüfen:
fail2ban-client status sshd
Meine Konfiguration sieht so aus:
Status for the jail: sshd |- Filter | |- Currently failed: 1 | |- Total failed: 6 | `- File list: /var/log/auth.log `- Actions |- Currently banned: 1 |- Total banned: 2 `- Banned IP list: 187.109.168.150
Wie Sie sehen können, wurde eine IP von der Firewall blockiert. Wir können dies auch durch den Bericht von ufw bestätigen:
ufw status Status: active To Action From -- ------ ---- Anywhere REJECT 187.109.168.150 80/tcp ALLOW Anywhere 22 ALLOW Anywhere 443 ALLOW Anywhere
Für weitere technische Tutorials achten Sie bitte auf andere Inhalte auf der PHP Chinese-Website.
Das obige ist der detaillierte Inhalt vonSo verhindern Sie, dass der Server von anderen angegriffen wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!