Modul 10 · 10.4
Slutkontroll: din server mot checklistan
Modul 10: Håll dig säker · Lästid: 10 minuter
Lärandemål: Efter den här lektionen kan du granska din egen server med en checklista och en automatisk kontroll utifrån. Du vet vilka punkter som går först, och du har en fast underhållsrytm och en kort serverdokumentation.
Nyckelbegrepp: checklista, prioritet, kontroll utifrån, serverdokumentation, underhållsrytm (varje vecka, varje månad, varje kvartal, varje år), slutdatum för releasen, återställningstest
Från enskilda lektioner till en helhet
I den här kursen har du byggt upp en server steg för steg: säker inloggning, rättigheter, uppdateringar, brandvägg, tjänster, en webbplats med https, säkerhetskopior, bevakning och containrar. I den här sista lektionen samlar du allt i en lista. Du går igenom din server, låter kursprogrammet titta utifrån och bestämmer hur du sköter servern de kommande åren.
En server blir aldrig "klar". Programvara blir gammal, certifikat går ut, diskar blir fulla och releaser når end of life. En fast rytm är därför lika viktig som den första installationen.
Checklistan, i prioritetsordning
Allt är inte lika bråttom. Gå igenom listan uppifrån och ned: de första blocken förhindrar de flesta problemen.
Block 1: ingen kommer in hur som helst (modul 2, 3, 5)
- Inloggning bara med nycklar;
PasswordAuthentication noochKbdInteractiveAuthentication no, kontrollerat medsudo sshd -T. - Root loggar inte in med lösenord; du arbetar som vanlig användare med sudo.
- Databaser, cacher och sökkluster lyssnar på
127.0.0.1; portarna 3306, 5432, 6379, 9200 och 27017 är stängda utifrån, för både IPv4 och IPv6. - En brandvägg som som standard stänger all inkommande trafik; bara de portar du behöver är öppna.
- fail2ban körs för SSH (
fail2ban-client status sshd).
Block 2: sårbarheter täpps till (modul 4)
- Automatiska säkerhetsuppdateringar är påslagna och kontrollerade (logg,
apt list --upgradable). - En plan för omstarter;
/var/run/reboot-requiredligger inte kvar i veckor. - Releasen har fortfarande support; slutdatumet står i din kalender.
Block 3: du kan gå tillbaka (modul 8)
- Krypterade säkerhetskopior utanför servern, automatiska och bevakade.
- Ett återställningstest är gjort, och du vet hur lång tid en återställning tar.
- Du vet hur du tar en snapshot och öppnar konsolen.
Block 4: utsidan stämmer (modul 7)
- A- och AAAA-poster pekar på din server; reverse DNS (PTR) pekar tillbaka på samma namn.
- https med ett giltigt certifikat som förnyas automatiskt; http skickar vidare till https.
- HSTS och några säkerhetsheaders; en
security.txtmed en fungerande kontaktadress och ett utgångsdatum.
Block 5: du ser vad som händer (modul 6, 8)
- Journalen är beständig; du kan läsa loggar från före en omstart.
- Bevakning utifrån (nåbarhet, certifikat) och inifrån (disk, tjänster), med aviseringar som faktiskt kommer fram.
systemctl --failedär tom.
Block 6: containrar under kontroll (modul 9, om du använder Docker)
- Containerportar på
127.0.0.1eller bakom reverse proxyn; ingendocker.socki containrar som inte verkligen behöver det. - Volymer ingår i säkerhetskopian; images uppdateras regelbundet.
- Hemligheter ligger i
.env-filer med strikta rättigheter, inte i Git.
Kontrollen utifrån
En del av den här listan kan kursprogrammet kontrollera utifrån, precis som alla på internet ser din server. Slutuppgiften (Z10.4) kombinerar kontrollerna från tidigare uppgifter:
| Del | Vad programmet gör | Från lektion |
|---|---|---|
| SSH | Läser versionsbannern och frågar vilka inloggningsmetoder din server erbjuder för ditt användarnamn; loggar inte in | 2.2 |
| Databasportar | Försöker bara ansluta till 3306, 5432, 6379, 9200 och 27017; skickar ingenting | 5.1 |
| https | Kontrollerar certifikatet (giltigt, betrott, rätt namn) | 7.3 |
| Headers | Läser HSTS och de andra säkerhetsheaders | 7.4 |
| security.txt | Hämtar /.well-known/security.txt och kontrollerar Contact och Expires | 7.4 |
| Container | Letar efter headern med din kod, satt av din reverse proxy | 9.4 |
Programmet kör ingenting på din server, provar inga lösenord och skannar inga andra portar. Varje adress kan bara kontrolleras några gånger per timme. Ett grönt resultat betyder: utifrån syns inte de vanligaste felen. Det säger ingenting om vad som händer inne på servern; det är resten av checklistan, och den går du igenom själv.
Serverdokumentationen
Skriv ett kort dokument för varje server och förvara det utanför servern (till exempel i din lösenordshanterare eller en delad mapp):
- namn, IP-adresser, leverantör, release och slutdatum;
- vad som körs (tjänster, containrar, webbplatser) och varför;
- vilka portar som är öppna och till vad;
- var säkerhetskopiorna finns, hur du återställer och när det senaste testet gjordes;
- vilka hemligheter som finns på servern (inte själva hemligheterna, men vilka de är och var de byts ut);
- vad du medvetet gjorde annorlunda än standard (till exempel ett förslag från Lynis som du hoppade över, lektion 10.1);
- vem som har åtkomst (vilka nycklar som finns i
authorized_keys).
Den här dokumentationen är guld värd vid en incident (lektion 10.3), vid en release-uppgradering (lektion 4.3) och när någon annan tar över driften.
En underhållsrytm
Utan rytm blir det slarvigt. Här är ett exempel för en liten server; anpassa det efter din egen situation.
| När | Vad |
|---|---|
| Varje vecka | Gå igenom bevakning och aviseringar; systemctl --failed; starta om om /var/run/reboot-required finns (eller kontrollera att den automatiska omstarten fungerade) |
| Varje månad | apt list --upgradable (hänger något kvar?); docker compose pull och up -d för dina containrar, med release notes; diskutrymme; fail2ban-client status; loggen för iögonfallande fel (journalctl -p err --since "1 month ago") |
| Varje kvartal | Återställningstest av en säkerhetskopia; gå igenom authorized_keys och användare (ta bort den som inte längre ska ha åtkomst); kör Lynis igen; gör slutkontrollen utifrån igen (uppgift Z10.4) |
| Varje år | Uppdatera security.txt (Expires); kolla releasens slutdatum och planera en uppgradering; uppdatera din serverdokumentation och nödplan |
Lägg in de här tillfällena i din kalender. Mycket kan du också automatisera med bevakningen från lektion 8.3, men du behöver fortfarande titta själv.
I praktiken
Oavsett om din server finns hos WebOké eller hos en annan leverantör: leverantören står för hårdvaran, nätverket och möjligheten att ta snapshots och säkerhetskopior, du står för allt inne på servern. Den här kursen är självhjälp: ingen tittar på din server. Med checklistan, dokumentationen och rytmen har du ändå allt du behöver för att sköta driften själv, och sköta den bra.
Sammanfattning
- Gå igenom din server i block: ingen kommer in hur som helst, sårbarheter täpps till, du kan gå tillbaka, utsidan stämmer, du ser vad som händer, containrar under kontroll.
- Kontrollen utifrån tittar på SSH-inloggningsmetoder, databasportar, https, headers, security.txt och din containerheader; resten går du igenom själv.
- Håll en serverdokumentation uppdaterad, utanför servern.
- Arbeta med en fast rytm: varje vecka, varje månad, varje kvartal och varje år.
Quiz
Uppgift
Uppgift Z10.4: Slutuppgift: din server utifrån. Låt kursprogrammet kontrollera din server utifrån i ett svep: SSH-inloggningsmetoderna för ditt användarnamn, de fem databasportarna, https och headers för din webbplats, din security.txt och headern X-Weboke-Cursus med din kod på namnet där din container körs. Fyll dessutom i checklistan för block 1 till och med 6 för det som programmet inte kan se.
Uppgift O10.4: Din underhållsrytm. Skapa din egen serverdokumentation och underhållsrytm: vad gör du varje vecka, varje månad, varje kvartal och varje år? Lägg in de tillfällena i din kalender.
Uppgift O10.4: Din underhållsrytm
Den här uppgiften gör du själv; ingen kontrollerar den. Bocka av vad du har gjort och markera uppgiften som klar.
Varje vecka: gå igenom uppdateringar och aviseringar; varje månad: en liten återställning och gå igenom åtkomsten (authorized_keys, användare); varje kvartal: en fullständig slutkontroll; varje år: en fullständig återuppbyggnad från säkerhetskopian och förnya security.txt.
Dina bockar och anteckningar sparas bara i den här webbläsaren; vi skickar dem ingenstans. Är du inloggad sparar vi i Mina kurser bara att du har gjort uppgiften.
Läs mer
- Säkra din VPS: de första fem minuterna
- HSTS och säkerhetsheaders för din webbplats
- Backupstrategi: 3-2-1-regeln för ditt eget företag
- securitytxt.org (förklaring och generator för security.txt): https://securitytxt.org/
- Det nederländska NCSC, Een back-up strategie opstellen (om att ta fram en backupstrategi, nederländsk källa på nederländska): https://www.ncsc.nl/back-up/een-back-up-strategie-opstellen
- Lägg upp en security.txt på din webbplats
- Håll din VPS säker: hardening, Lynis och en underhållsrutin
- Gratis kurs Säkert online för företagare 9.3: Din egen säkerhetscheck och plan
