Назад | Перейти на главную страницу

Почему на моем сервере отображается openssl 0.9.8, когда у меня установлен openssl1.0.1?

Я создаю тестовый сервер, который является уязвим для сердечно-сосудистой ошибки.

На моем сервере работает Apache 2.4 на виртуальной машине FreeBSD. По умолчанию во FreeBSD по умолчанию установлен OpenSSL 0.9.8. Я попытался удалить OpenSSL из портов, но, поскольку я не устанавливал его через порты (по умолчанию), я не смог удалить его таким образом.

Затем я попытался просто проигнорировать это и установил OpenSSL 1.0.1 из исходников; но когда я перезапустил сервер apache и проверил сайт, используя curl --head 127.0.0.1 Отображалось «OpenSSL 0.9.8».

Затем я попытался переустановить / перенастроить apache, но тот же тест дал "OpenSSL 0.9.8".

Итак, я попытался заменить OpenSSL по умолчанию следующим образом:
- установил более новый OpenSSL через порты (в попытке заменить версию по умолчанию)
- удалить установленный порт OpenSSL (в попытке полностью стереть OpenSSL по умолчанию)
- с моей исходной установкой остался только один, я подумал, что это должно было его изменить
- тест по-прежнему выдал "OpenSSL 0.9.8" (печаль)

Итак, почему он все еще отображает «OpenSSL 0.9.8»?

Я также хочу изменить веб-сайт, чтобы использовать OpenSSL 1.0.1, так что совет по этому поводу был бы полезен.

Недостающий шаг заключается в том, что вы должны сказать системе, что хотите использовать OpenSSL из портов по сравнению с портами базовой системы:

  • строить OpenSSL из портов:

  • создать / добавить в свой /etc/make.conf следующая строка:

    WITH_OPENSSL_PORT=yes
    
  • затем переустановить все остальные модули, требующие OpenSSL (devel/apr1, www/apache24, ...)

  • вы можете проверить OpenSSL lib используется apache24 (на самом деле apache24 mod_ssl модуль):

    # ldd /usr/local/libexec/apache24/mod_ssl.so |grep ssl 
    /usr/local/libexec/apache24/mod_ssl.so:
            libssl.so.8 => /usr/local/lib/libssl.so.8 (0x801634000)
    

    Apache24 mod_ssl теперь использует OpenSSL библиотека из портов.

Компиляция OpenSSL вам не очень поможет. Ваш Apache все еще связан со старым OpenSSL. Вы можете проверить это с помощью ldd команда.

Вам следует перекомпилировать Apache или mod_ssl чтобы он был связан с вашим новым OpenSSL.