Firewall, Verschlüsselung, SSH und Kernel-Hardening 10 Tipps für mehr Sicherheit auf Linux-Systemen

Von Thomas Joos 5 min Lesedauer

Anbieter zum Thema

Um Linux-Systeme sicherer zu betreiben, sind nach der Installation noch verschiedene Maßnahmen sinnvoll. In diesem Beitrag und dem dazugehörigen Video zeigen wir einige Möglichkeiten dazu, deren Umsetzung oft schnell erledigt ist.

Wir zeigen 10 wichtige Tipps, wie man die Sicherheit von Linux-Systemen verbessern kann.(Bild:  PAOLO - stock.adobe.com)
Wir zeigen 10 wichtige Tipps, wie man die Sicherheit von Linux-Systemen verbessern kann.
(Bild: PAOLO - stock.adobe.com)

Wir zeigen in diesem Beitrag verschiedene Möglichkeiten zur Absicherung von Linux-Servern. Neben Zusatzlösungen wir Crowdsec, fail2ban, AppArmor oder Auditd, gibt es verschiedene Möglichkeiten, um Linux-Server relativ unkompliziert abzusichern.

Updates installieren ist ein wichtiger Sicherheitsfaktor

Um Linux sicher zu betreiben, ist zunächst die obligatorische Installation von Updates notwendig. Das erfolgt am Beispiel von Debian/Ubuntu zum Beispiel mit „sudo apt update && sudo apt upgrade“. Darüber hinaus gibt es zahlreiche weitere sinnvolle Möglichkeiten, um einen Linux-Server abzusichern.

10 wichtige Tipps, wie man die Sicherheit von Linux-Systemen verbessern kann, zeigen wir im Video und in der Bildergalerie.

Bildergalerie
Bildergalerie mit 8 Bildern

Firewall aktivieren und nutzen

Generell sollten auch auf Linux-Server Firewalls aktiviert werden. Neben der UFW auf Ubuntu-Systemen, lassen sich auch mit Iptables sichere Linux-Server betreiben, ohne UFW zu nutzen. Am Beispiel von UFW erfolgt die Aktivierung auf Ubuntu mit:

sudo ufw enable

Um die sicheren Standard-Regeln zu setzen, reichen folgende Befehle aus:

sudo ufw default deny incomingsudo ufw default allow outgoing

Das reicht für einen sicheren Betrieb auf Dauer nicht aus. Hier ist es sinnvoll in Zukunft weitere Regeln zu erstellen, um den Server so optimal wie nur möglich abzusichern. Die generelle Aktivierung der Firewall und die Definition der Standard-Regeln sind aber ein erster, wichtiger Schritt.

Neben UFW oder der manuellen Konfiguration von Firewalls, ist es durchaus eine Alternative auf Firehol zu setzen. Dieses Linux-Tool erleichtert die einfachere Konfiguration von IPtables. Mit Firehol arbeitet die firewall „stateful“, also zustandsorientiert. Bei diesem Ansatz setzt Firehol bei entsprechender Konfiguration automatisch Regeln für eingehenden Datenverkehr und für ausgehenden Datenverkehr. Die Installation von Firehol erfolgt mit:

sudo apt install firehol

Die Konfiguration erfolgt über die Datei „firehol.conf“. Starten lässt sich Firehol mit:

sudo /etc/init.d/firehol start

Eine Standard-Konfiguration kann mit dem folgenden Befehl geladen werden:

sudo firehol helpme > /tmp/firehol.conf

CrowdSec verwenden

Wir haben im Beitrag „Windows-Server mit CrowdSec IPS vor Cyberattacken schützen“ beschrieben, wie sich Windows-Server mit dem Community-getriebenen IPS CrowdSec schützen lassen. Dieser Ansatz lässt sich für Linux-Server auf die gleiche Art umsetzen und natürlich auch in Firewalls, zum Beispiel auf OPNsense. Vor allem auf Linux-Servern sollte das IPS-System zumindest überdacht werden. Ist das System über das Internet erreichbar, macht die Integration noch mehr Sinn.

Brute-Force-Angriffe mit fail2bean abwehren

Parallel zu CrowdSec kann es sinnvoll sein fail2ban auf einem Server zu installieren, um Angriffe über das Internet oder Brute-Force-Attacken abzuwehren. Die Installation erfolgt mit „sudo apt-get install fail2ban“. Anschließend erfolgt die Konfiguration über die Datei „/etc/fail2ban/jail.conf“. Eigene Regeln lassen sich wiederum über die Datei „/etc/fail2ban/jail.local“ anlegen.

SSH-Zugänge schützen

Der Zugriff per SSH ist auf vielen Servern zur Remote-Verwaltung notwendig. Dennoch ist es sinnvoll den Dienst so weit wie möglich einzuschränken. Die Konfiguration dazu erfolgt über die Datei „sshd_config“, zum Beispiel mit „sudo nano /etc/ssh/sshd_config“. Hier kann der Remote-Zugriff über Root mit dem Parameter „PermitRootLogin no“ gesetzt werden. Generell sollte die Authentifizierung per SSH mit Schlüsseln erfolgen, nicht mit Benutzername und Kennwort. Das lässt sich über „PasswordAuthentication no“ steuern.

10 wichtige Tipps, wie man die Sicherheit von Linux-Systemen verbessern kann, zeigen wir im Video und in der Bildergalerie.

Bildergalerie
Bildergalerie mit 8 Bildern

Mandatory Access Control: AppArmor steuert Zugriffsrechte von Anwendungen

Mit AppArmor lassen sich Berechtigungen für installierte Workloads und Anwendungen steuern. Die Installation implementiert Mandatory Access Control (MAC). AppArmor setzt auf die Linux-Security-Module-Schnittstelle. Das Tool hat die Aufgabe auf höchster Systemebene die Prozesse in Linux zu überwachen und einzuschränken. Die einzelnen Profile dazu lassen sich mit dem Befehl „sudo aa-status“ abfragen. Anpassen lassen sich Profile in der Datei „/etc/apparmor.d/“

System Audit mit Auditd

Auditd ist das Auditing-System des Linux-Kernels. Die Lösung bietet eine Plattform zur Überwachung und Aufzeichnung von Systemaktivitäten. Es ermöglicht Administratoren, detaillierte Audit-Logs zu generieren, die für Sicherheitsüberprüfungen und Compliance-Zwecke zum Einsatz kommen. Die Installation von Auditd erfolgt über den Paketmanager mit „sudo apt-get install auditd“. Nach der Installation ist Auditd standardmäßig aktiviert und beginnt, Systemereignisse zu protokollieren. Die Hauptkonfigurationsdatei befindet sich unter „/etc/audit/auditd.conf“. Hier können Einstellungen wie die Größe und Anzahl der Log-Dateien, die Aufbewahrungsdauer der Logs und das Verhalten bei voller Log-Partition angepasst werden.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Audit-Regeln werden in der Datei „/etc/audit/audit.rules“ definiert. Diese Regeln bestimmen, welche Aktionen und Ereignisse protokolliert werden. Zum Beispiel können Regeln erstellt werden, um den Zugriff auf wichtige Dateien, Änderungen an Benutzer- und Gruppeninformationen oder den Einsatz bestimmter Systembefehle zu überwachen. Mit Befehlen wie „auditctl -l“ können die aktuellen Regeln angezeigt und mit „auditctl -a“ oder „auditctl -d“ neue Regeln hinzugefügt oder bestehende entfernt werden.

Die generierten Audit-Logs werden unter „/var/log/audit/audit.log“ gespeichert. Zur Analyse dieser Logs kann das Tool ausearch verwendet werden, um spezifische Ereignisse oder Muster zu suchen. Für eine detailliertere Analyse und Berichterstellung kann „aureport“ eingesetzt werden, das eine Übersicht über verschiedene Audit-Ereignisse und -Statistiken bietet.

Regelmäßige Überprüfung von Log-Dateien in Linux-Systemen

Die regelmäßige Überprüfung von Log-Dateien ist ein kritischer Bestandteil der Systemüberwachung und Sicherheit in Linux-Umgebungen. Log-Dateien bieten wertvolle Einblicke in das Systemverhalten und sind oft die ersten Anlaufstellen zur Identifizierung von Sicherheitsvorfällen, Fehlfunktionen und Systemfehlern. Tools wie „logwatch“ und „logcheck“ spielen eine zentrale Rolle in der automatisierten Log-Analyse. Sie scannen regelmäßig die Log-Dateien und generieren Berichte über ungewöhnliche oder verdächtige Aktivitäten. logwatch ist dabei besonders nützlich für detaillierte tägliche Zusammenfassungen, während logcheck speziell darauf ausgelegt ist, Anomalien und potenzielle Sicherheitsverletzungen zu identifizieren. Diese Tools helfen, die große Menge an Log-Daten zu filtern und relevante Informationen hervorzuheben, was eine effiziente Überwachung ermöglicht.

Kernel-Hardening-Tools für erhöhte Sicherheit in Linux-Systemen

Kernel-Hardening-Tools sind entscheidend für die Stärkung der Sicherheit auf der tiefsten Ebene eines Linux-Systems. Diese Tools ergänzen die Standard-Sicherheitsmechanismen des Kernels durch zusätzliche Schutzmaßnahmen gegen verschiedene Arten von Angriffen, insbesondere solche, die auf Schwachstellen im Kernel abzielen.

Zu den prominenten Kernel-Hardening-Tools gehören grsecurity und PAX. Grsecurity ist eine umfassende Sicherheitsverbesserung für den Linux-Kernel, die eine Vielzahl von Schutzmechanismen bietet, darunter Role-Based Access Control (RBAC), erweiterte Adressraum-Layout-Randomisierung (ASLR) und weitere Maßnahmen zur Verhinderung von Buffer-Overflow-Angriffen. PAX hingegen konzentriert sich auf die Prävention von Speicherfehlern und implementiert Techniken wie Non-Executable (NX) Speicher und Address Space Layout Randomization (ASLR), um die Ausnutzung von Sicherheitslücken zu erschweren.

Verschlüsselung von Daten mit LUKS

Die Verschlüsselung von Festplatten ist ein entscheidender Sicherheitsaspekt. Unter Linux ist LUKS (Linux Unified Key Setup) eine bewährte Methode, um sensible Daten auf Festplatten zu schützen. Mit LUKS können ganze Partitionen oder Festplatten verschlüsselt werden. Die Implementierung ist relativ unkompliziert und erfordert die Verwendung von Kryptografie-Tools wie "cryptsetup". Durch die Nutzung von LUKS wird die Verwaltung von Verschlüsselungs­schlüsseln erleichtert. Die Einrichtung von LUKS für die Festplatten­verschlüsselung erfolgt über sudo cryptsetup luksFormat /dev/sdX. Für die Erstellung von verschlüsselten Containern verwendet man dm-crypt, um sensible Daten sicher zu speichern.

10 wichtige Tipps, wie man die Sicherheit von Linux-Systemen verbessern kann, zeigen wir im Video und in der Bildergalerie.

Bildergalerie
Bildergalerie mit 8 Bildern

(ID:49882644)