VPS-palvelimen tietoturva: 10 ensimmäistä asetusta
Käymme uuden virtuaalipalvelimen SSH-, palomuuri-, fail2ban- ja päivitysasetukset oikeassa järjestyksessä toimivin komennoin ja yleisimpine virheineen.

VPS-tietoturvan ensimmäiset työt ovat järjestelmän päivittäminen, sudo-oikeuksin varustetun käyttäjän luominen rootin sijaan ja SSH-avainkirjautumisen käyttöönotto. Sen jälkeen root- ja salasanakirjautuminen SSH:lla suljetaan, palomuurissa avataan vain tarvittavat portit, asennetaan fail2ban, otetaan käyttöön automaattiset tietoturvapäivitykset ja suunnitellaan säännöllinen varmuuskopiointi.
Mistä VPS-tietoturva alkaa?
Uusi virtuaalipalvelin on automaattisten skannerien kohde heti, kun se kytketään internetiin. Nämä botit eivät kohdista hyökkäystään tiettyyn yritykseen, vaan yrittävät jokaista konetta, jolla on avoin SSH-portti ja heikko salasana. Palvelimen lokeihin kertyy tuhansia kirjautumisyrityksiä jo ensimmäisten tuntien aikana, ja se on aivan tavallista.
Siksi VPS-tietoturva alkaa muutamasta perusasetuksesta, jotka tehdään asennuksen jälkeisen ensimmäisen tunnin aikana. Alla olevat kymmenen vaihetta on kirjoitettu Ubuntu- ja Debian-pohjaisille palvelimille; muissa jakeluissa paketinhallinnan ja palveluiden nimet voivat poiketa, mutta logiikka on sama.
Jos palvelimen hallinta on sinulle uutta tai ylläpidät sivustoasi ohjelmistotiimin kanssa, selvitä heti alussa, kenen vastuulla nämä vaiheet ovat. Tietoturva-asetukset eivät ole kerran tehtävä ja unohdettava asia, vaan prosessi, joka vaatii säännöllistä ylläpitoa.
Mitä sinun pitää tietää ennen aloittamista
Ennen asennusta tarvitset: palvelimen IP-osoitteen, palveluntarjoajan antaman ensimmäisen root- tai ylläpitäjän pääsyn sekä terminaalin omalla tietokoneellasi. Windows 10:ssä ja 11:ssä OpenSSH-asiakas on sisäänrakennettuna PowerShellissä; macOSissa ja Linuxissa Terminal riittää.
Komentojen tallentaminen muistiinpanotiedostoon edetessäsi on myös hyvä tapa. Kun tiedät, minkä asetuksen muutit ja milloin, syyn löytäminen helpottuu myöhemmin ongelman ilmetessä ja voit toistaa saman asennuksen toisella palvelimella. Jos jäät asennuksessa jumiin, voit kysyä tiimiltämme yhteydenottosivun kautta.
Järjestelmä- ja käyttäjäasetukset
Kaksi ensimmäistä vaihetta ovat palvelimen puhdistaminen tunnetuista haavoittuvuuksista ja päivittäisten töiden tekeminen muulla kuin root-tilillä.
1. Päivitä järjestelmä
Palveluntarjoajan valmis levykuva on voitu luoda kuukausia sitten. Ensimmäinen työ on päivittää kaikki paketit ajantasaisilla tietoturvakorjauksilla. Jos ytimen päivitys tuli, käynnistä palvelin uudelleen.
sudo apt update && sudo apt upgrade -y
sudo reboot2. Luo sudo-oikeuksin varustettu käyttäjä
Työskentely root-tilillä tarkoittaa, että yksi virheellinen komento voi vaikuttaa koko järjestelmään. Luo oma käyttäjä ja lisää se sudo-ryhmään; käytä ylläpitäjän oikeuksia vain tarvittaessa.
sudo adduser yonetici
sudo usermod -aG sudo yoneticiSSH-tietoturva
SSH on palvelimen etuovi. SSH-tietoturvan kaksi tehokkainta askelta ovat avaimen käyttö salasanan sijaan ja root-kirjautumisen sulkeminen.
3. Ota käyttöön SSH-avainkirjautuminen
Luo oma avainpari omalla tietokoneellasi ja kopioi julkinen avain palvelimelle. macOSissa ja Linuxissa komento ssh-copy-id tekee tämän yhdellä askeleella; Windowsissa voit siirtää julkisen avaimen palvelimelle PowerShellillä. Salasanalauseen (passphrase) antaminen avaimelle antaa lisäsuojan, vaikka tietokoneesi joutuisi vääriin käsiin.
ssh-keygen -t ed25519
ssh-copy-id yonetici@SUNUCU_IPssh-keygen -t ed25519
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh yonetici@SUNUCU_IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"4. Sulje root- ja salasanakirjautuminen
Kun olet varmistanut toisessa terminaalissa, että avainkirjautuminen toimii, kovenna SSH-konfiguraatio. Konfiguraation testaaminen ennen muutosta estää virheellistä riviä pysäyttämästä palvelua.
Huomio: joissakin pilvilevykuvissa kansion /etc/ssh/sshd_config.d/ lisätiedostot voivat avata salasanakirjautumisen uudelleen. Tarkista myös tämä kansio asetuksen tekemisen jälkeen.
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yessudo sshd -t
sudo systemctl restart sshPalomuuri ja Fail2ban
Palvelimella tulee olla auki vain ne portit, jotka oikeasti palvelevat ulospäin. Oikeat palomuuriasetukset pienentävät hyökkäyspintaa; fail2ban puolestaan estää automaattisesti sinnikkäästi yrittävät osoitteet.
5. Ota palomuuri käyttöön
Ubuntussa UFW tarjoaa yksinkertaisen käyttöliittymän iptablesin päälle. Salli ensin SSH, sitten ota palomuuri käyttöön; jos järjestys on väärä, yhteytesi katkeaa.
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose6. Asenna Fail2ban
Fail2ban seuraa lokeja ja estää tietyksi ajaksi IP-osoitteet, joilta tulee peräkkäisiä epäonnistuneita kirjautumisia. Tee asetukset suoraan pääkonfiguraatiotiedoston sijaan jail.local-tiedostossa, jota päivitykset eivät korvaa.
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban[sshd]
enabled = true
maxretry = 5
bantime = 1h
findtime = 10msudo systemctl restart fail2ban
sudo fail2ban-client status sshdPäivitykset ja palvelut
Merkittävä osa tietoturva-aukoista johtuu ohjelmistoista, joiden korjaus on julkaistu jo kauan sitten mutta jota ei ole asennettu. Jokainen turhaan käynnissä oleva palvelu on myös oma riskinsä.
7. Automaattiset tietoturvapäivitykset
unattended-upgrades-paketti asentaa tietoturvakorjaukset ilman, että sinun tarvitsee puuttua asiaan. Suuret versiosiirtymät tee hallitusti käsin varmuuskopion oton jälkeen.
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades8. Tarkista avoimet portit ja palvelut
Listaa, mikä palvelu kuuntelee mitäkin porttia. Palveluiden, joihin pitää päästä vain palvelimen sisältä, kuten tietokannan, tulee kuunnella osoitetta 127.0.0.1, ei olla avoimia ulkomaailmalle. Sulje palvelut, joita et käytä.
sudo ss -tulpn
sudo systemctl disable --now SERVIS_ADIValvonta ja varmuuskopiointi
Jos palvelimella julkaistaan verkkosivusto, näihin vaiheisiin kuuluu myös HTTPS; ilmaisen varmenteen asennuksen ja automaattisen uusimisen olemme käsitelleet artikkelissa SSL-varmenteen asennus.
9. Seuraa lokeja ja resursseja
Helpoin tapa huomata hyökkäys on lokit. Tarkista säännöllisesti SSH-kirjautumiset, levytilan täyttyminen ja epätavallinen prosessorin käyttö. Myös palvelimen kellon oikeellisuus on välttämätöntä, jotta lokit ovat merkityksellisiä.
sudo journalctl -u ssh --since today
df -h
timedatectl10. Suunnittele varmuuskopio ja tilannevedos
Mikään suojaus ei ole sataprosenttinen; viimeinen puolustuslinja on palvelimen ulkopuolinen varmuuskopio. Käytä palveluntarjoajan tilannevedosominaisuutta, mutta älä luota pelkästään siihen: lähetä tietokanta- ja tiedostovarmuuskopiot myös erilliseen tallennustilaan ja testaa palautus säännöllisesti. Strategiasta kerromme oppaassamme miten varmuuskopiointi tehdään.
Jos käytät Dockeria
Dockerilla julkaistut portit muokkaavat iptables-sääntöjä suoraan, joten ne voivat ohittaa UFW-säännöt. Eli tietokantaportti, joka näyttää UFW:ssä suljetulta, voi olla ulkopuolelta tavoitettavissa, jos se on julkaistu komennolla docker run -p.
Ratkaisu on sitoa vain palvelimen sisältä tavoitettavat konttiportit osoitteeseen 127.0.0.1 ja avata ulospäin vain portit 80 ja 443 käänteisen välityspalvelimen (reverse proxy) kautta. Lisätietoja löydät Dockerin viralliselta verkkodokumentaatiosivulta.
docker run -d -p 127.0.0.1:5432:5432 postgresYleiset virheet ja seuraavat askeleet
Nämä kymmenen vaihetta ovat vasta alku. Myös palvelimella toimivaa sovellusta pitää pitää ajan tasalla, hallintapaneelit tulee suojata kaksivaiheisella tunnistuksella ja epäilyttävässä tilanteessa on oltava valmis nopean toiminnan suunnitelma. Hyökkäyksen jälkeen noudatettavan tien olemme kuvanneet vaihe vaiheelta artikkelissa verkkosivusto on hakkeroitu.
Jos et halua hoitaa palvelimen hallintaa omalla tiimilläsi, nopeus- ja suorituskykyoptimointi -palvelumme, joka käsittelee sivuston hosting-, tietoturva- ja nopeuskerrokset yhdessä, ottaa tämän kuorman. Verkkokauppa-alusta-, verkkosivujen suunnittelu- ja toimialakohtaiset ohjelmistoratkaisut -projekteissamme palvelimen tietoturva suunnitellaan osana käyttöönottoprosessia.
| Virhe | Yhteenveto | Oikea tapa |
|---|---|---|
| UFW:n käyttöönotto ilman SSH:n sallimista | Pääsy palvelimelle katkeaa | Ensin ufw allow OpenSSH |
| Salasanakirjautumisen sulkeminen testaamatta avainta | Lukitset itsesi ulos | Testaa toisessa terminaalissa |
| Tietokannan jättäminen avoimeksi ulospäin | Data suoraan hyökkäyksen kohteena | Sido osoitteeseen 127.0.0.1 |
| Varmuuskopion säilyttäminen samalla palvelimella | Varmuuskopio katoaa palvelimen mukana | Käytä erillistä tallennustilaa |
| Päivitysten lykkääminen kuukausiksi | Tunnetut haavoittuvuudet jäävät auki | Automaattinen tietoturvapäivitys |
Usein kysytyt kysymykset
01Parantaako SSH-portin vaihtaminen tietoturvaa?
Oletusportin 22 vaihtaminen vähentää automaattisten bottien liikennettä ja lokien täyttymistä, mutta se ei ole todellinen turvatoimi. Todellinen suoja tulee avainkirjautumisesta, suljetusta salasanakirjautumisesta ja fail2banin kaltaisista toimista. Jos vaihdat portin, muista sallia uusi portti palomuurissa.
02Hallinnoitu palvelin vai hallinnoinko itse?
Jos hallitset Linuxin ylläpidon ja pystyt varaamaan aikaa säännölliseen huoltoon, voit hallinnoida VPS:ää itse. Jos et, hallinnoitu palvelu tai kokenut tiimi varmistaa, etteivät päivitys- ja valvontatyöt jää tekemättä; laiminlyöty huolto on tietoturva-aukkojen yleisin syy.
03Mitä teen, jos Fail2ban estää minut itseni?
Kirjaudu palvelimelle palveluntarjoajan verkkokonsolista ja poista esto komennolla sudo fail2ban-client set sshd unbanip IP_ADRESI. Jos sinulla on kiinteä IP-osoite, voit estää toistumisen lisäämällä sen tiedoston jail.local ignoreip-riville.
Uudella VPS:llä nämä kymmenen asetusta tekevät tyhjäksi suurimman osan automaattisista hyökkäyksistä jo ensimmäisestä päivästä; säännöllisten päivitysten ja testatun varmuuskopion kanssa ne muodostavat vankan perustan. Jos haluat hallita palvelimesi tietoturvaa ja nopeutta yhdessä mittaamalla, tutustu Auroran palveluun nopeus- ja suorituskykyoptimointi.


