Chciałbym skompilować i zainstalować wersję OpenSSL, która zawiera lukę w zabezpieczeniach Heartbleed, na serwerze, który przygotowuję do wyzwania bezpieczeństwa sieci zespołu (ponieważ z oczywistych powodów nie są one dostępne do zainstalowania z repozytorium Ubuntu).
Pobrałem i skompilowałem ze źródłowego OpenSSL 1.0.1f, korzystając z dostarczonych instrukcji (uruchom ./config
, a następnie make
i make install
), i próbowałem uruchomić z komputera GitHub w otwartym programie Heartbleed POC , jednak skrypt nie informuje mnie, że nie otrzymano odpowiedzi pulsu i serwer prawdopodobnie nie jest podatny na ataki.
Uruchomienie openssl version
daje następujące wyniki: OpenSSL 1.0.1f 6 stycznia 2014 . Zainstalowałem oczywiście certyfikat SSL i dostęp SSL działa na serwerze.
OpenSSL jest zainstalowany do pracy z Apache 2.4.7.
Czy ktoś może pomóc?
źródło
Odpowiedzi:
Mogą się tu dziać dwie rzeczy:
Proste „./configure; make; make install” domyślnie umieści biblioteki współdzielone
/usr/local/lib
. Będą jednak zainstalowane biblioteki systemowe/usr/lib
, które znajdują się wcześniej na ścieżce wyszukiwania bibliotek. O ile nie usuniesz zainstalowanej przez system wersji OpenSSL, nie będzie można znaleźć wersji podatnej na atak.Nawet jeśli nadpisujesz biblioteki systemowe, zmiana nie zostanie zauważona, dopóki nie uruchomisz ponownie Apache. Usunięte pliki pozostają dostępne (i zajmują miejsce na dysku), dopóki wszystkie programy, które mają otwarte uchwyty plików, zamkną te uchwyty.
źródło
Jakie oprogramowanie serwera jest używane?
Mimo że plik binarny OpenSSL jest podatny na ataki, zainstalowany serwer WWW z pakietu systemu operacyjnego prawdopodobnie używa wersji biblioteki, która nie jest podatna na atak.
Najprostszym sposobem na uruchomienie wrażliwego odbiornika będzie
openssl s_server
- jeśli potrzebujesz pełnego serwera WWW, aby go narazić, prawdopodobnie będziesz musiał skompilować go z wrażliwym OpenSSL.źródło
s_server
to coś. Używam ods_client
zawsze i wydaje mi się, że powinna istnieć opcja serwera.