Introducció
Requisits
Abans que comencis
Instal·leu el client Acme.sh i obteniu el certificat TLS de Let's Encrypt
Instal·leu Nginx
Configura Nginx
Introducció
TLS 1.3 és una versió del protocol Transport Layer Security (TLS) que es va publicar el 2018 com a estàndard proposat a RFC 8446 . Ofereix millores de seguretat i rendiment respecte als seus predecessors.
Aquesta guia mostrarà com habilitar TLS 1.3 mitjançant el servidor web Nginx a Fedora 29.
Requisits
- Versió Nginx
1.13.0o superior.
- Versió OpenSSL
1.1.1o superior.
- Instància Vultr Cloud Compute (VC2) que executa Fedora 29.
- Un nom de domini vàlid i degudament configurats
A/ AAAA/ CNAMEregistres DNS del seu domini.
- Un certificat TLS vàlid. En obtindrem un de Let's Encrypt.
Abans que comencis
Comproveu la versió de Fedora.
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Creeu un non-rootcompte d'usuari nou amb sudoaccés i canvieu-hi.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
NOTA: Substituïu-lo johndoepel vostre nom d'usuari.
Configura la zona horària.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Assegureu-vos que el vostre sistema estigui actualitzat.
sudo dnf check-upgrade || sudo dnf upgrade -y
Instal·leu els paquets necessaris.
sudo dnf install -y socat git
Desactiveu SELinux i el tallafoc.
sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld
Instal·leu el client Acme.sh i obteniu el certificat TLS de Let's Encrypt
En aquesta guia, utilitzarem el client Acme.sh per obtenir certificats SSL de Let's Encrypt. Podeu utilitzar un client que conegueu més.
Descarregar i instal·lar Acme.sh .
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail your_email@example.com
cd ~
Comproveu la versió.
/etc/letsencrypt/acme.sh --version
# v2.8.1
Obteniu certificats RSA i ECDSA per al vostre domini.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength ec-256
NOTA: Substituïu example.comles ordres pel vostre nom de domini.
Després d'executar les ordres anteriors, podreu accedir als vostres certificats i claus a:
- RSA:
/etc/letsencrypt/example.com.
- ECC/ECDSA:
/etc/letsencrypt/example.com_ecc.
Instal·leu Nginx
Nginx va afegir suport per a TLS 1.3 a la versió 1.13.0. Fedora 29 ve amb Nginx i OpenSSL que admeten TLS 1.3 des de la caixa, de manera que no cal crear una versió personalitzada.
Instal·leu Nginx.
sudo dnf install -y nginx
Comproveu la versió.
nginx -v
# nginx version: nginx/1.14.2
Comproveu la versió d'OpenSSL amb la qual es va compilar Nginx.
nginx -V
# built with OpenSSL 1.1.1b FIPS 26 Feb 2019
Inicieu i activeu Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Ara que hem instal·lat Nginx correctament, estem preparats per configurar-lo amb la configuració adequada per començar a utilitzar TLS 1.3 al nostre servidor.
Executeu l' sudo vim /etc/nginx/conf.d/example.com.confordre i ompliu el fitxer amb la configuració següent.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
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;
}
Deseu el fitxer i sortiu amb :+ W+ Q.
Observeu el nou TLSv1.3paràmetre de la ssl_protocolsdirectiva. Aquest paràmetre només és necessari per habilitar TLS 1.3 a Nginx.
Comproveu la configuració.
sudo nginx -t
Torna a carregar Nginx.
sudo systemctl reload nginx.service
Per verificar TLS 1.3, podeu utilitzar les eines de desenvolupament del navegador o el servei SSL Labs. Les captures de pantalla següents mostren la pestanya de seguretat de Chrome.

![Com habilitar TLS 1.3 a Nginx a Fedora 29 Com habilitar TLS 1.3 a Nginx a Fedora 29]()
Això és tot. Heu activat correctament TLS 1.3 a Nginx al vostre servidor Fedora 29. La versió final de TLS 1.3 es va definir l'agost de 2018, així que no hi ha millor moment per començar a adoptar aquesta nova tecnologia.