Aktualizacja biblioteki glibc dla Linuxa

W ostatnich dwóch dniach reagowaliśmy na lukę odkrytą w module glibc – jednego z kluczowych segmentów Linuksa. Audytorzy z kalifornijskiego Qualys opisali furtkę GHOST, która powstała 14 lat temu! Środowisko Open Source wydało nowe wersje bibliotek.

Dziura znajdowała się w funkcji gethostbyname, pozwalając na przejęcie serwera (uruchomienie shella) przez wykorzystanie dowolnego programu, który uruchamiał tę funkcję dzięki odpowiednim spreparowaniu jej wartości (w przypadku POF użyto zmienionej odpowiedzi na zapytanie HELO Exim-a). Biblioteka glibc obecna jest nie tylko na serwerach, ale m.in. również w routerach Wi-Fi i firewallach.

Nie wszystkie usługi korzystające z glibc potrzebują całkowitego restartu. Chodzi wyłącznie o funkcję gethostbyname. Wykonuje ona kwerendę na serwerze DNS w sieci Internet, by uzyskać dane o hoście. Według Cloudlinux.com po aktualizacji glibc do ponownego uruchomienia wchodzą:

  • Exim – po wgraniu aktualizacji zalecany jest restart serwerów,
  • Apache – po wgraniu aktualizacji zagrożenie dotyczy wyłącznie części modułów. Restart warto wykonwać dla php FPM i mod_lsapi, jeśli jest używany w trybie self_starter,
  • Lite Speed –  po wgraniu aktualizacji zalecane jest ponowne uruchomienie,
  • Nginx – po wgraniu aktualizacji występuje brak zagrożenia, ale łatwość w restarcie sprawia, że nie zaszkodzi go wykonać,
  • cPanel – po wgraniu aktualizacji zalecany jest restart zwłaszcza przy korzystaniu z cpHulkd,
  • PostgreSQL – nie jest znany stopień zagrożenia, więc po wgraniu aktualizacji można ponownie uruchomić na wszelki wypadek,
  • OpenSSH – uznaje się za wolny od zagrożeń, jednak po wgraniu aktualizacji przezorni mogą skorzystać z restartu,
  • Skrzynki mailowe – sytuacja jak wyżej.

Proftpd, pure-ftpd,vsftpd,xinetd, tcp_wrappers, rsyslogd,mysql/mariadbuznawane za bezpieczne i bezproblemowe przy restarcie, można więc dla pewności po wgraniu aktualizacji ponownie uruchomić.

Powtarzające się rady restartu wszystkiego wynikają z tego, że na serwerach działa sporo oprogramowania i trudno jest przewidzieć, które z nich jest zagrożone. Łatka była już obecna w wersji 2.17, jednak wiele dystrybucji nie wprowadziło jej do repozytoriów, uznając zagrożenie za znikome. Wydanie 2.19 zamykało możliwość wykorzystania furtki, a sama opcja od dłuższego czasu posiadała status „depretaced”.

Wykonaliśmy restarty serwerów hostingowych, aby upewnić się, że wszystkie usługi na serwerach korzystają z nowej wersji biblioteki (restarty większości poszczególnych usług na serwerach były wykonane w momencie instalacji aktualizacji). Przerwa związana z restartem nie trwała dłużej niż kilka minut.

Michał