Erro ao construir o Apache 2.4.25 a partir do código-fonte com o ssl aberto 1.1.0c

1

Eu criei o Apache 2.4.25 com o OpenSSL 1.0.2 com sucesso.

Mas por causa de algumas falhas de segurança encontradas em nossos testes internos, Fui solicitado a corrigir o Openssl com a versão mais recente. Então estou tentando construir o Apache httpd 2.4.25 com o OpenSSL 1.1.0c (ou) 1.1.0d

Meus ambientes

lsb_release -a
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 5.11 (Tikanga)
Release:        5.11
Codename:       Tikanga

Perl:           5.24
PCRE:           8.38
APR:            1.5.2
APR-util:       1.5.4
OpenSSL:        1.1.0c / 1.1.0d

Todas as dependências do Apache acima foram construídas e instaladas com sucesso

Apache 2.4.25 - etapas de instalação

cd /my/softwares
tar -xvf httpd-2.4.25.tar -C /my/build/

cd /my/build/httpd-2.4.25/

./configure --prefix=/my/apache-httpd-2.4.25 \
    --with-pcre=/my/dependencies/pcre-8.38/ \
    --with-apr=/my/dependencies/apr-1.5.2 \
    --with-apr-util=/my/dependencies/apr-util-1.5.4 \
    --enable-ssl \
    --with-ssl=/usr/local/ssl-1.1.0c \
    --enable-ssl-staticlib-deps \
    --enable-mods-static=ssl

make // see below errors
make install

Estou recebendo o erro abaixo ao criar o Apache a partir da origem com o ssl aberto. Por favor me ajude na direção certa.

ssl_engine_init.c: In function 'make_dh_params':
ssl_engine_init.c:61: error: dereferencing pointer to incomplete type
ssl_engine_init.c:62: error: dereferencing pointer to incomplete type
ssl_engine_init.c:63: error: dereferencing pointer to incomplete type
ssl_engine_init.c:63: error: dereferencing pointer to incomplete type
ssl_engine_init.c: In function 'ssl_init_ctx_protocol':
ssl_engine_init.c:519: warning: 'TLSv1_client_method' is deprecated (declared at /usr/local/ssl-1.1.0c/include/openssl/ssl.h:1598)
ssl_engine_init.c:520: warning: 'TLSv1_server_method' is deprecated (declared at /usr/local/ssl-1.1.0c/include/openssl/ssl.h:1597)
ssl_engine_init.c:525: warning: 'TLSv1_1_client_method' is deprecated (declared at /usr/local/ssl-1.1.0c/include/openssl/ssl.h:1604)
ssl_engine_init.c:526: warning: 'TLSv1_1_server_method' is deprecated (declared at /usr/local/ssl-1.1.0c/include/openssl/ssl.h:1603)
ssl_engine_init.c:530: warning: 'TLSv1_2_client_method' is deprecated (declared at /usr/local/ssl-1.1.0c/include/openssl/ssl.h:1610)
ssl_engine_init.c:531: warning: 'TLSv1_2_server_method' is deprecated (declared at /usr/local/ssl-1.1.0c/include/openssl/ssl.h:1609)
ssl_engine_init.c: In function 'ssl_init_ctx_session_cache':
ssl_engine_init.c:641: warning: passing argument 2 of 'SSL_CTX_sess_set_get_cb' from incompatible pointer type
ssl_engine_init.c: In function 'use_certificate_chain':
ssl_engine_init.c:861: warning: implicit declaration of function 'BIO_s_file_internal'
ssl_engine_init.c:861: warning: passing argument 1 of 'BIO_new' makes pointer from integer without a cast
ssl_engine_init.c: In function 'ssl_init_server_certs':
ssl_engine_init.c:1201: error: dereferencing pointer to incomplete type
make[3]: *** [ssl_engine_init.lo] Error 1
make[3]: Leaving directory '/my/build/httpd-2.4.25/modules/ssl'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/my/build/httpd-2.4.25/modules/ssl'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/my/build/httpd-2.4.25/modules'
make: *** [all-recursive] Error 1
    
por user292049 15.02.2017 / 14:20

2 respostas

0

Por que você precisa criar o Apache com bibliotecas ssl vinculadas estaticamente? É uma péssima ideia na minha opinião. Com bibliotecas vinculadas dinamicamente, você pode apenas atualizar o SSL quando necessário. Com os estáticos, você precisará recompilar o apache toda vez que o ssl for corrigido

    
por 15.02.2017 / 15:12
0

De um dos comentários dos usuários on-line

" A partir de agora, com a versão mais recente do Apache HTTPD 2.4.25, a ramificação 2.4 ainda não é compatível com o Openssl 1.1.x, Então, tem que ficar com as últimas 1.0.2x e manter-se atualizado sobre questões de segurança. "

" Não há nenhuma declaração oficial, desde que o OpenSSL 1.1.x se tornou estável praticamente" ontem "não houve tempo e tempo para adaptar 2.4 branch para ele, tudo isso você pode ler principalmente no dev e lista de discussão do usuário httpd "

    
por 15.02.2017 / 19:24