Aktualizacje oprogramowania - dobre, złe i fatalne

Znaczna część zadań związanych z zarządzaniem infrastrukturą IT to aktualizacje oprogramowania - zarówno tego "klasycznego" jak i firmware. Będzie go potrzebowała zapora ogniowa, łatek potrzebować będą też systemy operacyjne i aplikacje. W każdym takim przypadku istnieje pewne ryzyko, że taka aktualizacja unieruchomi lub zakłóci działanie jakieś fragmentu, a nawet całego systemu IT.

Z czysto logicznego punktu widzenia istnieją jedynie trzy możliwe scenariusze aktualizacji oprogramowania:

- wszystko poszło zgodnie z planem - błędy usunięte, nowa funkcjonalność dodana i systemy działają normalnie

- urządzenie bądź system działa jak należy, ale jedyna zauważalna zmiana to wyższy numer wersji oprogramowania

Zobacz również:

  • Microsoft żegna się na dobre z systemem Windows 10 wersja 1903
  • Jak rozmawiać z najmłodszymi o technologii?

- działający dotychczas system działa niepoprawnie, albo w ogóle przestał działać.

Polecamy 25% użytkowników nie chce aktualizacji

Niestety praktycznie nie ma dobrego sposobu na całkowite unikniecie ryzyka pojawienia się tego ostatniego scenariusza. Można przyjąć strategię uaktualniania jedynie w sytuacjach koniecznych, takich jak dodanie istotnych mechanizmów, zwiększenie wydajności, załatanie luk bezpieczeństwa lub błędów programowania powodujących większe problemy. Natomiast warto zastanowić się nad wprowadzeniem aktualizacji - jeśli nic nie zmieni (poza numerem wersji) - tylko dlatego, że się pojawiła.

Do instalacji każdej aktualizacji należy podejść rozważnie. Niezbędne jest zbadanie nowej wersji, zwłaszcza w zakresie współdziałania z innymi elementami urządzenia lub oprogramowaniem, które może pracować na tym samym systemie. Warto poświęcić nieco czasu na lekturę wpisów, dotyczących nowej wersji i problemów związanych z jej instalacją - może to nam pozwolić uniknąć wpadnięcia w te same pułapki.

Polecamy Jeśli coś działa, lepiej zostaw to w spokoju

Na swoim blogu Paul Venezia podaje przykłady własnych kłopotów z uaktualnianiem firmware. W jednym przypadku po przeładowaniu do specjalnego trybu urządzenie samo pobierało aktualizację z internetu. W trakcie tej operacji repozytorium firmware przestało być dostępne. W wyniku przerwanej w połowie aktualizacji urządzenie zostało w niestabilnym stanie - bez możliwości wycofania zmiany czy przejścia dalej. Odzyskanie urządzenia zajęło autorowi wiele godzin.

Autor podaje też przykład unieruchomienia modułu do zarządzania urządzeniem przez sieć. Jego powodem była "zakończona sukcesem" aktualizacji firmware wersją przeznaczoną dla kompletnie innej karty. Błąd polegał na wybraniu pliku, którego nazwa różniła się jednym znakiem od tego prawidłowego - jednak w procedurze aktualizacji nie przewidziano walidacji pliku i operacja, zamiast zakończyć się komunikatem, że nie jest to prawidłowy plik dla tego modelu, została przeprowadzona, zaś poddany jej moduł stał się w rezultacie bezużyteczny. Wydaje się oczywiste że dostawcy stosują odpowiednie kontrole dla kodu swojego uaktualnienia. Niestety, jak widać nie zawsze można na to liczyć.

Wielu dostawców nie ułatwia zidentyfikowania poprawnych wersji firmware i ich kompatybilności, komplikując cały proces uaktualnienia i dodając niepotrzebne ryzyko. Można podać przykłady np. różnych wersji uaktualnienia BIOS dla serwera blade, z których tylko jedna jest prawidłowa i zależy od numeru seryjnego sprzętu. W innych przypadkach nie można uaktualnić z wersji X do Z bez wcześniejszego przejścia przez wersję Y, a na dodatek wersja Y została już usunięta z witryny dostawcy i trzeba jej szukać w internecie.

Polecamy Kilka szalonych (ale skutecznych) sposobów na bezpieczeństwo sieci

W przeciwieństwie do sprzętu, oprogramowanie można skuteczniej chronić przed destrukcyjnym działaniem aktualizacji. Można np. zrobić migawkę maszyny wirtualnej przed uaktualnieniem systemu operacyjnego lub zrobić awaryjną kopię bazy danych przed zastosowaniem łatek. W większości urządzeń specjalizowanych (appliance) nie ma takich możliwości i trzeba być przygotowanym na bliżej nieokreślony czas wyczekiwania, aż urządzenie poradzi sobie z uaktualnieniem.

Kiedy coś idzie nie po myśli, to zazwyczaj pozostaje podjęcie niekomfortowej decyzji: czy przeładować urządzenie w nadziei przywrócenia go do stanu poprzedniego, czy też poczekać - z nadzieją, że po jakim czasie wykonana ono całość zmian?

Nawet najprostsza "kosmetyczna" aktualizacja może zakończyć się źle - a zgodnie z prawem Murphy'ego, problem pojawi się wtedy, kiedy najmniej będziemy się go spodziewali.


TOP 200