TLS 1.3 este o versiune a protocolului Transport Layer Security (TLS) care a fost publicat în 2018 ca standard propus în RFC 8446. Oferă îmbunătățiri de securitate și performanță față de predecesorii săi.
Acest ghid va demonstra cum să activați TLS 1.3 folosind serverul web Apache de pe CentOS 8.
cerinţe
- Vultr Cloud Compute (VC2) instanță care rulează CentOS 8.
- Un nume de domeniu valid și înregistrări
A/ AAAA/ CNAMEDNS configurate corespunzător pentru domeniul dvs.
- Un certificat TLS valid. Vom primi unul de la Let's Encrypt.
- Versiunea Apache
2.4.36sau mai mare.
- Versiunea OpenSSL
1.1.1sau mai mare.
Înainte de a începe
Verificați versiunea CentOS.
cat /etc/centos-release
# CentOS Linux release 8.0.1905 (Core)
Creați un non-rootcont de utilizator nou cu sudoacces și treceți la acesta.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
NOTĂ: Înlocuiți johndoecu numele de utilizator.
Setați fusul orar.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Asigurați-vă că sistemul dvs. este actualizat.
sudo yum update
Instalați pachetele necesare.
sudo yum install -y socat git
Dezactivează SELinux și Firewall.
sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld
Instalați acme.shclientul și obțineți un certificat TLS de la Let's Encrypt
Instalați 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 [email protected]
cd ~
source ~/.bashrc
Verificați versiunea.
/etc/letsencrypt/acme.sh --version
# v2.8.2
Obțineți certificate RSA și ECDSA pentru domeniul dvs.
# 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
NOTĂ: Înlocuiți example.comcomenzile cu numele dvs. de domeniu.
Creați directoare sensibile pentru a stoca certificatele și cheile. Vom folosi /etc/letsencrypt.
sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Instalați și copiați certificatele pe / 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
După executarea comenzilor de mai sus, certificatele și cheile dvs. vor fi în următoarele locații:
- RSA :
/etc/letsencrypt/example.com
- ECC / ECDSA :
/etc/letsencrypt/example.com_ecc
Instalați Apache
Apache a adăugat suport pentru TLS 1.3 în versiunea 2.4.36. Sistemul CentOS 8 vine cu Apache și OpenSSL care acceptă TLS 1.3 din cutie, astfel încât nu este necesară crearea unei versiuni personalizate.
Descărcați și instalați cea mai recentă versiune 2.4 de Apache și modulul său pentru SSL prin intermediul yummanagerului de pachete.
sudo yum install -y httpd mod_ssl
Verificați versiunea.
sudo httpd -v
# Server version: Apache/2.4.37 (centos)
# Server built: Jul 30 2019 19:56:12
Porniți și activați Apache.
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Acum că am instalat cu succes Apache, suntem gata să-l configurăm pentru a începe să folosească TLS 1.3 pe serverul nostru.
Rulați sudo vim /etc/httpd/conf.d/example.com.confși populați fișierul cu următoarea configurație de bază.
<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>
Salvați fișierul și ieșiți cu :+ W+ Q.
Verificați configurația.
sudo apachectl configtest
Reîncărcați Apache pentru a activa noua configurație.
sudo systemctl reload httpd.service
Deschideți-vă site-ul prin protocolul HTTPS în browserul dvs. Web. Pentru a verifica TLS 1.3, puteți utiliza instrumente de browser browser sau serviciu SSL Labs. Imaginile de mai jos arată fila de securitate Chrome cu TLS 1.3 în acțiune.


Ați activat cu succes TLS 1.3 în Apache pe serverul dvs. CentOS 8. Versiunea finală a TLS 1.3 a fost definită în august 2018, deci nu există un moment mai bun pentru a începe adoptarea acestei noi tehnologii.