Cómo habilitar TLS 1.3 en Apache y Nginx

Cómo habilitar TLS 1.3 en Apache y Nginx

TLS 1.3 es la última versión del Transport Layer Security (TLS) protocolo y se basa en el 1 existente.2 especificaciones con el estándar IETF adecuado: RFC 8446. Proporciona una seguridad más fuerte y mayores mejoras de rendimiento sobre sus predecesores.

En este artículo, le mostraremos una guía paso a paso para obtener un certificado TLS válido y habilitar lo último TLS 1.3 Protocolo de versión en su dominio alojado en apache o Nginx servidores web.

Requisitos:

  • Apache versión 2.4.37 o más.
  • Nginx versión 1.13.0 o más.
  • OpenSSL versión 1.1.1 o mayor.
  • Un nombre de dominio válido con registros DNS configurados correctamente.
  • Un certificado TLS válido.

Instale el certificado TLS de Let's Cifrypt

Para obtener un gratis Certificado SSL de Vamos a cifrar, necesitas instalar Cumbre.mierda cliente y también pocos paquetes necesarios en el sistema Linux como se muestra.

# apt instalación -y socat git [en Debian/Ubuntu] # dnf instalación -y socat git [en rhel/centos/fedora] # mkdir/etc/letsencrypt # git clon https: // github.com/neilpang/acme.mierda.git # cd acme.sh # ./cumbre.sh --install - -home/etc/letsencrypt --CountErail [correo electrónico protegido] # cd ~ #/etc/letsencrypt/acme.sh --sise -standalone --home /etc /letsencrypt -d ejemplo.com --ocsp-must-staple-keyylength 2048 #/etc/letsencrypt/acme.sh --sise -standalone --home /etc /letsencrypt -d ejemplo.COM --OCSP-MUST-STAPLE-KEYLENTH EC-256 

NOTA: Reemplazar ejemplo.comunicarse en el comando anterior con su nombre de dominio real.

Una vez que tenga instalado el certificado SSL, puede continuar para habilitar TLS 1.3 en su dominio como se explica a continuación.

Habilitar TLS 1.3 en nginx

Como mencioné en los requisitos anteriores, que TLS 1.3 es compatible a partir de Nginx 1.13 versión. Si está ejecutando la versión NGINX anterior, primero debe actualizar a la última versión.

# APT install Nginx # yum install nginx 

Comprobar el Nginx versión y el Openssl versión contra la cual se compiló Nginx (asegúrese de que el nginx La versión es al menos 1.14 y openssl versión 1.1.1).

# nginx -v 
Salida de muestra
Versión Nginx: Nginx/1.14.1 Construido por GCC 8.2.1 20180905 (Red Hat 8.2.1-3) (GCC) construido con OpenSSL 1.1.1 FIPS 11 SEP 2018 TLS SNI Soporte habilitado .. 

Ahora inicie, habilite y verifique la instalación de Nginx.

# SystemCTL Inicio Nginx.Servicio # SystemCTL Habilitar nginx.Servicio # SystemCTL Status Nginx.servicio 

Ahora abra la configuración de Nginx Vhost /etc/nginx/conf.D/Ejemplo.comunicarse.confusión Archivo usando su editor favorito.

# vi/etc/nginx/conf.D/Ejemplo.comunicarse.confusión 

y localizar ssl_protocols directiva y agregar TLSV1.3 Al final de la línea como se muestra a continuación

servidor escuchar 443 ssl http2; escuchar [::]: 443 ssl http2; Ejemplo de server_name.com; # RSA SSL_CERTIFICATE/ETC/LETSENCRYPT/EJEMPLO.com/fullchain.cer; ssl_certificate_key/etc/letsencrypt/ejemplo.com/ejemplo.comunicarse.llave; # ECDSA SSL_CERTIFICATE/ETC/LETSENCRYPT/Ejemplo.com_ecc/fullchain.cer; ssl_certificate_key/etc/letsencrypt/ejemplo.COM_ECC/EJEMPLO.comunicarse.llave; 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-ASAES128-GCMHA256: ECDHEHHHE256. 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 la configuración y recargue Nginx.

# nginx -t # systemCtl recargar nginx.servicio 

Habilitar TLS 1.3 en Apache

Comenzando desde Apache 2.4.37, puedes aprovechar TLS 1.3. Si está ejecutando la versión anterior de apache, primero debe actualizar a la última versión.

# APT install apache2 # yum install httpd 

Una vez instalado, puede verificar el Apache y la versión OpenSSL contra la cual se compiló Apache.

# httpd -v # OpenSSL versión 

Ahora inicie, habilite y verifique la instalación de Nginx.

-------------- En Debian/Ubuntu -------------- # SystemCTL Start Apache2.Servicio # SystemCTL Habilitar Apache2.Servicio # SystemCTL Status Apache2.servicio -------------- En rhel/centos/fedora -------------- # SystemCTL Inicio HTTPD.Servicio # SystemCTL Habilitar httpd.Servicio # SystemCTL Status HTTPD.servicio 

Ahora abra el archivo de configuración del host virtual Apache usando su editor favorito.

# vi/etc/httpd/conf.d/vhost.conf o # vi/etc/apache2/apache2.confusión 

y localizar ssl_protocols directiva y agregar TLSV1.3 Al final de la línea como se muestra a continuación.

 SSLEngine en # RSA SSL_CERTIFICATE/ETC/LETSENCRYPT/Ejemplo.com/fullchain.cer; ssl_certificate_key/etc/letsencrypt/ejemplo.com/ejemplo.comunicarse.llave; # ECDSA SSL_CERTIFICATE/ETC/LETSENCRYPT/Ejemplo.com_ecc/fullchain.cer; ssl_certificate_key/etc/letsencrypt/ejemplo.COM_ECC/EJEMPLO.comunicarse.llave; 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-ASAES128-GCMHA256: ECDHEHHHE256. 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/Live/Ejemplo.com/cert.PEM SSLCertificAtekeyFile/Etc/Letsencrypt/Live/Ejemplo.com/privkey.PEM SSLCERTIFICATECHAINFILE/ETC/LETSENCRYPT/LIVE/EJEMPLO.com/cadena.PEM ServerAdmin [correo electrónico protegido] Servername www.ejemplo.COM Serveralias Ejemplo.com #documentroot/data/httpd/htdocs/ejemplo.com/documentroot/data/httpd/htdocs/ESPEAM_HUEMAN/ # LOG UBILACIONES Loglevel Warn ErrorLog/var/log/httpd/Ejemplo.com/httpserror.LOG CustomLog "|/usr/sbin/rotatelogs/var/log/httpd/ejemplo.com/httpsaccess.registro.%Y-%M-%D 86400 "Combinado  

Finalmente, verifique la configuración y la recarga de apache.

-------------- En Debian/Ubuntu -------------- # apache2 -t # systemctl recarga apache2.servicio -------------- En rhel/centos/fedora -------------- # httpd -t # systemCtl recargar httpd.servicio 

Verificar el sitio está utilizando TLS 1.3

Una vez que haya configurado a través de un servidor web, puede verificar que su sitio se esté desplazando a mano TLS 1.3 Protocolo utilizando herramientas de desarrollo de navegador Chrome en Chrome 70+ versión.

Verificar TLS 1.3 Protocolo en el dominio

Eso es todo. Ha habilitado con éxito TLS 1.3 Protocolo en su dominio alojado en servidores web Apache o Nginx. Si tiene alguna consulta sobre este artículo, no dude en preguntar en la sección de comentarios a continuación.