Nie ma nic specjalnego w łataniu Ubuntu vs. Windows, RHEL, CentOS, SuSE, debian itp.
Podstawowym stanem umysłu, w którym musisz się znaleźć przy projektowaniu procedury łatania, jest założenie, że coś się zepsuje.
Oto niektóre z podstawowych wskazówek, których używam podczas projektowania instalacji łatek:
- Zawsze używaj systemu lokalnego, aby scentralizować wewnętrznie sieć, z której instalowane są łatki
Może to obejmować używanie programu WSUS lub kopii lustrzanych <your_os_here>
na wewnętrznej maszynie do zarządzania poprawkami. Preferowany, który może centralnie przesyłać zapytania i informować o stanie poprawek zainstalowanych na poszczególnych komputerach.
- Wstępne etapy instalacji - jeśli to możliwe - na maszynach.
Gdy jest to możliwe, gdy pojawiają się łatki, serwer centralny kopiuje je na poszczególne komputery. To naprawdę tylko oszczędność czasu, więc nie musisz czekać na pobranie i instalację ORAZ po prostu rozpocznij instalację w oknie aktualizacji.
- Uzyskaj okno awarii, aby zainstalować łatki, być może będziesz musiał zrestartować komputer i coś prawdopodobnie się zepsuje. Upewnij się, że podmioty zainteresowane dla tych systemów wiedzą, że wprowadzane są łatki. Przygotuj się na „to” nie działa połączenia.
Zgodnie z moją podstawową teorią, że łatki psują rzeczy, upewnij się, że masz okno przestoju, aby zastosować łatki wystarczająco długo, aby rozwiązać krytyczne problemy i ewentualnie wycofać łatkę. Nie musisz koniecznie mieć ludzi siedzących tam, testujących po łatkach. Osobiście polegam w dużej mierze na moich systemach monitorowania, aby dać mi znać, że wszystko działa na minimalnym poziomie, z którego możemy uciec. Ale bądź też przygotowany na dręczące cię problemy, gdy ludzie zaczną pracować. Zawsze powinieneś mieć kogoś zaplanowanego, aby był tam gotowy do odebrania telefonu - lepiej nie od faceta, który był do 3 nad ranem łatając pudełka.
- zautomatyzować jak najwięcej
Podobnie jak wszystko inne w IT, skrypt, skrypt, a następnie skrypt jeszcze więcej. Skrypt pobierz pakiet, rozpocznij instalację, kopię lustrzaną. Zasadniczo chcesz zmienić okna krosowe w miejsce do siedzenia dla dziecka, które potrzebuje tylko człowieka na wypadek, gdyby coś się zepsuło.
- Posiadaj wiele okien każdego miesiąca
Daje to możliwość nie łatania niektórych serwerów, jeśli z jakiegokolwiek powodu nie można ich załatać w „wyznaczoną noc”. Jeśli nie możesz tego zrobić w nocy 1, wymagaj, aby były wolne w nocy 2. Pozwala także zachować liczbę serwerów załatanych jednocześnie.
Co najważniejsze, nadążaj za łatkami! Jeśli tego nie zrobisz, będziesz musiał robić bardzo duże 10-godzinne okna krosowe, aby wrócić do punktu, w którym jesteś złapany. Wprowadzenie jeszcze większej liczby punktów, w których może się nie udać, oraz ustalenie, która łatka spowodowała, i wydanie tego o wiele trudniejsze.
Inną częścią tego problemu jest to, że nadążanie za łatkami jest „dobrą rzeczą”, ale łatki są wydawane prawie codziennie. Ile zaplanowanych wyłączeń należy wykonać, jeśli każdego dnia dostępna jest nowa poprawka bezpieczeństwa?
Patchowanie serwera raz w miesiącu lub raz na dwa miesiące jest - IMHO - bardzo osiągalnym i akceptowalnym celem. Co więcej, a więc ciągle będziesz łatać serwery, a tym bardziej zaczynasz wpadać w sytuacje, w których masz setki łatek, które należy zastosować na serwer.
O ile okien potrzebujesz na miesiąc? To zależy od twojego środowiska. Ile masz serwerów? Jaki jest wymagany czas przestoju dla twoich serwisów?
Mniejsze środowiska, które mają wymiary 9 x 5, prawdopodobnie mogą uniknąć jednego okienka łaty na miesiąc. Duże sklepy 24x7 mogą potrzebować dwóch. Bardzo duże 24x7x365 może wymagać ruchomego okna co tydzień, aby co tydzień łatać inny zestaw serwerów.
Znajdź częstotliwość, która działa dla Ciebie i Twojego środowiska.
Należy pamiętać, że 100% aktualności jest niemożliwym do osiągnięcia celem - nie pozwól, aby dział bezpieczeństwa powiedział inaczej. Daj z siebie wszystko, nie pozostań zbyt daleko w tyle.
Rzeczy do zrobienia:
Rzeczy, których należy unikać:
źródło
Kolejna kwestia, o której warto wspomnieć: jeśli jesteś przyzwyczajony do systemu Windows, zdziwisz się, że większość aktualizacji systemu Linux nie wymaga przestojów ani ponownego uruchamiania systemu. Niektóre tak, na przykład aktualizacje jądra. Jednak aktualizacje wymagające ponownego uruchomienia lub przestoju są zwykle oznaczone jako takie i mogą być obsługiwane w osobnym harmonogramie.
źródło
checkrestart
jest bardzo przydatne w określaniu, które procesy zostały zaktualizowane, ale nadal muszą zostać zatrzymane i ponownie uruchomione, aby uzyskać nowy kod.Wszystkie nasze maszyny Ubuntu są w wersji LTS.
Po prostu automatycznie instalujemy wszystkie aktualizacje - na pewno nie jest to „najlepsza praktyka”, ale jesteśmy stosunkowo małym sklepem i nie mamy środowiska testowego / programistycznego / produkcyjnego dla każdej usługi. Aktualizacje LTS są ogólnie dość dobrze przetestowane i minimalnie inwazyjne.
Aktualizacja do nowej wersji jest oczywiście nieco bardziej zaangażowana.
źródło
Aktualizacje dotyczą następujących systemów ubuntu LTS:
Kolejnym logicznym krokiem dla nas jest wyeliminowanie informacji o sesji w pamięci, dzięki czemu możemy po prostu wdrożyć infrastrukturę codziennie lub nawet wiele razy dziennie bez wpływu na klientów i wyeliminować krok (2).
Takie podejście wymaga niewielkiej konserwacji i całkowicie eliminuje okna konserwacji.
źródło
Jedną rzeczą, którą poleciłbym, jest wycofywanie pakietów. Zobacz Transakcje i wycofywanie z Debianem, aby dowiedzieć się, jak to zrobić, ponieważ czasami potrzebujesz szybkiej poprawki do aktualizacji, która coś psuje.
źródło