Як встановити вразливу версію OpenSSL на сервері Linux?


9

Я хотів би скомпілювати та встановити вразливу до Heartbleed версію OpenSSL на сервері, який я встановлюю для завдання командної веб-безпеки (оскільки вони не доступні для встановлення з сховища Ubuntu з зрозумілих причин).

Я завантажив і компілював з джерела OpenSSL 1.0.1f, використовуючи надані інструкції (запустіть ./config, потім makeі make install), і спробував запустити відкритий доступний сервер POC від GitHub з мого ПК, проте сценарій не повідомляє мене про те, що жодної відповіді на серцебиття не отримано, і сервер, швидше за все, не вразливий.

Запуск openssl versionпроводить наступний висновок: OpenSSL 1.0.1f 6 Січня 2014 . Я встановив SSL сертифікат, звичайно, і доступ до SSL працює на сервері.

OpenSSL встановлюється для роботи з Apache 2.4.7.

Хтось може допомогти?


3
Загалом, хороший спосіб перевірити старіші версії та дистрибутиви Linux - це завантажити старі ISO-образи дистрибутива та, можливо, встановити VM за допомогою нього. Не всі пакети доступні в цьому, але OpenSSL, безумовно, був би.
Бруно

Якщо ви дещо знайомі з упаковкою Debian, вам слід досить легко завантажити поточний вихідний пакунок opensl, видалити CVE-2014-0160.patch та відновити його.
Метт Нордхофф

Відповіді:


7

Тут можуть тривати дві речі:

  1. Просте "./configure; make; make install" за замовчуванням розмістить спільні бібліотеки в /usr/local/lib. Однак бібліотеки, встановлені системою, будуть знаходитись /usr/lib, що з’являється раніше на шляху пошуку бібліотеки. Якщо ви не видалите встановлену системою версію OpenSSL, вразлива версія не буде знайдена.

  2. Навіть якщо ви перезаписуєте системні бібліотеки, зміни не будуть сприйняті, поки ви не перезапустите Apache. Видалені файли залишаються доступними (і займають місце на диску), поки всі програми, у яких є відкриті файлові файли, закриють ці файлові файли.


7

Яке серверне програмне забезпечення використовується?

Незважаючи на те, що бінарний файл OpenSSL є вразливим, встановлений веб-сервер із пакета ОС, ймовірно, використовує бібліотечну версію, яка не є вразливою.

Найпростішим способом залучити вразливого слухача буде openssl s_server- якщо вам потрібен повний веб-сервер, щоб бути вразливим, вам, швидше за все, потрібно буде компілювати проти вразливого OpenSSL.


1
О, я ніколи не знав, що s_serverце річ. Я використовую s_clientназавжди, і це має повний сенс, що має бути і варіант сервера.
EEAA

1
@EEAA Так, божевільно, скільки різних підкоманд там забито.
Шейн Мадден
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.