Como ativar o TLS 1.3 em apache e nginx

Como ativar o TLS 1.3 em apache e nginx

TLS 1.3 é a versão mais recente do Segurança da camada de transporte (TLS) protocolo e é baseado no 1 existente.2 especificações com o padrão IETF adequado: RFC 8446. Ele fornece segurança mais forte e melhorias de desempenho mais altas em relação aos seus antecessores.

Neste artigo, mostraremos um guia passo a passo para obter um certificado TLS válido e permitir o último TLS 1.3 Protocolo de versão em seu domínio hospedado em Apache ou Nginx Servidores da Web.

Requisitos:

  • Apache versão 2.4.37 ou mais.
  • Nginx versão 1.13.0 ou maior.
  • Openssl versão 1.1.1 ou maior.
  • Um nome de domínio válido com registros DNS configurados corretamente.
  • Um certificado TLS válido.

Instale o certificado TLS de Let's Encrypt

Para obter um grátis Certificado SSL de Vamos criptografar, você precisa instalar Acme.sh cliente e também poucos pacotes necessários no sistema Linux, como mostrado.

# apt install -y socat git [no debian/ubuntu] # dnf install -y socat git [em rhel/centos/fedora] # mkdir/etc/letSencrypt # clone git https: // github.com/neilpang/acme.sh.Git # CD Acme.sh # ./acme.SH - -Instalação -Home/etc/letSencrypt --AccountEmail [Email Protected] # CD ~ #/etc/letSencrypt/acme.sh --issue -Standalone -Home /etc /letsencrypt -d Exemplo.com --ocsp-must-staple --keylength 2048 #/etc/letsencrypt/acme.sh --issue -Standalone -Home /etc /letsencrypt -d Exemplo.com --ocsp-must-staple --KeyLength EC-256 

OBSERVAÇÃO: Substituir exemplo.com No comando acima com seu nome de domínio real.

Depois de instalar o certificado SSL, você pode prosseguir para ativar TLS 1.3 em seu domínio, conforme explicado abaixo.

Ativar TLS 1.3 no nginx

Como mencionei nos requisitos acima, que TLS 1.3 é suportado a partir de Nginx 1.13 versão. Se você estiver executando a versão mais antiga do NGINX, precisará primeiro atualizar para a versão mais recente.

# apt install nginx # yum install nginx 

Verifica a Nginx versão e o OpenSSL versão contra a qual o nginx foi compilado (verifique se o nginx a versão é pelo menos 1.14 e OpenSSL versão 1.1.1).

# nginx -v 
Saída de amostra
Versão nginx: nginx/1.14.1 Construído por GCC 8.2.1 20180905 (Red Hat 8.2.1-3) (GCC) construído com OpenSSL 1.1.1 FIPS 11 set 2018 TLS SNI Suporte habilitado… 

Agora comece, ative e verifique a instalação do Nginx.

# SystemCtl Iniciar nginx.Serviço # SystemCtl Ativar nginx.serviço # status systemctl nginx.serviço 

Agora abra a configuração do nginx vhost /etc/nginx/conf.d/exemplo.com.conf Arquivo usando seu editor favorito.

# vi/etc/nginx/conf.d/exemplo.com.conf 

e localize ssl_protocols diretiva e anexar TLSV1.3 no final da linha, como mostrado abaixo

servidor Ouça 443 SSL HTTP2; Ouça [::]: 443 ssl http2; Exemplo server_name.com; # Rsa ssl_certificate/etc/letSencrypt/exemplo.com/fullchain.cer; ssl_certificate_key/etc/letSencrypt/exemplo.com/exemplo.com.chave; # Ecdsa ssl_certificate/etc/letsencrypt/exemplo.com_ecc/fullchain.cer; ssl_certificate_key/etc/letSencrypt/exemplo.com_ecc/exemplo.com.chave; ssl_protocols tlsv1.2 TLSV1.3; ECDHE-ECDSA-AES256-GCM-SHA384: ECDHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA2055: ECDHA-ECDSA-A-ECDS101305: ECDA-ECDSA-A-ECDS101305: ECDA-ECDA-ASES101305: ECDA-ECDSA-ASES101305: ECDA-ECDSA-ASES101305: ECDA-ECDSA-A-ECDS1013: RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES256-SHA384: ECDHE-RSA-AES256-SHA384: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA256 '; ssl_prefer_server_ciphers on;  

Finalmente, verifique a configuração e recarregue o nginx.

# nginx -t # SystemCtl Reload nginx.serviço 

Ativar TLS 1.3 em Apache

Começando de Apache 2.4.37, você pode tirar vantagem de TLS 1.3. Se você estiver executando a versão mais antiga de Apache, você precisa primeiro atualizar para a versão mais recente.

# apt install apache2 # yum install httpd 

Depois de instalado, você pode verificar o Apache e a versão OpenSSL em que o Apache foi compilado.

# httpd -v # versão openssl 

Agora comece, ative e verifique a instalação do Nginx.

-------------- No Debian/Ubuntu -------------- # SystemCtl Iniciar o Apache2.Serviço # SystemCtl Ativar Apache2.Serviço # Systemctl Status Apache2.serviço -------------- Em RHEL/CENTOS/FEDORA -------------- # SystemCtl Iniciar httpd.Serviço # SystemCtl Ativar httpd.Serviço # Status Systemctl Httpd.serviço 

Agora abra o arquivo de configuração do host virtual Apache usando seu editor favorito.

# vi/etc/httpd/conf.d/vhost.conf ou # vi/etc/apache2/apache2.conf 

e localize ssl_protocols diretiva e anexar TLSV1.3 no final da linha, como mostrado abaixo.

 Sslengine em # rsa ssl_certificate/etc/letSencrypt/exemplo.com/fullchain.cer; ssl_certificate_key/etc/letSencrypt/exemplo.com/exemplo.com.chave; # Ecdsa ssl_certificate/etc/letsencrypt/exemplo.com_ecc/fullchain.cer; ssl_certificate_key/etc/letSencrypt/exemplo.com_ecc/exemplo.com.chave; ssl_protocols tlsv1.2 TLSV1.3 ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE- RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES256-SHA384: ECDHE-RSA-AES256-SHA384: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA256 '; ssl_prefer_server_ciphers on; SslCertificatefile/etc/letSencrypt/vive/exemplo.com/cert.PEM SSLCERtificateKeyFile/etc/letSencrypt/Live/exemplo.com/privky.PEM SSLCERtificateChainFile/etc/letSencrypt/Live/exemplo.com/cadeia.PEM ServerAdmin [Email Protected] ServerName WWW.exemplo.com serveralias exemplo.com #documentroot/data/httpd/htdocs/exemplo.com/documentroot/data/httpd/htdocs/exemplo_hueman/ # Localizações de arquivos de log Loglevel warn errorLog/var/log/httpd/exemplo.com/httpSerror.Log CustomLog "|/usr/sbin/rotatelogs/var/log/httpd/exemplo.com/httpsaccess.registro.%Y-%m-%d 86400 "combinado  

Por fim, verifique a configuração e recarregue o Apache.

-------------- No Debian/Ubuntu -------------- # apache2 -t # SystemCtl Reload Apache2.serviço -------------- Em RHEL/CENTOS/FEDORA -------------- # httpd -t # systemctl recarregar httpd.serviço 

Verificar o site está usando o TLS 1.3

Depois de configurar através de um servidor da web, você pode verificar se o seu site está com as mangas de mão TLS 1.3 protocolo usando ferramentas de desenvolvimento do navegador Chrome em Chrome 70+ versão.

Verifique TLS 1.3 protocolo no domínio

Isso é tudo. Você permitiu com sucesso TLS 1.3 Protocolo no seu domínio hospedado nos servidores da Web Apache ou Nginx. Se você tiver alguma dúvida sobre este artigo, fique à vontade para perguntar na seção de comentários abaixo.