Modul 10 · 10.4
Záverečná kontrola: váš server pod drobnohľadom
Modul 10: Zostaňte v bezpečí · Čas čítania: 10 minút
Cieľ lekcie: Po tejto lekcii dokážete posúdiť vlastný server pomocou kontrolného zoznamu a automatickej kontroly zvonku, viete, ktoré body majú prednosť, a máte pevný rytmus údržby a stručnú dokumentáciu servera.
Kľúčové pojmy: kontrolný zoznam, priorita, kontrola zvonku, dokumentácia servera, rytmus údržby (týždenne, mesačne, štvrťročne, ročne), dátum konca podpory vydania, test obnovy
Od jednotlivých lekcií k jednému celku
V tomto kurze ste krok za krokom nastavili server: bezpečné prihlasovanie, práva, aktualizácie, firewall, služby, webovú stránku s https, zálohy, monitorovanie a kontajnery. V tejto poslednej lekcii zhrniete všetko do jedného zoznamu. Server prejdete, necháte program kurzu pozrieť sa naň zvonku a zaznamenáte, ako budete server udržiavať v nasledujúcich rokoch.
Server nie je nikdy "hotový". Softvér zastaráva, certifikáty vypršia, disky sa zaplnia, vydania dosiahnu end of life. Pevný rytmus je preto rovnako dôležitý ako prvé nastavenie.
Kontrolný zoznam podľa dôležitosti
Nie všetko je rovnako naliehavé. Prejdite zoznam zhora nadol: prvé bloky zabránia väčšine problémov.
Blok 1: nikto sa len tak nedostane dnu (modul 2, 3, 5)
- Prihlasovanie iba pomocou kľúčov;
PasswordAuthentication noaKbdInteractiveAuthentication no, overené príkazomsudo sshd -T. - Root sa neprihlasuje heslom; pracujete ako bežný používateľ so sudo.
- Databázy, cache a vyhľadávacie klastre počúvajú na
127.0.0.1; porty 3306, 5432, 6379, 9200 a 27017 sú zvonku zatvorené, pre IPv4 aj IPv6. - Firewall, ktorý predvolene blokuje všetko prichádzajúce; otvorené sú iba porty, ktoré potrebujete.
- fail2ban beží pre SSH (
fail2ban-client status sshd).
Blok 2: diery sa záplatujú (modul 4)
- Automatické bezpečnostné aktualizácie sú zapnuté a skontrolované (log,
apt list --upgradable). - Plán reštartov;
/var/run/reboot-requiredtam nezostáva celé týždne. - Vydanie je stále podporované; dátum konca podpory máte v kalendári.
Blok 3: viete sa vrátiť (modul 8)
- Šifrované zálohy mimo servera, automatické a monitorované.
- Test obnovy je vykonaný a viete, ako dlho obnova trvá.
- Viete, ako vytvoriť snapshot a otvoriť konzolu.
Blok 4: vonkajšia strana sedí (modul 7)
- Záznamy A a AAAA smerujú na váš server; reverzné DNS (PTR) smeruje späť na rovnaký názov.
- https s platným certifikátom, ktorý sa obnovuje automaticky; http presmerúva na https.
- HSTS a niekoľko bezpečnostných hlavičiek;
security.txts funkčnou kontaktnou adresou a dátumom platnosti.
Blok 5: vidíte, čo sa deje (modul 6, 8)
- Journal je trvalý; logy spred reštartu si viete prečítať.
- Monitorovanie zvonku (dostupnosť, certifikát) aj zvnútra (disk, služby) s upozorneniami, ktoré skutočne prichádzajú.
systemctl --failedje prázdne.
Blok 6: kontajnery pod kontrolou (modul 9, ak používate Docker)
- Porty kontajnerov na
127.0.0.1alebo za reverzným proxy; žiadnedocker.sockv kontajneroch, ktoré to skutočne nepotrebujú. - Volumes sú súčasťou zálohy; images sa pravidelne aktualizujú.
- Tajomstvá sú v súboroch
.envs prísnymi právami, nie v Gite.
Kontrola zvonku
Časť tohto zoznamu dokáže program kurzu skontrolovať zvonku, presne tak, ako váš server vidí ktokoľvek na internete. Záverečná úloha (Z10.4) spája kontroly z predchádzajúcich úloh:
| Časť | Čo program robí | Z lekcie |
|---|---|---|
| SSH | Prečíta banner s verziou a zistí, ktoré spôsoby prihlásenia váš server ponúka pre vaše používateľské meno; neprihlasuje sa | 2.2 |
| Databázové porty | Iba skúsi nadviazať spojenie na 3306, 5432, 6379, 9200 a 27017; nič neposiela | 5.1 |
| https | Skontroluje certifikát (platný, dôveryhodný, správny názov) | 7.3 |
| Hlavičky | Prečíta HSTS a ostatné bezpečnostné hlavičky | 7.4 |
| security.txt | Stiahne /.well-known/security.txt a skontroluje Contact a Expires | 7.4 |
| Kontajner | Hľadá hlavičku s vaším kódom, ktorú nastavuje váš reverzný proxy | 9.4 |
Program na vašom serveri nič nespúšťa, neskúša heslá a neskenuje iné porty. Každú adresu možno skontrolovať iba niekoľkokrát za hodinu. Zelený výsledok znamená: zvonku chýbajú najznámejšie chyby. Nehovorí nič o tom, čo sa deje vnútri vášho servera; to je zvyšok kontrolného zoznamu a ten prejdete sami.
Dokumentácia servera
Pre každý server napíšte krátky dokument uložený mimo servera (napríklad v správcovi hesiel alebo v zdieľanom priečinku):
- názov, IP adresy, poskytovateľ, vydanie a dátum konca podpory;
- čo na ňom beží (služby, kontajnery, webové stránky) a prečo;
- ktoré porty sú otvorené a na čo;
- kde sú zálohy, ako sa obnovujú, kedy bol posledný test;
- ktoré tajomstvá sú na serveri (nie samotné tajomstvá, ale ktoré a kde sa vymieňajú);
- čo ste vedome urobili inak než štandardne (napríklad odporúčanie Lynis, ktoré ste vynechali, lekcia 10.1);
- kto má prístup (ktoré kľúče sú v
authorized_keys).
Táto dokumentácia je na nezaplatenie pri incidente (lekcia 10.3), pri upgrade vydania (lekcia 4.3) a keď správu prevezme niekto iný.
Rytmus údržby
Bez rytmu disciplína poľavuje. Príklad pre malý server; prispôsobte ho svojej situácii.
| Kedy | Čo |
|---|---|
| Každý týždeň | Prejsť monitorovanie a upozornenia; systemctl --failed; reštartovať, ak je tam /var/run/reboot-required (alebo overiť, že automatický reštart fungoval) |
| Každý mesiac | apt list --upgradable (nezaseklo sa niečo?); docker compose pull a up -d pre vaše kontajnery spolu s release notes; miesto na disku; fail2ban-client status; log s nápadnými chybami (journalctl -p err --since "1 month ago") |
| Každý štvrťrok | Test obnovy zo zálohy; prejsť authorized_keys a používateľov (odstrániť tých, ktorí už nemajú mať prístup); znova spustiť Lynis; znova vykonať záverečnú kontrolu zvonku (úloha Z10.4) |
| Každý rok | Aktualizovať security.txt (Expires); pozrieť dátum konca podpory vydania a naplánovať upgrade; aktualizovať dokumentáciu servera a núdzový plán |
Zapíšte si tieto termíny do kalendára. Veľkú časť môžete automatizovať aj pomocou monitorovania z lekcie 8.3, no pozrieť sa na to sami je stále potrebné.
V praxi
Či už je váš server u WebOké alebo u iného poskytovateľa: poskytovateľ sa stará o hardvér, sieť a možnosť vytvárať snapshoty a zálohy, vy o všetko vnútri servera. Tento kurz je svojpomoc: nikto vám na server nedozerá. S týmto kontrolným zoznamom, dokumentáciou a rytmom však máte v rukách všetko, čo potrebujete, aby ste správu zvládli samostatne a dobre.
Zhrnutie
- Server prechádzajte po blokoch: nikto sa len tak nedostane dnu, diery sa záplatujú, viete sa vrátiť, vonkajšia strana sedí, vidíte, čo sa deje, kontajnery pod kontrolou.
- Kontrola zvonku sa pozerá na spôsoby prihlásenia cez SSH, databázové porty, https, hlavičky, security.txt a hlavičku vášho kontajnera; zvyšok prejdete sami.
- Vedte dokumentáciu servera, uloženú mimo servera.
- Pracujte v pevnom rytme: týždenne, mesačne, štvrťročne a ročne.
Kvíz
Úloha
Úloha Z10.4: Záverečná úloha: váš server zvonku. Nechajte program kurzu naraz skontrolovať váš server zvonku: spôsoby prihlásenia cez SSH pre vaše používateľské meno, päť databázových portov, https a hlavičky vašej stránky, váš security.txt a hlavičku X-Weboke-Cursus s vaším kódom na názve, kde beží váš kontajner. Okrem toho vyplňte kontrolný zoznam blokov 1 až 6 pre to, čo program nevidí.
Úloha O10.4: Váš rytmus údržby. Vytvorte si vlastnú dokumentáciu servera a rytmus údržby: čo robíte týždenne, mesačne, štvrťročne a ročne, a zapíšte si tieto termíny do kalendára.
Úloha O10.4: Váš rytmus údržby
Túto úlohu vykonávate sami, nikto ju nekontroluje. Odškrtnite, čo ste urobili, a označte úlohu ako splnenú.
Týždenne skontrolovať aktualizácie a upozornenia; mesačne malé obnovenie a kontrola prístupov (authorized_keys, používatelia); štvrťročne úplná záverečná kontrola; ročne úplné obnovenie zo zálohy a predĺženie security.txt.
Vaše zaškrtnutia a poznámky zostávajú iba v tomto prehliadači, nikam ich neposielame. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že ste úlohu splnili.
Ďalšie čítanie
- Zabezpečenie vášho VPS: prvých päť minút
- HSTS a bezpečnostné hlavičky pre váš web
- Stratégia zálohovania: pravidlo 3-2-1 pre vašu vlastnú firmu
- securitytxt.org (vysvetlenie a generátor pre security.txt): https://securitytxt.org/
- Holandské NCSC, Vytvorenie stratégie zálohovania (holandský zdroj): https://www.ncsc.nl/back-up/een-back-up-strategie-opstellen
- Umiestnenie súboru security.txt na vašu webovú stránku
- Ako udržať váš VPS v bezpečí: hardening, Lynis a pravidelný plán údržby
- Bezplatný kurz Bezpečne online pre podnikateľov 9.3: Vlastná bezpečnostná kontrola a plán
