Systemhärtung: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' - Kurzbeschreibung
'''Systemhärtung''' - Kurzbeschreibung
 
== Beschreibung ==
== Beschreibung ==
Unter '''Härten''' (englisch Hardening) versteht man in der Computertechnik, die [[Computersicherheit|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.<ref>Claudia Eckert: ''IT-Sicherheit: Konzepte – Verfahren – Protokolle'', 8. Aufl. 2013, S. 181 ([https://books.google.de/books?id=ysvpBQAAQBAJ Auszug bei Google Books])</ref>
Unter '''Härten''' (englisch Hardening) versteht man in der Computertechnik, die [[Computersicherheit|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.


Das [[National Institute of Standards and Technology]] definiert Härten in der [[IT-Sicherheit]] wie folgt: „Ein Prozess, der dazu dient, eine Angriffsmöglichkeit zu eliminieren, indem Schwachstellen gepatcht und nicht benötigte Dienste abgeschaltet werden.“<ref>{{Internetquelle |autor=NIST |url=https://csrc.nist.gov/glossary/term/hardening |titel=Hardening - Glossary {{!}} CSRC |sprache=EN-US |abruf=2021-06-17}}</ref>
Das [[National Institute of Standards and Technology]] definiert Härten in der [[IT-Sicherheit]] wie folgt: „Ein Prozess, der dazu dient, eine Angriffsmöglichkeit zu eliminieren, indem Schwachstellen gepatcht und nicht benötigte Dienste abgeschaltet werden.“


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''<ref>[http://www.gentoo.org/proj/en/hardened/ Das Gentoo hardened-Projekt] Dokumentationsübersicht</ref>, 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.
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 [[Linux (Kernel)|Kernel]]-Version sowie weitere Systemdienste zusammenstellt, mit denen ein sicheres [[Linux|Linux-System]] auch für fremde Nutzer bereitgestellt werden kann.


== Ziele ==
== Ziele ==
In der Praxis haben sich als Ziele von Härtungsmaßnahmen herausgebildet:
{| class="wikitable options"
* die Reduktion der Möglichkeiten zur Ausnutzung von Verwundbarkeiten
|-
* die Minimierung der möglichen Angriffsmethoden
| Reduktion der Möglichkeiten zur Ausnutzung von Verwundbarkeiten ||
* die Beschränkung der einem [[Hacker|Angreifer]] nach einem erfolgreichen Angriff zur Verfügung stehenden Werkzeuge
|-
* die Minimierung der einem Angreifer nach einem erfolgreichen Angriff zur Verfügung stehenden Privilegien
| Minimierung der möglichen Angriffsmethoden ||
* die Erhöhung der Wahrscheinlichkeit der Entdeckung eines erfolgreichen Angriffs
|-
| 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 ||
|}


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.
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 ==
== Methoden ==
Übliche Methoden der Härtung sind beispielsweise:
; Übliche Methoden der Härtung sind beispielsweise
* Entfernung oder Deaktivierung von für den Betrieb nicht zwingend erforderlichen Softwarekomponenten
{| class="wikitable options"
* Verwendung unprivilegierter Benutzerkonten zur Ausführung von Server-Prozessen
|-
* Anpassung von Dateisystemrechten und ihrer Vererbung
! Option !! Beschreibung
* Verwendung von [[chroot]] oder anderen [[Jail]]s für die Ausführung von Software
|-
* Verwendung von [[Mandatory Access Control]]
| Entfernung oder Deaktivierung von für den Betrieb nicht zwingend erforderlichen Softwarekomponenten ||
* Nutzung von [[Verschlüsselung]], z.&nbsp;B. für Datenübertragung
|-
* Verwendung möglichst fehlerfreier Software ohne bekannte Verwundbarkeiten
| Verwendung unprivilegierter Benutzerkonten zur Ausführung von Server-Prozessen ||
|-
| Anpassung von Dateisystemrechten und ihrer Vererbung ||
|-
| Verwendung von [[chroot]] oder anderen [[Jail]]s für die Ausführung von Software ||
|-
| Verwendung von [[Mandatory Access Control]] ||
|-
| Nutzung von [[Verschlüsselung]], z.&nbsp;B. für Datenübertragung
|-
| Verwendung möglichst fehlerfreier Software ohne bekannte Verwundbarkeiten
|}


Ein [[Betriebssystem]] ist als „gehärtetes System“ zu bezeichnen,
== Betriebssysteme ==
* 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,
Ein [[Betriebssystem]] ist als „gehärtetes System“ zu bezeichnen, wenn
* wenn nur die Komponenten und Dienste installiert sind, die zum eigentlichen Betrieb benötigt werden,
{| class="wikitable options"
* wenn alle nicht benötigten [[Benutzerkonto|Benutzerkonten]] gelöscht sind,
|-
* wenn alle nicht benötigten [[Port (Protokoll)|Ports]] geschlossen sind,
! Option !! Beschreibung
* wenn restriktive Rechte gesetzt sind,
|-
* wenn straffe Systemrichtlinien vergeben sind.
| ASLR || 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
|-
| Minimalität || nur Komponenten und Dienste, die zwingend zum eigentlichen Betrieb benötigt werden
|-
| Zugänge || Nicht benötigten [[Benutzerkonto|Benutzerkonten]] sperren/löschen
|-
| Erreichbarkeit || Nicht benötigten [[Port (Protokoll)|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, [[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]]-Lösungen, [[Firewall]]s oder [[Intrusion Detection System|IDS]]/[[Intrusion Prevention System|IPS]] zu betrachten, die komplementäre Methoden der Prävention darstellen.


<noinclude>
<noinclude>
== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
Zeile 47: Zeile 77:
[[Kategorie:IT-Sicherheit]]
[[Kategorie:IT-Sicherheit]]


= TMP2 =
== Debian 12 : System Härten - Allgemein ==
Geschrieben von Christopher Pope am Samstag, 26. August 2023
Einige der folgenden Einstellungen sind auch bereits in der Default Einstellung so. Da ich aber ein Set von Parametern für all meine Linux Systeme verwende setze ich diese nochmal explizit in einer config. Erstmal legen wir uns ein Backup der Default Config an
{| class="wikitable"
|1
|<code>sudo</code> <code>sysctl -a > /tmp/default_sysctl.txt</code>
|}
dann legen wir die Datei /etc/sysctl.d/97_hard.conf an und kopieren folgende Zeilen rein.
Die Erklärung zu den jeweiligen Konfiguration kann unter dem Link in der Quellenangabe nachgelesen werden.
Auch hier gilt wieder die Einstellungen müssen zu der eingesetzten Software kompatible sein.
{| class="wikitable"
|1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|<code>kernel.kptr_restrict = 2</code>
<code>kernel.dmesg_restrict = 1</code>
<code>kernel.unprivileged_bpf_disabled=1</code>
<code>net.core.bpf_jit_harden=2</code>
<code>dev.tty.ldisc_autoload=0</code>
<code>vm.unprivileged_userfaultfd=0</code>
<code>kernel.kexec_load_disabled = 1</code>
<code>kernel.sysrq=4</code>
<code>kernel.unprivileged_userns_clone=0</code>
<code>kernel.perf_event_paranoid = 3</code>
<code>kernel.yama.ptrace_scope=2</code>
<code>vm.mmap_rnd_bits=32</code>
<code>vm.mmap_rnd_compat_bits=16</code>
<code>fs.protected_symlinks=1</code>
<code>fs.protected_hardlinks=1</code>
<code>fs.protected_fifos=2</code>
<code>fs.protected_regular=2</code>
|}
Nach einem Neustart werden die Kernelparameter aktiv, wer nicht solange warten möchte kann diese mit
{| class="wikitable"
|1
|<code>service procps force-reload</code>
|}
sofort einlesen.
Quelle :
<nowiki>https://www.kernel.org/doc/html/latest/admin-guide/sysctl/</nowiki>
Kategorien: Client, Linux, Server
Tags für diesen Artikel: client, kernel, linux, parameter, security, server
Artikel mit ähnlichen Themen:
* xz-utils supply-chain attack : Scan nach Versionen
* Proxmox 8 : Clusternode hat graues Ausrufezeichen
* Debian 12 : ssh absichern mit port knocking
* Überprüfen von EoL (End of Life) Software
* Debian 12 : System Härten - Netzwerk
</noinclude>
</noinclude>

Aktuelle Version vom 20. April 2024, 13:01 Uhr

Systemhärtung - Kurzbeschreibung

Beschreibung[Bearbeiten | Quelltext bearbeiten]

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.

Das National Institute of Standards and Technology definiert Härten in der IT-Sicherheit wie folgt: „Ein Prozess, der dazu dient, eine Angriffsmöglichkeit zu eliminieren, indem Schwachstellen gepatcht und nicht benötigte Dienste abgeschaltet werden.“

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[Bearbeiten | Quelltext bearbeiten]

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

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[Bearbeiten | Quelltext bearbeiten]

Übliche Methoden der Härtung sind beispielsweise
Option Beschreibung
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

Betriebssysteme[Bearbeiten | Quelltext bearbeiten]

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.


Anhang[Bearbeiten | Quelltext bearbeiten]

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Links[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]
  1. https://de.wikipedia.org/wiki/H%C3%A4rten_(Computer)