Aby nauczyć się trochę administracji serwerem, skonfigurowałem prosty serwer Ubuntu 14.04, na którym prowadzę osobistą stronę internetową. Ustawiłem go tak, aby automatycznie instalował aktualizacje zabezpieczeń, ale pomijam inne aktualizacje. To wydaje się działać całkiem dobrze. Czasami pojawia się komunikat podczas logowania do serwera (za pomocą ssh) z informacją:
*** System restart required ***
Kiedy tak się stało, po prostu ponownie uruchomiłem Ubuntu i wszystko było w porządku. Jest to w porządku, ponieważ jest to prosta osobista strona internetowa. Zastanawiam się jednak, jak to działa w przypadku serwerów sieciowych, które powinny być o 99,9999etc% czasu? Czy po prostu nie uruchamiają się ponownie i ryzykują naruszenie bezpieczeństwa, ponieważ aktualizacje zabezpieczeń nie są zainstalowane (czego nie mogę sobie wyobrazić)? Czy może uważają przestoje za coś oczywistego (czego też nie wyobrażam)?
Jak sobie z tym poradzić, jeśli byłby to bardzo ważny serwer produkcyjny, który chcę utrzymać i działać? Wszystkie wskazówki są mile widziane!
[EDYCJA] Wiem, że mogę zrobić, cat /var/run/reboot-required.pkgs
aby wyświetlić listę pakietów, które powodują ponowne uruchomienie. Polecenie daje obecnie następujące wyniki:
linux-image-3.13.0-36-generic
linux-base
dbus
linux-image-extra-3.13.0-36-generic
linux-base
ale skąd mam wiedzieć, czy aktualizacje są drobiazgami tego, czy mam poważną lukę w zabezpieczeniach, jeśli nie wykonam ponownego uruchomienia?
[EDIT2] OK, teraz połączyłem polecenia, które okazały się przydatne, w jeden:
xargs aptitude changelog < /var/run/reboot-required.pkgs | grep urgency=high
Jeśli to nic nie da, problemy z bezpieczeństwem nie wydają się być pilne.
Ostatnie pytanie jednak: to low
, medium
i high
jedyne możliwości pilnych czy są jakieś bardziej jak na przykład critical
czy extremelyimportant
?
| grep 'urgency=' | egrep -v '=(low|medium)'
Odpowiedzi:
Nie jest to prosta odpowiedź, ponieważ zależy od dokonanych aktualizacji. Jeśli jądro miało poważny problem z bezpieczeństwem, dobrze jest zrestartować tak szybko, jak to możliwe. Jeśli jądro ma tylko drobne poprawki, restart może zostać odroczony.
Jeśli zagwarantujesz dostępność> 99,9%, prawie zawsze będziesz mieć system klastrowy, w którym możesz ponownie uruchamiać węzły jeden po drugim bez przerywania usługi.
Ponownie uruchom pierwszy system i podłącz go ponownie do klastra. Potem drugi i tak dalej. Usługa nigdy nie będzie niedostępna.
źródło
cat /var/run/reboot-required.pkgs
aby uzyskać pakiety wymagające ponownego uruchomienia. Ale skąd mam wiedzieć, czy są to tylko drobne poprawki, czy też jest to poważna luka w zabezpieczeniach?aptitude changelog <package>
, oto przykładowe dane wyjściowe: paste.ubuntu.com/8410798 (To jest na systemie Debian, nie Ubuntu, ale to samo będzie działać również na Ubuntu.)xargs aptitude changelog < /var/run/reboot-required.pkgs | grep urgency=high
(dodałem ją również do pytania początkowego), co daje pewne informacje wyjściowe, które pakiety mają bardzo pilne łatki. Następnie można oczywiście sprawdzić poszczególne paczki. Dzięki milion za wszystkie odpowiedzi i pomysły!dodatek do rozwiązania tematu
Przeprowadzam podobne sprawdzenie „wymagania ponownego uruchomienia” dla systemu monitorowania zabbix
Widzę 2 problem w rozwiązaniu „Temat”:
Moja logika to:
Korzystając z dokumentacji Debiana znalazłem 5 możliwych wartości dla „pilności”, a także fakt, że po niej mogą występować znaki równości („=”) lub średnika („:”). Mogą być także wielkie i małe litery
Więc skończyłem z następującymi:
W rezultacie:
reboot_required_check.sh status
zwraca 1, jeśli wymagane jest ponowne uruchomienie, 0 jeśli nie jestreboot_required_check.sh urgency
zwraca najwyższy poziom „pilności” lub „0”, jeśli ponowne uruchomienie nie jest wymaganeMam nadzieję, że pomoże to komuś zaoszczędzić czas;)
źródło
Duże serwery WWW są restartowane, gdy ze względów bezpieczeństwa pojawi się * Wymagane ponowne uruchomienie systemu * .
Jest to jednak przezroczyste dla użytkownika, a witryna nigdy nie działa, ponieważ duże serwery często obsługują dwa lub trzy serwery, które przechowują dokładnie te same pliki i wyświetlają tę samą witrynę. Pierwszy jest serwerem głównym, a pozostałe dwa są drugorzędne i są używane tylko wtedy, gdy główny serwer jest wyłączony.
źródło
Big web servers
uruchom niestandardowe wersje systemu Linux. Nie zobacząSystem restart required
dialogu, aktualizują to, czego potrzebują, aby zachować bezpieczeństwo. W większości przypadków wiele, jeśli nie wszystkie aktualizacje można wykonać podczas działania systemu (uważam, że można nawet zaktualizować jądro Linuksa w systemie bez ponownego uruchamiania).Big web servers
są uruchamiane na dedykowanych serwerach i VPS. Z tego powodu administrator systemu ma większą kontrolę nad oprogramowaniem. Czy Amazon daje ci dostęp do powłoki roota na twoim serwerze?freezes execution of a computer so it is the only program running
podczas nakładania łatki, więc może być trochę przestoju (z powodu „zamrożenia” procesu serwera WWW). W tym miejscu pojawia się odpowiedź @Uwe Plonus.