10. modulis · 10.4
Noslēguma pārbaude: Jūsu servera novērtējums
10. modulis: Drošība ilgtermiņā · Lasīšanas laiks: 10 min.
Mācīšanās mērķis: Pēc šīs nodarbības Jūs varat novērtēt savu serveri ar kontrolsarakstu un automātisku pārbaudi no ārpuses, zināt, kuriem punktiem ir prioritāte, un Jums ir pastāvīgs uzturēšanas ritms un īsa servera dokumentācija.
Pamatjēdzieni: kontrolsaraksts, prioritāte, pārbaude no ārpuses, servera dokumentācija, uzturēšanas ritms (katru nedēļu, katru mēnesi, katru ceturksni, katru gadu), laidiena atbalsta beigu datums, atjaunošanas tests
No atsevišķām nodarbībām uz vienotu veselumu
Šajā kursā Jūs soli pa solim iestatījāt serveri: drošu pieteikšanos, tiesības, atjauninājumus, ugunsmūri, pakalpojumus, vietni ar https, rezerves kopijas, uzraudzību un konteinerus. Šajā pēdējā nodarbībā Jūs visu apkopojat vienā sarakstā. Jūs pārbaudāt savu serveri, ļaujat kursa programmai to apskatīt no ārpuses un pierakstāt, kā uzturēsiet serveri turpmākajos gados.
Serveris nekad nav "pabeigts". Programmatūra noveco, sertifikātu derīgums beidzas, diski piepildās, laidieni sasniedz atbalsta beigas (end of life). Tāpēc pastāvīgs ritms ir tikpat svarīgs kā sākotnējā iestatīšana.
Kontrolsaraksts svarīguma secībā
Ne viss ir vienlīdz steidzams. Ejiet cauri sarakstam no augšas uz leju: pirmie bloki novērš lielāko daļu problēmu.
1. bloks: neviens neiekļūst tāpat vien (2., 3., 5. modulis)
- Pieteikšanās tikai ar atslēgām;
PasswordAuthentication nounKbdInteractiveAuthentication no, pārbaudīts arsudo sshd -T. - Root nepiesakās ar paroli; Jūs strādājat kā parasts lietotājs ar sudo.
- Datubāzes, kešatmiņas un meklēšanas klasteri klausās uz
127.0.0.1; porti 3306, 5432, 6379, 9200 un 27017 no ārpuses ir slēgti, gan IPv4, gan IPv6. - Ugunsmūris, kurā pēc noklusējuma viss ienākošais ir slēgts; atvērti tikai tie porti, kas Jums ir nepieciešami.
- fail2ban darbojas SSH aizsardzībai (
fail2ban-client status sshd).
2. bloks: ievainojamības tiek novērstas (4. modulis)
- Automātiskie drošības atjauninājumi ir ieslēgti un pārbaudīti (žurnāls,
apt list --upgradable). - Ir plāns restartēšanai;
/var/run/reboot-requirednepaliek tur nedēļām ilgi. - Laidiens joprojām tiek atbalstīts; atbalsta beigu datums ir ierakstīts Jūsu kalendārā.
3. bloks: Jūs varat atgriezties (8. modulis)
- Šifrētas rezerves kopijas ārpus servera, automātiski, ar uzraudzību.
- Ir veikts atjaunošanas tests, un Jūs zināt, cik ilgi aizņem atjaunošana.
- Jūs zināt, kā izveidot momentuzņēmumu (snapshot) un atvērt konsoli.
4. bloks: ārpuse ir kārtībā (7. modulis)
- A un AAAA ieraksti norāda uz Jūsu serveri; reversais DNS (PTR) norāda atpakaļ uz to pašu nosaukumu.
- https ar derīgu sertifikātu, kas tiek atjaunots automātiski; http pāradresē uz https.
- HSTS un dažas drošības galvenes;
security.txtar strādājošu kontaktadresi un derīguma beigu datumu.
5. bloks: Jūs redzat, kas notiek (6., 8. modulis)
- Žurnāls (journal) ir pastāvīgs; Jūs varat lasīt žurnālus no laika pirms restartēšanas.
- Uzraudzība no ārpuses (pieejamība, sertifikāts) un no iekšpuses (disks, pakalpojumi), ar paziņojumiem, kas tiešām pienāk.
systemctl --failedir tukšs.
6. bloks: konteineri kontrolē (9. modulis, ja izmantojat Docker)
- Konteineru porti uz
127.0.0.1vai aiz reversā starpniekservera (reverse proxy); navdocker.sockkonteineros, kuriem tas patiešām nav vajadzīgs. - Sējumi (volumes) ir iekļauti rezerves kopijā; attēli (images) tiek regulāri atjaunināti.
- Noslēpumi glabājas
.envfailos ar stingrām tiesībām, nevis Git.
Pārbaude no ārpuses
Daļu no šī saraksta kursa programma var pārbaudīt no ārpuses, tieši tā, kā Jūsu serveri redz ikviens internetā. Noslēguma uzdevums (Z10.4) apvieno iepriekšējo uzdevumu pārbaudes:
| Sastāvdaļa | Ko programma dara | No nodarbības |
|---|---|---|
| SSH | Nolasa versijas baneri un jautā, kādas pieteikšanās metodes Jūsu serveris piedāvā Jūsu lietotājvārdam; nepiesakās | 2.2 |
| Datubāzu porti | Tikai mēģina izveidot savienojumu ar 3306, 5432, 6379, 9200 un 27017; neko nesūta | 5.1 |
| https | Pārbauda sertifikātu (derīgs, uzticams, pareizs nosaukums) | 7.3 |
| Galvenes | Nolasa HSTS un pārējās drošības galvenes | 7.4 |
| security.txt | Ielādē /.well-known/security.txt un pārbauda Contact un Expires | 7.4 |
| Konteiners | Meklē galveni ar Jūsu kodu, ko iestatījis Jūsu reversais starpniekserveris | 9.4 |
Programma neko neizpilda Jūsu serverī, nemēģina paroles un neskenē citus portus. Katru adresi var pārbaudīt tikai dažas reizes stundā. Zaļš rezultāts nozīmē: no ārpuses zināmākās kļūdas nav konstatētas. Tas neko nesaka par to, kas notiek Jūsu servera iekšienē; tā ir pārējā kontrolsaraksta daļa, un to Jūs pārbaudāt paši.
Servera dokumentācija
Katram serverim uzrakstiet īsu dokumentu, ko glabājat ārpus servera (piemēram, savā paroļu pārvaldniekā vai koplietojamā mapē):
- nosaukums, IP adreses, pakalpojumu sniedzējs, laidiens un atbalsta beigu datums;
- kas darbojas (pakalpojumi, konteineri, vietnes) un kāpēc;
- kuri porti ir atvērti un kam;
- kur atrodas rezerves kopijas, kā veikt atjaunošanu, kad bija pēdējais tests;
- kādi noslēpumi glabājas serverī (nevis paši noslēpumi, bet gan kuri un kur tos nomaina);
- ko Jūs apzināti darījāt citādi nekā pēc noklusējuma (piemēram, Lynis ieteikums, kuru izlaidāt, nodarbība 10.1);
- kam ir piekļuve (kuras atslēgas ir
authorized_keys).
Šī dokumentācija ir zelta vērtē incidenta gadījumā (nodarbība 10.3), laidiena jaunināšanas laikā (nodarbība 4.3) un tad, ja pārvaldību pārņem kāds cits.
Uzturēšanas ritms
Bez ritma uzmanība mazinās. Šeit ir piemērs nelielam serverim; pielāgojiet to savai situācijai.
| Kad | Kas |
|---|---|
| Katru nedēļu | Pārskatīt uzraudzību un paziņojumus; systemctl --failed; restartēt, ja ir /var/run/reboot-required (vai pārbaudīt, vai automātiskā restartēšana nostrādāja) |
| Katru mēnesi | apt list --upgradable (vai kaut kas neiestrēgst?); docker compose pull un up -d Jūsu konteineriem, kopā ar laidiena piezīmēm (release notes); diska vieta; fail2ban-client status; žurnālā meklēt neparastas kļūdas (journalctl -p err --since "1 month ago") |
| Katru ceturksni | Rezerves kopijas atjaunošanas tests; pārskatīt authorized_keys un lietotājus (noņemt tos, kam vairs nevajadzētu būt piekļuvei); atkārtoti palaist Lynis; atkārtot noslēguma pārbaudi no ārpuses (uzdevums Z10.4) |
| Katru gadu | Atjaunināt security.txt (Expires); pārbaudīt laidiena atbalsta beigu datumu un ieplānot jaunināšanu; atjaunināt savu servera dokumentāciju un ārkārtas plānu |
Ierakstiet šos brīžus savā kalendārā. Lielu daļu varat arī automatizēt ar uzraudzību no nodarbības 8.3, taču pašiem pārbaudīt joprojām ir nepieciešams.
Praksē
Neatkarīgi no tā, vai Jūsu serveris atrodas pie WebOké vai cita pakalpojumu sniedzēja: pakalpojumu sniedzējs rūpējas par aparatūru, tīklu un iespēju veidot momentuzņēmumus un rezerves kopijas, bet Jūs par visu servera iekšienē. Šis kurss ir pašpalīdzība: neviens neskatās līdzi Jūsu serverī. Taču ar šo kontrolsarakstu, dokumentāciju un ritmu Jums ir viss nepieciešamais, lai šo pārvaldību veiktu patstāvīgi un labi.
Kopsavilkums
- Pārbaudiet savu serveri pa blokiem: neviens neiekļūst tāpat vien, ievainojamības tiek novērstas, Jūs varat atgriezties, ārpuse ir kārtībā, Jūs redzat, kas notiek, konteineri kontrolē.
- Pārbaude no ārpuses aplūko SSH pieteikšanās metodes, datubāzu portus, https, galvenes, security.txt un Jūsu konteinera galveni; pārējo Jūs pārbaudāt paši.
- Uzturiet servera dokumentāciju ārpus servera.
- Strādājiet pēc pastāvīga ritma: katru nedēļu, katru mēnesi, katru ceturksni un katru gadu.
Tests (quiz)
Uzdevums
Uzdevums Z10.4: Noslēguma uzdevums: Jūsu serveris no ārpuses. Ļaujiet kursa programmai vienā reizē pārbaudīt Jūsu serveri no ārpuses: SSH pieteikšanās metodes Jūsu lietotājvārdam, piecus datubāzu portus, Jūsu vietnes https un galvenes, Jūsu security.txt un galveni X-Weboke-Cursus ar Jūsu kodu uz nosaukuma, kur darbojas Jūsu konteiners. Papildus aizpildiet 1. līdz 6. bloka kontrolsarakstu par to, ko programma nevar redzēt.
Uzdevums O10.4: Jūsu uzturēšanas ritms. Izveidojiet savu servera dokumentāciju un uzturēšanas ritmu: ko Jūs darāt katru nedēļu, katru mēnesi, katru ceturksni un katru gadu, un ierakstiet šos brīžus savā kalendārā.
Uzdevums O10.4: Jūsu uzturēšanas ritms
Šo uzdevumu veicat paši; neviens to nepārbauda. Atzīmējiet, ko esat izdarījuši, un atzīmējiet uzdevumu kā paveiktu.
Katru nedēļu pārskatīt atjauninājumus un paziņojumus; katru mēnesi veikt nelielu atjaunošanu un pārskatīt piekļuvi (authorized_keys, lietotāji); katru ceturksni pilnu noslēguma pārbaudi; katru gadu pilnu atjaunošanu no rezerves kopijas un security.txt pagarināšanu.
Jūsu atzīmes un piezīmes paliek tikai šajā pārlūkprogrammā; mēs tās nekur nesūtām. Ja esat pieteikušies, sadaļā Mani kursi saglabājam tikai to, ka uzdevums ir paveikts.
Vairāk lasīt
- Jūsu VPS aizsardzība: pirmās piecas minūtes
- HSTS un drošības galvenes Jūsu tīmekļa vietnei
- Dublēšanas stratēģija: 3-2-1 noteikums Jūsu uzņēmumam
- securitytxt.org (skaidrojums un security.txt ģenerators): https://securitytxt.org/
- Nīderlandes NCSC, rezerves kopiju stratēģijas izstrāde (Nīderlandes avots, nīderlandiešu valodā): https://www.ncsc.nl/back-up/een-back-up-strategie-opstellen
- security.txt faila izvietošana Jūsu vietnē
- Jūsu VPS drošības uzturēšana: nostiprināšana, Lynis un regulāras apkopes ritms
- Bezmaksas kurss Droši tiešsaistē uzņēmējiem 9.3: Jūsu paša drošības pārbaude un plāns
