Einleitung
Ubuntu 24.04 „Noble Numbat“ ist eine stabile Basis – aber ein frisch installiertes System ist nicht automatisch gehärtet. Dieser Leitfaden zeigt dir 12 praxisnahe Sicherheitsmaßnahmen, mit denen du eine solide Sicherheitsgrundlage für Server, VPS, Homelabs und Produktionsumgebungen schaffst.
1) System aktualisieren & automatische Sicherheitsupdates aktivieren
Systemupdate
sudo apt update && sudo apt full-upgrade -yUnattended-Upgrades installieren
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure unattended-upgradesOptional: Konfiguration prüfen
cat /etc/apt/apt.conf.d/20auto-upgrades2) SSH härten (Port, Login, Optionen)
Lege eine eigene SSH-Konfigurationsdatei an:
sudo nano /etc/ssh/sshd_config.d/99-hardening.confPort 22
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
X11Forwarding no
AllowTcpForwarding no
ClientAliveInterval 300
ClientAliveCountMax 2
Anschließend den Dienst neu laden:
sudo systemctl reload sshd3) Schlüsselbasierte Authentifizierung aktivieren
Auf deinem Client:
ssh-keygen -t ed25519 -C "server-access"
ssh-copy-id user@server-ipAuf dem Server sicherstellen, dass die Berechtigungen passen:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys4) UFW-Firewall aktivieren
SSH-Verbindung zulassen und Firewall aktivieren:
sudo ufw allow 22/tcp
sudo ufw enable
sudo ufw status verboseFür Webserver zusätzlich:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp5) Fail2Ban gegen Brute-Force-Angriffe
sudo apt install fail2ban -yLokale Jail-Konfiguration anlegen:
sudo nano /etc/fail2ban/jail.local[sshd]
enabled = true
maxretry = 4
bantime = 1h
findtime = 10m
sudo systemctl enable --now fail2ban6) Unnötige Dienste deaktivieren
Aktive Dienste anzeigen:
systemctl list-units --type=serviceNicht benötigte Services deaktivieren, z. B.:
sudo systemctl disable --now apport.service7) Kernel-Hardening über sysctl
Eigene Sysctl-Konfiguration anlegen:
sudo nano /etc/sysctl.d/99-hardening.confkernel.kptr_restrict = 2
kernel.dmesg_restrict = 1
kernel.randomize_va_space = 2
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
Werte aktivieren:
sudo sysctl --system8) AppArmor aktiv halten
Profilstatus prüfen:
sudo aa-statusBei Änderungen AppArmor neu starten:
sudo systemctl restart apparmor9) Sudo-Konfiguration härten
Sudoers bearbeiten:
sudo visudoFolgende Defaults ergänzen:
Defaults use_pty
Defaults logfile="/var/log/sudo.log"
10) root-Login sperren
Direkten root-Login deaktivieren (sofern nicht mehr benötigt):
sudo passwd -l root11) Auditd für Sicherheits-Logging
sudo apt install auditd audispd-plugins -y
sudo systemctl enable --now auditdRegeln definieren:
sudo nano /etc/audit/rules.d/hardening.rules-w /etc/passwd -p wa
-w /etc/shadow -p wa
-w /etc/sudoers -p wa
-w /var/log/auth.log -p wa
sudo augenrules --load12) Zwei-Faktor-Authentifizierung (2FA) für SSH
sudo apt install libpam-google-authenticator -y
google-authenticatorIn /etc/pam.d/sshd ergänzen:
auth required pam_google_authenticator.so
Und in der SSH-Konfiguration:
ChallengeResponseAuthentication yes
sudo systemctl reload sshdFazit
Mit diesen 12 Schritten erhöhst du die Sicherheit deines Ubuntu-24.04-Servers deutlich, ohne die Stabilität zu gefährden. Sie bilden eine moderne Sicherheitsbasis, auf der du weitere Maßnahmen wie Monitoring, Backup-Strategien oder Intrusion Detection aufbauen kannst.
Kommentare