So schützen Sie CentOS 8 vor häufigen Angriffen

Was brauche ich?

  • Ein dedizierter oder VPS -Linux-Server
  • CentOS

Was ist Betriebssystemhärtung?

Sobald Sie CentOS installiert haben, kommt die Sicherung gegen unbefugten Zugriff und Eindringlinge an zweiter Stelle. Wie das Sprichwort sagt: „Vorbeugen ist besser als heilen“, und das könnte nicht wahrer sein als jetzt. Kriminelle und Hacker versuchen ständig, unsere Server zu untergraben oder die Kontrolle über sie zu übernehmen. Sie müssen dies so wirksam wie möglich verhindern.

  1. Richten Sie eine Firewall ein

  1. Als sicherheitsbewusster und gewissenhafter Administrator sollten Sie nicht einfach beliebigen Datenverkehr auf Ihrem Webserver zulassen. Tatsächlich ist das Einrichten einer Firewall eine der ersten Server-Einrichtungsaufgaben, die ein Systemadministrator durchführen muss, um nur bestimmte Ports zu öffnen und aktuell verwendete Dienste zuzulassen. Standardmäßig arbeiten CentOS 8-Systeme mit der Firewall  firewalld, die beim Start durch Ausführen der folgenden Befehle aktiviert werden kann:
sudo systemctl starte firewalld
sudo systemctl firewalld aktivieren
  1. Um die in der Firewall zugelassenen Dienste zu überprüfen, führen Sie einfach die folgenden Befehle aus:
sudo firewall-cmd --list all
  1. Öffnen Sie dann einen Port auf der Firewall, also Port 443:
sudo firewall-cmd --add-port=443/tcp --zone=public --permanent
  1. Aktivieren Sie dann einen Dienst, z. B. SSH, und geben Sie Folgendes ein:
sudo firewall-cmd --add-service=ssh --zone=public --permanent
  1. Um einen Port und/oder einen Dienst zu entfernen, verwenden Sie die Attribute -remove-port bzw. -remove-service. Damit die Änderungen wirksam werden, laden Sie die Firewall immer wie folgt neu:
sudo firewall-cmd --reload
  1. Deaktivieren Sie ungenutzte/unerwünschte Dienste

  1. Es wird immer empfohlen, alle ungenutzten oder unnötigen Dienste auf Ihrem Webserver zu deaktivieren. Denn je höher die Anzahl der ausgeführten Dienste ist, desto mehr Ports sind auf Ihrem System geöffnet, die von Angreifern ausgenutzt werden können, um sich Zugang zu Ihren Systemen zu verschaffen. Vermeiden Sie außerdem die Verwendung alter und unsicherer Dienste wie Telnet, das Datenverkehr im Klartext sendet. Um ehrlich zu sein, ist das geradezu schwachsinnig.
  2. Best Practices für die Sicherheit empfehlen, ungenutzte Dienste zu deaktivieren und alle unsicheren Dienste zu entfernen, die auf Ihrem System ausgeführt werden. Mit dem Tool nmap können Sie Ihr System scannen und prüfen, welche Ports geöffnet sind und abgehört werden.
  1. Sichern Sie kritische Dateien

  1. Es ist wichtig, alle wichtigen Dateien zu sperren, um ein versehentliches Löschen oder Bearbeiten zu verhindern. Zu diesen Dateien gehören /etc/passwd  und /etc/gshadow , die gehashte Passwörter enthalten. Um sicherzustellen, dass die Dateien unveränderlich sind, also nicht geändert oder versehentlich gelöscht werden können, verwenden Sie den Befehl chattr  wie gezeigt:
sudo chattr +i /etc/passwd
sudo chattr +i /etc/shadow
  1. Dadurch wird sichergestellt, dass ein böswilliger Akteur oder Hacker die Passwörter der Benutzer nicht ändern oder löschen kann, was dazu führen kann, dass die Anmeldung am System verweigert wird.
  1. Sicheres SSH-Protokoll

  1. Das SSH-Protokoll ist ein häufig verwendetes Protokoll für Remote-Anmeldungen. Standardmäßig weist das Protokoll native Schwachstellen auf, die von einem Hacker ausgenutzt werden können.
  2. Standardmäßig ermöglicht SSH die Remote-Anmeldung durch den Root-Benutzer. Dies ist eine potenzielle Lücke, und wenn es einem Hacker gelingt, an das Root-Passwort für Ihr System zu gelangen, ist Ihr Server ihm weitgehend ausgeliefert. Um dies zu verhindern, empfiehlt es sich, die Remote-Root-Anmeldung zu verweigern und stattdessen einen regulären Login-Benutzer mit Sudo-Berechtigungen zu erstellen. Sie können dies ändern, indem Sie die SSH-Konfigurationsdatei /etc/ssh/sshd_config ändern und die Root-Anmeldung wie gezeigt deaktivieren:
PermitRootLogin
  1. Eine weitere Möglichkeit, SSH zu sichern, besteht darin, eine passwortlose SSH- Authentifizierung mithilfe von SSH-Schlüsseln einzurichten . Anstelle der Passwortauthentifizierung, die anfällig für Brute-Force-Angriffe ist, werden SSH-Schlüssel bevorzugt, da sie nur Benutzern mit dem SSH-Schlüssel den Zugang zum Anmelden am Remote-Server ermöglichen und alle anderen Benutzer blockieren. Der erste Schritt zur Aktivierung der passwortlosen Authentifizierung besteht darin, ein Schlüsselpaar mit dem folgenden Befehl zu generieren:
ssh-keygen
  1. Dadurch wird ein öffentliches und privates Schlüsselpaar generiert. Der private Schlüssel befindet sich auf dem Host, während der öffentliche Schlüssel auf das Remote-System oder den Remote-Server kopiert wird. Sobald das SSH-Schlüsselpaar kopiert wurde, können Sie sich beim Remote-System anmelden, ohne zur Eingabe eines Passworts aufgefordert zu werden. Deaktivieren Sie als Nächstes die Passwortauthentifizierung, indem Sie die Konfigurationsdatei /etc/ssh/sshd_config ändern und diesen Wert festlegen:
PasswortAuthentifizierungsnr
  1. Denken Sie daran, den SSH-Dienst neu zu starten, damit die Änderungen wirksam werden:
sudo systemctl sshd neu starten

Nächste Schritte

Tatsächlich liegt noch ein weiter Weg vor uns, um Ihren Linux-Webserver zu sichern. Ich würde empfehlen, Grenzwerte für Passwortversuche festzulegen und ein Intrusion-Prevention-System einzurichten und natürlich daran zu denken, diese Upgrades und Updates stets auf dem neuesten Stand zu halten.

Abschluss

Halten Sie Ausschau nach zukünftigen Artikeln, die sich mit diesem Thema befassen und Ihnen weitere hilfreiche Tipps und Tricks geben, um sicherzustellen, dass Sie Ihre Server und Ihr Webhosting angemessen schützen.

  • Klicken Sie hier, um mehr über das beste Website-Hosting zu erfahren .