Czy ważne jest ponowne uruchomienie Linuksa po aktualizacji jądra?

19

Mam kilka produktywnych serwerów Fedora i Debian, które hostują nasze witryny, a także konta powłoki użytkownika (używane do pracy z git vcs, niektórych sesji screen + irssi itp.).

Czasami nowa aktualizacja jądra pojawi się w potoku w yum/ apt-get, i zastanawiałem się, czy większość poprawek jest wystarczająco poważna, aby uzasadnić restart, czy też mogę zastosować poprawki bez restartu.

Nasz główny serwer programistyczny ma obecnie 213 dni bezawaryjnej pracy i nie byłem pewien, czy uruchomienie tak starszego jądra nie jest bezpieczne.

lfaraone
źródło
Naprawdę powinieneś oddzielić hosting produkcyjny (dość narażony i krytyczny dla bezpieczeństwa, powinieneś natychmiast uzyskać aktualizacje) od uruchamiania repozytoriów git (prawdopodobnie tylko zaufanych użytkowników, ale muszą być bezpieczne) i ogólnych sesji ekranowych. Maszyny wirtualne są tanie!
poolie

Odpowiedzi:

24

Długie przestoje nie są niczym specjalnym. Ogólnie lepiej jest mieć bezpieczny system. Wszystkie systemy wymagają aktualizacji w pewnym momencie. Prawdopodobnie już stosujesz aktualizacje, czy planujesz przerwy w pracy po ich zastosowaniu? Prawdopodobnie powinieneś na wypadek, gdyby coś poszło nie tak. Ponowne uruchomienie nie powinno tak dużo czasu.

Jeśli twój system jest tak wrażliwy na awarie, prawdopodobnie powinieneś pomyśleć o jakiejś konfiguracji klastrowania, aby zaktualizować jednego członka klastra bez obniżania wszystkiego.

Jeśli nie masz pewności co do konkretnej aktualizacji, prawdopodobnie bezpieczniej jest zaplanować ponowne uruchomienie i zastosować ją (najlepiej po przetestowaniu w innym podobnym systemie).

Jeśli chcesz dowiedzieć się, czy aktualizacja jest ważna, poświęć trochę czasu na przeczytanie informacji o bezpieczeństwie i skorzystaj z łączy z powrotem do CVE lub postów / list / blogów opisujących problem. To powinno pomóc ci zdecydować, czy aktualizacja dotyczy bezpośrednio twojego przypadku.

Nawet jeśli nie uważasz, że ma to zastosowanie, powinieneś w końcu rozważyć aktualizację systemu. Bezpieczeństwo to podejście warstwowe. W pewnym momencie powinieneś założyć, że inne warstwy mogą zawieść. Ponadto możesz zapomnieć, że masz wrażliwy system, ponieważ pominęłeś aktualizację, gdy zmienisz konfigurację w późniejszym czasie.

W każdym razie, jeśli chcesz zignorować lub chwilę poczekać na aktualizację w systemach opartych na Debianie, możesz zawiesić pakiet. Ja osobiście lubię blokować wszystkie pakiety jądra na wszelki wypadek.

Metoda CLI do zawieszenia pakietu w systemach opartych na Debianie.

dpkg --get-selections | grep 'linux-image' | sed -e 's/install/hold/' | sudo dpkg --set-selections
Zoredache
źródło
1
Nie chodzi o to, że musimy być zawsze włączeni, ale raczej o to, że niektórzy z naszych użytkowników mają otwarte sesje (tj. IRC), które mogą być denerwujące (z perspektywy użytkownika) w celu ponownego uruchomienia.
lfaraone
12

Większość aktualizacji nie wymaga ponownego uruchomienia, ale aktualizacje jądra tak robią (tak naprawdę nie można zastąpić działającego jądra bez ponownego uruchomienia).

Odkryłem jedną rzecz: jeśli twój serwer działał przez długi czas bez restartu, bardziej prawdopodobne jest, że będziesz chciał przeprowadzić kontrolę dysku (fsck) podczas restartu, a to może znacznie wydłużyć czas potrzebny na powrót i znów działa. Najlepiej przewidzieć to i zaplanować.

Odkryłem również, że zmiany konfiguracji mogą czasem zostać pominięte i nie zostaną zauważone aż do ponownego uruchomienia (np. Dodanie nowych adresów IP / reguł iptables itp.) Zwiększa to także „ryzyko przestoju” przy rzadkim uruchamianiu.

Najlepiej zaplanować przestoje podczas ponownego uruchamiania komputera - lub jeśli nie jest to pożądana opcja, skonfiguruj serwery w klastrach, aby w razie potrzeby można było ponownie uruchomić komputer.

Brent
źródło
8

Jeśli potrzebujesz tylko aktualizacji bezpieczeństwa, a nie całkiem nowego jądra, możesz zainteresować się Ksplice - pozwala on łatać pewne aktualizacje jądra w działające jądro.

Tim
źródło
Tylko Oracle Linux: |
rogerdpack
3

Nie ma prostej odpowiedzi na to pytanie, niektóre aktualizacje jądra nie są tak naprawdę związane z bezpieczeństwem, a niektóre mogą rozwiązać problemy z bezpieczeństwem, które nie dotyczą ciebie, podczas gdy inne mogą mieć na ciebie wpływ.

Najlepszym podejściem imo jest zarejestrowanie się na odpowiednich listach bezpieczeństwa, takich jak ogłoszenie bezpieczeństwa Ubuntu , abyś mógł zobaczyć, kiedy pojawią się łatki bezpieczeństwa i jak mogą one na ciebie wpłynąć.

Rozważę również apticron lub podobny, aby uzyskać szczegółowe informacje i dzienniki zmian wszelkich innych aktualizacji pakietów.

inne
źródło
2

Jest to funkcja aktualizacji - jeśli naprawia priv. eskalacja, która powoduje dostęp do katalogu głównego, możesz chcieć go zastosować.

Avery Payne
źródło
2

W przypadku, gdy nie uruchomisz się ponownie, powinieneś upewnić się, że nowe jądro nie jest domyślnym do uruchamiania przy starcie systemu.

Ostatnią rzeczą, jakiej chcesz, jest nie przetestowane jądro używane do produkcji po nieplanowanym ponownym uruchomieniu.

mibus
źródło
1

Jak wspomniano w mibusie, jeśli zainstalujesz jądro i nie uruchomisz się ponownie, upewnij się, że nie jest domyślny. Nie wiesz, czy lub w jakim stanie Twój serwer wróci, więc upewnij się, że jest przetestowany.

Biorąc to pod uwagę, myślę, że dobrze jest przyzwyczaić się do restartowania maszyn, jeśli to możliwe, dość regularnie. Wiele awarii sprzętu i oprogramowania przejawia się tylko przy ponownym uruchomieniu komputera i lepiej dowiedzieć się o nich, gdy planujesz ponowne uruchomienie zamiast podczas nieplanowanej awarii.

Kamil Kisiel
źródło
0

Zauważ, że niektóre aktualizacje jądra Debiana wymagają (cóż, zdecydowanie zalecamy) ponownego uruchomienia ASAP po ich zastosowaniu.

Dzieje się tak, gdy różnica nie jest wystarczająca, aby uzasadnić zmianę katalogu modułów, ale moduły mogą się różnić.

Zostaniesz ostrzeżony przez Debiana podczas instalowania takich pakietów jądra.

MikeyB
źródło