Ubuntu 24.04 Hardening Guide – Moderne Sicherheitsbasis in 12 Schritten

Ubuntu 24.04 sicher machen: 12 praxisnahe Hardening-Schritte für Server, Homelabs und produktive Systeme.

· 2 Minuten zu lesen
Ubuntu 24.04 Hardening Guide – Moderne Sicherheitsbasis in 12 Schritten

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 -y

Unattended-Upgrades installieren

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure unattended-upgrades

Optional: Konfiguration prüfen

cat /etc/apt/apt.conf.d/20auto-upgrades

2) SSH härten (Port, Login, Optionen)

Lege eine eigene SSH-Konfigurationsdatei an:

sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
Port 22
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
X11Forwarding no
AllowTcpForwarding no
ClientAliveInterval 300
ClientAliveCountMax 2

Anschließend den Dienst neu laden:

sudo systemctl reload sshd

3) Schlüsselbasierte Authentifizierung aktivieren

Auf deinem Client:

ssh-keygen -t ed25519 -C "server-access"
ssh-copy-id user@server-ip

Auf dem Server sicherstellen, dass die Berechtigungen passen:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

4) UFW-Firewall aktivieren

SSH-Verbindung zulassen und Firewall aktivieren:

sudo ufw allow 22/tcp
sudo ufw enable
sudo ufw status verbose

Für Webserver zusätzlich:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

5) Fail2Ban gegen Brute-Force-Angriffe

sudo apt install fail2ban -y

Lokale Jail-Konfiguration anlegen:

sudo nano /etc/fail2ban/jail.local
[sshd]
enabled  = true
maxretry = 4
bantime  = 1h
findtime = 10m
sudo systemctl enable --now fail2ban

6) Unnötige Dienste deaktivieren

Aktive Dienste anzeigen:

systemctl list-units --type=service

Nicht benötigte Services deaktivieren, z. B.:

sudo systemctl disable --now apport.service

7) Kernel-Hardening über sysctl

Eigene Sysctl-Konfiguration anlegen:

sudo nano /etc/sysctl.d/99-hardening.conf
kernel.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 --system

8) AppArmor aktiv halten

Profilstatus prüfen:

sudo aa-status

Bei Änderungen AppArmor neu starten:

sudo systemctl restart apparmor

9) Sudo-Konfiguration härten

Sudoers bearbeiten:

sudo visudo

Folgende 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 root

11) Auditd für Sicherheits-Logging

sudo apt install auditd audispd-plugins -y
sudo systemctl enable --now auditd

Regeln 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 --load

12) Zwei-Faktor-Authentifizierung (2FA) für SSH

sudo apt install libpam-google-authenticator -y
google-authenticator

In /etc/pam.d/sshd ergänzen:

auth required pam_google_authenticator.so

Und in der SSH-Konfiguration:

ChallengeResponseAuthentication yes
sudo systemctl reload sshd

Fazit

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