Zum Inhalt springen

Hardening/Linux: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
'''Hardening/Linux''' - Linux gegen Angriffe härten
'''Hardening/Linux''' - Linux gegen Angriffe härten


== [[Hardening/Linux/Kernel|Kernel-Hardening]] ==
== Kernel-Hardening ==
* [[Hardening/Linux/Kernel]]


== Mount-Optionen ==
== Mount-Optionen ==
Härtung auf Dateisystemebene reduziert die Auswirkungen lokaler Angriffe und Fehlkonfigurationen.
Härtung auf Dateisystemebene reduziert die Auswirkungen lokaler Angriffe und Fehlkonfigurationen
 
* Separate Partitionen für Daten- und Systembereiche (z.B. ''/home'', ''/var'', ''/tmp'') vorsehen, sofern möglich
* Separate Partitionen für Daten- und Systembereiche (z.B. ''/home'', ''/var'', ''/tmp'') vorsehen, sofern möglich
* Mount-Optionen wie ''nodev'', ''nosuid'' und ''noexec'' für geeignete Dateisysteme verwenden, um die Ausführung oder Nutzung bestimmter Objekttypen zu unterbinden
* Mount-Optionen wie ''nodev'', ''nosuid'' und ''noexec'' für geeignete Dateisysteme verwenden, um die Ausführung oder Nutzung bestimmter Objekttypen zu unterbinden
Zeile 11: Zeile 11:


== [[Hardening/Linux/SSH|SSH-Hardening]] ==
== [[Hardening/Linux/SSH|SSH-Hardening]] ==
[[SSH]] ist typischer Einstiegspunkt für Angriffe und sollte besonders restriktiv konfiguriert werden.
[[SSH]] ist typischer Einstiegspunkt für Angriffe und sollte besonders restriktiv konfiguriert werden
 
* Schlüsselbasierte Authentifizierung bevorzugen und Passwörter, wo möglich, deaktivieren
* Schlüsselbasierte Authentifizierung bevorzugen und Passwörter, wo möglich, deaktivieren
* Root-Login einschränken oder deaktivieren und administrative Zugriffe über dedizierte Benutzerkonten mit ''sudo'' abbilden
* Root-Login einschränken oder deaktivieren und administrative Zugriffe über dedizierte Benutzerkonten mit ''sudo'' abbilden
Zeile 18: Zeile 17:


== Firewall ==
== Firewall ==
Eine hostbasierte [[Firewall]] begrenzt eingehenden und ausgehenden Verkehr auf das notwendige Minimum.
Eine hostbasierte [[Firewall]] begrenzt eingehenden und ausgehenden Verkehr auf das notwendige Minimum
 
* Default-Deny-Policy für eingehenden Verkehr, explizite Freigabe nur benötigter Ports und Protokolle
* Default-Deny-Policy für eingehenden Verkehr, explizite Freigabe nur benötigter Ports und Protokolle
* Trennung von Verwaltungs-, Anwendungs- und Datenverkehr durch Zonen oder separate Regeln
* Trennung von Verwaltungs-, Anwendungs- und Datenverkehr durch Zonen oder separate Regeln
Zeile 31: Zeile 29:


== Audit und Logging ==
== Audit und Logging ==
Strukturiertes Logging unterstützt Erkennung, Analyse und Nachweis sicherheitsrelevanter Ereignisse.
Strukturiertes Logging unterstützt Erkennung, Analyse und Nachweis sicherheitsrelevanter Ereignisse
 
* Zentrale Sammlung von System- und Anwendungslogs (z.B. [[Systemd/Journald|journald]], klassische Logfiles, Audit-Subsystem)
* Zentrale Sammlung von System- und Anwendungslogs (z.B. [[Systemd/Journald|journald]], klassische Logfiles, Audit-Subsystem)
* Klare Aufbewahrungs- und Rotationsrichtlinien für Logs definieren
* Klare Aufbewahrungs- und Rotationsrichtlinien für Logs definieren
Zeile 38: Zeile 35:


== Rechtemanagement ==
== Rechtemanagement ==
Sauberes Identitäts- und Rechtemanagement reduziert das Risiko von Fehlbedienung und Missbrauch.
Sauberes Identitäts- und Rechtemanagement reduziert das Risiko von Fehlbedienung und Missbrauch


* Minimalprinzip für Berechtigungen umsetzen (Least Privilege)
* Minimalprinzip für Berechtigungen umsetzen (Least Privilege)
Zeile 45: Zeile 42:


== Dienste ==
== Dienste ==
Jeder aktive Dienst erweitert die Angriffsfläche des Systems.
Jeder aktive Dienst erweitert die Angriffsfläche des Systems
 
* Nicht benötigte Pakete, Dienste und Timer entfernen oder deaktivieren
* Nicht benötigte Pakete, Dienste und Timer entfernen oder deaktivieren
* Nur notwendige Netzwerk-Listener bereitstellen; interne Dienste möglichst auf lokale Schnittstellen binden
* Nur notwendige Netzwerk-Listener bereitstellen; interne Dienste möglichst auf lokale Schnittstellen binden
Zeile 52: Zeile 48:


== Physischer Zugriff ==
== Physischer Zugriff ==
Physischer Zugriff ermöglicht oft das Umgehen logischer Schutzmechanismen.
Physischer Zugriff ermöglicht oft das Umgehen logischer Schutzmechanismen
 
* Einsatz von Datenträgerverschlüsselung für sensible Systeme und Datenbestände prüfen
* Einsatz von Datenträgerverschlüsselung für sensible Systeme und Datenbestände prüfen
* Bootloader-Konfiguration und Start von alternativen Medien kontrollieren
* Bootloader-Konfiguration und Start von alternativen Medien kontrollieren
Zeile 59: Zeile 54:


== Anwendungen und Container ==
== Anwendungen und Container ==
Applikationen und Container sollten nicht nur funktional, sondern auch sicher integriert werden.
Applikationen und Container sollten nicht nur funktional, sondern auch sicher integriert werden


* Standardkonfigurationen von Anwendungen prüfen und auf minimale benötigte Funktionen reduzieren
* Standardkonfigurationen von Anwendungen prüfen und auf minimale benötigte Funktionen reduzieren

Version vom 18. Dezember 2025, 08:25 Uhr

Hardening/Linux - Linux gegen Angriffe härten

Kernel-Hardening

Mount-Optionen

Härtung auf Dateisystemebene reduziert die Auswirkungen lokaler Angriffe und Fehlkonfigurationen

  • Separate Partitionen für Daten- und Systembereiche (z.B. /home, /var, /tmp) vorsehen, sofern möglich
  • Mount-Optionen wie nodev, nosuid und noexec für geeignete Dateisysteme verwenden, um die Ausführung oder Nutzung bestimmter Objekttypen zu unterbinden
  • Kritische Systempfade möglichst restriktiv einhängen (z.B. nur lesbar, sofern der Betriebsfall dies zulässt)

SSH-Hardening

SSH ist typischer Einstiegspunkt für Angriffe und sollte besonders restriktiv konfiguriert werden

  • Schlüsselbasierte Authentifizierung bevorzugen und Passwörter, wo möglich, deaktivieren
  • Root-Login einschränken oder deaktivieren und administrative Zugriffe über dedizierte Benutzerkonten mit sudo abbilden
  • Protokollversion, Kryptosuiten und erlaubte Authentifizierungsverfahren anhand aktueller Sicherheitsrichtlinien auswählen

Firewall

Eine hostbasierte Firewall begrenzt eingehenden und ausgehenden Verkehr auf das notwendige Minimum

  • Default-Deny-Policy für eingehenden Verkehr, explizite Freigabe nur benötigter Ports und Protokolle
  • Trennung von Verwaltungs-, Anwendungs- und Datenverkehr durch Zonen oder separate Regeln
  • Regelwerk regelmäßig prüfen und an Änderungen der Dienste oder Topologie anpassen

Mandatory Access Control (MAC)

MAC-Systeme ergänzen klassische Berechtigungen um kontextabhängige Richtlinien

  • Einsatz von AppArmor, SELinux oder vergleichbaren Mechanismen zur Einschränkung von Prozessen auf das notwendige Minimum
  • Profile für kritische Dienste definieren, testen und kontinuierlich pflegen
  • Alarmierung und Logging von Policy-Verletzungen zur Erkennung fehlerhafter Konfigurationen nutzen

Audit und Logging

Strukturiertes Logging unterstützt Erkennung, Analyse und Nachweis sicherheitsrelevanter Ereignisse

  • Zentrale Sammlung von System- und Anwendungslogs (z.B. journald, klassische Logfiles, Audit-Subsystem)
  • Klare Aufbewahrungs- und Rotationsrichtlinien für Logs definieren
  • Regelmäßige Auswertung und Korrelation von Meldungen (z.B. Anmeldefehler, Policy-Verstöße, Dienstabstürze)

Rechtemanagement

Sauberes Identitäts- und Rechtemanagement reduziert das Risiko von Fehlbedienung und Missbrauch

  • Minimalprinzip für Berechtigungen umsetzen (Least Privilege)
  • Trennung von administrativen und nichtadministrativen Konten
  • Gruppenstrukturen und sudo-Regeln so gestalten, dass nachvollziehbare Verantwortlichkeiten entstehen

Dienste

Jeder aktive Dienst erweitert die Angriffsfläche des Systems

  • Nicht benötigte Pakete, Dienste und Timer entfernen oder deaktivieren
  • Nur notwendige Netzwerk-Listener bereitstellen; interne Dienste möglichst auf lokale Schnittstellen binden
  • Standardkonfigurationen von Diensten prüfen und sicherheitsrelevante Parameter (z.B. TLS, Authentifizierung, Zugriffskontrolle) anpassen

Physischer Zugriff

Physischer Zugriff ermöglicht oft das Umgehen logischer Schutzmechanismen

  • Einsatz von Datenträgerverschlüsselung für sensible Systeme und Datenbestände prüfen
  • Bootloader-Konfiguration und Start von alternativen Medien kontrollieren
  • Firmware-/UEFI-Einstellungen absichern und, wo sinnvoll, mit Passwörtern schützen

Anwendungen und Container

Applikationen und Container sollten nicht nur funktional, sondern auch sicher integriert werden

  • Standardkonfigurationen von Anwendungen prüfen und auf minimale benötigte Funktionen reduzieren
  • Container-Runtimes mit restriktiven Profilen (z.B. Namespaces, seccomp, Capability-Reduktion) betreiben
  • Abhängigkeiten und Images regelmäßig aktualisieren und auf bekannte Schwachstellen prüfen
  • Zur Erhöhung der Sicherheit auf dem Docker-Host kann userns-remap eingesetzt werden


Anhang

Siehe auch

Links

Weblinks

  1. https://www.thomas-krenn.com/de/wiki/Absicherung_eines_Debian_Servers
  2. https://www.kernel.org/doc/html/latest/admin-guide/sysctl/
  3. https://www.fb-pro.com/linux-haerten/
  4. https://www.kuketz-blog.de/linux-systemhaertung-basis-linux-haerten-teil2/
  5. https://netwrix.com/de/resources/guides/linux-hardening-security-best-practices