Przejdź do treści

Ustawienia plików cookie

Prosimy wybrać, na które rodzaje plików cookie Państwo zezwalają. Wybór można zmienić w dowolnym momencie w Ustawieniach plików cookie na dole każdej strony. Polityka prywatności

Niezbędne

Zawsze włączone

Potrzebne do logowania, zachowania koszyka i zapamiętania wyborów. Są zawsze włączone.

Jakie pliki cookie?
  • weboke_sessie, weboke_klant, weboke_remember: sesja i pozostanie zalogowanym
  • weboke_basket: koszyk
  • wkBtwIncl: wyświetlanie cen z VAT lub bez VAT
  • wok_cookies: wybór dotyczący plików cookie, 12 miesięcy

Mierzą, która reklama prowadzi do odwiedzin lub zamówienia, abyśmy nie płacili za reklamy, które nic nie dają.

Jakie pliki cookie?
  • Google Ads przez Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, reklamy w ChatGPT
  • wok_aff: przez którego partnera trafili Państwo do nas (program partnerski), 60 dni

4,6

Kraj i język

Każdy kraj ma własną stronę z cenami i stawką VAT tego kraju.

Wyświetl

Automatyczne aktualizacje

Moduł 4: Oprogramowanie i aktualizacje · Czas czytania: 10 min

Cel lekcji: Po tej lekcji potrafią Państwo włączyć i sprawdzić automatyczne aktualizacje bezpieczeństwa, wiedzą Państwo, co dzieje się automatycznie, a co nie, oraz kiedy potrzebny jest restart.

Kluczowe pojęcia: unattended-upgrades, 20auto-upgrades, 50unattended-upgrades, Origins-Pattern i Allowed-Origins, timery apt-daily, needrestart, /var/run/reboot-required, Automatic-Reboot, aktualizacja jądra, dnf-automatic

Dlaczego automatycznie?

Luki w zabezpieczeniach są wykrywane, naprawiane, a potem aktywnie wykorzystywane, często w ciągu kilku dni. Serwer aktualizowany raz w miesiącu jest więc średnio przez kilka tygodni podatny na znane luki. Holenderskie NCSC zalicza terminowe instalowanie aktualizacji do podstawowych zasad odporności cyfrowej: "Terminowe aktualizowanie i łatanie oprogramowania pomaga szybko usuwać podatności."

Mimo to "wszystko automatycznie" również nie jest dobrym rozwiązaniem. Nowa wersja programu może działać inaczej niż stara, a serwer, który sam uruchamia się ponownie w środku dnia, może dotknąć Państwa odwiedzających. Typowy kompromis w Debianie i Ubuntu wygląda tak:

  • aktualizacje bezpieczeństwa automatycznie, codziennie;
  • pozostałe aktualizacje i aktualizacje wydania ręcznie, w wybranym przez Państwa momencie, z wcześniejszym snapshotem;
  • restarty zaplanowane, w spokojnym momencie, i pod kontrolą.

Program, który się tym zajmuje, nazywa się unattended-upgrades.

Włączanie unattended-upgrades

W Ubuntu Server unattended-upgrades jest domyślnie zainstalowany, a automatyczne aktualizacje bezpieczeństwa są włączone od razu po instalacji. W Debianie jest on również obecny w wielu instalacjach i obrazach, ale nie zawsze. Prosimy sprawdzić i włączyć:

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

Drugie polecenie zadaje pytanie "Automatically download and install stable updates?". Prosimy wybrać Yes. Spowoduje to zapisanie pliku /etc/apt/apt.conf.d/20auto-upgrades:

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

1 oznacza: codziennie. Za pomocą 0 wyłączają to Państwo. Samą pracę uruchamiają dwa timery systemd (lekcja 6.3), które można sprawdzić tak:

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 pobiera listy pakietów (tak jak apt update), apt-daily-upgrade instaluje aktualizacje. Godziny uruchamiania są losowo rozproszone, aby nie wszystkie serwery na świecie jednocześnie obciążały źródła pakietów.

Co jest instalowane automatycznie?

Określa to plik /etc/apt/apt.conf.d/50unattended-upgrades. W Debianie odpowiedni blok nazywa się Unattended-Upgrade::Origins-Pattern, w Ubuntu Unattended-Upgrade::Allowed-Origins. Domyślnie włączone są tam źródło bezpieczeństwa i stałe źródło Państwa wydania, a źródło -updates jest wyłączone. W Ubuntu wygląda to tak:

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

Wiersze poprzedzone // są wyłączone. Przy pierwszym serwerze prosimy pozostawić to bez zmian. Nie należy edytować tego pliku bezpośrednio, ponieważ kolejna wersja pakietu może chcieć go zastąpić. Debian zaleca umieszczanie własnych zmian w osobnym pliku, na przykład /etc/apt/apt.conf.d/52unattended-upgrades-local; pliki późniejsze mają pierwszeństwo przed wcześniejszymi.

Pakiety z dodatkowych źródeł (Docker, Caddy, PostgreSQL od producenta) domyślnie nie są aktualizowane automatycznie. To świadomy wybór: takie pakiety śledzą Państwo samodzielnie (lekcja 9.4) albo ręcznie dodają Państwo źródło do listy, jeśli ufają Państwo producentowi i znają konsekwencje.

Kilka ustawień, które zwykle warto włączyć:

// /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 działa tylko wtedy, gdy serwer może wysyłać pocztę (mały relay, lekcja 8.3). Jeśli to niemożliwe, prosimy pominąć to ustawienie i skorzystać z monitorowania opisanego w lekcji 8.3.

Sprawdzanie, czy to działa

Automatyzacja, która po cichu przestaje działać, jest groźniejsza niż jej brak, bo myślą Państwo, że są bezpieczni. Dlatego prosimy sprawdzić trzy rzeczy.

1. Uruchomienie próbne. Pokazuje, co by się stało, niczego nie zmieniając:

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. Dziennik. Każde uruchomienie zapisuje informacje w /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. Co jeszcze czeka na instalację. apt list --upgradable (lekcja 4.1) po jednej nocy nie powinno już pokazywać pakietów z -security. Jeśli pojawiają się tam przez kilka dni z rzędu, coś nie działa: pełny dysk, blokada przez ręcznie uruchomione apt, które się zawiesiło, albo pakiet, który zadaje pytanie.

Ponowne uruchamianie: usługi i jądro

Zaktualizowany program na dysku to jeszcze nie to samo co zaktualizowany program w pamięci. Jeśli OpenSSH działa od trzech tygodni, nadal działa stary kod, dopóki usługa nie zostanie uruchomiona ponownie.

  • Usługi: program needrestart sprawdza po aktualizacji, które usługi nadal korzystają ze starych bibliotek. W Ubuntu 24.04 i nowszych unattended-upgrades domyślnie samodzielnie uruchamia te usługi ponownie za pomocą needrestart. W Debianie needrestart jest osobnym pakietem (apt install needrestart), który interaktywnie pyta, które usługi należy uruchomić ponownie.
  • Jądro: nowe jądro zaczyna działać dopiero po restarcie całego serwera. Debian i Ubuntu tworzą wtedy plik /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

Mają Państwo dwie możliwości. Albo restartują Państwo serwer sami, na przykład co tydzień o stałej porze, po sprawdzeniu, czy ten plik istnieje. Albo pozostawiają to unattended-upgrades:

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

Ustawienie domyślne to false. Prosimy włączać tę opcję tylko wtedy, gdy mają Państwo pewność, że po restarcie wszystko samo wróci do działania: usługi z enable (lekcja 6.1), kontenery z polityką restart: (lekcja 9.3) oraz monitorowanie, które ostrzeże Państwa, jeśli tak się nie stanie (lekcja 8.3). Najpierw prosimy przetestować to raz ręcznie: sudo reboot, i sprawdzić, czy wszystko wraca.

Ubuntu oferuje w ramach Ubuntu Pro również Livepatch, który stosuje niektóre poprawki jądra bez restartu. To uzupełnienie, a nie zastępstwo: także z Livepatch od czasu do czasu trzeba zrestartować serwer.

Czego nie robi się automatycznie

  • Aktualizacje wydania (z Debiana 12 do 13, z Ubuntu 24.04 do 26.04): zawsze ręcznie, według planu (lekcja 4.3).
  • Duże wersje własnych aplikacji (nowa wersja główna bazy danych, systemu CMS): zawsze ręcznie, po wykonaniu kopii zapasowej i przeczytaniu informacji o wydaniu.
  • Kontenery: unattended-upgrades ich nie aktualizuje. Obraz z 2024 roku pozostaje obrazem z 2024 roku, dopóki nie wykonają Państwo docker compose pull (lekcja 9.4).

W AlmaLinux i Rocky Linux

Tam narzędzie nazywa się dnf-automatic. Instaluje się je poleceniem dnf install dnf-automatic. W /etc/dnf/automatic.conf ustawiają Państwo upgrade_type = security i apply_updates = yes, a timer włączają poleceniem systemctl enable --now dnf-automatic.timer. W systemach podobnych do RHEL restart po aktualizacji jądra jest tak samo potrzebny jak w Debianie; dnf needs-restarting -r informuje, czy jest wymagany.

W praktyce

W WebOké VPS działa tak samo jak u innych dostawców: to, co jest aktualizowane wewnątrz serwera, zarządzają Państwo sami. Dostawca aktualizuje sprzęt i platformę wirtualizacji, a nie Państwa system operacyjny. Przed ręczną dużą aktualizacją prosimy wykonać snapshot w panelu dostawcy; przy codziennych automatycznych aktualizacjach bezpieczeństwa nie jest to potrzebne.

Podsumowanie

  • Automatyczne aktualizacje bezpieczeństwa włączają Państwo za pomocą unattended-upgrades (Ubuntu: domyślnie włączone; Debian: sprawdzić poleceniem dpkg-reconfigure -plow unattended-upgrades).
  • Domyślnie automatycznie aktualizowane są tylko źródło bezpieczeństwa i stałe źródło wydania; dodatkowe źródła nie.
  • Sprawdzają Państwo działanie uruchomieniem próbnym, dziennikiem w /var/log/unattended-upgrades/ oraz apt list --upgradable.
  • Usługi trzeba po aktualizacji uruchomić ponownie (needrestart), jądro wymaga restartu (/var/run/reboot-required).
  • Aktualizacje wydania, duże wersje aplikacji i kontenery aktualizują Państwo ręcznie.

Quiz

1. Włączyli Państwo unattended-upgrades. Tydzień później apt list --upgradable nadal pokazuje aktualizację z trixie-security. Co należy zrobić najpierw?



2. Po aktualizacji OpenSSL Państwa serwer WWW i serwer SSH nadal działają ze starą biblioteką w pamięci. Co to rozwiązuje?



3. Dlaczego pakiety z dodatkowego źródła (na przykład źródła Dockera) domyślnie nie są aktualizowane automatycznie?



4. Kiedy włączenie Automatic-Reboot "true" jest odpowiedzialne?



5. Gdzie umieszczają Państwo własne ustawienia unattended-upgrades?



Zadanie

Zadanie O4.2: Włączanie i sprawdzanie automatycznych aktualizacji. Prosimy włączyć unattended-upgrades na własnym serwerze (lub sprawdzić, czy jest włączony), wykonać uruchomienie próbne oraz przejrzeć dziennik i timery. Prosimy wypełnić listę kontrolną i odpowiedzieć: które źródła są u Państwa aktualizowane automatycznie, kiedy odbyło się ostatnie uruchomienie, czy obecnie oczekuje restart i jak zamierzają Państwo restartować serwer (samodzielnie o stałej porze czy automatycznie, i dlaczego)?

Zadanie O4.2: Włączanie i sprawdzanie automatycznych aktualizacji

To zadanie wykonuje się samodzielnie, nikt go nie sprawdza. Prosimy zaznaczyć wykonane punkty i oznaczyć zadanie jako wykonane.





Zaznaczenia i notatki pozostają tylko w tej przeglądarce; nie są nigdzie wysyłane. Po zalogowaniu w Moje kursy zapisywana jest jedynie informacja, że zadanie zostało wykonane.

Przeczytaj więcej

Chwileczkę…

Konfiguracja domen

Dla każdej domeny można ustawić serwery nazw, powiązanie z hostingiem oraz to, kto zostanie właścicielem.

Wczytywanie domen…