Hardening/Linux/Kernel
Erscheinungsbild
Hardening/Linux/Kernel
sysctl
- Backup
Erstmal legen wir uns ein Backup der Default Config an
sudo sysctl -a > /tmp/default_sysctl.txt
- Konfiguration
Datei /etc/sysctl.d/97_hard.conf anlegen und die folgenden Parameter eintragen
- Einstellungen müssen mit der eingesetzten Software kompatibel sein
Parameter
| Parameter | Beschreibung |
|---|---|
| kernel.kptr_restrict = 2 | Maskiert Kernelpointer in Kernel-Interfaces (z.B. /proc) zur Erschwerung von ASLR-Bypasses (strikt) |
| kernel.dmesg_restrict = 1 | Beschränkt Zugriff auf Kernel-Logausgaben dmesg auf privilegierte Prozesse |
| kernel.unprivileged_bpf_disabled=1 | Deaktiviert unprivilegiertes eBPF. eBPF-Nutzung nur mit ausreichenden Privilegien |
| net.core.bpf_jit_harden=2 | Erzwingt zusätzliche Härtung des eBPF-JIT |
| dev.tty.ldisc_autoload=0 | Deaktiviert automatisches Laden von TTY-Line-Disciplines zur Reduktion der Kernel-Angriffsfläche |
| vm.unprivileged_userfaultfd=0 | Deaktiviert userfaultfd für unprivilegierte Prozesse zur Reduktion von Exploit-Primitiven |
| kernel.kexec_load_disabled = 1 | Deaktiviert kexec-Kernel-Load zur Verhinderung von Kernelwechseln zur Laufzeit |
| kernel.sysrq=4 | Beschränkt Magic-SysRq-Funktionen per Bitmaske. Reduziert missbrauchbare Notfall-/Debug-Funktionen |
| kernel.unprivileged_userns_clone=0 | Deaktiviert unprivilegierte User-Namespaces. Reduziert Container-/Sandbox-Privilege-Escalation-Angriffsfläche |
| kernel.perf_event_paranoid = 3 | Restriktiert perf_event_open stark. Verhindert unprivilegiertes Profiling/Tracing sensitiver Kernel-Informationen |
| kernel.yama.ptrace_scope=2 | Restriktiert ptrace. Erlaubt Attach nur mit administrativen Privilegien (CAP_SYS_PTRACE) |
| vm.mmap_rnd_bits=32 | Erhöht ASLR-Entropie für mmap-Basen (64-bit) zur Erschwerung von Adressvorhersagen |
| vm.mmap_rnd_compat_bits=16 | Erhöht ASLR-Entropie für 32-bit-Compat-mmap zur Erschwerung von Adressvorhersagen |
| fs.protected_symlinks=1 | Schützt vor Symlink-Angriffen in sticky world-writable Verzeichnissen (z.B. /tmp) |
| fs.protected_hardlinks=1 | Schränkt Hardlink-Erstellung ein. Reduziert Hardlink-basierte Angriffe auf fremde Dateien |
| fs.protected_fifos=2 | Schützt FIFOs in sticky world-writable Verzeichnissen vor Zugriff durch Nicht-Eigentümer |
| fs.protected_regular=2 | Schützt reguläre Dateien in sticky world-writable Verzeichnissen vor Zugriff durch Nicht-Eigentümer |
- Aktivierung
- Nach einem Neustart werden die gesetzten Kernelparameter automatisch aktiv.
- Um die Konfiguration ohne Neustart anzuwenden, können die Parameter manuell neu eingelesen werden mit:
sudo sysctl --system