Direct naar de inhoud

Cookie-instellingen

Kies per soort welke cookies je toestaat. Je kunt je keuze altijd wijzigen via Cookie-instellingen onderaan elke pagina. Privacyverklaring

Noodzakelijk

Altijd aan

Nodig om in te loggen, je winkelwagen te bewaren en je keuzes te onthouden. Deze staan altijd aan.

Welke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: je sessie en ingelogd blijven
  • weboke_basket: je winkelwagen
  • wkBtwIncl: prijzen met of zonder btw tonen
  • wok_cookies: je cookiekeuze, 12 maanden

Meet welke advertentie tot een bezoek of bestelling leidt, zodat we niet betalen voor advertenties die niets doen.

Welke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), tot 90 dagen
  • OpenAI Ads, advertenties in ChatGPT
  • wok_aff: via welke partner je bij ons kwam (affiliateprogramma), 60 dagen

4,6

Land en taal

Elk land heeft zijn eigen site, met prijzen en btw van dat land.

Bekijken

Module 4 · 4.2

Automatische updates

Module 4: Software en updates · Leestijd: 10 minuten

Leerdoel: Na deze les kun je automatische beveiligingsupdates aanzetten en controleren, weet je wat er wel en niet automatisch gebeurt, en weet je wanneer een herstart nodig is.

Kernbegrippen: unattended-upgrades, 20auto-upgrades, 50unattended-upgrades, Origins-Pattern en Allowed-Origins, apt-daily-timers, needrestart, /var/run/reboot-required, Automatic-Reboot, kernelupdate, dnf-automatic

Waarom automatisch?

Beveiligingslekken worden gevonden, gerepareerd en daarna actief misbruikt, vaak binnen dagen. Een server die je één keer per maand bijwerkt, ligt dus gemiddeld weken open voor bekende lekken. Het NCSC rekent het tijdig installeren van updates tot de basisprincipes van digitale weerbaarheid: "Het tijdig updaten en patchen van software helpt om kwetsbaarheden snel te verhelpen."

Toch is "alles automatisch" ook niet goed. Een nieuwe versie van een programma kan zich anders gedragen dan de oude, en een server die midden op de dag zelf herstart, kan je bezoekers raken. De gangbare middenweg op Debian en Ubuntu is:

  • beveiligingsupdates automatisch, elke dag;
  • andere updates en release-upgrades met de hand, op een moment dat jij kiest, met een snapshot vooraf;
  • herstarten gepland, op een rustig moment, en gecontroleerd.

Het programma dat dit regelt, heet unattended-upgrades.

unattended-upgrades aanzetten

Op Ubuntu Server is unattended-upgrades standaard geïnstalleerd en staan automatische beveiligingsupdates meteen na de installatie aan. Op Debian staat het op veel installaties en images ook al, maar niet altijd. Controleer en zet aan:

anna@web1:~$ sudo apt install unattended-upgrades
anna@web1:~$ sudo dpkg-reconfigure -plow unattended-upgrades

Het tweede commando vraagt "Automatically download and install stable updates?". Kies Yes. Dat schrijft het bestand /etc/apt/apt.conf.d/20auto-upgrades:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

De 1 betekent: elke dag. Met 0 zet je het uit. Het werk zelf wordt gestart door twee systemd-timers (les 6.3), die je zo bekijkt:

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.service

apt-daily haalt de lijsten op (zoals apt update), apt-daily-upgrade installeert de updates. De tijden hebben een willekeurige spreiding, zodat niet alle servers ter wereld tegelijk de pakketbronnen belasten.

Wat wordt er automatisch geïnstalleerd?

Dat staat in /etc/apt/apt.conf.d/50unattended-upgrades. Op Debian heet het blok Unattended-Upgrade::Origins-Pattern, op Ubuntu Unattended-Upgrade::Allowed-Origins. Standaard staan daar de beveiligingsbron en de vaste bron van je release aan, en de bron -updates uit. Op Ubuntu ziet het er zo uit:

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";
};

Regels met // ervoor staan uit. Laat dit voor een eerste server zo staan. Pas het bestand niet direct aan, want een volgende versie van het pakket kan het willen vervangen. Debian raadt aan je eigen wijzigingen in een eigen bestand te zetten, bijvoorbeeld /etc/apt/apt.conf.d/52unattended-upgrades-local; latere bestanden gaan voor eerdere.

Pakketten uit extra bronnen (Docker, Caddy, PostgreSQL van de maker) worden standaard niet automatisch bijgewerkt. Dat is een bewuste keuze: die volg je zelf (les 9.4), of je voegt de bron met de hand toe aan de lijst als je de maker vertrouwt en de gevolgen kent.

Een paar instellingen die je wel vaak wilt:

// /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 werkt alleen als de server mail kan versturen (een kleine relay, les 8.3). Kan dat niet, sla het dan over en gebruik de bewaking uit les 8.3.

Controleren of het werkt

Een automatisme dat stil stopt, is gevaarlijker dan geen automatisme, want je denkt dat je veilig bent. Controleer daarom drie dingen.

1. Een proefdraai. Dit laat zien wat er zou gebeuren, zonder iets te veranderen:

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-server

2. Het logboek. Elke run schrijft naar /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 installed

3. Wat er nog openstaat. apt list --upgradable (les 4.1) hoort na een nacht geen pakketten uit -security meer te tonen. Staan ze er dagen achter elkaar, dan hapert er iets: een volle schijf, een vergrendeling door een handmatige apt die vastzit, of een pakket dat een vraag stelt.

Herstarten: diensten en de kernel

Een bijgewerkt programma op schijf is nog niet hetzelfde als een bijgewerkt programma in het geheugen. Draait OpenSSH al drie weken, dan draait de oude code tot de dienst opnieuw start.

  • Diensten: het programma needrestart kijkt na een update welke diensten nog oude bibliotheken gebruiken. Op Ubuntu 24.04 en later herstart unattended-upgrades die diensten via needrestart standaard vanzelf. Op Debian is needrestart een los pakket (apt install needrestart) dat je interactief vraagt welke diensten opnieuw moeten starten.
  • De kernel: een nieuwe kernel werkt pas na een herstart van de hele server. Debian en Ubuntu zetten dan het bestand /var/run/reboot-required neer:
anna@web1:~$ cat /var/run/reboot-required
*** System restart required ***
anna@web1:~$ cat /var/run/reboot-required.pkgs
linux-image-6.12.57+deb13-amd64

Je hebt twee keuzes. Of je herstart zelf, bijvoorbeeld elke week op een vast moment nadat je hebt gekeken of het bestand er staat. Of je laat unattended-upgrades het doen:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:30";

De standaard is false. Zet hem alleen aan als je zeker weet dat alles na een herstart vanzelf weer opkomt: diensten met enable (les 6.1), containers met een restart:-beleid (les 9.3), en een bewaking die je waarschuwt als dat niet zo is (les 8.3). Test het eerst één keer met de hand: sudo reboot, en kijk of alles terugkomt.

Ubuntu biedt via Ubuntu Pro ook Livepatch, dat sommige kernelfixes zonder herstart toepast. Dat is een aanvulling, geen vervanging: ook met Livepatch herstart je af en toe.

Wat je niet automatisch doet

  • Release-upgrades (van Debian 12 naar 13, van Ubuntu 24.04 naar 26.04): altijd met de hand, met een plan (les 4.3).
  • Grote versies van je eigen applicaties (een nieuwe hoofdversie van een database, een CMS): altijd met de hand, na een back-up en het lezen van de release notes.
  • Containers: die werkt unattended-upgrades niet bij. Een image uit 2024 blijft het image uit 2024 tot jij docker compose pull doet (les 9.4).

Op AlmaLinux en Rocky Linux

Daar heet het gereedschap dnf-automatic. Installeren met dnf install dnf-automatic. In /etc/dnf/automatic.conf zet je upgrade_type = security en apply_updates = yes, en je zet de timer aan met systemctl enable --now dnf-automatic.timer. Op RHEL-achtigen is een kernelherstart even nodig als op Debian; dnf needs-restarting -r zegt of dat zo is.

In de praktijk

Bij WebOké werkt een VPS op dezelfde manier als elders: wat er binnen de server bijgewerkt wordt, beheer je zelf. De aanbieder werkt de hardware en het virtualisatieplatform bij, niet je besturingssysteem. Maak vóór een handmatige grote update een snapshot in het paneel van je aanbieder; voor de dagelijkse automatische beveiligingsupdates is dat niet nodig.

Samenvatting

  • Zet automatische beveiligingsupdates aan met unattended-upgrades (Ubuntu: standaard aan; Debian: controleren met dpkg-reconfigure -plow unattended-upgrades).
  • Standaard worden alleen de beveiligingsbron en de vaste releasebron automatisch bijgewerkt; extra bronnen niet.
  • Controleer met een proefdraai, het logboek in /var/log/unattended-upgrades/ en apt list --upgradable.
  • Diensten moeten na een update opnieuw starten (needrestart), de kernel vraagt een herstart (/var/run/reboot-required).
  • Release-upgrades, grote applicatieversies en containers werk je met de hand bij.

Quiz

1. Je hebt unattended-upgrades aangezet. Een week later toont apt list --upgradable nog steeds een update uit trixie-security. Wat doe je eerst?



2. Na een update van OpenSSL draaien je webserver en SSH-server nog met de oude bibliotheek in het geheugen. Wat lost dat op?



3. Waarom worden pakketten uit een extra bron (bijvoorbeeld die van Docker) standaard niet automatisch bijgewerkt?



4. Wanneer is het verantwoord om Automatic-Reboot "true" aan te zetten?



5. Waarin zet je je eigen instellingen voor unattended-upgrades?



Opdracht

Opdracht O4.2: Automatische updates aanzetten en controleren. Zet op je eigen server unattended-upgrades aan (of controleer dat het aanstaat), draai een proefdraai en bekijk het logboek en de timers. Vul de checklist in en beantwoord: welke bronnen worden bij jou automatisch bijgewerkt, wanneer liep de laatste run, staat er nu een herstart open, en hoe ga jij herstarten (zelf op een vast moment of automatisch, en waarom)?

Opdracht O4.2: Automatische updates aanzetten en controleren

Deze opdracht doe je zelf; niemand kijkt hem na. Vink af wat je gedaan hebt en markeer de opdracht als gedaan.





Je vinkjes en aantekeningen blijven alleen in deze browser; we sturen ze nergens heen. Ben je aangemeld, dan bewaren we in Mijn cursussen alleen dat je de opdracht gedaan hebt.

Verder lezen

Even geduld…

Stel je domeinen in

Regel per domein de nameservers, de koppeling aan je hosting en wie de eigenaar wordt.

Je domeinen laden…