Debian 12 : System Härten - Allgemein

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
sudo sysctl -a > /tmp/default_sysctl.txt
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.
kernel.kptr_restrict = 2
kernel.dmesg_restrict = 1
kernel.unprivileged_bpf_disabled=1
net.core.bpf_jit_harden=2
dev.tty.ldisc_autoload=0
vm.unprivileged_userfaultfd=0
kernel.kexec_load_disabled = 1
kernel.sysrq=4
kernel.unprivileged_userns_clone=0
kernel.perf_event_paranoid = 3
kernel.yama.ptrace_scope=2
vm.mmap_rnd_bits=32
vm.mmap_rnd_compat_bits=16
fs.protected_symlinks=1
fs.protected_hardlinks=1
fs.protected_fifos=2
fs.protected_regular=2
Nach einem Neustart werden die Kernelparameter aktiv, wer nicht solange warten möchte kann diese mit
service procps force-reload
sofort einlesen.
Quelle :
https://www.kernel.org/doc/html/latest/admin-guide/sysctl/

Debian 12 : System Härten - Netzwerk

Über Kernelparameter kann die Sicherheit des Systems noch etwas verbessert werden.
Wichtig ist das die Einstellungen zu der eingesetzten Software passen !
Ein OpenVPN Server z.B. würde mit den folgenden Einstellungen nicht laufen. Ein Apache Webserver hingegen schon.
Erstmal legen wir uns ein Backup der Default Config an
sudo sysctl -a > /tmp/default_sysctl.txt
dann legt man diese Datei an (sollte sie nicht bereits existieren) /etc/sysctl.d/98_ip.conf und fügt diese Zeilen ein.
net.ipv4.ip_forward=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.default.secure_redirects=0
net.ipv4.conf.all.log_martians=1
net.ipv4.conf.default.log_martians=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_responses=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter=1
net.ipv4.tcp_syncookies=1
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0
net.ipv6.conf.all.forwarding=0
net.ipv6.conf.all.accept_source_route=0
net.ipv6.conf.default.accept_source_route=0
net.ipv6.conf.all.accept_redirects=0
net.ipv6.conf.default.accept_redirects=0
net.ipv6.conf.all.accept_ra=1
net.ipv6.conf.default.accept_ra=1
Nach einem Neustart werden die Kernelparameter aktiv, wer nicht solange warten möchte kann diese mit
service procps force-reload
sofort einlesen. Hier kann nachgelesen werden was hier überhaupt konfiguriert wurde. ip-sysctl.txt
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)