Moduuli 10 · 10.4
Lopputarkistus: palvelimesi syynissä
Moduuli 10: Pysy turvassa · Lukuaika: 10 minuuttia
Tavoite: Tämän oppitunnin jälkeen osaat arvioida oman palvelimesi tarkistuslistan ja automaattisen ulkoisen tarkistuksen avulla, tiedät, mitkä kohdat ovat tärkeimpiä, ja sinulla on säännöllinen ylläpitorytmi sekä lyhyt palvelinkansio.
Keskeiset käsitteet: tarkistuslista, prioriteetti, ulkoinen tarkistus, palvelinkansio, ylläpitorytmi (viikoittain, kuukausittain, neljännesvuosittain, vuosittain), julkaisun tuen päättymispäivä, palautustesti
Erillisistä oppitunneista kokonaisuudeksi
Tällä kurssilla olet rakentanut palvelimen vaihe vaiheelta: turvallinen kirjautuminen, oikeudet, päivitykset, palomuuri, palvelut, https-sivusto, varmuuskopiot, valvonta ja kontit. Tällä viimeisellä oppitunnilla kokoat kaiken yhdelle listalle. Käyt palvelimesi läpi, annat kurssiohjelman tarkistaa sen ulkopuolelta ja kirjaat, miten pidät palvelimen kunnossa tulevina vuosina.
Palvelin ei ole koskaan "valmis". Ohjelmistot vanhenevat, varmenteet umpeutuvat, levyt täyttyvät ja julkaisujen tuki päättyy (end of life). Siksi säännöllinen rytmi on yhtä tärkeä kuin ensimmäinen käyttöönotto.
Tarkistuslista tärkeysjärjestyksessä
Kaikki ei ole yhtä kiireellistä. Käy lista läpi ylhäältä alas: ensimmäiset osiot estävät suurimman osan ongelmista.
Osio 1: kukaan ei pääse sisään noin vain (moduulit 2, 3, 5)
- Kirjautuminen vain avaimilla;
PasswordAuthentication nojaKbdInteractiveAuthentication no, tarkistettu komennollasudo sshd -T. - Root ei kirjaudu salasanalla; työskentelet tavallisena käyttäjänä sudon avulla.
- Tietokannat, välimuistit ja hakuklusterit kuuntelevat osoitteessa
127.0.0.1; portit 3306, 5432, 6379, 9200 ja 27017 ovat ulkoa kiinni, sekä IPv4:llä että IPv6:lla. - Palomuuri, jossa saapuva liikenne on oletuksena kokonaan estetty; vain tarvitsemasi portit ovat auki.
- fail2ban on käynnissä SSH:lle (
fail2ban-client status sshd).
Osio 2: aukot paikataan (moduuli 4)
- Automaattiset tietoturvapäivitykset ovat päällä ja tarkistettu (loki,
apt list --upgradable). - Uudelleenkäynnistyksille on suunnitelma;
/var/run/reboot-requiredei roiku viikkokausia. - Julkaisua tuetaan yhä; tuen päättymispäivä on kalenterissasi.
Osio 3: pääset takaisin (moduuli 8)
- Salatut varmuuskopiot palvelimen ulkopuolella, automaattisesti ja valvottuina.
- Palautustesti on tehty, ja tiedät, kauanko palautus kestää.
- Osaat ottaa tilannevedoksen ja avata konsolin.
Osio 4: ulkopuoli on kunnossa (moduuli 7)
- A- ja AAAA-tietueet osoittavat palvelimeesi; käänteinen DNS (PTR) osoittaa takaisin samaan nimeen.
- https voimassa olevalla varmenteella, joka uusiutuu itsestään; http ohjaa https:ään.
- HSTS ja muutama tietoturvaotsake;
security.txt, jossa on toimiva yhteysosoite ja vanhenemispäivä.
Osio 5: näet, mitä tapahtuu (moduulit 6, 8)
- Journal on pysyvä; voit lukea lokeja ajalta ennen uudelleenkäynnistystä.
- Valvonta ulkoa (saavutettavuus, varmenne) ja sisältä (levy, palvelut), ja hälytykset tulevat perille.
systemctl --failedon tyhjä.
Osio 6: kontit hallinnassa (moduuli 9, jos käytät Dockeria)
- Konttien portit osoitteessa
127.0.0.1tai käänteisen välityspalvelimen takana; eidocker.sock-asetusta konteissa, jotka eivät sitä todella tarvitse. - Taltiot (volumes) ovat mukana varmuuskopiossa; imaget päivitetään säännöllisesti.
- Salaisuudet ovat
.env-tiedostoissa tiukoilla oikeuksilla, eivät Gitissä.
Ulkoinen tarkistus
Osan tästä listasta kurssiohjelma voi tarkistaa ulkopuolelta, juuri niin kuin kuka tahansa internetissä näkee palvelimesi. Lopputehtävä (Z10.4) yhdistää aiempien tehtävien tarkistukset:
| Osa | Mitä ohjelma tekee | Oppitunnilta |
|---|---|---|
| SSH | Lukee versiobannerin ja kysyy, mitä kirjautumistapoja palvelimesi tarjoaa käyttäjänimellesi; ei kirjaudu sisään | 2.2 |
| Tietokantaportit | Yrittää vain avata yhteyden portteihin 3306, 5432, 6379, 9200 ja 27017; ei lähetä mitään | 5.1 |
| https | Tarkistaa varmenteen (voimassa, luotettu, oikea nimi) | 7.3 |
| Otsakkeet | Lukee HSTS:n ja muut tietoturvaotsakkeet | 7.4 |
| security.txt | Hakee tiedoston /.well-known/security.txt ja tarkistaa kentät Contact ja Expires | 7.4 |
| Kontti | Etsii koodisi sisältävän otsakkeen, jonka käänteinen välityspalvelimesi asettaa | 9.4 |
Ohjelma ei suorita mitään palvelimellasi, ei kokeile salasanoja eikä skannaa muita portteja. Kunkin osoitteen voi tarkistaa vain muutaman kerran tunnissa. Vihreä tulos tarkoittaa: ulkopuolelta katsottuna tunnetuimpia virheitä ei löydy. Se ei kerro mitään siitä, mitä palvelimen sisällä tapahtuu; se on tarkistuslistan loppuosa, ja sen käyt läpi itse.
Palvelinkansio
Kirjoita jokaisesta palvelimesta lyhyt dokumentti ja säilytä se palvelimen ulkopuolella (esimerkiksi salasanojen hallintaohjelmassa tai jaetussa kansiossa):
- nimi, IP-osoitteet, palveluntarjoaja, julkaisu ja tuen päättymispäivä;
- mitä palvelimella on käynnissä (palvelut, kontit, sivustot) ja miksi;
- mitkä portit ovat auki ja mihin tarkoitukseen;
- missä varmuuskopiot ovat, miten palautat ja milloin viimeisin testi tehtiin;
- mitä salaisuuksia palvelimella on (ei itse salaisuuksia, vaan mitä ne ovat ja missä ne vaihdetaan);
- missä poikkesit tietoisesti oletuksesta (esimerkiksi Lynisin ehdotus, jonka ohitit, oppitunti 10.1);
- kenellä on pääsy (mitkä avaimet ovat tiedostossa
authorized_keys).
Tämä kansio on kullanarvoinen tietoturvatapauksessa (oppitunti 10.3), julkaisupäivityksessä (oppitunti 4.3) ja silloin, kun joku muu ottaa ylläpidon hoitaakseen.
Ylläpitorytmi
Ilman rytmiä huolellisuus herpaantuu. Tässä esimerkki pienelle palvelimelle; sovella sitä omaan tilanteeseesi.
| Milloin | Mitä |
|---|---|
| Joka viikko | Käy läpi valvonta ja hälytykset; systemctl --failed; käynnistä uudelleen, jos /var/run/reboot-required on olemassa (tai tarkista, että automaattinen uudelleenkäynnistys toimi) |
| Joka kuukausi | apt list --upgradable (jääkö jotain jumiin?); docker compose pull ja up -d konteillesi julkaisutiedotteiden kanssa; levytila; fail2ban-client status; lokista silmiinpistävät virheet (journalctl -p err --since "1 month ago") |
| Joka neljännesvuosi | Varmuuskopion palautustesti; käy läpi authorized_keys ja käyttäjät (poista ne, joilla ei enää kuulu olla pääsyä); aja Lynis uudelleen; tee ulkoinen lopputarkistus uudelleen (tehtävä Z10.4) |
| Joka vuosi | Päivitä security.txt (Expires); tarkista julkaisun tuen päättymispäivä ja suunnittele päivitys; päivitä palvelinkansiosi ja hätäsuunnitelmasi |
Merkitse nämä hetket kalenteriisi. Suuren osan voit myös automatisoida oppitunnin 8.3 valvonnalla, mutta tarkistaminen on silti tarpeen.
Käytännössä
Olipa palvelimesi WebOkéssa tai muulla palveluntarjoajalla, palveluntarjoaja huolehtii laitteistosta, verkosta ja mahdollisuudesta ottaa tilannevedoksia ja varmuuskopioita, sinä kaikesta palvelimen sisällä. Tämä kurssi on omatoimista opiskelua: kukaan ei katso palvelimellesi puolestasi. Tämän tarkistuslistan, kansion ja rytmin avulla sinulla on kuitenkin kaikki, mitä tarvitset ylläpitääksesi palvelinta itsenäisesti ja hyvin.
Yhteenveto
- Käy palvelimesi läpi osioittain: kukaan ei pääse sisään noin vain, aukot paikataan, pääset takaisin, ulkopuoli on kunnossa, näet, mitä tapahtuu, ja kontit ovat hallinnassa.
- Ulkoinen tarkistus katsoo SSH-kirjautumistavat, tietokantaportit, https:n, otsakkeet, security.txt-tiedoston ja konttiotsakkeesi; loput käyt läpi itse.
- Pidä palvelinkansiota palvelimen ulkopuolella.
- Työskentele säännöllisellä rytmillä: viikoittain, kuukausittain, neljännesvuosittain ja vuosittain.
Tietovisa (quiz)
Tehtävä
Tehtävä Z10.4: Lopputehtävä: palvelimesi ulkopuolelta. Anna kurssiohjelman tarkistaa palvelimesi kerralla ulkopuolelta: SSH-kirjautumistavat käyttäjänimellesi, viisi tietokantaporttia, sivustosi https ja otsakkeet, security.txt-tiedostosi sekä otsake X-Weboke-Cursus koodillasi siinä nimessä, jossa konttisi on käynnissä. Täytä lisäksi osioiden 1-6 tarkistuslista niiltä osin, joita ohjelma ei näe.
Tehtävä O10.4: Ylläpitorytmisi. Laadi oma palvelinkansiosi ja ylläpitorytmisi: mitä teet viikoittain, kuukausittain, neljännesvuosittain ja vuosittain, ja merkitse nämä hetket kalenteriisi.
Tehtävä O10.4: Ylläpitorytmisi
Tämän tehtävän teet itse, kukaan ei tarkista sitä. Merkitse tekemäsi kohdat ja merkitse tehtävä tehdyksi.
Viikoittain päivitykset ja ilmoitukset läpi; kuukausittain pieni palautustesti ja pääsyoikeuksien (authorized_keys, käyttäjät) tarkistus; neljännesvuosittain täysi lopputarkistus; vuosittain täydellinen uudelleenrakennus varmuuskopiosta ja security.txt-tiedoston voimassaolon jatkaminen.
Merkintäsi ja muistiinpanosi pysyvät vain tässä selaimessa, emme lähetä niitä minnekään. Jos olet kirjautunut sisään, tallennamme kohtaan Omat kurssit vain sen, että olet tehnyt tehtävän.
Lue lisää
- VPS:n suojaaminen: ensimmäiset viisi minuuttia
- HSTS ja suojausotsikot verkkosivustollesi
- Varmuuskopiointistrategia: 3-2-1-sääntö omalle yrityksellesi
- securitytxt.org (security.txt-tiedoston ohjeet ja generaattori): https://securitytxt.org/
- Alankomaiden NCSC (kyberturvallisuuskeskus), varmuuskopiointistrategian laatiminen (hollanninkielinen lähde): https://www.ncsc.nl/back-up/een-back-up-strategie-opstellen
