VPS:n pitäminen turvassa: koventaminen, Lynis ja säännöllinen ylläpitorytmi
Ohjeella VPS:n suojaaminen: ensimmäiset viisi minuuttia luot perustan: päivitykset, kirjautuminen avaimella, palomuuri ja fail2ban. Palvelin ei kuitenkaan ole koskaan valmis. Ohjelmistot vanhenevat, varmenteet erääntyvät ja levyt täyttyvät. Tästä artikkelista luet, miten kovennat palvelinta sen jälkeen vaihe vaiheelta (hardening), miten tarkistat sen Lyniksellä ja millainen ylläpitorytmi auttaa.
Neljä periaatetta
- Pieni hyökkäyspinta. Mitä ei ole, se ei voi vuotaa. Poista palvelut ja paketit, joita et käytä, ja pidä ulospäin auki vain ne portit, joita todella tarvitaan. Katso Mitkä palvelut kuuntelevat VPS:lläsi ja mihin pääsee ulkopuolelta?
- Vähimmät oikeudet. Ei päivittäistä työtä rootina, palvelut omilla käyttäjillään, ei koskaan
chmod 777. Katso VPS:n tiedosto-oikeuksien lukeminen ja oikea asettaminen. - Kerroksellinen puolustus. Oleta, että yksi toimenpide pettää. Tietokanta, joka kuuntelee vain osoitteessa
127.0.0.1, on palomuurin takana ja jolla on vahva salasana, pysyy turvassa, vaikka yksi näistä kolmesta pettäisi. - Näe, mitä tapahtuu. Lokit, valvonta ja varmuuskopiot. Ilman näitä kolmea huomaat ongelman vasta, kun on liian myöhäistä.
CIS Benchmarks lyhyesti
Center for Internet Security (CIS) julkaisee CIS Benchmarks -ohjeet: tuotekohtaisia listoja suositelluista asetuksista, myös Debianille ja Ubuntulle. Ne jaetaan tasoihin Level 1 (perustoimenpiteet ilman suuria haittoja, useimmille palvelimille tavoite) ja Level 2 (tiukempi, voi maksaa toimintoja tai nopeutta). Käytä niitä hakuteoksena: ymmärrä suositus ennen kuin otat sen käyttöön, muuta yksi asia kerrallaan ja kirjaa ylös, miksi jätät jonkin asian tietoisesti tekemättä. Varo valmiita skriptejä, jotka ottavat "kaiken CIS:stä" käyttöön kerralla: niillä lukitset itsesi helposti ulos.
Tarkistus Lyniksellä
Lynis on ilmainen avoimen lähdekoodin ohjelma, joka tarkastaa palvelimesi sisältäpäin. Se ei itse muuta mitään, vaan ainoastaan raportoi.
sudo apt install lynis sudo lynis audit system
AlmaLinuxissa ja Rocky Linuxissa asennat sen EPEListä komennolla sudo dnf install lynis. Tulokset luet näin:
- Warnings on syytä tarkistaa huolella, esimerkiksi paketit, joissa on tunnettuja haavoittuvuuksia (silloin päivityksiä on odottamassa).
- Suggestions ovat neuvoja. Monet ovat hyödyllisiä, osa ei sovi palvelimellesi. Esimerkiksi ehdotus poistaa
AllowTcpForwardingkäytöstä rikkoo SSH-tunnelisi. Älä noudata niitä sokeasti. - Jokaisella ilmoituksella on hakasulkeissa koodi, kuten
[SSH-7408]. Sen avulla etsit tiedostosta/var/log/lynis.log, mitä tarkalleen testattiin. - Hardening index (luku 100:aan asti) on suuntaa antava, ei arvosana, jota kannattaa jahdata.
Ota tilannevedos ennen kuin muutat mitään Lyniksen perusteella, katso VPS:n tilannevedokset ja varmuuskopiot, ja tiedä, miten avaat konsolin, jos lukitset itsesi kuitenkin ulos.
Ylläpitorytmi
Esimerkki pienelle palvelimelle. Mukauta se omaan tilanteeseesi ja merkitse ajankohdat kalenteriisi.
| Milloin | Mitä |
|---|---|
| Viikoittain | Käy läpi valvonnan ilmoitukset; systemctl --failed; käynnistä uudelleen, jos /var/run/reboot-required on olemassa |
| Kuukausittain | apt list --upgradable (jääkö jotain roikkumaan?); päivitä kontit; levytila; lokin virheet komennolla journalctl -p err --since "1 month ago" |
| Neljännesvuosittain | Tee varmuuskopion koepalautus; käy läpi käyttäjät ja authorized_keys; aja Lynis uudelleen |
| Vuosittain | Tarkista versiosi tuen päättymispäivä ja suunnittele päivitys; päivitä security.txt, jos sinulla on sellainen; päivitä palvelinkansiosi |
Ohjeita eri osa-alueisiin: Päivitykset ja automaattiset päivitykset, Valvonta ulkoa ja sisältä, Varmuuskopiot resticillä toiseen sijaintiin, VPS:n SSH-pääsyn peruminen entiseltä työntekijältä tai kadonneelta kannettavalta ja VPS:n päivittäminen Debianin tai Ubuntun uuteen versioon.
Palvelinkansio
Kirjoita jokaisesta palvelimesta lyhyt dokumentti ja säilytä se palvelimen ulkopuolella, esimerkiksi salasanojen hallintaohjelmassa:
- nimi, IP-osoitteet, käyttöjärjestelmä ja kyseisen version tuen päättymispäivä;
- mitä palvelimella on käynnissä (palvelut, kontit, sivustot) ja mitkä portit ovat niitä varten auki;
- missä varmuuskopiot ovat, miten palautat ne ja milloin testasit palautuksen viimeksi;
- mitä salaisuuksia palvelimella on (ei itse salaisuuksia, vaan mitä ne ovat ja missä vaihdat ne);
- kenellä on pääsy ja missä poikkesit tietoisesti oletuksesta.
Kansiosta on apua häiriötilanteessa, päivityksessä ja silloin, kun joku muu ottaa ylläpidon hoitaakseen.
timedatectl, että kello on synkronoitu: väärällä ajalla lokit ovat käyttökelvottomia ja varmenteet voidaan katsoa virheellisiksi.VPS on täysin itse hallinnoitava: palvelimen sisäisen kovennuksen ja ylläpidon hoidat itse. Me autamme WebOké-osuudessa, kuten VPS-näkymässä, verkossa, tilannevedoksissa ja päivittäisissä varmuuskopioissa.
Haluatko oppia lisää? Käy ilmainen kurssi VPS ja Linux-palvelimen ylläpito, oppitunti 10.1 Kovennus ja CIS-periaatteet tai oppitunti 10.4 Lopputarkistus: palvelimesi syynissä.
