Я хотел бы скомпилировать и установить уязвимую для Heartbleed версию OpenSSL на сервере, который я настраиваю для групповой задачи веб-безопасности (поскольку по понятным причинам они недоступны для установки из репозитория Ubuntu).
Я скачал и скомпилировал из исходного кода OpenSSL 1.0.1f, используя предоставленные инструкции (запустите ./config
, затем make
и make install
), и попытался запустить открыто доступную POC Heartbleed из GitHub с моего ПК, однако сценарий не замечает, что ответ на сердцебиение не был получен и сервер скорее всего не уязвим.
Запуск openssl version
выдает следующий вывод: OpenSSL 1.0.1f 6 января 2014 . Я, конечно, установил SSL-сертификат, и SSL-доступ работает на сервере.
OpenSSL установлен для работы с Apache 2.4.7.
Кто-нибудь может помочь?
источник
Ответы:
Здесь могут происходить две вещи:
Простой файл «./configure; make; make install» по умолчанию помещает общие библиотеки в
/usr/local/lib
. Установленные системой библиотеки, тем не менее, будут в том месте/usr/lib
, которое находится раньше в пути поиска библиотек. Если вы не удалите установленную системой версию OpenSSL, уязвимая версия не будет найдена.Даже если вы перезаписываете системные библиотеки, изменения не будут приняты, пока вы не перезапустите Apache. Удаленные файлы остаются доступными (и занимают место на диске) до тех пор, пока все программы, для которых открыты файловые дескрипторы, не закроют эти файловые дескрипторы.
источник
Какое серверное программное обеспечение используется?
Несмотря на уязвимость двоичного файла OpenSSL, установленный веб-сервер из пакета ОС, скорее всего, использует версию библиотеки, которая не уязвима.
Самый простой способ запустить уязвимого слушателя
openssl s_server
- если вам нужен уязвимый полнофункциональный веб-сервер, вам, скорее всего, придется скомпилировать уязвимый OpenSSL.источник
s_server
это вещь. Я использовалs_client
навсегда, и вполне логично, что должна быть опция сервера.