Modul 10 · 10.4
Končni pregled: Vaš strežnik pod drobnogledom
Modul 10: Ostanite varni · Čas branja: 10 minut
Učni cilj: Po tej lekciji boste znali svoj strežnik oceniti s kontrolnim seznamom in samodejnim pregledom od zunaj, vedeli boste, katere točke imajo prednost, imeli pa boste tudi stalen ritem vzdrževanja in kratek dosje strežnika.
Ključni pojmi: kontrolni seznam, prednost, pregled od zunaj, dosje strežnika, ritem vzdrževanja (tedensko, mesečno, četrtletno, letno), datum konca podpore izdaje, preizkus obnovitve
Od posameznih lekcij do celote
V tem tečaju ste strežnik postavili korak za korakom: varna prijava, pravice, posodobitve, požarni zid, storitve, spletno mesto s https, varnostne kopije, nadzor in vsebniki. V tej zadnji lekciji vse to zberete na enem seznamu. Pregledate svoj strežnik, ga pustite programu tečaja pregledati od zunaj in zapišete, kako boste strežnik vzdrževali v prihodnjih letih.
Strežnik nikoli ni "dokončan". Programska oprema zastari, certifikati potečejo, diski se napolnijo, izdaje dosežejo konec podpore (end of life). Stalen ritem je zato prav tako pomemben kot prva postavitev.
Kontrolni seznam po pomembnosti
Vse ni enako nujno. Seznam preglejte od zgoraj navzdol: prvi sklopi preprečijo največ težav.
Sklop 1: nihče ne pride kar tako noter (modul 2, 3, 5)
- Prijava samo s ključi;
PasswordAuthentication noinKbdInteractiveAuthentication no, preverjeno zsudo sshd -T. - Root se ne prijavlja z geslom; delate kot navaden uporabnik s sudo.
- Podatkovne baze, predpomnilniki in iskalne gruče poslušajo na
127.0.0.1; vrata 3306, 5432, 6379, 9200 in 27017 so od zunaj zaprta, za IPv4 in IPv6. - Požarni zid, ki privzeto zapre ves dohodni promet; odprta so samo vrata, ki jih potrebujete.
- fail2ban teče za SSH (
fail2ban-client status sshd).
Sklop 2: luknje se krpajo (modul 4)
- Samodejne varnostne posodobitve so vklopljene in preverjene (dnevnik,
apt list --upgradable). - Načrt za ponovne zagone;
/var/run/reboot-requiredne ostane tam več tednov. - Izdaja je še podprta; datum konca podpore je v Vašem koledarju.
Sklop 3: lahko se vrnete nazaj (modul 8)
- Šifrirane varnostne kopije zunaj strežnika, samodejne in z nadzorom.
- Opravljen preizkus obnovitve, in veste, koliko časa traja obnovitev.
- Veste, kako naredite posnetek (snapshot) in odprete konzolo.
Sklop 4: zunanjost je v redu (modul 7)
- Zapisa A in AAAA kažeta na Vaš strežnik; obratni DNS (PTR) kaže nazaj na isto ime.
- https z veljavnim certifikatom, ki se samodejno obnavlja; http preusmerja na https.
- HSTS in nekaj varnostnih glav;
security.txtz delujočim kontaktnim naslovom in datumom poteka.
Sklop 5: vidite, kaj se dogaja (modul 6, 8)
- Journal je trajen; dnevnike lahko berete tudi iz časa pred ponovnim zagonom.
- Nadzor od zunaj (dosegljivost, certifikat) in od znotraj (disk, storitve), z obvestili, ki res prispejo.
systemctl --failedje prazen.
Sklop 6: vsebniki pod nadzorom (modul 9, če uporabljate Docker)
- Vrata vsebnikov na
127.0.0.1ali za povratnim posredniškim strežnikom (reverse proxy); brezdocker.sockv vsebnikih, ki tega res ne potrebujejo. - Nosilci (volumes) so vključeni v varnostno kopijo; slike (images) se redno posodabljajo.
- Skrivnosti so v datotekah
.envs strogimi pravicami, ne v Gitu.
Pregled od zunaj
Del tega seznama lahko program tečaja preveri od zunaj, natanko tako, kot Vaš strežnik vidi kdorkoli na internetu. Zaključna naloga (Z10.4) združuje preverjanja iz prejšnjih nalog:
| Del | Kaj naredi program | Iz lekcije |
|---|---|---|
| SSH | Prebere pasico z različico in vpraša, katere načine prijave Vaš strežnik ponuja za Vaše uporabniško ime; se ne prijavi | 2.2 |
| Vrata podatkovnih baz | Poskusi samo vzpostaviti povezavo z vrati 3306, 5432, 6379, 9200 in 27017; ne pošlje ničesar | 5.1 |
| https | Preveri certifikat (veljaven, zaupanja vreden, pravilno ime) | 7.3 |
| Glave | Prebere HSTS in druge varnostne glave | 7.4 |
| security.txt | Prenese /.well-known/security.txt in preveri Contact in Expires | 7.4 |
| Vsebnik | Poišče glavo z Vašo kodo, ki jo nastavi Vaš povratni posredniški strežnik | 9.4 |
Program na Vašem strežniku ničesar ne izvaja, ne poskuša gesel in ne pregleduje drugih vrat. Vsak naslov je mogoče preveriti le nekajkrat na uro. Zelen rezultat pomeni: od zunaj najbolj znanih napak ni. O tem, kaj se dogaja znotraj Vašega strežnika, ne pove ničesar; to je preostanek kontrolnega seznama, ki ga pregledate sami.
Dosje strežnika
Za vsak strežnik napišite kratek dokument in ga hranite zunaj strežnika (na primer v upravitelju gesel ali v skupni mapi):
- ime, naslovi IP, ponudnik, izdaja in datum konca podpore;
- kaj teče na strežniku (storitve, vsebniki, spletna mesta) in zakaj;
- katera vrata so odprta in za kaj;
- kje so varnostne kopije, kako jih obnovite, kdaj je bil zadnji preizkus;
- katere skrivnosti so na strežniku (ne samih skrivnosti, temveč katere so in kje jih zamenjate);
- kaj ste namerno naredili drugače od privzetega (na primer predlog orodja Lynis, ki ste ga preskočili, lekcija 10.1);
- kdo ima dostop (kateri ključi so v
authorized_keys).
Ta dosje je zlata vreden ob incidentu (lekcija 10.3), ob nadgradnji izdaje (lekcija 4.3) in kadar upravljanje prevzame nekdo drug.
Ritem vzdrževanja
Brez ritma pozornost popusti. Spodaj je primer za majhen strežnik; prilagodite ga svojim razmeram.
| Kdaj | Kaj |
|---|---|
| Vsak teden | Pregled nadzora in obvestil; systemctl --failed; ponovni zagon, če obstaja /var/run/reboot-required (ali preverite, da je samodejni ponovni zagon deloval) |
| Vsak mesec | apt list --upgradable (ali kaj obvisi?); docker compose pull in up -d za Vaše vsebnike, skupaj z opombami ob izdaji (release notes); prostor na disku; fail2ban-client status; dnevnik glede opaznih napak (journalctl -p err --since "1 month ago") |
| Vsako četrtletje | Preizkus obnovitve iz varnostne kopije; pregled authorized_keys in uporabnikov (odstranite tiste, ki ne bi smeli več imeti dostopa); ponovni zagon orodja Lynis; ponovni zaključni pregled od zunaj (naloga Z10.4) |
| Vsako leto | Posodobitev security.txt (Expires); pregled datuma konca podpore izdaje in načrtovanje nadgradnje; posodobitev dosjeja strežnika in načrta za nujne primere |
Te trenutke vpišite v svoj koledar. Velik del lahko avtomatizirate tudi z nadzorom iz lekcije 8.3, vendar je pogled človeka še vedno potreben.
V praksi
Ne glede na to, ali je Vaš strežnik pri WebOké ali pri drugem ponudniku: ponudnik skrbi za strojno opremo, omrežje in možnost izdelave posnetkov in varnostnih kopij, Vi pa za vse znotraj strežnika. Ta tečaj je samopomoč: nihče ne spremlja Vašega strežnika namesto Vas. S tem kontrolnim seznamom, dosjejem in ritmom pa imate v rokah vse, da to upravljanje opravljate samostojno in dobro.
Povzetek
- Strežnik preglejte po sklopih: nihče ne pride kar tako noter, luknje se krpajo, lahko se vrnete nazaj, zunanjost je v redu, vidite, kaj se dogaja, vsebniki pod nadzorom.
- Pregled od zunaj preveri načine prijave SSH, vrata podatkovnih baz, https, glave, security.txt in glavo Vašega vsebnika; preostalo pregledate sami.
- Vodite dosje strežnika, shranjen zunaj strežnika.
- Delajte po stalnem ritmu: tedensko, mesečno, četrtletno in letno.
Kviz
Naloga
Naloga Z10.4: Zaključna naloga: Vaš strežnik od zunaj. Naj program tečaja v enem koraku od zunaj preveri Vaš strežnik: načine prijave SSH za Vaše uporabniško ime, pet vrat podatkovnih baz, https in glave Vašega spletnega mesta, Vašo datoteko security.txt ter glavo X-Weboke-Cursus z Vašo kodo na imenu, kjer teče Vaš vsebnik. Poleg tega izpolnite kontrolni seznam sklopov od 1 do 6 za tisto, česar program ne more videti.
Naloga O10.4: Vaš ritem vzdrževanja. Pripravite svoj dosje strežnika in ritem vzdrževanja: kaj počnete tedensko, mesečno, četrtletno in letno, ter te trenutke vpišite v svoj koledar.
Naloga O10.4: Vaš ritem vzdrževanja
To nalogo opravite sami; nihče je ne pregleda. Odkljukajte, kar ste naredili, in nalogo označite kot opravljeno.
Tedensko pregled posodobitev in obvestil; mesečno manjša obnovitev in pregled dostopa (authorized_keys, uporabniki); četrtletno celoten končni pregled; letno popolna ponovna postavitev iz varnostne kopije in podaljšanje security.txt.
Vaše kljukice in zapiski ostanejo samo v tem brskalniku, nikamor jih ne pošiljamo. Če ste prijavljeni, v Moji tečaji shranimo samo podatek, da ste nalogo opravili.
Za nadaljnje branje
- Zavarovanje Vašega VPS: prvih pet minut
- HSTS in varnostne glave za Vašo spletno stran
- Strategija varnostnega kopiranja: pravilo 3-2-1 za Vaše lastno podjetje
- securitytxt.org (razlaga in generator za security.txt): https://securitytxt.org/
- Nizozemski NCSC, Priprava strategije varnostnega kopiranja (nizozemski vir): https://www.ncsc.nl/back-up/een-back-up-strategie-opstellen
