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 Apache a Fedora 30.
Requisits
- Instància Vultr Cloud Compute (VC2) que executa Fedora 30.
- 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.
- Versió d'Apache
2.4.36o superior.
- Versió OpenSSL
1.1.1o superior.
Abans que comencis
Comproveu la versió de Fedora.
cat /etc/fedora-release # Fedora release 30 (Thirty)
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 acme.shclient i obteniu un certificat TLS de Let's Encrypt
Instal·leu 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 ~ source ~/.bashrc
Comproveu la versió.
/etc/letsencrypt/acme.sh --version # v2.8.2
Obteniu certificats RSA i ECDSA per al vostre domini.
# RSA sudo /etc/letsencrypt/acme.sh --issue --standalone -d example.com --ocsp-must-staple --keylength 2048 # ECC/ECDSA sudo /etc/letsencrypt/acme.sh --issue --standalone -d example.com --ocsp-must-staple --keylength ec-256
NOTA: Substituïu les example.comordres pel vostre nom de domini.
Creeu directoris intel·ligents per emmagatzemar els vostres certificats i claus. Farem servir /etc/letsencrypt.
sudo mkdir -p /etc/letsencrypt/example.com sudo mkdir -p /etc/letsencrypt/example.com_ecc
Instal·leu i copieu certificats a /etc/letsencrypt.
# RSA sudo /etc/letsencrypt/acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem # ECC/ECDSA sudo /etc/letsencrypt/acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem
Després d'executar les ordres anteriors, els vostres certificats i claus estaran a les ubicacions següents:
- RSA :
/etc/letsencrypt/example.com
- ECC / ECDSA :
/etc/letsencrypt/example.com_ecc
Instal·leu Apache
Apache va afegir suport per a TLS 1.3 a la versió 2.4.36. El sistema Fedora 30 inclou Apache i OpenSSL que admeten TLS 1.3 des de la caixa, de manera que no cal crear una versió personalitzada.
Baixeu i instal·leu la darrera branca 2.4 d'Apache i el seu mòdul per a SSL mitjançant el dnfgestor de paquets.
sudo dnf install -y httpd mod_ssl
Comproveu la versió.
sudo httpd -v # Server version: Apache/2.4.39 (Fedora) # Server built: May 2 2019 14:50:28
Inicieu i activeu Apache.
sudo systemctl start httpd.service sudo systemctl enable httpd.service
Configureu Apache per a TLS 1.3
Ara que hem instal·lat Apache amb èxit, estem preparats per configurar-lo per començar a utilitzar TLS 1.3 al nostre servidor.
Executeu sudo vim /etc/httpd/conf.d/example.com.conf, i ompliu el fitxer amb la configuració bàsica següent.
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName example.com SSLEngine on SSLProtocol all -SSLv2 -SSLv3 # RSA SSLCertificateFile "/etc/letsencrypt/example.com/fullchain.pem" SSLCertificateKeyFile "/etc/letsencrypt/example.com/private.key" # ECC SSLCertificateFile "/etc/letsencrypt/example.com_ecc/fullchain.pem" SSLCertificateKeyFile "/etc/letsencrypt/example.com_ecc/private.key" </VirtualHost> </IfModule>
Desa el fitxer i surt.
Comproveu la configuració.
sudo apachectl configtest
Torneu a carregar Apache per activar la nova configuració.
sudo systemctl reload httpd.service
Obriu el vostre lloc mitjançant el protocol HTTPS al vostre navegador web. 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 amb TLS 1.3 en acció.

![Com habilitar TLS 1.3 a Apache a Fedora 30]()
Heu activat correctament TLS 1.3 a Apache al vostre servidor Fedora 30. 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.