Przybornik do cerowania

Aktualizacja oprogramowania to nie cel, lecz środek do celu - eliminacji zagrożeń wynikających z wykrycia luk w zabezpieczeniach. W tym świetle wybór narzędzi musi być prowadzony w kontekście takich zagadnień, jak inwentaryzacja zasobów, monitorowanie stanu, zarządzanie konfiguracją, łatanie dziurawych aplikacji.

Aktualizacja oprogramowania to nie cel, lecz środek do celu - eliminacji zagrożeń wynikających z wykrycia luk w zabezpieczeniach. W tym świetle wybór narzędzi musi być prowadzony w kontekście takich zagadnień, jak inwentaryzacja zasobów, monitorowanie stanu, zarządzanie konfiguracją, łatanie dziurawych aplikacji.

Czy to się komuś podoba, czy nie, łatanie oprogramowania stało się chlebem powszednim informatyki w firmach. Nie ma tygodnia, ba - nie ma dnia, w którym nie ogłoszono by, że ktoś, gdzieś znalazł poważną wyrwę w zabezpieczeniach popularnego systemu czy aplikacji. Tymczasem aplikacji, a więc błędów w zabezpieczeniach ciągle przybywa - gros problemów (ilościowo) dotyczy usług i aplikacji działających w środowiskach Windows, ale Linux, a nawet Unix, oraz to, co w tych środowiskach działa, nie są bynajmniej doskonałe.

Byłoby idealnie, gdyby aplikacje i systemy można było aktualizować automatycznie, w przewidywalnej przyszłości pozostanie to jednak raczej w sferze pobożnych życzeń. Działające w firmach środowiska aplikacyjne są tak skomplikowane i tak różnorodne, że każda "łata" wymaga indywidualnego testowania, zanim zostanie zaaplikowana w środowisku produkcyjnym. To jednak nie oznacza, że aktualizacji oprogramowania nie można uprościć i przyspieszyć, czy też obniżyć jej kosztów.

Narzędzia do automatyzacji zadań związanych z aktualizacją oprogramowania trudno zliczyć, a jeszcze trudniej wybrać to (te) właściwe. Wybór zależy od wielu czynników, m.in. architektury sieci, stopnia różnorodności środowiska, przyjętych priorytetów, preferencji i możliwości odnośnie do sposobu i częstotliwości aktualizacji itp. Ważnym czynnikiem przy wyborze rozwiązania wspomagającego aktualizację oprogramowania jest także stopień zaspokojenia potrzeb pokrewnych, takich jak skanowanie pod kątem podatności, inwentaryzacja oprogramowania, dystrybucja oprogramowania, zarządzanie konfiguracją itp.

Głębokość kontra szerokość

Aktualizacja oprogramowania obejmuje dziś serwery, urządzenia sieciowe, stacje robocze, komputery kieszonkowe, a wkrótce zapewne także telefony komórkowe i wszelkie inne urządzenia, które będzie można podłączyć do Internetu. Czy wszystkie systemy powinny korzystać z jednego rozwiązania do zarządzania aktualizacjami, czy też raczej każda kategoria powinna rządzić się samodzielnie?

Odpowiedź jest o tyle prosta, że nie ma pakietu, który pozwalałby realizować wszystkie funkcje związane z aktualizacją oprogramowania dla wszystkich typów urządzeń i systemów w sposób satysfakcjonujący. Zwykle jest tak, że bogactwo funkcjonalne w jednej z dziedzin nie idzie w parze z funkcjonalnością w pozostałych dziedzinach, a zwłaszcza z "zasięgiem". Przykładowo, rozwiązania do zarządzania konfiguracją serwerów i stacji roboczych rzadko nadają się do konfiguracji urządzeń sieciowych czy systemów zabezpieczeń.

Prawdziwe jest także twierdzenie odwrotne: zasięg jest wrogiem użytecznej funkcjonalności. Widać to wyraźnie na przykładzie "dużych" pakietów, które choć nadają się do zarządzania szerokim spektrum rozwiązań i związanych z nimi problemów, to realizacja zaawansowanych scenariuszy wymaga de facto dopisywania modułów. Łatwo może dojść do tego, że środki oszczędzone na automatyzacji zostaną w całości skonsumowane na potrzeby budowy platformy automatyzacyjnej. Im większy rozmach projektu, tym ryzyko zaistnienia takiej sytuacji większe.

Rozwiązania specjalizowane dają znacznie lepszą kontrolę nad wprowadzanymi zmianami. Zwykle są to pakiety dla określonej kategorii systemów, np. stacji roboczych, serwerów, urządzeń sieciowych, a nawet aplikacji. Bardzo często są również "przywiązane" do określonej platformy systemowej, choć ostatnio coraz częściej zdarzają się produkty wieloplatformowe. Łączą one wiele różnych funkcji: inwentaryzację, zarządzanie konfiguracją, przygotowanie pakietów instalacyjnych i ich dystrybucję, weryfikację stanu po aktualizacji itp.

Naturalną wadą rozwiązań specjalizowanych jest to, że zamiast jednego, konieczne jest wdrożenie wielu narzędzi, co zwiększa wydatki na licencje i koszty wsparcia technicznego. Z punktu widzenia jakości zarządzania aktualizacjami jest to chyba jednak usprawiedliwione. Zresztą jest tu pewne pole do optymalizacji - istnieją rozwiązania automatyzujące zarządzanie aktualizacjami zarówno serwerów, jak i stacji roboczych Windows, stacji roboczych i serwerów Linux, a także rozwiązania dedykowane do aktualizacji sieci czy zabezpieczeń itp. Ostatecznie oddzielnych pakietów zarządczych nie będzie więc w firmie więcej niż 3-4, co w większości firm jest do przyjęcia.

Niejednorodne oczekiwania

Oczekiwania względem rozwiązań do aktualizacji oprogramowania bywają różne, co wynika z tego, że aktualizacja nie jest celem samym w sobie, lecz środkiem do minimalizacji ryzyka związanego z działaniem oprogramowania. W różnych firmach różne jest postrzeganie tego ryzyka, jak również sposobów jego minimalizowania, co przekłada się na różne potrzeby narzędziowe.

Dla jednych liczy się przede wszystkim możliwość łatwego stworzenia obrazu systemu zawierającego poprawkę lub pakietu instalacyjnego i jego szybka dystrybucja w firmowej sieci. W takim scenariuszu na informatykach spoczywa sporo obowiązków - oprócz testowania poprawek muszą czuwać nad konfiguracją systemów i aplikacji oraz samodzielnie sprawdzać, czy konkretny system zawiera wszystkie właściwe aktualizacje. Aktualizacja przebiega więc bez problemu, jednak jej efekty nie zawsze są zgodne z zamierzonymi (w sensie właściwego zabezpieczenia systemów/aplikacji).

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200