Modul 10 · 10.4
Sluttsjekk: serveren din under lupen
Modul 10: Hold deg sikker · Lesetid: 10 minutter
Læringsmål: Etter denne leksjonen kan du vurdere din egen server med en sjekkliste og en automatisk kontroll utenfra. Du vet hvilke punkter som har forrang, og du har en fast vedlikeholdsrytme og en kort serverdokumentasjon.
Nøkkelbegreper: sjekkliste, prioritet, kontroll utenfra, serverdokumentasjon, vedlikeholdsrytme (ukentlig, månedlig, kvartalsvis, årlig), sluttdato for utgivelsen, gjenopprettingstest
Fra enkeltleksjoner til en helhet
I dette kurset har du satt opp en server steg for steg: sikker innlogging, rettigheter, oppdateringer, brannmur, tjenester, et nettsted med https, sikkerhetskopier, overvåking og containere. I denne siste leksjonen samler du alt i én liste. Du går gjennom serveren din, lar kursprogrammet se på den utenfra og skriver ned hvordan du holder serveren ved like de neste årene.
En server blir aldri "ferdig". Programvare blir utdatert, sertifikater utløper, disker blir fulle, og utgivelser når end of life. En fast rytme er derfor like viktig som det første oppsettet.
Sjekklisten, i rekkefølge etter viktighet
Ikke alt haster like mye. Gå gjennom listen ovenfra og ned: de første blokkene forhindrer mest elendighet.
Blokk 1: ingen kommer inn uten videre (modul 2, 3, 5)
- Innlogging bare med nøkler;
PasswordAuthentication noogKbdInteractiveAuthentication no, kontrollert medsudo sshd -T. - Root logger ikke inn med passord; du jobber som vanlig bruker med sudo.
- Databaser, cacher og søkeklynger lytter på
127.0.0.1; portene 3306, 5432, 6379, 9200 og 27017 er stengt utenfra, for både IPv4 og IPv6. - En brannmur der alt innkommende er stengt som standard; bare portene du trenger, er åpne.
- fail2ban kjører for SSH (
fail2ban-client status sshd).
Blokk 2: sikkerhetshull blir tettet (modul 4)
- Automatiske sikkerhetsoppdateringer er slått på og kontrollert (logg,
apt list --upgradable). - En plan for omstart;
/var/run/reboot-requiredblir ikke liggende i ukevis. - Utgivelsen har fortsatt støtte; sluttdatoen står i kalenderen din.
Blokk 3: du kan gå tilbake (modul 8)
- Krypterte sikkerhetskopier utenfor serveren, automatisk og med overvåking.
- En gjenopprettingstest er gjort, og du vet hvor lang tid gjenoppretting tar.
- Du vet hvordan du tar et øyeblikksbilde (snapshot) og åpner konsollen.
Blokk 4: utsiden stemmer (modul 7)
- A- og AAAA-poster peker til serveren din; reverse DNS (PTR) peker tilbake til samme navn.
- https med et gyldig sertifikat som fornyes automatisk; http videresender til https.
- HSTS og noen sikkerhetsheadere; en
security.txtmed en fungerende kontaktadresse og en utløpsdato.
Blokk 5: du ser hva som skjer (modul 6, 8)
- Journalen er persistent; du kan lese logger fra før en omstart.
- Overvåking utenfra (tilgjengelighet, sertifikat) og innenfra (disk, tjenester), med varsler som faktisk kommer fram.
systemctl --faileder tom.
Blokk 6: containere under kontroll (modul 9, hvis du bruker Docker)
- Containerporter på
127.0.0.1eller bak den omvendte proxyen; ingendocker.socki containere som ikke virkelig trenger det. - Volumer er med i sikkerhetskopien; images oppdateres jevnlig.
- Hemmeligheter ligger i
.env-filer med strenge rettigheter, ikke i Git.
Kontrollen utenfra
En del av denne listen kan kursprogrammet sjekke utenfra, akkurat slik alle på internett ser serveren din. Den avsluttende oppgaven (Z10.4) kombinerer kontrollene fra tidligere oppgaver:
| Del | Hva programmet gjør | Fra leksjon |
|---|---|---|
| SSH | Leser versjonsbanneret og spør hvilke innloggingsmetoder serveren din tilbyr for brukernavnet ditt; logger ikke inn | 2.2 |
| Databaseporter | Prøver bare å koble til 3306, 5432, 6379, 9200 og 27017; sender ingenting | 5.1 |
| https | Kontrollerer sertifikatet (gyldig, klarert, riktig navn) | 7.3 |
| Headere | Leser HSTS og de andre sikkerhetsheaderne | 7.4 |
| security.txt | Henter /.well-known/security.txt og kontrollerer Contact og Expires | 7.4 |
| Container | Ser etter headeren med koden din, satt av den omvendte proxyen din | 9.4 |
Programmet kjører ingenting på serveren din, prøver ingen passord og skanner ingen andre porter. Hver adresse kan bare kontrolleres noen få ganger i timen. Et grønt resultat betyr: sett utenfra mangler de mest kjente feilene. Det sier ingenting om hva som skjer inne på serveren din; det er resten av sjekklisten, og den går du gjennom selv.
Serverdokumentasjonen
Skriv et kort dokument for hver server, og oppbevar det utenfor serveren (for eksempel i passordbehandleren din eller en delt mappe):
- navn, IP-adresser, leverandør, utgivelse og sluttdato;
- hva som kjører (tjenester, containere, nettsteder) og hvorfor;
- hvilke porter som er åpne, og hva de brukes til;
- hvor sikkerhetskopiene ligger, hvordan du gjenoppretter, og når den siste testen var;
- hvilke hemmeligheter som ligger på serveren (ikke selve hemmelighetene, men hvilke det er og hvor de byttes ut);
- hva du bevisst gjorde annerledes enn standarden (for eksempel et Lynis-forslag du hoppet over, leksjon 10.1);
- hvem som har tilgang (hvilke nøkler som står i
authorized_keys).
Denne dokumentasjonen er gull verdt ved en hendelse (leksjon 10.3), ved en oppgradering av utgivelsen (leksjon 4.3) og når noen andre overtar driften.
En vedlikeholdsrytme
Uten rytme sklir det ut. Her er et eksempel for en liten server; tilpass det til din egen situasjon.
| Når | Hva |
|---|---|
| Hver uke | Gå gjennom overvåking og varsler; systemctl --failed; start på nytt hvis /var/run/reboot-required finnes (eller kontroller at den automatiske omstarten fungerte) |
| Hver måned | apt list --upgradable (blir noe hengende?); docker compose pull og up -d for containerne dine, sammen med release notes; diskplass; fail2ban-client status; loggen for påfallende feil (journalctl -p err --since "1 month ago") |
| Hvert kvartal | Gjenopprettingstest av en sikkerhetskopi; gå gjennom authorized_keys og brukere (fjern dem som ikke lenger skal ha tilgang); kjør Lynis på nytt; kjør sluttkontrollen utenfra på nytt (oppgave Z10.4) |
| Hvert år | Oppdater security.txt (Expires); sjekk sluttdatoen for utgivelsen og planlegg en oppgradering; oppdater serverdokumentasjonen og beredskapsplanen |
Sett disse tidspunktene inn i kalenderen din. Mye kan du også automatisere med overvåkingen fra leksjon 8.3, men du må fortsatt se etter selv.
I praksis
Enten serveren din står hos WebOké eller hos en annen leverandør: leverandøren sørger for maskinvaren, nettverket og muligheten til å ta øyeblikksbilder og sikkerhetskopier, og du har ansvaret for alt inne på serveren. Dette kurset er selvhjelp: ingen følger med på serveren din. Med denne sjekklisten, dokumentasjonen og rytmen har du likevel alt du trenger for å gjøre driften selvstendig og godt.
Oppsummering
- Gå gjennom serveren din i blokker: ingen kommer inn uten videre, sikkerhetshull blir tettet, du kan gå tilbake, utsiden stemmer, du ser hva som skjer, containere under kontroll.
- Kontrollen utenfra ser på SSH-innloggingsmetoder, databaseporter, https, headere, security.txt og containerheaderen din; resten går du gjennom selv.
- Hold en serverdokumentasjon oppdatert, utenfor serveren.
- Jobb med en fast rytme: ukentlig, månedlig, kvartalsvis og årlig.
Quiz
Oppgave
Oppgave Z10.4: Avsluttende oppgave: serveren din sett utenfra. La kursprogrammet kontrollere serveren din utenfra i én omgang: SSH-innloggingsmetodene for brukernavnet ditt, de fem databaseportene, https og headerne på nettstedet ditt, security.txt og headeren X-Weboke-Cursus med koden din på navnet der containeren din kjører. Fyll i tillegg ut sjekklisten for blokk 1 til og med 6 for det programmet ikke kan se.
Oppgave O10.4: Vedlikeholdsrytmen din. Lag din egen serverdokumentasjon og vedlikeholdsrytme: hva gjør du ukentlig, månedlig, kvartalsvis og årlig? Sett disse tidspunktene inn i kalenderen din.
Oppgave O10.4: Vedlikeholdsrytmen din
Denne oppgaven gjør du selv; ingen kontrollerer den. Kryss av det du har gjort, og merk oppgaven som fullført.
Ukentlig gå gjennom oppdateringer og varsler; månedlig en liten gjenoppretting og gå gjennom tilgangen (authorized_keys, brukere); hvert kvartal en fullstendig sluttsjekk; hvert år en fullstendig gjenoppbygging fra back-upen og fornye security.txt.
Avkrysningene og notatene dine blir kun i denne nettleseren; vi sender dem ikke noe sted. Er du logget inn, lagrer vi kun i Mine kurs at du har gjort oppgaven.
Les mer
- Sikre VPS-en din: de første fem minuttene
- HSTS og sikkerhetsheadere for nettstedet ditt
- Backup-strategi: 3-2-1-regelen for din egen bedrift
- securitytxt.org (forklaring og generator for security.txt): https://securitytxt.org/
- Det nederlandske NCSC, Lage en strategi for sikkerhetskopiering (nederlandsk kilde): https://www.ncsc.nl/back-up/een-back-up-strategie-opstellen
