Luka GHOST glibc (CVE-2015-0235): czy wymagane jest zrestartowanie serwera po aktualizacji glibc?

Odpowiedzi:

23

Ponowne uruchomienie nie jest technicznie wymagane , ponieważ tylko programy korzystające z glibc wymagają ponownego uruchomienia, a jądro nie korzysta z glibc.

Biorąc to pod uwagę, restartowanie wszystkiego , co korzysta z glibc, jest wystarczająco szerokie, aby równie dobrze można było zrestartować komputer .

Na przykład /sbin/initużywa glibc. Jednak ponowne uruchomienie jest trywialne (uruchom init ujako root).

gowenfawr
źródło
3
OTOH Poważnie wątpię, że initjest podatny na atak z powodu CVE :)
Erbureth mówi Przywróć Monikę
11
@Erbureth, zgadzam się, ale myślę: „Myślę, że ten program jest podatny na zagrożenia, myślę , że ten program nie jest” jest „dziwną grą. Jedynym zwycięskim ruchem jest nie grać”.
gowenfawr
sysvinit jest bezpieczny (brak połączeń DNS i często, ale nie zawsze również statycznie powiązany). systemdwydaje się, że ma swój własny resolver. Z mojego doświadczenia wynika, że ​​zamiana bibliotek używanych przez długotrwałe procesy może powodować niestabilność. Uruchom ponownie i bądź szczęśliwy.
mr. Spuratic
2
sysvinit można zrestartować. Wydaj polecenie init u, a wykona / sbin / init.
Joshua
FYI: Ponowne uruchomienie init bez restartu systemu
Gilles „SO- przestań być zły”
9

Jeśli jesteś zadowolony z ręcznego restartowania poszczególnych usług korzystających z podatnej biblioteki, możesz uruchomić to polecenie i ponownie uruchomić wymienione procesy:

# lsof | awk '/libc-/ {print $1}' | sort -u

Prawdopodobnie przekonasz się, że łatwiej będzie całkowicie zrestartować maszynę.

deed02392
źródło
9
lsof | awk '/DEL.*libc/{print $1}' | sort -udopasować tylko w linkach do usuniętego (po aktualizacji) libc.
sch
2
Czy ktoś faktycznie sprawdził wydajność lsof | grep libc? Pasuje do wielu bibliotek, w tym libcurl, libcups, libcairo itp. Grepping dla libc-wydaje się dawać poprawne wyniki.
To dość ronda i niedokładna metoda. Jak wykryć uruchomione procesy za pomocą pakietu bibliotecznego? W każdym razie, dla glibc odpowiedź jest prawie na każdym procesie. Przydałaby się wiedza o tym, które procesy pozostały ze starą kopią, a to polecenie nie powie ci.
Gilles „SO- przestań być zły”
7

Tak, więc procesy zależne od starej wersji glibc rozpoczynają się ponownie od nowej wersji biblioteki. Z tego powodu należy również ponownie skompilować programy połączone statycznie.

Ohnana
źródło
Łączenie statyczne jest prawdopodobnie rzadkie, biorąc pod uwagę interakcje funkcji DNS z NSS, glibc i historyczne uprzedzenia byłego opiekuna glibc .
mr. Spuratic