Preskoči na vsebino

Nastavitve piškotkov

Za vsako vrsto izberite, katere piškotke dovolite. Svojo izbiro lahko kadar koli spremenite prek povezave Nastavitve piškotkov na dnu vsake strani. Izjava o zasebnosti

Nujni

Vedno vklopljeno

Potrebni so za prijavo, shranjevanje košarice in pomnjenje Vaših izbir. Vedno so vklopljeni.

Kateri piškotki?
  • weboke_sessie, weboke_klant, weboke_remember: Vaša seja in ohranjanje prijave
  • weboke_basket: Vaša košarica
  • wkBtwIncl: prikaz cen z DDV ali brez DDV
  • wok_cookies: Vaša izbira glede piškotkov, 12 mesecev

Meri, kateri oglas vodi do obiska ali naročila, da ne plačujemo za oglase, ki ne prinesejo ničesar.

Kateri piškotki?
  • Google Ads prek Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, oglasi v ChatGPT
  • wok_aff: prek katerega partnerja ste prišli k nam (partnerski program), 60 dni

4,6

Država in jezik

Vsaka država ima svojo spletno stran, s cenami in DDV za to državo.

Prikaži

Samodejne posodobitve

Modul 4: Programska oprema in posodobitve · Čas branja: 10 minut

Učni cilj: Po tej lekciji boste znali vklopiti in preveriti samodejne varnostne posodobitve, vedeli boste, kaj se zgodi samodejno in kaj ne, ter kdaj je potreben ponovni zagon.

Ključni pojmi: unattended-upgrades, 20auto-upgrades, 50unattended-upgrades, Origins-Pattern in Allowed-Origins, časovniki apt-daily, needrestart, /var/run/reboot-required, Automatic-Reboot, posodobitev jedra, dnf-automatic

Zakaj samodejno?

Varnostne ranljivosti odkrijejo, popravijo in jih nato aktivno zlorabljajo, pogosto v nekaj dneh. Strežnik, ki ga posodobite enkrat na mesec, je zato v povprečju več tednov izpostavljen znanim ranljivostim. Nizozemski NCSC pravočasno nameščanje posodobitev uvršča med osnovna načela digitalne odpornosti: "Pravočasno posodabljanje in popravljanje programske opreme pomaga hitro odpraviti ranljivosti."

Vendar tudi "vse samodejno" ni dobro. Nova različica programa se lahko obnaša drugače kot stara, strežnik, ki se sredi dneva sam znova zažene, pa lahko prizadene Vaše obiskovalce. Običajna srednja pot na Debianu in Ubuntuju je:

  • varnostne posodobitve samodejno, vsak dan;
  • druge posodobitve in nadgradnje izdaje ročno, ob trenutku, ki ga izberete sami, s posnetkom stanja vnaprej;
  • ponovni zagoni načrtovani, ob mirnem času, in nadzorovani.

Program, ki to ureja, se imenuje unattended-upgrades.

Vklop unattended-upgrades

Na Ubuntu Server je unattended-upgrades nameščen privzeto, samodejne varnostne posodobitve pa so vklopljene takoj po namestitvi. Na Debianu je na številnih namestitvah in slikah prav tako že prisoten, a ne vedno. Preverite in vklopite:

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

Drugi ukaz vpraša "Automatically download and install stable updates?". Izberite Yes. S tem se zapiše datoteka /etc/apt/apt.conf.d/20auto-upgrades:

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

1 pomeni: vsak dan. Z 0 to izklopite. Samo delo zaženeta dva časovnika systemd (lekcija 6.3), ki si ju ogledate takole:

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 prenese sezname (kot apt update), apt-daily-upgrade namesti posodobitve. Časi imajo naključni razpon, da vsi strežniki na svetu ne obremenjujejo virov paketov hkrati.

Kaj se namesti samodejno?

To je zapisano v /etc/apt/apt.conf.d/50unattended-upgrades. Na Debianu se blok imenuje Unattended-Upgrade::Origins-Pattern, na Ubuntuju Unattended-Upgrade::Allowed-Origins. Privzeto sta tam vklopljena varnostni vir in stalni vir Vaše izdaje, vir -updates pa je izklopljen. Na Ubuntuju je videti takole:

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

Vrstice, pred katerimi je //, so izklopljene. Pri prvem strežniku pustite to tako, kot je. Datoteke ne spreminjajte neposredno, saj jo bo naslednja različica paketa morda želela zamenjati. Debian priporoča, da lastne spremembe zapišete v lastno datoteko, na primer /etc/apt/apt.conf.d/52unattended-upgrades-local; poznejše datoteke imajo prednost pred prejšnjimi.

Paketi iz dodatnih virov (Docker, Caddy, PostgreSQL neposredno od izdelovalca) se privzeto ne posodabljajo samodejno. To je namerna odločitev: te spremljate sami (lekcija 9.4) ali pa vir ročno dodate na seznam, če izdelovalcu zaupate in poznate posledice.

Nekaj nastavitev, ki jih boste pogosto želeli:

// /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 deluje le, če strežnik lahko pošilja pošto (majhen posrednik, lekcija 8.3). Če to ni mogoče, to preskočite in uporabite nadzor iz lekcije 8.3.

Preverjanje, ali deluje

Avtomatizem, ki se tiho ustavi, je nevarnejši od nobenega avtomatizma, saj mislite, da ste varni. Zato preverite tri stvari.

1. Poskusni zagon. Ta pokaže, kaj bi se zgodilo, ne da bi kar koli spremenil:

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. Dnevnik. Vsak zagon piše v /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. Kaj je še odprto. apt list --upgradable (lekcija 4.1) po eni noči ne bi smel več prikazovati paketov iz -security. Če so tam več dni zapored, nekaj ne deluje: poln disk, zaklep zaradi ročno zagnanega apt, ki se je zataknil, ali paket, ki postavlja vprašanje.

Ponovni zagon: storitve in jedro

Posodobljen program na disku še ni isto kot posodobljen program v pomnilniku. Če OpenSSH teče že tri tedne, teče stara koda, dokler se storitev ne zažene znova.

  • Storitve: program needrestart po posodobitvi preveri, katere storitve še uporabljajo stare knjižnice. Na Ubuntu 24.04 in novejših unattended-upgrades te storitve prek needrestart privzeto samodejno znova zažene. Na Debianu je needrestart ločen paket (apt install needrestart), ki Vas interaktivno vpraša, katere storitve je treba znova zagnati.
  • Jedro: novo jedro začne delovati šele po ponovnem zagonu celotnega strežnika. Debian in Ubuntu takrat ustvarita datoteko /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-amd64

Imate dve možnosti. Ali strežnik znova zaženete sami, na primer vsak teden ob stalnem času, potem ko ste preverili, ali datoteka obstaja. Ali pa to prepustite unattended-upgrades:

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

Privzeta vrednost je false. Vklopite jo le, če ste prepričani, da se po ponovnem zagonu vse samo znova zažene: storitve z enable (lekcija 6.1), vsebniki s pravilnikom restart: (lekcija 9.3) in nadzor, ki Vas opozori, če temu ni tako (lekcija 8.3). Najprej enkrat ročno preizkusite: sudo reboot, in preverite, ali se vse vrne.

Ubuntu prek Ubuntu Pro ponuja tudi Livepatch, ki nekatere popravke jedra uveljavi brez ponovnega zagona. To je dopolnilo, ne nadomestilo: tudi z Livepatch strežnik občasno znova zaženete.

Česa ne počnete samodejno

  • Nadgradenj izdaje (z Debian 12 na 13, z Ubuntu 24.04 na 26.04): vedno ročno, z načrtom (lekcija 4.3).
  • Večjih različic Vaših lastnih aplikacij (nova glavna različica podatkovne baze, sistema CMS): vedno ročno, po varnostni kopiji in branju opomb ob izdaji.
  • Vsebnikov: teh unattended-upgrades ne posodablja. Slika iz leta 2024 ostane slika iz leta 2024, dokler sami ne izvedete docker compose pull (lekcija 9.4).

Na AlmaLinux in Rocky Linux

Tam se orodje imenuje dnf-automatic. Namestite ga z dnf install dnf-automatic. V /etc/dnf/automatic.conf nastavite upgrade_type = security in apply_updates = yes, časovnik pa vklopite z systemctl enable --now dnf-automatic.timer. Na sistemih, podobnih RHEL, je ponovni zagon zaradi jedra prav tako potreben kot na Debianu; dnf needs-restarting -r pove, ali je tako.

V praksi

Pri WebOké VPS deluje enako kot drugje: kaj se posodablja znotraj strežnika, upravljate sami. Ponudnik posodablja strojno opremo in platformo za virtualizacijo, ne pa Vašega operacijskega sistema. Pred ročno večjo posodobitvijo ustvarite posnetek stanja v nadzorni plošči svojega ponudnika; za vsakodnevne samodejne varnostne posodobitve to ni potrebno.

Povzetek

  • Samodejne varnostne posodobitve vklopite z unattended-upgrades (Ubuntu: privzeto vklopljeno; Debian: preverite z dpkg-reconfigure -plow unattended-upgrades).
  • Privzeto se samodejno posodabljata le varnostni vir in stalni vir izdaje; dodatni viri ne.
  • Preverite s poskusnim zagonom, dnevnikom v /var/log/unattended-upgrades/ in apt list --upgradable.
  • Storitve je treba po posodobitvi znova zagnati (needrestart), jedro zahteva ponovni zagon strežnika (/var/run/reboot-required).
  • Nadgradnje izdaje, večje različice aplikacij in vsebnike posodabljate ročno.

Kviz

1. Vklopili ste unattended-upgrades. Teden dni pozneje apt list --upgradable še vedno prikazuje posodobitev iz trixie-security. Kaj storite najprej?



2. Po posodobitvi OpenSSL Vaš spletni strežnik in strežnik SSH še vedno tečeta s staro knjižnico v pomnilniku. Kaj to reši?



3. Zakaj se paketi iz dodatnega vira (na primer Dockerjevega) privzeto ne posodabljajo samodejno?



4. Kdaj je odgovorno vklopiti Automatic-Reboot "true"?



5. Kam zapišete lastne nastavitve za unattended-upgrades?



Naloga

Naloga O4.2: Vklop in preverjanje samodejnih posodobitev. Na svojem strežniku vklopite unattended-upgrades (ali preverite, da je vklopljen), izvedite poskusni zagon ter preglejte dnevnik in časovnike. Izpolnite kontrolni seznam in odgovorite: kateri viri se pri Vas samodejno posodabljajo, kdaj je bil zadnji zagon, ali je trenutno potreben ponovni zagon in kako boste strežnik znova zaganjali (sami ob stalnem času ali samodejno, in zakaj)?

Naloga O4.2: Vklop in preverjanje samodejnih posodobitev

To nalogo opravite sami; nihče je ne pregleda. Odkljukajte, kar ste naredili, in nalogo označite kot opravljeno.





Vaše kljukice in zapiski ostanejo samo v tem brskalniku, nikamor jih ne pošiljamo. Če ste prijavljeni, v Moji tečaji shranimo samo podatek, da ste nalogo opravili.

Za nadaljnje branje

Trenutek…

Nastavite svoje domene

Za vsako domeno uredite imenske strežnike, povezavo z gostovanjem in kdo bo imetnik.

Nalaganje Vaših domen…