Zum Inhalt springen

Hardening: Unterschied zwischen den Versionen

Aus Foxwiki
DanielZorin (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
DanielZorin (Diskussion | Beiträge)
Zeile 36: Zeile 36:
; Übliche Methoden der Härtung sind beispielsweise
; Übliche Methoden der Härtung sind beispielsweise
{| class="wikitable options big"
{| class="wikitable options big"
|-
! Option !! Beschreibung
|-
|-
| Entfernung oder Deaktivierung von für den Betrieb nicht zwingend erforderlichen Softwarekomponenten ||
| Entfernung oder Deaktivierung von für den Betrieb nicht zwingend erforderlichen Softwarekomponenten ||

Version vom 17. Dezember 2025, 11:11 Uhr

Hardening - Sicherheit eines Systems erhöhen

Beschreibung

Systemhärtung bezeichnet das planvolle Reduzieren der Angriffsfläche eines IT-Systems.

Dazu werden nur die für den Betrieb zwingend benötigten Komponenten installiert und so konfiguriert, dass bekannte Schwachstellen möglichst ausgeschlossen sind.

  • Nicht benötigte Software, Dienste und Schnittstellen werden entfernt oder deaktiviert.
  • Konfigurationen folgen dem Prinzip `default deny` und minimaler Privilegien.
  • Sicherheitsupdates werden regelmäßig und zeitnah eingespielt.
Definition des National Institute of Standards and Technology

Ein Prozess, der dazu dient, eine Angriffsmöglichkeit zu eliminieren, indem Schwachstellen gepatcht und nicht benötigte Dienste abgeschaltet werden

Unter Härten (englisch Hardening) versteht man in der Computertechnik, die Sicherheit eines Systems zu erhöhen, indem nur dedizierte Software eingesetzt wird, die für den Betrieb des Systems notwendig ist und deren unter Sicherheitsaspekten korrekter Ablauf garantiert werden kann.

  • Das System soll dadurch besser vor Angriffen geschützt sein.

Ziel ist es, ein System zu schaffen, das von vielen, auch weniger vertrauenswürdigen Personen benutzt werden kann.

  • Beispielsweise gibt es für Gentoo Linux das hardened-Projekt, das eine Kernel-Version sowie weitere Systemdienste zusammenstellt, mit denen ein sicheres Linux-System auch für fremde Nutzer bereitgestellt werden kann.

Ziele

Ziele von Härtungsmaßnahmen
  • Reduktion der Möglichkeiten zur Ausnutzung von Verwundbarkeiten
  • Minimierung der möglichen Angriffsmethoden
  • Beschränkung der einem Angreifer nach einem erfolgreichen Angriff zur Verfügung stehenden Werkzeuge
  • Minimierung der einem Angreifer nach einem erfolgreichen Angriff zur Verfügung stehenden Privilegien
  • Erhöhung der Wahrscheinlichkeit der Entdeckung eines erfolgreichen Angriffs
  • Verringerung der Komplexität und des Wartungsaufwands, um Konfigurations- und Administrationsfehler zu vermeiden

Ein gehärtetes System kann so gestaltet werden, dass es auch von vielen, teilweise nicht vertrauenswürdigen Benutzern genutzt werden kann, ohne Kernfunktionen oder Daten unnötig zu gefährden

Als Nebenziel der Härtung kann auch eine mögliche Verringerung der Komplexität und des Wartungsaufwands des Systems gesehen werden, die zu einer höheren Beherrschbarkeit und damit einer Minimierung von Administrationsfehlern führen kann.

Methoden

Übliche Methoden der Härtung sind beispielsweise
Entfernung oder Deaktivierung von für den Betrieb nicht zwingend erforderlichen Softwarekomponenten
Verwendung unprivilegierter Benutzerkonten zur Ausführung von Server-Prozessen
Anpassung von Dateisystemrechten und ihrer Vererbung
Verwendung von chroot oder anderen Jails für die Ausführung von Software
Verwendung von Mandatory Access Control
Nutzung von Verschlüsselung, z. B.
  • für Datenübertragung
Verwendung möglichst fehlerfreier Software ohne bekannte Verwundbarkeiten

Netzwerksicherheit

  • Schließen aller nicht benötigten Ports auf Firewall und Host
  • Verwendung nicht standardisierter Ports, soweit Protokolle dies zulassen (Erschwerung automatisierter Scans)
  • Schutz vor Brute-Force-Angriffen (z. B. mit fail2ban oder ähnlichen Mechanismen)
  • Einsatz restriktiver Zugriffslisten (IP-White-Lists, Segmentierung, VPN-Pflicht)
  • Erzwingen verschlüsselter Verbindungen (TLS) für Verwaltungszugriffe und sensible Protokolle
  • Konfiguration von Sitzungs-Timeouts und automatischem Logout bei Inaktivität
  • Protokollierung von Verbindungs- und Anmeldeereignissen in zentralen, manipulationsgeschützten Logs (z. B. Syslog)
  • Deaktivierung direkter Remote-Anmeldung als root und Nutzung von sudo oder ähnlichen Mechanismen

Betriebssysteme

Ein Betriebssystem ist als "gehärtetes System" zu bezeichnen, wenn

Option Beschreibung
ASLR Adressbereiche für Programmbibliotheken (ASLR) und Programme (PIE) zufällig im virtuellen Speicher zugewiesen werden.
  • ASLR kann nur vom Hersteller dieser Bibliotheken zum Erstellungszeitpunkt realisiert werden, nicht nachträglich im Betrieb
Minimalität nur Komponenten und Dienste, die zwingend zum eigentlichen Betrieb benötigt werden
Zugänge Nicht benötigten Benutzerkonten sperren/löschen
Erreichbarkeit Nicht benötigten Ports schließen/sperren
Zugriffsrechte Restriktive Rechte gesetzt sind
Systemrichtlinien straffe Systemrichtlinien vergeben sind

Härtungsmaßnahmen sind getrennt von anderen Sicherungsmaßnahmen wie Patchzyklen, der Einführung von Antivirus-Lösungen, Firewalls oder IDS/IPS zu betrachten, die komplementäre Methoden der Prävention darstellen.

Lokale Betriebssystemhärtung

  • Minimalinstallation des Betriebssystems; Entfernen nicht benötigter Pakete, Bibliotheken und Dienste
  • Aktivierung automatischer Sicherheitsupdates oder Einbindung in eine zentrale Update-Infrastruktur
  • Prüfung und Anpassung der standardmäßigen umask, um zu offene Dateirechte zu vermeiden
  • Härtung von Kernel- und Netzwerkeinstellungen über sysctl (z. B. Aktivierung von ASLR, Einschränkung von SysRq, Deaktivierung unsicherer Protokolloptionen)
  • Einsatz von SELinux, AppArmor oder anderen Mandatory-Access-Control-Systemen, sofern verfügbar
  • Standardisierung von Benutzerkonten und Gruppen, Entfernen überflüssiger Konten, Vergabe minimaler Privilegien
  • Nutzung von sudo mit granularer Rechtevergabe und Protokollierung; Einschränkung oder Deaktivierung von su und direktem root-Login

Umsetzung von Passwort-Richtlinien über PAM:

  • Mindestlänge z. B. mindestens 12 Zeichen
  • Verwendung von Groß-/Kleinbuchstaben, Ziffern und Sonderzeichen
  • Begrenzung der Passwortgültigkeit und Sperren nach Fehlversuchen entsprechend der Schutzanforderung

Zusätzliche Sicherheitskomponenten

  • Betriebssystem-Audit (z. B. 'auditd)
  • Viren-/Malware-Scanner, falls organisatorisch gefordert
  • Integritätsüberwachung von Systemdateien (z. B. AIDE, IMA)
  • Nutzung von Compiler- und Laufzeit-Schutzmechanismen wie PIE, NX, Stack-Canaries, RELRO

Beispiele für Umsetzungen

Zentralisierte Authentifizierung

  • Nutzung zentraler Verzeichnisdienste wie LDAP oder Active Directory zur Verwaltung von Konten, Gruppen und Richtlinien
  • Umsetzung von Rollen- und Berechtigungskonzepten über Gruppen und Richtlinienobjekte

SSH-Zugriff

  • Konfiguration von SSH mit schlüsselbasierter Authentifizierung oder Kombinationen (Schlüssel + Passwort)
  • Einsatz von Zwei-Faktor-Authentifizierung (z. B. TOTP) auf Systemen mit hohen Schutzanforderungen
  • Beschränkung des Zugriffs auf definierte Benutzer und Gruppen (z. B. AllowUsers / AllowGroups)
  • Verwendung von Bastion-Hosts oder SSH-Proxys für den Zugriff auf interne Systeme
  • Einschränkung der erlaubten SSH-Funktionen (z. B. Deaktivierung von Port-Forwarding, X11-Forwarding, unsicheren Ciphers und veralteten Protokollversionen)

Anwendungen und Dienste

  • Betrieb jedes Dienstes unter einem eigenen, unprivilegierten Service-Konto mit minimalen Dateirechten
  • Zusätzliche Isolation kritischer Komponenten durch chroot, Container oder Virtualisierung
  • Trennung von Anwendungs-, Daten- und Verwaltungszugriffen über klar definierte Rollen
  • Einsatz von Geheimnis-Managementsystemen für Passwörter, Schlüssel und Tokens anstelle von Klartext in Repositories, Logs oder env-Dateien
  • Härtung von Konfigurationen von Web- und Anwendungsservern (Header-Security, Limits für Anfragen, Timeouts, Ressourcenlimits)


Anhang

Siehe auch

Dokumentation

Links

Projekt

Weblinks

  1. https://de.wikipedia.org/wiki/H%C3%A4rten_(Computer)
  2. https://www.thomas-krenn.com/de/wiki/Absicherung_eines_Debian_Servers
  3. heise.de
  4. fraunhofer.de
  5. Microsoft Security Baselines
  6. VMware Hardening Guides
  7. CIS Benchmarks
  8. DISA (Defense Information Systems) STIG (Security Technical Implementation)
  9. NIST Computer Security Ressource Center
  10. Bundesamt für Sicherheit in der Informationstechnik

Blogs mit Konfigurationstipps

  1. https://www.hosteurope.de/blog/4-tipps-wie-sie-ihren-virtualserver-gegen-hacking-attacken-schuetzen/
  2. https://www.rechenkraft.net/wiki/Root_Server_absichern_(Ubuntu_14.04)

Checklisten

  1. https://www.thomas-krenn.com/de/tkmag/expertentipps/linux-basierte-root-server-absichern/
  2. Cheat Sheet