GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

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

Sobald Sie Ihren CentOS 8 / RHEL 8-Server installiert haben, steht die Sicherung gegen unbefugten Zugriff und Eindringlinge an zweiter Stelle. Wie das Sprichwort sagt:„Vorbeugen ist besser als heilen“, ist das Vorbeugen von Hacks besser als das Ergreifen von Behebungsversuchen.

Sehen Sie sich ein paar Schritte an, die Sie unternehmen können, um CentOS 8 / RHEL 8-Server zu härten und zu sichern und Hacking-Versuche zu vereiteln.

1) Richten Sie eine Firewall ein

Als sicherheitsbewusster Linux-Benutzer würden Sie aus Sicherheitsgründen nicht einfach jeden Datenverkehr in Ihr CentOS 8 / RHEL 8-System zulassen. Tatsächlich ist das Einrichten einer Firewall eine der anfänglichen Servereinrichtungsaufgaben, die ein Systemadministrator ausführen muss, um nur bestimmte Ports zu öffnen und derzeit verwendete Dienste zuzulassen.

Standardmäßig werden CentsO8 / RHEL 8-Systeme mit firewalld ausgeliefert Firewall, die beim Start gestartet und aktiviert werden kann, indem Sie die folgenden Befehle ausführen:

$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld

Um die auf der Firewall zugelassenen Dienste zu überprüfen, führen Sie einfach den folgenden Befehl aus:

$ sudo firewall-cmd --list all

Um einen Port auf der Firewall zu öffnen, z. B. Port 443, führen Sie den Befehl aus:

$ sudo firewall-cmd --add-port=443/tcp --zone=public --permanent

Um einen Dienst zuzulassen, z. B. ssh , verwenden Sie den Befehl:

$ sudo firewall-cmd --add-service=ssh  --zone=public --permanent

Um einen Port und einen Dienst zu entfernen, verwenden Sie –remove-port und –remove-service Attribute bzw..

Damit die Änderungen wirksam werden, laden Sie die Firewall immer wie gezeigt neu.

$ sudo firewall-cmd --reload

2) Deaktivieren Sie ungenutzte / unerwünschte Dienste

Es wird immer empfohlen, ungenutzte oder unnötige Dienste auf Ihrem Server zu deaktivieren. Denn je höher die Anzahl der laufenden Dienste ist, desto mehr Ports sind auf Ihrem System geöffnet, die von einem Angreifer ausgenutzt werden können, um sich Zugang zu Ihrem System zu verschaffen. Verwenden Sie außerdem keine alten und unsicheren Dienste wie Telnet, die den Datenverkehr im Klartext senden

Bewährte Sicherheitspraktiken empfehlen, nicht verwendete Dienste zu deaktivieren und alle unsicheren Dienste zu entfernen, die auf Ihrem System ausgeführt werden. Sie können das nmap-Tool verwenden um Ihr System zu scannen und zu überprüfen, welche Ports offen sind und abgehört werden.

3) Schützen Sie kritische Dateien

Es ist wichtig, kritische 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 die Dateien unveränderlich zu machen (d. h. Änderungen oder versehentliches Löschen zu verhindern), verwenden Sie den chattr-Befehl wie gezeigt:

$ sudo chattr +i /etc/passwd
$ sudo chattr +i /etc/shadow

Dadurch wird sichergestellt, dass ein Hacker keine Passwörter der Benutzer ändern oder löschen kann, was zu einer Verweigerung der Anmeldung beim System führt.

4) Sicheres SSH-Protokoll

Das SSH-Protokoll ist ein häufig verwendetes Protokoll für Remote-Anmeldungen. Standardmäßig hat das Protokoll native Schwachstellen, die von einem Hacker ausgenutzt werden können.

Standardmäßig erlaubt SSH die Remote-Anmeldung durch den Root-Benutzer. Dies ist ein potenzielles Schlupfloch, und wenn ein Hacker das Root-Passwort für Ihr System erhalten kann, ist Ihr Server ihm ziemlich ausgeliefert. Um dies zu verhindern, ist es ratsam, die Remote-Root-Anmeldung zu verweigern und stattdessen einen regulären Anmeldebenutzer mit sudo-Berechtigungen zu erstellen. Sie können dies bewirken, indem Sie die SSH-Konfigurationsdatei /etc/ssh/sshd_config ändern und die Root-Anmeldung wie gezeigt deaktivieren:

RootLogin zulassen

Eine andere Möglichkeit, SSH zu sichern, besteht darin, die passwortlose SSH-Authentifizierung mithilfe von SSH-Schlüsseln einzurichten. Anstelle der Kennwortauthentifizierung, 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 Remote-Server ermöglichen und alle anderen Benutzer blockieren. Der erste Schritt zur Aktivierung der passwortlosen Authentifizierung ist die Generierung eines Schlüsselpaars mit dem folgenden Befehl:

$ ssh-keygen

Dadurch wird ein öffentliches und ein privates Schlüsselpaar generiert. Der private Schlüssel befindet sich auf dem Host, während der öffentliche Schlüssel auf das entfernte System oder den entfernten Server kopiert wird. Sobald das ssh-Schlüsselpaar kopiert ist, können Sie sich mühelos beim Remote-System anmelden, ohne zur Eingabe eines Passworts aufgefordert zu werden. Deaktivieren Sie als Nächstes die Kennwortauthentifizierung, indem Sie die Konfigurationsdatei /etc/ssh/sshd_config ändern und diesen Wert festlegen:

PasswordAuthentication no

Nachdem Sie die Änderungen vorgenommen haben, müssen Sie den SSH-Dienst neu starten, damit die Änderungen wirksam werden.

$ sudo systemctl restart sshd

5 ) Legen Sie ein Limit für Passwortversuche fest

Um Ihren Server weiter abzusichern, sollten Sie die Anzahl der Kennwortversuche bei der Anmeldung über SSH begrenzen, um Brute-Force-Angriffe abzuwehren. Gehen Sie erneut zur SSH-Konfigurationsdatei, scrollen Sie und suchen Sie den „MaxAuthTries“-Parameter. Entkommentieren Sie es und legen Sie einen Wert fest, zum Beispiel 3 wie gezeigt.

MaxAuthTries 3

Dies bedeutet, dass die Sitzung nach 3 falschen Passwortversuchen geschlossen wird. Dies ist besonders praktisch, wenn Sie Roboterskripte/-programme blockieren möchten, die versuchen, Zugriff auf Ihr System zu erlangen.

6) Richten Sie ein Intrusion Prevention System (IPS) ein

Bisher haben wir die grundlegenden Schritte behandelt, die Sie unternehmen können, um Ihren CentOS 8 / RHEL 8-Server zu härten. Um eine weitere Ebene hinzuzufügen, wird empfohlen, ein Intrusion Detection System zu installieren. Ein perfektes Beispiel für ein IPS ist Fail2ban.

Fail2ban ist ein kostenloses Open-Source-Intrusion-Prevention-System, das Server vor Brute-Force-Angriffen schützt, indem es IP-Adressen nach einer bestimmten Anzahl von Anmeldeversuchen sperrt, die in seiner Konfigurationsdatei angegeben werden kann. Nach der Blockierung kann der böswillige oder nicht autorisierte Benutzer nicht einmal einen SSH-Anmeldeversuch starten.

7) Aktualisieren Sie regelmäßig Ihren Server

Dieser Artikel wäre nicht vollständig, ohne zu betonen, wie wichtig es ist, Ihren Server regelmäßig zu aktualisieren. Dadurch wird sichergestellt, dass Ihr Server die neuesten Funktions- und Sicherheitsupdates erhält, die für die Behebung bestehender Sicherheitsprobleme unerlässlich sind.

Sie können automatische Updates mit dem Cockpit-Dienstprogramm einrichten, einem GUI-basierten Serververwaltungstool, das auch eine Vielzahl anderer Aufgaben ausführt. Dies ist besonders dann ideal, wenn Sie einen längeren Aufenthalt oder Urlaub ohne Zugriff auf den Server planen.


Cent OS
  1. 15 Linux-Härtungsschritte für CentOS 7 Server

  2. SysLog-Server auf CentOS 6 / RHEL 6 einrichten

  3. So erstellen Sie ein SSH-Banner in CentOS/RHEL Server

  4. „Server weigerte sich, pty zuzuweisen“ – Anmeldung bei CentOS/RHEL nicht möglich

  5. Installieren Sie MySQL 5.6 auf CentOS 7 / RHEL 7

Samba-Server auf CentOS 8/RHEL 8 für die Dateifreigabe einrichten

7 effektive Tipps zum Blockieren von E-Mail-Spam mit Postfix auf CentOS/RHEL

So installieren Sie Varnish Cache für Apache unter CentOS/RHEL 8

Best Practices für die Bereitstellung von Hadoop Server auf CentOS/RHEL 7 – Teil 1

CentOS Web Panel – All-in-One kostenloses Webhosting Control Panel für CentOS/RHEL 6

So richten Sie SSH unter CentOS und RHEL ein