Linux Security Hardening Cheat Sheet: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „= Linux Security Hardening = Dieser Artikel beschreibt Maßnahmen zur Härtung eines Linux-Systems, um es sicherer gegen Angriffe und Fehlkonfigurationen zu m…“) |
|||
| Zeile 1: | Zeile 1: | ||
| − | = | + | == Einleitung== |
Dieser Artikel beschreibt Maßnahmen zur Härtung eines Linux-Systems, um es sicherer gegen Angriffe und Fehlkonfigurationen zu machen. Die Beispiele sind für Debian/Ubuntu, RHEL/CentOS, Arch Linux und teilweise distributionsunabhängig angegeben. | Dieser Artikel beschreibt Maßnahmen zur Härtung eines Linux-Systems, um es sicherer gegen Angriffe und Fehlkonfigurationen zu machen. Die Beispiele sind für Debian/Ubuntu, RHEL/CentOS, Arch Linux und teilweise distributionsunabhängig angegeben. | ||
Aktuelle Version vom 19. Juli 2025, 12:34 Uhr
Einleitung
Dieser Artikel beschreibt Maßnahmen zur Härtung eines Linux-Systems, um es sicherer gegen Angriffe und Fehlkonfigurationen zu machen. Die Beispiele sind für Debian/Ubuntu, RHEL/CentOS, Arch Linux und teilweise distributionsunabhängig angegeben.
Systemaktualisierung
- Debian/Ubuntu:
apt update && apt upgrade -y
- RHEL/CentOS:
dnf update -y
- Arch Linux:
pacman -Syu
→ Immer alle Sicherheitsupdates einspielen.
Root-Account sperren
- Root-Login sperren (Passwort ungültig machen):
passwd -l root
Firewall konfigurieren
- Debian/Ubuntu mit UFW:
ufw default deny incoming ufw enable
- RHEL/CentOS mit firewalld:
firewall-cmd --set-default-zone=drop firewall-cmd --runtime-to-permanent
Sitzungstimeout setzen
- In Bash:
echo "export TMOUT=600" | tee -a /etc/bash.bashrc
SSH absichern
- /etc/ssh/sshd_config bearbeiten:
PermitRootLogin no PasswordAuthentication no AllowUsers benutzer1 benutzer2
- Danach SSH neu starten:
systemctl restart sshd
Schreibrechte überprüfen
- Weltbeschreibbare Dateien finden (ohne Sticky-Bit):
find / -type f -perm -o+w
- Weltbeschreibbare Verzeichnisse finden (ohne Sticky-Bit):
find / -type d -perm -0002 ! -perm -1000
SUID/SGID-Dateien prüfen
- Dateien mit SUID/SGID-Bit finden:
find / -type f \( -perm -6000 -o -perm -2000 \)
Unnötige Pakete entfernen
- Debian/Ubuntu:
apt autoremove -y
- RHEL/CentOS:
dnf autoremove -y
- Arch Linux:
pacman -Rns $(pacman -Qdtq)
Systemdienste überprüfen
- Aktive Systemd-Dienste listen:
systemctl list-units --type=service --state=enabled
Netzwerkports prüfen
- Offene Ports anzeigen:
ss -tuln
- Nicht benötigte Dienste stoppen:
systemctl disable --now dienstname
Unbenutzte Kernelmodule blockieren
- Blacklist-Eintrag erstellen:
echo "install usb-storage /bin/true" >> /etc/modprobe.d/disable-usb.conf update-initramfs -u (Debian) / dracut -f (RHEL)
Schwachstellen prüfen (automatisiert)
- Debian/Ubuntu:
apt install debsecan debsecan
- Arch Linux:
pacman -Qm | arch-audit
Audit-Logs aktivieren
- Auditd installieren:
apt install auditd (Debian) dnf install audit (RHEL) pacman -S audit (Arch)
- Starten:
systemctl enable --now auditd
Kernel-Hardening aktivieren
- sysctl-Parameter setzen:
echo "kernel.randomize_va_space = 2" >> /etc/sysctl.conf sysctl -p
Automatisierte Sicherheitstools
- Debian/Ubuntu:
apt install lynis && lynis audit system
- RHEL:
dnf install lynis && lynis audit system
- Arch:
pacman -S lynis && lynis audit system
Weitere Maßnahmen
- Zwei-Faktor-Authentifizierung für SSH (z. B. mit google-authenticator).
- Fail2Ban installieren, um Brute-Force-Angriffe abzuwehren.
- Logs regelmäßig überprüfen (journalctl, /var/log).
- Nicht benötigte Benutzerkonten sperren:
usermod -L benutzername
- Dateisysteme mit noexec, nosuid, nodev mounten.
Zusammenfassung
Diese Härtungsmaßnahmen bilden eine solide Basis für die Sicherheit eines Linux-Systems. Je nach Einsatzgebiet (Server, Desktop, Cloud, IoT) sollten weitere spezifische Einstellungen hinzugefügt werden, z. B.:
- AppArmor oder SELinux aktivieren.
- Disk Encryption nutzen.
- Backups regelmäßig prüfen.
- Security Policies dokumentieren und testen.