Zabezpečení Vašeho VPS: prvních pět minut
Nový server na internetu během několika minut začnou prohledávat boti, kteří zkoušejí hesla. Díky těmto krokům budete mít před nimi velký náskok. Provádějte je jako root nebo pomocí sudo. Poté raději pracujte s vlastním uživatelem se sudo a vypněte přihlašování jako root, viz Vlastní uživatel se sudo v příručce k VPS.
1. Aktualizujte vše a zapněte automatické aktualizace
- Ubuntu a Debian:
apt update && apt upgrade -y, potéapt install -y unattended-upgradesadpkg-reconfigure -plow unattended-upgrades. - AlmaLinux a Rocky Linux:
dnf upgrade -y, potédnf install -y dnf-automaticasystemctl enable --now dnf-automatic-install.timer.
Ověřte, že to opravdu funguje. Na Ubuntu a Debianu provedete zkušební běh pomocí unattended-upgrade --dry-run --debug a v /var/log/unattended-upgrades/ uvidíte, co bylo aktualizováno. Nové jádro začne fungovat až po restartu: pokud existuje soubor /var/run/reboot-required, restartujte svůj VPS ve vhodnou chvíli. Viz Aktualizace a automatické aktualizace.
2. Přihlašování klíčem, hesla vypnuta
Nejprve nahrajte svůj SSH klíč na server (viz Přihlášení k VPS přes SSH) a otestujte, zda přihlášení klíčem funguje. Poté vytvořte vlastní konfigurační soubor /etc/ssh/sshd_config.d/00-eigen.conf s těmito řádky:
PasswordAuthentication no KbdInteractiveAuthentication no
Nezapisujte je přímo do /etc/ssh/sshd_config: soubory v sshd_config.d mají přednost a na Ubuntu v této složce soubor 50-cloud-init.conf hesla znovu zapíná. Váš 00-eigen.conf je zařazen před ním, a proto má přednost. Zkontrolujte to pomocí sshd -t (pokud je vše v pořádku, nevypíše nic) a sshd -T | grep -i passwordauthentication (musí zobrazit no). Poté restartujte SSH pomocí systemctl restart ssh (AlmaLinux a Rocky: systemctl restart sshd). Ponechte svou aktuální relaci otevřenou, dokud si v druhém okně neověříte, že se stále dokážete přihlásit.
3. Firewall
- Ubuntu a Debian:
apt install -y ufw, potéufw allow OpenSSH, případněufw allow 80,443/tcppro webové stránky, aufw enable. - AlmaLinux a Rocky Linux: firewalld je již nainstalován. Například
firewall-cmd --permanent --add-service=http --add-service=httpsafirewall-cmd --reload.
Vždy nechte otevřené SSH (port 22), jinak se sami zablokujete. Poté pomocí ufw status verbose ověřte, že Vaše pravidla platí i pro IPv6 (pravidla s (v6)).
ports: - "5432:5432"), obcházejí ufw i firewalld, a jsou tedy dostupné zvenčí, i když je Váš firewall nepovoluje. Publikujte jen to, co skutečně musí být veřejné, a vše ostatní na 127.0.0.1. Vždy to ověřte zvenčí. Viz Docker a firewall: bezpečné publikování portů a Které služby na Vašem VPS naslouchají a co je dostupné zvenčí?.4. Fail2ban proti pokusům o uhodnutí hesla
apt install -y fail2ban nebo dnf install -y epel-release && dnf install -y fail2ban, poté systemctl enable --now fail2ban. Ve výchozím nastavení blokuje IP adresy, ze kterých se příliš často zkouší nesprávné heslo. Na Debianu 12 nastavte v /etc/fail2ban/jail.local v sekci [sshd] také backend = systemd a nainstalujte python3-systemd, jinak se hlídání SSH nespustí. Debian 13 a Ubuntu to dělají automaticky.
5. Snapshot jako záchranná síť

Před většími změnami vytvořte snapshot na obrazovce svého VPS. Pokud se něco pokazí, obnovíte jej jedním kliknutím. Viz Snapshoty a zálohy Vašeho VPS.
Ponechte qemu-guest-agent nainstalovaný
Program qemu-guest-agent je ve výchozím nastavení nainstalován. Díky němu můžete na obrazovce VPS nastavit nové heslo pro root a vidíte využití disku. Neodstraňujte jej.
Podrobný návod se snímky obrazovky: Vypnutí přihlašování heslem a jako root a fail2ban proti pokusům o uhodnutí hesla v příručce k VPS.
Chcete se dozvědět víc? Absolvujte bezplatný kurz VPS a správa linuxových serverů, lekci 2.2 Bezpečné nastavení SSH serveru nebo lekci 10.4 Závěrečná kontrola: prověřte svůj server.
