Den Linux-VPS beim ersten Start absichern
Aktualisieren Sie das System, legen Sie einen Benutzer an, sperren Sie die Root-Anmeldung per Passwort und aktivieren Sie die Firewall.
Das System aktualisieren
- 1.Verbinden Sie sich per SSH mit Ihrem VPS.
- 2.Geben Sie
apt update && apt upgrade -yein, dann die Eingabetaste. - 3.Verlangt das System einen Neustart, geben Sie
rebootein, warten Sie eine Minute und verbinden Sie sich erneut.
Unter Rocky Linux und AlmaLinux ersetzen Sie apt update && apt upgrade -y durch dnf upgrade -y, die Gruppe sudo durch wheel, den Dienst ssh durch sshd und ufw durch firewalld.
Einen Benutzer zum Arbeiten anlegen
- 1.Installieren Sie sudo, falls es fehlt:
apt install -y sudo. - 2.Legen Sie den Benutzer an:
adduser alice. Wählen Sie ein Passwort, die übrigen Fragen können leer bleiben (Eingabetaste). - 3.Geben Sie ihm Administratorrechte:
usermod -aG sudo alice. - 4.Öffnen Sie ein zweites Terminal und verbinden Sie sich mit
ssh alice@203.0.113.10. - 5.Geben Sie
sudo whoamiein. Die Antwortrootbestätigt, dass alles funktioniert.
Die Root-Anmeldung per Passwort sperren
Ändern Sie diese Datei erst, wenn Sie einen funktionierenden SSH-Schlüssel haben. Mit PasswordAuthentication no und ohne Schlüssel kann sich niemand mehr anmelden.
- 1.Erstellen Sie auf Ihrem Rechner einen SSH-Schlüssel, falls Sie noch keinen haben: siehe Auf einen SSH-Schlüssel umsteigen.
- 2.Senden Sie den Schlüssel an Ihren Benutzer:
ssh-copy-id alice@203.0.113.10. - 3.Testen Sie mit
ssh alice@203.0.113.10. Die Anmeldung muss ohne Passwortabfrage des Benutzers klappen. - 4.Öffnen Sie die Konfigurationsdatei des VPS:
sudo nano /etc/ssh/sshd_config. - 5.Setzen Sie
PermitRootLogin noundPasswordAuthentication no. Speichern Sie mit Strg+O, Eingabetaste, und beenden Sie mit Strg+X. - 6.Laden Sie SSH neu:
sudo systemctl restart ssh. - 7.Schließen Sie das alte Terminal nicht, öffnen Sie ein drittes und testen Sie
ssh alice@203.0.113.10.
Lassen Sie ein Terminal bis zum letzten Test verbunden. Prüfen Sie unter Ubuntu auch die Dateien in /etc/ssh/sshd_config.d/: Eine davon kann PasswordAuthentication yes wieder setzen.
Die Firewall aktivieren
Bei unseren VPS sind alle Ports offen: Sie entscheiden, welche erreichbar bleiben.
- 1.Installieren Sie ufw:
sudo apt install -y ufw. - 2.Erlauben Sie SSH:
sudo ufw allow 22/tcp. - 3.Hostet der VPS eine Website, erlauben Sie auch das Web:
sudo ufw allow 80/tcpundsudo ufw allow 443/tcp. - 4.Aktivieren Sie die Firewall:
sudo ufw enable, danny. - 5.Prüfen Sie mit
sudo ufw status.
Erlauben Sie SSH immer vor ufw enable, sonst verlieren Sie den Zugang. Passiert das, können Sie über die VNC-Konsole des VPS im Browser wieder eingreifen.
Wiederholte Versuche mit fail2ban blocken
- 1.Installieren Sie fail2ban:
sudo apt install -y fail2ban. - 2.Starten Sie es:
sudo systemctl enable --now fail2ban. - 3.Prüfen Sie den SSH-Schutz mit
sudo fail2ban-client status sshd.
Unter Rocky Linux und AlmaLinux stammt fail2ban aus dem EPEL-Repository: Installieren Sie zuerst epel-release mit sudo dnf install -y epel-release.