GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Linux-Server-Härtung – Best Practices

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.


Ubuntu
  1. Schnelle NFS-Serverkonfiguration auf Redhat 7 Linux System

  2. Top 10 der besten Linux-Desktop-Distributionen im Jahr 2022

  3. SSH-Port auf Ubuntu 20.04 Linux-System ändern - beste Methode?

  4. Best Practices für die Sicherheit von Windows-Servern

  5. Best Practices für WordPress-Sicherheit unter Linux

Die 16 besten Syslog-Server für Linux und Windows

NTP-Server und Best Practices

So überprüfen Sie die Betriebszeit auf einem Linux-Server

So verwalten Sie das Linux-Dateisystem auf Ubuntu Server

FreeIPA-Server auf Alma Linux 8/CentOS 8

Graylog-Überwachungsserver unter Ubuntu Linux für Überwachungsserver/-dienste