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

Объединение HTTPD и OpenSSL Из исходного кода неверная строка сервера?

В системе есть OpenSSL версии 1.0.1e, которая доступна в репозитории CentOS 7, но с тех пор существует так много CVE (2013 г.)

Httpd компилируется из исходного кода с

./configure --enable-so --enable-ssl --enable-cache-disk --enable-cache-socache --enable-deflate --with-mpm=prefork --enable-fpm --enable-cgi --with-ssl=/usr/local/ssl/include --enable-ssl-static-lib-deps --enable-mods-static=ssl

Но даже после перезапуска версия ssl сервера показывает:

curl --head http://localhost

HTTP/1.1 301 Moved Permanently
Date: Fri, 14 Jul 2017 04:46:26 GMT
Server: Apache/2.4.25 (Unix) OpenSSL/1.0.1e-fips PHP/5.6.30 mod_myfixip/1.4
Location: XYZ
Cache-Control: max-age=0
Expires: Fri, 14 Jul 2017 04:46:26 GMT
Content-Type: text/html; charset=iso-8859-1

Но при более внимательном рассмотрении двоичного файла httpd он выглядит скомпилированным с 1.0.21, как и ожидалось:

^@ssl_engine_init.c^@AH02209: CA certificate: %s^@init_server^@chil^@TLSv1.2, ^@TLSv1.1, ^@TLSv1, ^@SSLv3, ^@SSLProxy^@with^@without^@AH03039: %i:^@OpenSSL 1.0.2l  25 May 2017^@OpenSSL^@Init: ^@SSL_VERSION_INTERFACE^@SSL_VERSION_LIBRARY^@

Вы должны добавить скомпилированный вручную путь openssl "lib" в "envvars"файл или добавьте его вручную в $ LD_LIBRARY_PATH перед запуском httpd, чтобы httpd использовал его вместо версии системы.

envvars файл включен в каталог bin httpd и также используется скриптом apachectl. Это сделано для этого.

то есть:

export LD_LIBRARY_PATH="/path/to/ssl/lib:$LD_LIBRARY_PATH"