Modul 4 · 4.2
Automatiske oppdateringer
Modul 4: Programvare og oppdateringer · Lesetid: 10 minutter
Læringsmål: Etter denne leksjonen kan du slå på og kontrollere automatiske sikkerhetsoppdateringer. Du vet hva som skjer automatisk og hva som ikke gjør det, og du vet når en omstart er nødvendig.
Nøkkelbegreper: unattended-upgrades, 20auto-upgrades, 50unattended-upgrades, Origins-Pattern og Allowed-Origins, apt-daily-timere, needrestart, /var/run/reboot-required, Automatic-Reboot, kjerneoppdatering, dnf-automatic
Hvorfor automatisk?
Sikkerhetshull blir funnet, rettet og deretter aktivt utnyttet, ofte i løpet av noen dager. En server du oppdaterer én gang i måneden, står derfor i snitt åpen for kjente sikkerhetshull i flere uker. Det nederlandske NCSC regner det å installere oppdateringer i tide som et av grunnprinsippene for digital motstandskraft: "Å oppdatere og patche programvare i tide bidrar til å rette sårbarheter raskt."
Likevel er ikke "alt automatisk" heller bra. En ny versjon av et program kan oppføre seg annerledes enn den gamle, og en server som starter seg selv på nytt midt på dagen, kan ramme de besøkende. Den vanlige mellomveien på Debian og Ubuntu er:
- sikkerhetsoppdateringer automatisk, hver dag;
- andre oppdateringer og release-oppgraderinger for hånd, på et tidspunkt du velger, med et snapshot først;
- planlagte omstarter, på et rolig tidspunkt, og kontrollert.
Programmet som tar seg av dette, heter unattended-upgrades.
Slå på unattended-upgrades
På Ubuntu Server er unattended-upgrades installert som standard, og automatiske sikkerhetsoppdateringer er slått på rett etter installasjonen. På Debian er det også med på mange installasjoner og images, men ikke alltid. Kontroller og slå på:
anna@web1:~$ sudo apt install unattended-upgrades
anna@web1:~$ sudo dpkg-reconfigure -plow unattended-upgradesDen andre kommandoen spør "Automatically download and install stable updates?". Velg Yes. Da skrives filen /etc/apt/apt.conf.d/20auto-upgrades:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";1 betyr: hver dag. Med 0 slår du det av. Selve jobben startes av to systemd-timere (leksjon 6.3), som du ser slik:
anna@web1:~$ systemctl list-timers 'apt*'
NEXT LEFT LAST PASSED UNIT ACTIVATES
Tue 2026-11-10 06:24:11 CET 9h left Mon 2026-11-09 06:41:03 CET 14h ago apt-daily-upgrade.timer apt-daily-upgrade.service
Tue 2026-11-10 08:02:47 CET 11h left Mon 2026-11-09 19:12:30 CET 1h ago apt-daily.timer apt-daily.serviceapt-daily henter listene (som apt update), apt-daily-upgrade installerer oppdateringene. Tidspunktene har en tilfeldig spredning, slik at ikke alle servere i verden belaster pakkekildene samtidig.
Hva installeres automatisk?
Det står i /etc/apt/apt.conf.d/50unattended-upgrades. På Debian heter blokken Unattended-Upgrade::Origins-Pattern, på Ubuntu Unattended-Upgrade::Allowed-Origins. Som standard er sikkerhetskilden og den faste kilden for releasen din slått på, og kilden -updates slått av. På Ubuntu ser det slik ut:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
"${distro_id}ESMApps:${distro_codename}-apps-security";
"${distro_id}ESM:${distro_codename}-infra-security";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};Linjer med // foran er slått av. La dette stå som det er på din første server. Ikke endre filen direkte, for en senere versjon av pakken kan ville erstatte den. Debian anbefaler at du legger egne endringer i en egen fil, for eksempel /etc/apt/apt.conf.d/52unattended-upgrades-local; senere filer går foran tidligere.
Pakker fra ekstra kilder (Docker, Caddy, PostgreSQL fra utvikleren) blir som standard ikke oppdatert automatisk. Det er et bevisst valg: dem følger du opp selv (leksjon 9.4), eller du legger kilden til i listen for hånd hvis du stoler på utvikleren og kjenner konsekvensene.
Noen innstillinger du ofte vil ha:
// /etc/apt/apt.conf.d/52unattended-upgrades-local
Unattended-Upgrade::Mail "root";
Unattended-Upgrade::MailReport "only-on-error";
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::Automatic-Reboot "false";Mail fungerer bare hvis serveren kan sende e-post (en liten relay, leksjon 8.3). Går ikke det, hopp over dette og bruk overvåkingen fra leksjon 8.3.
Kontroller at det virker
En automatikk som stopper i stillhet, er farligere enn ingen automatikk, for du tror du er trygg. Kontroller derfor tre ting.
1. En prøvekjøring. Denne viser hva som ville skjedd, uten å endre noe:
anna@web1:~$ sudo unattended-upgrade --dry-run --debug
...
Allowed origins are: origin=Debian,codename=trixie,label=Debian, origin=Debian,codename=trixie-security,label=Debian-Security, ...
Packages that will be upgraded: libssl3t64 openssh-server2. Loggen. Hver kjøring skriver til /var/log/unattended-upgrades/unattended-upgrades.log:
anna@web1:~$ sudo tail -n 5 /var/log/unattended-upgrades/unattended-upgrades.log
2026-11-09 06:41:15,201 INFO Packages that will be upgraded: openssh-server
2026-11-09 06:41:15,202 INFO Writing dpkg log to /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
2026-11-09 06:41:29,874 INFO All upgrades installed3. Hva som fortsatt gjenstår. apt list --upgradable (leksjon 4.1) skal etter en natt ikke lenger vise pakker fra -security. Står de der flere dager på rad, er det noe som hakker: en full disk, en lås fra en manuell apt som har hengt seg opp, eller en pakke som stiller et spørsmål.
Omstart: tjenester og kjernen
Et oppdatert program på disken er ikke det samme som et oppdatert program i minnet. Har OpenSSH kjørt i tre uker, kjører den gamle koden til tjenesten startes på nytt.
- Tjenester: programmet needrestart sjekker etter en oppdatering hvilke tjenester som fortsatt bruker gamle biblioteker. På Ubuntu 24.04 og senere starter unattended-upgrades disse tjenestene på nytt automatisk via needrestart som standard. På Debian er needrestart en egen pakke (
apt install needrestart) som spør deg interaktivt hvilke tjenester som skal startes på nytt. - Kjernen: en ny kjerne tas først i bruk etter en omstart av hele serveren. Debian og Ubuntu legger da ut filen
/var/run/reboot-required:
anna@web1:~$ cat /var/run/reboot-required
*** System restart required ***
anna@web1:~$ cat /var/run/reboot-required.pkgs
linux-image-6.12.57+deb13-amd64Du har to valg. Enten starter du på nytt selv, for eksempel hver uke på et fast tidspunkt etter at du har sjekket om filen finnes. Eller du lar unattended-upgrades gjøre det:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:30";Standard er false. Slå det bare på hvis du er sikker på at alt kommer opp igjen av seg selv etter en omstart: tjenester med enable (leksjon 6.1), containere med en restart:-policy (leksjon 9.3), og en overvåking som varsler deg hvis det ikke skjer (leksjon 8.3). Test det først én gang for hånd: sudo reboot, og se om alt kommer tilbake.
Ubuntu tilbyr via Ubuntu Pro også Livepatch, som tar i bruk enkelte kjernerettelser uten omstart. Det er et tillegg, ikke en erstatning: også med Livepatch starter du på nytt innimellom.
Dette gjør du ikke automatisk
- Release-oppgraderinger (fra Debian 12 til 13, fra Ubuntu 24.04 til 26.04): alltid for hånd, med en plan (leksjon 4.3).
- Store versjoner av dine egne applikasjoner (en ny hovedversjon av en database eller et CMS): alltid for hånd, etter en sikkerhetskopi og etter at du har lest release notes.
- Containere: dem oppdaterer ikke unattended-upgrades. Et image fra 2024 forblir imaget fra 2024 til du kjører
docker compose pull(leksjon 9.4).
På AlmaLinux og Rocky Linux
Der heter verktøyet dnf-automatic. Installer med dnf install dnf-automatic. I /etc/dnf/automatic.conf setter du upgrade_type = security og apply_updates = yes, og du slår på timeren med systemctl enable --now dnf-automatic.timer. På RHEL-lignende systemer er en omstart for kjernen like nødvendig som på Debian; dnf needs-restarting -r forteller om det trengs.
I praksis
Hos WebOké fungerer en VPS på samme måte som andre steder: det som oppdateres inne i serveren, styrer du selv. Leverandøren oppdaterer maskinvaren og virtualiseringsplattformen, ikke operativsystemet ditt. Ta et snapshot i panelet til leverandøren din før en manuell, stor oppdatering; for de daglige automatiske sikkerhetsoppdateringene trengs ikke det.
Oppsummering
- Slå på automatiske sikkerhetsoppdateringer med unattended-upgrades (Ubuntu: på som standard; Debian: kontroller med
dpkg-reconfigure -plow unattended-upgrades). - Som standard oppdateres bare sikkerhetskilden og den faste releasekilden automatisk; ekstra kilder ikke.
- Kontroller med en prøvekjøring, loggen i
/var/log/unattended-upgrades/ogapt list --upgradable. - Tjenester må startes på nytt etter en oppdatering (needrestart), kjernen krever en omstart (
/var/run/reboot-required). - Release-oppgraderinger, store applikasjonsversjoner og containere oppdaterer du for hånd.
Quiz
Oppgave
Oppgave O4.2: Slå på og kontroller automatiske oppdateringer. Slå på unattended-upgrades på din egen server (eller kontroller at det er slått på), kjør en prøvekjøring og se på loggen og timerne. Fyll ut sjekklisten og svar på: hvilke kilder oppdateres automatisk hos deg, når gikk den siste kjøringen, venter det nå en omstart, og hvordan skal du starte på nytt (selv på et fast tidspunkt eller automatisk, og hvorfor)?
Oppgave O4.2: Slå på og kontroller automatiske oppdateringer
Denne oppgaven gjør du selv; ingen kontrollerer den. Kryss av det du har gjort, og merk oppgaven som fullført.
Automatisk: utgivelseskilden og sikkerhetskilden. Finnes reboot-required, venter det en kjerne- eller biblioteksoppdatering. Automatisk omstart går fint hvis alt kommer tilbake av seg selv etterpå og overvåkingen din varsler hvis det ikke skjer. Ekstra kilder (Docker, Caddy), containere og applikasjoner som WordPress oppdaterer du selv.
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
- Debian Wiki, automatiske oppdateringer (UnattendedUpgrades): https://wiki.debian.org/PeriodicUpdates
- Det nederlandske NCSC (nederlandsk kilde), Basisprinsipp 3: Beskytt systemer, applikasjoner og enheter: https://www.ncsc.nl/basisprincipes/basisprincipe-3-bescherm-systemen-applicaties-en-apparaten
- Ubuntu Server-dokumentasjon, Automatic updates: https://ubuntu.com/server/docs/how-to/software/automatic-updates/
