Als IT-Experte ist es eine Herausforderung, sich über Sicherheitslücken und Bedrohungen auf dem Laufenden zu halten. System-Patch-Updates, Server- und Netzwerkhärtung sind die wichtigsten Faktoren, um Sicherheitsbedrohungen zu verhindern. Das Härten von Linux-Servern und Netzwerkgeräten ist wichtig, um IT-Schwachstellen zu reduzieren und vor einer Systemkompromittierung zu schützen. In diesem Artikel lernen wir einige Best Practices kennen, die für die Härtung von Linux-Servern verwendet werden. Zu Demonstrationszwecken wird CentOS/RHEL-Server verwendet, sodass einige Konfigurationen auf anderen Linux-Distributionen anders sein können.
Linux-Server aktualisieren
Es ist notwendig, Ihr System auf dem neuesten Stand zu halten. Möglicherweise gibt es Sicherheitspatch-Updates für anfällige Komponenten. Führen Sie den folgenden Befehl aus, um das System zu aktualisieren.
$ yum update -y
Firewall aktivieren und konfigurieren
Die meisten Linux-Server werden mit einem installierten Firewalld-Paket geliefert. Stellen Sie sicher, dass die Firewall im System ausgeführt wird. Im Linux-System kann das Befehlszeilendienstprogramm firewall-cmd verwendet werden, um die Firewall-Regeln zu konfigurieren.
Starten und aktivieren Sie den Firewall-Dienst
$ systemctl start firewalld
$ systemctl enable firewalld
Um bestimmte Dienste und Ports hinzuzufügen, verwenden Sie die folgende Syntax
$ firewall-cmd --add-service=http --permanent (Allow http service)
$ firewall-cmd --add-port=8000/tcp --permanent (Allow specific port)
Um die Änderungen widerzuspiegeln, laden Sie die Firewall neu.
$ firewall-cmd --reload
USB-Laufwerke blockieren
In einem Linux-System kann der USB-Speicher eingeschränkt werden, indem eine Konfigurationsdatei unter /etc/modprobe.d/ erstellt wird Verzeichnis.
Erstellen Sie eine Konfigurationsdatei
$ touch /etc/modprobe.d/usb_block.conf
$ echo “install usb-storage /bin/false” > /etc/modprobe.d/usb_block.conf
Unerwünschte Benutzer und Gruppen entfernen
Einige Benutzer und Gruppen sind dem System bereits standardmäßig hinzugefügt, was nicht erforderlich ist. Entfernen Sie solche Benutzer und Gruppen.
$ userdel postfix
$ groupdel postfix
$ userdel games
$ groupdel games
Suchen Sie nach solchen Benutzern und Gruppen und löschen Sie sie, wenn sie nicht benötigt werden.
Unerwünschte Pakete entfernen
Einige Pakete sind bereits standardmäßig im Linux-System installiert. Zum Beispiel kommt postfix standardmäßig und der Dienst startet, wenn das System hochgefahren ist. Identifizieren Sie solche Dienste und entfernen Sie sie
$ yum remove postfix -y
Passwortrichtlinie konfigurieren
Auf der Linux-Maschine wird die Kennwortrichtlinie in der Datei /etc/login.defs angegeben. Nehmen Sie wie folgt Änderungen an den Kennwortrichtlinienparametern vor.
PASS_MAX_DAYS 90 PASS_MIN_DAYS 1 PASS_MIN_LENTH 8 PASS_WARN_AGE 30
Beispiel:
SSH konfigurieren
Um unbefugten SSH-Zugriff und Angriffe zu verhindern, nehmen Sie die folgenden Änderungen in der Datei /etc/ssh/sshd_config vor.
# Set the custom ssh port Port 8022 # Prevent from root login PermitRootLogin no # Restrict Empty password PermitEmptyPasswords no # Restrict host-based authentications HostbasedAuthentication no IgnoreRhosts yes # Use ssh protocol 2 Protocol 2 # Disable tools that have GUI X11Forwarding no
Überprüfen Sie die Konfiguration mit dem folgenden Befehl.
$ sshd -t
SSH-Dienst neu starten
$ systemctl restart sshd
Umask
Einige Dateien erfordern eine Umask-Härtung.
$ sed -i -e 's/umask 022/umask 027/g' -e 's/umask 002/umask 027/g' /etc/profile
$ sed -i -e 's/umask 022/umask 027/g' -e 's/umask 002/umask 027/g' /etc/csh.cshrc
$ sed -i -e 's/umask 022/umask 027/g' -e 's/umask 002/umask 027/g' /etc/init.d/functions
$ sed -i -e 's/umask 022/umask 027/g' -e 's/umask 002/umask 027/g' /etc/bashrc
Core-Dump deaktivieren
Core Dump speichert Informationen eines ausführbaren Programms. Es kann verwendet werden, um festzustellen, warum das Programm abgebrochen wurde. Core-Dump kann auch verwendet werden, um vertrauliche Informationen aus einer Core-Datei abzurufen. Verwenden Sie den folgenden Befehl, um Core-Dump zu deaktivieren.
$ echo “* hard core 0” >>/etc/security/limits.conf
Systemüberwachungstools verwenden
Der Einsatz von Sicherheitstools macht es einfach, Systemstörungen zu identifizieren. Eines der kostenlosen Open-Source-Tools ist lynis, mit dem eine regelmäßige Überprüfung des Systems durchgeführt werden kann. Alle Befunde werden auf dem Bildschirm angezeigt und auch in der Protokolldatei gespeichert.
Installieren Sie das Tool
$ yum install epel-release -y
$ yum install lynis
Prüfen Sie das System mit dem folgenden Befehl
$ lynis audit system
Es werden Vorschläge und Warnungsergebnisse in der Protokolldatei gespeichert. Führen Sie den folgenden Befehl aus, um das Ergebnis anzuzeigen und entsprechend zu lösen.
$ grep Suggestion /var/log/lynis.log
Ausgabe:
$ grep Warning /var/log/lynis.log
Schlussfolgerung
In diesem Artikel haben wir einige Best Practices zum Härten von Linux-Systemen kennengelernt. Wenn Sie Tipps und Tricks zum Sichern eines Linux-Servers haben, vergessen Sie nicht, einen Kommentar im Feld unten zu hinterlassen.