Posso atualizar a versão do OpenSSL usada pelo apache sem recompilar o servidor, mas apenas mod_ssl?

5

Eu tenho um servidor Apache em uma máquina Unix:

Apache/2.2.29 (Unix) OpenSSL/0.9.8zg

Gostaria de atualizar a versão do OpenSSL para 1.0.2, que é a versão atualmente instalada no meu sistema:

machine:/ user$ openssl version
OpenSSL 1.0.2d 9 Jul 2015

Posso fazer isso sem recompilar o servidor inteiro? Preciso recompilar mod_ssl apenas porque está carregado dentro de httpd.conf com LoadModule ?:

LoadModule ssl_module modules/mod_ssl.so

Como posso fazer isso?

    
por tonix 12.09.2015 / 00:04

2 respostas

4

A biblioteca mod_ssl.so é vinculada dinamicamente ao OpenSSL:

$ ldd mod_ssl.so | egrep 'lib(ssl|crypto)'
    libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f23f7209000)
    libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f23f6e26000)

Desde que a atualização do OpenSSL não altere o caminho para a biblioteca, tudo o que você precisa fazer é atualizar o OpenSSL e, em seguida, reiniciar o Apache para que a nova biblioteca OpenSSL seja carregada. A última vez que o OpenSSL alterou os caminhos da biblioteca estava em 1.0.0, creio, portanto, se você estiver atualizando a partir da versão 1.0.0 ou posterior, tudo ficará bem. Se você estiver atualizando de uma versão mais antiga (por exemplo, 0.9.8), será necessário reconstruir o mod_ssl após a reconstrução do OpenSSL.

    
por 12.09.2015 / 02:40
2

Eu sugiro strongmente que você atualize sua distribuição, tanto o Apache 2.2 quanto o OpenSSL 0.9 são MUITO, MUITO, MUITO antigos e dificilmente suportados por mais tempo.

Se isso não for uma opção, você precisará instalar os cabeçalhos dev para sua versão OpenSSL instalada e recompilar mod_ssl contra eles. Ou seja, se você estiver usando o Gentoo ou outro tipo de distração "faça você mesmo".

Senão, apenas atualize e atualize. Está atrasado no seu caso.

    
por 17.09.2015 / 01:00