Heim > häufiges Problem > So verhindern Sie, dass der Server von anderen angegriffen wird

So verhindern Sie, dass der Server von anderen angegriffen wird

little bottle
Freigeben: 2019-04-30 09:57:18
nach vorne
3243 Leute haben es durchsucht

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.

So finden Sie Schwachstellen

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
Nach dem Login kopieren

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.

So härten Sie den Server aus

Was Sie unmittelbar nach dem Kauf des Servers tun müssen:

  • Installieren Sie ufw, einfach und unkompliziert -zu verwendende Firewall-Software;
  • Schließen Sie alle Ports außer SSH und HTTP(s);
  • Installieren und konfigurieren Sie das fail2ban-Tool. Dieses Tool basiert darauf, /var/log/auth.log bösartiges Verhalten zu identifizieren und IPs zu sperren
  • die SSHD-Konfiguration so zu ändern, dass nur die Schlüsselauthentifizierung verwendet wird.

Wie geht das konkret?

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

Ändern Sie die PasswordAuthentication-Konfiguration in der Konfigurationsdatei:

PasswordAuthentication no
Nach dem Login kopieren

Diese Konfiguration deaktiviert die Passwortanmeldung (zum Anmelden können nur Schlüssel verwendet werden). ).

UFW und fail2ban installieren und konfigurieren

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
Nach dem Login kopieren

Öffnen Sie nur SSH und http( s) Port:

ufw allow ssh
ufw allow 80
ufw allow 443
Nach dem Login kopieren

ufw aktivieren:

ufw enable
Nach dem Login kopieren

Als nächstes konfigurieren Sie das fail2ban-Tool:

# 备份默认配置
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local
Nach dem Login kopieren

Suchen Sie in der Konfigurationsdatei nach banaction = und setzen Sie es auf ufw . Laden Sie dann die fail2ban-Konfiguration neu:

fail2ban-client reload
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage