VPS:n suojaaminen: ensimmäiset viisi minuuttia
Uusi palvelin internetissä joutuu muutamassa minuutissa bottien skannaamaksi, ja ne yrittävät arvata salasanoja. Näillä vaiheilla olet niistä reilusti edellä. Suorita ne root-käyttäjänä tai komennolla sudo. Työskentele sen jälkeen mieluummin omalla käyttäjällä, jolla on sudo-oikeudet, ja poista root-kirjautuminen käytöstä, katso Oma käyttäjä sudo-oikeuksilla VPS-oppaasta.
1. Päivitä kaikki ja ota automaattiset päivitykset käyttöön
- Ubuntu ja Debian:
apt update && apt upgrade -y, sen jälkeenapt install -y unattended-upgradesjadpkg-reconfigure -plow unattended-upgrades. - AlmaLinux ja Rocky Linux:
dnf upgrade -y, sen jälkeendnf install -y dnf-automaticjasystemctl enable --now dnf-automatic-install.timer.
Tarkista, että se myös todella toimii. Ubuntussa ja Debianissa voit tehdä koeajon komennolla unattended-upgrade --dry-run --debug ja nähdä hakemistosta /var/log/unattended-upgrades/, mitä on päivitetty. Uusi kernel tulee käyttöön vasta uudelleenkäynnistyksen jälkeen: jos tiedosto /var/run/reboot-required on olemassa, käynnistä VPS uudelleen rauhalliseen aikaan. Katso Päivitykset ja automaattiset päivitykset.
2. Kirjautuminen avaimella, salasanat pois käytöstä
Lisää ensin SSH-avaimesi palvelimelle (katso Kirjautuminen VPS:lle SSH:lla) ja testaa, että kirjautuminen avaimella toimii. Luo sen jälkeen oma asetustiedosto /etc/ssh/sshd_config.d/00-eigen.conf, jossa on nämä rivit:
PasswordAuthentication no KbdInteractiveAuthentication no
Älä lisää niitä itse tiedostoon /etc/ssh/sshd_config: hakemiston sshd_config.d tiedostot menevät sen edelle, ja Ubuntussa 50-cloud-init.conf ottaa siellä salasanat taas käyttöön. Oma 00-eigen.conf-tiedostosi luetaan ennen sitä ja voittaa. Tarkista komennolla sshd -t (ei tulosta mitään, jos kaikki on kunnossa) ja sshd -T | grep -i passwordauthentication (pitää näyttää no). Käynnistä SSH sen jälkeen uudelleen komennolla systemctl restart ssh (AlmaLinux ja Rocky: systemctl restart sshd). Pidä nykyinen istuntosi auki, kunnes olet tarkistanut toisessa ikkunassa, että pääset yhä sisään.
3. Palomuuri
- Ubuntu ja Debian:
apt install -y ufw, sittenufw allow OpenSSH, tarvittaessaufw allow 80,443/tcpverkkosivustoa varten, jaufw enable. - AlmaLinux ja Rocky Linux: firewalld on jo valmiina. Esimerkiksi
firewall-cmd --permanent --add-service=http --add-service=httpsjafirewall-cmd --reload.
Jätä SSH (portti 22) aina auki, muuten lukitset itsesi ulos. Tarkista sen jälkeen komennolla ufw status verbose, että sääntösi ovat olemassa myös IPv6:lle (rivit, joissa on (v6)).
ports: - "5432:5432") ohittavat ufw:n ja firewalld:n, joten niihin pääsee ulkopuolelta, vaikka palomuurisi ei sallisi niitä. Julkaise vain se, minkä todella täytyy olla julkinen, ja loput osoitteeseen 127.0.0.1. Tarkista asia aina ulkopuolelta. Katso Docker ja palomuuri: porttien turvallinen julkaiseminen ja Mitkä palvelut kuuntelevat VPS:lläsi ja mihin pääsee ulkopuolelta?.4. Fail2ban arvausyrityksiä vastaan
apt install -y fail2ban tai dnf install -y epel-release && dnf install -y fail2ban, sitten systemctl enable --now fail2ban. Oletuksena se estää IP-osoitteet, joista yritetään liian monta kertaa väärää salasanaa. Debian 12:ssa lisää tiedostoon /etc/fail2ban/jail.local kohtaan [sshd] myös backend = systemd ja asenna python3-systemd, muuten SSH:n valvonta ei käynnisty. Debian 13 ja Ubuntu tekevät tämän jo itsestään.
5. Snapshot turvaverkoksi

Tee snapshot VPS-näkymässäsi ennen suuria muutoksia. Jos jokin menee pieleen, palautat sen yhdellä klikkauksella. Katso VPS:n snapshotit ja varmuuskopiot.
Jätä qemu-guest-agent paikalleen
Ohjelma qemu-guest-agent on asennettu oletuksena. Sen avulla voit asettaa VPS-näkymässä uuden root-salasanan ja nähdä levynkäytön. Älä poista sitä.
Laajempi selitys kuvakaappauksineen: Salasanalla ja root-käyttäjänä kirjautumisen poistaminen käytöstä ja fail2ban arvausyrityksiä vastaan VPS-oppaassa.
Haluatko oppia lisää? Käy ilmainen kurssi VPS ja Linux-palvelinten hallinta, oppitunti 2.2 SSH-palvelimen turvallinen määrittäminen tai oppitunti 10.4 Lopputarkistus: palvelimesi syynissä.
