log de erro do apache esperando parâmetros DH e EC no certificado

0

Eu tenho tentado por 7 horas para iniciar meu servidor web Apache depois que eu obtive novos certificados SSL de LetsEncrypt. Eu obtive um certificado ECDSA e o servidor ainda não começou com os logs:

[Thu Mar 29 19:23:43.839012 2018] [ssl:emerg] [pid 19908:tid 140570990629824] SSL Library Error: error:0906D06C:PEM routines:PEM_read_bio:no start line (Expecting: DH PARAMETERS) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
[Thu Mar 29 19:23:43.839038 2018] [ssl:emerg] [pid 19908:tid 140570990629824] SSL Library Error: error:0906D06C:PEM routines:PEM_read_bio:no start line (Expecting: EC PARAMETERS) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
[Thu Mar 29 19:23:43.839069 2018] [ssl:emerg] [pid 19908:tid 140570990629824] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned
[Thu Mar 29 19:23:43.839086 2018] [ssl:emerg] [pid 19908:tid 140570990629824] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error.log for more information
AH00016: Configuration Failed

As configurações do SSL no VirtualHosts são:

ServerName site.example.com
SSLCipherSuite HIGH:!MD5:!aNULL
SSLHonorCipherOrder     on
SSLCompression          off
SSLProtocol all -SSLv2 -SSLv3
Header add Strict-Transport-Security "max-age=15768000"
SSLCertificateFile /etc/letsencrypt/ecdsa/site.example.com/0001_chain.pem
SSLCertificateKeyFile /etc/letsencrypt/ecdsa/site.example.com/privkey.pem
    
por Mahmoud adel mahmoud 30.03.2018 / 16:59

2 respostas

1

Um pouco atrasado para o jogo, talvez, mas passei por esta página entre procurar uma resposta para as mesmas mensagens de erro e encontrar a solução. Se você carregou sua configuração VirtualHost do httpd-2.2, como eu fiz, tenho certeza que não há nada de errado com isso. Também não há um problema com o seu openssl. Para o registro: Não há um arquivo dhparams.pem em nenhum lugar no meu sistema. Isso só funciona um pouco diferente para o httpd-2.4 parece. Primeiro a dica: você não pode mais confiar apenas na sua definição do VirtualHost. Você deve referenciar um certificado / par de chaves válido a partir de conf.d / ssl.conf (as localizações são para o meu sistema Fedora):

SSLCertificateFile /etc/pki/tls/certs/localhost.crt

SSLCertificateKeyFile /etc/pki/tls/private/localhost.pem

O meu é um certificado auto-assinado, transferido do httpd-2.2 / openssl-1.0.2h. O certificado está no formato ascii PEM. A chave foi convertida em uma cópia clara do RSA, portanto, nenhuma senha é necessária quando o httpd é iniciado. (Avalie cuidadosamente seu ambiente antes de fazer isso). Não importa muito o que o certificado é feito porque parece que ainda são os certs, definidos na seção VirtualHost que será apresentada aos clientes. Para mim, os certs (herdados do httpd-2.2) estão em formato PEM, enquanto as respectivas chaves, novamente, estão em forma de cópia clara do RSA. Claro que você deve ter o mod_ssl.so carregado, mas se você tivesse coisas trabalhando no httpd-2.2, então você já fez isso.

    
por 08.06.2018 / 02:44
0
[Thu Mar 29 19:23:43.839012 2018] [ssl:emerg] [pid 19908:tid 140570990629824] SSL Library Error: error:0906D06C:PEM routines:PEM_read_bio:no start line (Expecting: DH PARAMETERS) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?

Esta linha diz que você pode ter jogado com os parâmetros DH, por exemplo localizados aqui:

/etc/ssl/dhparams.pem

O problema é, se você quiser aumentar a segurança do DH e jogar com este arquivo, como segue:

sudo openssl dhparam -out /etc/ssl/dhparams.pem.new 4096
sudo service apache2 stop
sudo mv /etc/ssl/dhparams.pem.new /etc/ssl/dhparams.pem
sudo service apache2 start

Note que se você armazenar o dhparams.pem em um local não padrão, você terá que fornecer o caminho para esse arquivo na sua configuração do Apache, por exemplo em:

/etc/apache2/mods-enabled/ssl.conf

Como segue:

# Use my own generated DH Parameters file 4096 bits long
SSLOpenSSLConfCmd DHParameters "/etc/ssl/dhparams.pem"
[Thu Mar 29 19:23:43.839038 2018] [ssl:emerg] [pid 19908:tid 140570990629824] SSL Library Error: error:0906D06C:PEM routines:PEM_read_bio:no start line (Expecting: EC PARAMETERS) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?

Esta linha está nos dizendo, você talvez tenha tocado com ECDHParameters.

IMHO, o melhor é ficar com configuração automática:

SSLOpenSSLConfCmd ECDHParameters Automatic

Veja man ecparam para mais informações. Eu pessoalmente não tive motivos convincentes para jogar com este.

[Thu Mar 29 19:23:43.839069 2018] [ssl:emerg] [pid 19908:tid 140570990629824] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned

Esta linha está dizendo que sua chave privada especificada está faltando ou que toda a configuração está mal configurada.

    
por 04.04.2018 / 08:52