Estou executando a versão Apache2:
Server version: Apache/2.4.29 (Ubuntu)
Server built: 2018-04-25T11:38:24
Gostaria de habilitar o TLSv1.3 mas recebo o erro abaixo no Apache2 se coloco SSLProtocol TLSv1.2 TLSv1.3
o ssl.conf
arquivo:
# apachectl configtest
AH00526: Syntax error on line 79 of /etc/apache2/mods-enabled/ssl.conf:
SSLProtocol: Illegal protocol 'TLSv1.3'
Action 'configtest' failed.
The Apache error log may have more information.
Não é possível ativar o TLSv1.3 no Apache2 (ainda)?
Eu sei que o Nginx pode fazer isso, mas esta questão visa o Apache2.
Debian Buster = TLSv1.3 suportado
No Debian Buster (atualmente em teste), o TLSv1.3 já é suportado.
As seguintes informações são datadas de:
2019-02-24
Versão Apache2:
Versão do servidor: Apache/ 2.4.38 (Debian)
Servidor construído: 2019-01-31 T20:54:05
Onde habilitar
Globalmente em:
Localmente em:
Seu(s) VirtualHost(s) localizado(s) em:
como habilitar
Até esta data, o TLSv1.1 foi finalmente obsoleto. Portanto, você deseja apenas TLSv1.2 e TLSv1.3.
Para fazer isso, coloque esta linha no arquivo acima mencionado:
Conjuntos de cifras
Os conjuntos de cifras agora estão divididos em 2 categorias, sendo
SSL
(abaixo de TLSv1.3) eTLSv1.3
, você pode querer usar seu próprio conjunto de cifras, tome isso apenas como exemplo:curvas
Uma observação importante para o final:
Há uma nova curva que você pode/deve habilitar: X25519 .
Você pode fazer isso, por exemplo, assim, novamente apenas exemplo:
Exemplo de teste de domínio em SSLLabs
TLSv1.3 agora é suportado no Apache2 versão 2.4.36 com OpenSSL 1.1.1 Source .
O TLSv1.3 ainda não é suportado pelo Apache 2.4.
Quando é suportado pelo OpenSSL (veja informações aqui) , o Apache 2.4 também deve ter.
Nota do editor
Cuidado, usar um PPA pode arruinar seu sistema, pelo menos as futuras atualizações de distribuição, pelo menos pela minha experiência.
Se você está pronto para correr o risco...
Você pode usar este PPA, este comando o adiciona ao seu sistema sem problemas:
No momento da redação deste artigo, a versão atual era:
TLSv1.3 é suportado nessa versão.
Para ativá-lo globalmente para todos os VirtualHosts, localize o seu
ssl.conf
e defina:Em seguida, reinicie o Apache2 e ele deve estar pronto para um teste, principalmente nestes sites:
https://www.ssllabs.com/ssltest/
https://www.htbridge.com/ssl/
Meu exemplo de resultado = TLSv1.3 ativado
Acontece que a atualização para OpenSSL 1.1.1 não foi suficiente. O Apache também teve que ser alterado . Essa mudança foi portada para a versão 2.4.29 . Portanto, desde segunda-feira com 2.4.29-1ubuntu4.12 , o Ubuntu 18.04 LTS suporta TLS 1.3 imediatamente. Essa foi a configuração mencionada pelo pôster original.
Versões de TLS, conjuntos de cifras e curvas ainda são um debate acalorado, como mostrou a recente descontinuação do TLS 1.0 no Stack Exchange . O testssl.sh 3.0 ficou bastante satisfeito com os padrões do Apache 2.4.29 e OpenSSL 1.1.1. Portanto, você deve verificar novamente se não desativou inadvertidamente tecnologias mais recentes, como a curva X448 ou TLS 1.3. Por exemplo, se você usar
SSLProtocol -all
, estará desabilitando todas as próximas versões de protocolo. Por exemplo, se você usarSSLOpenSSLConfCmd Curves
, estará desativando todas as próximas curvas.Conseqüentemente, não tenho certeza se é uma boa ideia ajustar esses padrões uma vez e depois esquecê-los. Em vez disso, para quem gosta de alterar os padrões, procurando uma configuração mantida, usei o gerador Mozilla como ponto de partida. No final de hoje - verifique novamente amanhã - e graças à maneira já mencionada de configurar as curvas, optei pela API SSL_Conf_Cmd completamente:
Se você optar por uma instalação de certificado baseado em ECDSA+RSA dupla, por exemplo, ECC de Sectigo e RSA de RapidSSL, o acima atende ao nível de segurança 3 , ainda compatível com versões anteriores mesmo com clientes muito antigos.