Härten (Computer): Unterschied zwischen den Versionen
| (19 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 2: | Zeile 2: | ||
== Beschreibung == | == 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]] | ; Definition des [[National Institute of Standards and Technology]] | ||
<blockquote> | <blockquote> | ||
Ein Prozess, der dazu dient, eine Angriffsmöglichkeit zu eliminieren, indem Schwachstellen gepatcht und nicht benötigte Dienste abgeschaltet werden | |||
</blockquote> | |||
== Ziele == | == Ziele == | ||
; System schaffen, das von vielen, auch weniger vertrauenswürdigen Personen benutzt werden kann | |||
: Beispielsweise gibt es für [[Gentoo Linux]] das ''hardened-Projekt'', das eine [[Linux (Kernel)|Kernel]]-Version sowie weitere Systemdienste zusammenstellt, mit denen ein sicheres [[Linux|Linux-System]] auch für fremde Nutzer bereitgestellt werden kann. | :Beispielsweise gibt es für [[Gentoo Linux]] das ''hardened-Projekt'', das eine [[Linux (Kernel)|Kernel]]-Version sowie weitere Systemdienste zusammenstellt, mit denen ein sicheres [[Linux|Linux-System]] auch für fremde Nutzer bereitgestellt werden kann. | ||
; | ; Ziele von Härtungsmaßnahmen | ||
* | * Reduktion der Möglichkeiten zur Ausnutzung von Verwundbarkeiten | ||
* | * Minimierung der möglichen Angriffsmethoden | ||
* | * Beschränkung der einem [[Hacker|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 | |||
== Methoden == | == Methoden == | ||
=== Netzwerksicherheit === | |||
* | * Schließen aller nicht benötigten [[Port (Protokoll)|Ports]] auf Firewall und Host | ||
* Verwendung | * 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 ([[Whitelisting|IP-White-Lists]], Segmentierung, [[VPN]]-Pflicht) | ||
* | * Erzwingen [[Verschlüsselung|verschlüsselter Verbindungen]] ([[Transport Layer Security|TLS]]) für Verwaltungszugriffe und sensible Protokolle | ||
* Nutzung von [[ | * 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 | |||
; Ein [[Betriebssystem]] | === 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 [[Security-Enhanced Linux|SELinux]], [[AppArmor]] oder anderen [[Mandatory Access Control|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 [[Pluggable Authentication Modules|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 [[Lightweight Directory Access Protocol|LDAP]] oder [[Active Directory]] zur Verwaltung von Konten, Gruppen und Richtlinien | |||
* Umsetzung von Rollen- und Berechtigungskonzepten über Gruppen und Richtlinienobjekte | |||
==== SSH-Zugriff ==== | |||
* Konfiguration von [[Secure Shell|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) | |||
=== Gehärtete Systeme === | |||
Ein [[Betriebssystem]] kann als "gehärtetes System" bezeichnet werden, wenn | |||
* Adressbereiche für [[Programmbibliothek]]en ([[Address Space Layout Randomization|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. | |||
* Bei dem nur die Komponenten und Dienste installiert sind, die zum eigentlichen Betrieb benötigt werden | * Bei dem nur die Komponenten und Dienste installiert sind, die zum eigentlichen Betrieb benötigt werden | ||
* Alle nicht benötigten [[Benutzerkonto|Benutzerkonten]] gelöscht sind | * Alle nicht benötigten [[Benutzerkonto|Benutzerkonten]] gelöscht sind | ||
| Zeile 42: | Zeile 86: | ||
* Straffe Systemrichtlinien vergeben sind | * Straffe Systemrichtlinien vergeben sind | ||
; Weitere Maßnahmen | |||
Härtungsmaßnahmen sind getrennt von anderen Sicherungsmaßnahmen wie Patchzyklen, der Einführung von [[Antivirus|Antivirus-Lösungen]], [[Firewall]]s oder [[Intrusion Detection System|IDS]]/[[Intrusion Prevention System|IPS]] zu betrachten, die komplementäre Methoden der Prävention darstellen. | Härtungsmaßnahmen sind getrennt von anderen Sicherungsmaßnahmen wie Patchzyklen, der Einführung von [[Antivirus|Antivirus-Lösungen]], [[Firewall]]s oder [[Intrusion Detection System|IDS]]/[[Intrusion Prevention System|IPS]] zu betrachten, die komplementäre Methoden der Prävention darstellen. | ||
| Zeile 50: | Zeile 95: | ||
{{Special:PrefixIndex/Härten}} | {{Special:PrefixIndex/Härten}} | ||
=== Dokumentation === | |||
=== Links === | |||
==== Projekt ==== | |||
==== Weblinks ==== | |||
# https://de.wikipedia.org/wiki/H%C3%A4rten_(Computer) | # https://de.wikipedia.org/wiki/H%C3%A4rten_(Computer) | ||
# https://www.thomas-krenn.com/de/wiki/Absicherung_eines_Debian_Servers | # https://www.thomas-krenn.com/de/wiki/Absicherung_eines_Debian_Servers | ||
# [https://www.heise.de/security/meldung/Bundesregierung-verteidigt-neue-Ansaetze-zur-Staerkung-der-IT-Sicherheit-200501.html heise.de] | # [https://www.heise.de/security/meldung/Bundesregierung-verteidigt-neue-Ansaetze-zur-Staerkung-der-IT-Sicherheit-200501.html heise.de] | ||
# [ | # [https://testlab.sit.fraunhofer.de/content/output/article/0605Produktionssicherheit.php fraunhofer.de] | ||
# [https://blogs.technet.microsoft.com/secguide/ Microsoft Security Baselines] | # [https://blogs.technet.microsoft.com/secguide/ Microsoft Security Baselines] | ||
# [https://www.vmware.com/security/hardening-guides.html VMware Hardening Guides] | # [https://www.vmware.com/security/hardening-guides.html VMware Hardening Guides] | ||
| Zeile 74: | Zeile 119: | ||
{{SORTIERUNG:Harten #Computer}} | {{SORTIERUNG:Harten #Computer}} | ||
[[Kategorie:Hardening]] | [[Kategorie:Hardening]] | ||
</noinclude> | |||
Aktuelle Version vom 4. Dezember 2025, 07:51 Uhr
Härten (Computer) - 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
Ziele
- System 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 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
Methoden
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
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)
Gehärtete Systeme
Ein Betriebssystem kann als "gehärtetes System" bezeichnet werden, wenn
- 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.
- Bei dem nur die Komponenten und Dienste installiert sind, die zum eigentlichen Betrieb benötigt werden
- Alle nicht benötigten Benutzerkonten gelöscht sind
- Alle nicht benötigten Ports geschlossen sind
- Restriktive Rechte gesetzt sind
- Straffe Systemrichtlinien vergeben sind
- Weitere Maßnahmen
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.
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks
- https://de.wikipedia.org/wiki/H%C3%A4rten_(Computer)
- https://www.thomas-krenn.com/de/wiki/Absicherung_eines_Debian_Servers
- heise.de
- fraunhofer.de
- Microsoft Security Baselines
- VMware Hardening Guides
- CIS Benchmarks
- DISA (Defense Information Systems) STIG (Security Technical Implementation)
- NIST Computer Security Ressource Center
- Bundesamt für Sicherheit in der Informationstechnik
Blogs mit Konfigurationstipps
- https://www.hosteurope.de/blog/4-tipps-wie-sie-ihren-virtualserver-gegen-hacking-attacken-schuetzen/
- https://www.rechenkraft.net/wiki/Root_Server_absichern_(Ubuntu_14.04)
Checklisten