Czy zdać się na aktualizacje automatyczne czy może inicjować je ręcznie?

Na początek parę słów o tym, po co w ogóle robić aktualizacje?

Zasadności może być klika: łaty bezpieczeństwa, poprawki błędów i nowe funkcjonalności lub wręcz przejścia na nowsze systemy.

Pierwsza sytuacja zachodzi, gdy gdy wykryto w kodzie systemu, aplikacji czy firmware* podatność na wirusa lub lukę umożliwiającą atak hakerski. No ale przecież od tego mamy antywirusa - czyż nie? Otóż nie zawsze go tam mamy, np. na routerze, drukarce, czy serwerze NAS, po drugie łata może dotyczyć właśnie antywirusa (to nie to samo co aktualizacja baz szczepionek) albo też dotyczyć może na przykład jakiegoś fragmentu kodu systemu, który lepiej by zatrzymał atak zanim ten zostanie wykryty przez antywirusa (o ile w ogóle). To tak w wielkim skrócie.

Drugi przypadek, to poprawki błędów od drobnostki, jak brak polskich znaków w menu, po poważne usterki, jak choćby błąd w oprogramowaniu do ładowania akumulatora w laptopie, który powoduje znacznie szybszą jego degradację.

Trzeci rodzaj aktualizacji, to nowe funkcjonalności, które mogą na przykład być konieczne z uwagi na przepisy prawa, jak choćby JPK i dotyczyć programu, w którym wystawiamy faktury albo być dodatkowym gadgetem, jak chociażby dodanie informacji o pogodzie na pasku zadań w MS Windows 10.

No i czwarty rodzaj aktualizacji, to przejścia na nowe systemy, z zachowaniem danych i teoretycznym zachowaniem aplikacji czy sterowników urządzeń zewnętrznych.

Oczywiście do aktualizacji należy jeszcze zaliczyć te najczęstsze i najmniejsze, z jakimi mamy do czynienia na co dzień, które zazwyczaj są najmniej uciążliwe i absorbujące naszą uwagę, a mimo tego najważniejsze z punktu widzenia bezpieczeństwa - czyli aktualizacje baz antywirusowych szczepionek programów antywirusowych.

No to w końcu automatycznie czy ręcznie? Najlepiej aktualizacje wykonywać ręcznie, jednak spróbuję to uargumentować i nieco zracjonalizować.

Zacznijmy od tego, że nie każdą aktualizację możemy zautomatyzować, bo wymagają ponownej konfiguracji np. routery oparte o firmware np. Tomato, ponieważ nie zawsze zachowywana jest kompatybilność wsteczna, co może doprowadzić do nieprawidłowego działania urządzenia. Innym przykładem tego typu, mogą być aktualizacje firmware UPS'ów, drukarek, dysków.

Są też takie, które wprawdzie mogą być implementowane automatycznie, jak na przykład BIOS** czy sterowniki systemowe, jednak zdanie się na automatykę, może być ryzykowne z uwagi na to, że mogą wywołać nieoczekiwane skutki uboczne, gdy przykładowo zostaną uruchomione podczas awarii zasilania albo w tym samym czasie co inna aktualizacja, która może mieć wpływ na ryzyko niekompatybilności.
I co z tego? Otóż system może się zawiesić i nie być w stanie się uruchomić poprawnie po wymuszonym zrestartowaniu.
Powyższe dotyczy w zasadzie głównie komputerów PC i laptopów, bo w przypadku serwerów, producenci zakładają, że ktoś tymi serwerami administruje.

No to na pewno można zautomatyzować aktualizacje systemu MS Windows. Owszem teoretycznie można, ale jak pokazuje praktyka niekiedy aktualizacja bywa tak skomplikowana na niektórych konfiguracjach systemu, że nawet administrator będzie musiał pogłówkować jak ją wdrożyć. Przykładem może być nie tak dawna łata KB5028997 z czerwca 2023 roku, na środowisko odzyskiwania systemu Windows (WinRE), która dotyczy zabezpieczeń funkcji szyfrowania Microsoft BitLocker. Na wielu komputerach automatyczne wdrożenie kończy się komunikatem 0x80070643.

A co z aktualizacjami całych systemów do nowszych wersji? Np. MS Windows z wersji 7 do 10 albo z 10 do 11?
Jak już może przekonała się niemiło część czytelników. Takie duże przeskoki, kończą się często niezbyt przyjemnymi konsekwencjami, jak choćby przestająca działać drukarka czy aplikacja, która jest nam niezbędna ale nie została dostosowana pod nowszy system w danej wersji. Nawet jeśli te dwa problemy dało by się rozwiązać ręcznie, to automatyzacja tak dużej aktualizacji, może nam po prostu uniemożliwić dalszą pracę. Powodem jest to, że producent nie jest w stanie przetestować wszystkich wariantów, a często nawet nie radzi sobie z własnym systemem przy takich rozbudowanych zależnościach. Poza tym, taka aktualizacja zostawia w systemowych rejestrach bardzo dużo śmieci, które z czasem mogą zaowocować błędem działania systemu lub przy kolejnych aktualizacjach, a na pewno go spowolnią.

Jakie argumenty więc za administrowaniem ręcznym w zakresie aktualizacji?

Po pierwsze, prawie do każdej aktualizacji jest dodawana informacja o tym co zawiera oraz jak ją zainstalować. Jak w przykładzie powyżej, z aktualizacją Microsoftu KB5028997, nie zawsze zrobi się samo albo przez kliknięcie "Zainstaluj" - niektóre wymagają stosownych procedur, których brak zachowania może grozić uszkodzeniem systemu czy w efekcie nawet samego urządzenia.
Tutaj sprawdza się fachowo wykonywana umowa serwisowa w zakresie nadzoru i administrowania, gdzie informatyk poza godzinami Państwa pracy, wykona stosowne aktualizacje, wcześniej zapoznając się z dokumentacją i minimalizując ryzyko wystąpienia problemu. Gdy mimo dołożenia starań, problem wystąpi, będzie on wiedział co robić, zanim system czy aplikacja będą potrzebne do kontynuowania pracy w następnym dniu roboczym.

Po drugie, automatyczne aktualizacje, instalują wszystko jak leci, a niekoniecznie jest zasadne wdrażanie każdej łaty, poprawki czy nowej funkcjonalności. Ba, wręcz, niektórych po prostu nie warto!

Po trzecie chodzi o nadzór nad aktualizacjami to także zaplanowanie dogodnego terminu. Nie zawsze pożądanym jest by aktualizacja zajęła nam system wtedy gdy go potrzebujemy lub też wykonała się w nocy, by rano po przyjściu do firmy okazało się, że "rozłożyła" system na serwerze i trzeba wzywać informatyka, który do tego zazwyczaj śpi o tej porze.
No i po czwarte, jeśli nie chcemy mieć kłopotów z przymulającym systemem lub brakiem stabilności działania, to w przypadku aktualizacji całych systemów z pełnej wersji np. 10 na wersję 11, lepiej jest jednak zainstalować system od nowa, wraz ze wszystkimi aplikacjami czy urządzeniami zewnętrznymi, o ile ich producent przewidział stosowną kompatybilność.

Wiec wszystko ręcznie?

No niekonicznie. Racjonalnym jest zdać się na automatykę aktualizowania baz szczepionek antywirusowych, ponieważ te są implementowane błyskawicznie, a częstotliwość dochodzi nawet do jednej na godzinę.
To podejście jest racjonalne, jednak nie zapewnia gwarancji stabilności. Jak może niektórzy z Państwa wiedzą, w lipcu 2024 roku, oprogramowanie "antywirusowe" a ściślej: EDR***, firmy CrowdStrike Falcon, zaczytało błędny kod, co doprowadziło do paraliżu sporej ilości firm i instytucji.

Warto na koniec dodać, że część aktualizacji jest emitowana gratis przez pewien czas, inne są bezpłatne bo to wynika z licencji samego oprogramowania, a za inne trzeba zapłacić w formie na przykład abonamentu.

* firmware to oprogramowanie układowe, czyli zainstalowane na stałe w układzie scalonym urządzenia, zapewniające procedury jego obsługi lub komunikacji lub też będące po prostu uproszczoną wersją systemu operacyjnego dla urządzenia typu np. router czy drukarka sieciowa.

** BIOS to układ, będący pomostem między sprzętem a systemem operacyjnym, zawierający podstawowe procedury komunikacji.

*** EDR (Endpoint Detection and Response) to narzędzie służące do monitorowania i wykrywania podejrzanych aktywności na urządzeniach w sieci firmowej, dające możliwość reagowania już na etapie poszlak i prób ataków hakerskich, których skutkiem mógł by być chociażby wyciek danych z organizacji. Nie jest to narzędzie bezobsługowe jak klasyczny antywirus stanowiskowy i wymaga stałego nadzoru administratora ze stosowną wiedzą w zakresie cyberzagrożeń.