A TLS 1.3 engedélyezése Apache és Nginx rendszerben
A TLS 1.3 a Transport Layer Security (TLS) protokoll legújabb verziója, és a meglévő 1.2-es specifikációkon alapul, megfelelő IETF-szabvánnyal: RFC 8446. Erősebb biztonságot és nagyobb teljesítményt nyújt elődeihez képest.
Ebben a cikkben lépésről lépésre mutatunk be egy érvényes TLS-tanúsítvány megszerzéséhez és a legújabb TLS 1.3 verziójú protokoll engedélyezéséhez az Apache vagy tárhelyen tárolt domainjén. Nginx webszerverek.
Követelmények:
- Apache 2.4.37 vagy újabb verzió.
- Nginx 1.13.0 vagy újabb verzió.
- OpenSSL 1.1.1 vagy újabb verzió.
- Érvényes tartománynév megfelelően konfigurált DNS-rekordokkal.
- Érvényes TLS-tanúsítvány.
Telepítse a Let’s Encrypt TLS-tanúsítványát
Ha ingyenes SSL-tanúsítványt szeretne szerezni a Let's Encrypt-től, telepítenie kell az Acme.sh klienst, valamint néhány szükséges csomagot Linux rendszeren, amint az ábra mutatja.
apt install -y socat git [On Debian/Ubuntu]
dnf install -y socat git [On RHEL/CentOS/Fedora]
mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --home /etc/letsencrypt --accountemail [email
cd ~
/etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength 2048
/etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength ec-256
MEGJEGYZÉS: Cserélje ki a example.com
címet a fenti parancsban a valódi domain nevére.
Miután telepítette az SSL-tanúsítványt, folytathatja a TLS 1.3 engedélyezését domainjén az alábbiak szerint.
Engedélyezze a TLS 1.3-at az Nginx rendszeren
Ahogy a fenti követelményekben említettem, a TLS 1.3 az Nginx 1.13 verziótól kezdve támogatott. Ha a régebbi Nginx verziót futtatja, először frissítenie kell a legújabb verzióra.
apt install nginx
yum install nginx
Ellenőrizze az Nginx és az OpenSSL verziót, amelyek alapján az Nginxet lefordították (győződjön meg arról, hogy az nginx verzió legalább 1.14 és openssl verzió 1.1.1).
nginx -V
Minta kimenet
nginx version: nginx/1.14.1
built by gcc 8.2.1 20180905 (Red Hat 8.2.1-3) (GCC)
built with OpenSSL 1.1.1 FIPS 11 Sep 2018
TLS SNI support enabled
....
Most indítsa el, engedélyezze és ellenőrizze az nginx telepítését.
systemctl start nginx.service
systemctl enable nginx.service
systemctl status nginx.service
Most nyissa meg az nginx vhost konfigurációs /etc/nginx/conf.d/example.com.conf
fájlt kedvenc szerkesztője segítségével.
vi /etc/nginx/conf.d/example.com.conf
és keresse meg az ssl_protocols
direktívát, és fűzze hozzá a TLSv1.3 kódot a sor végéhez az alábbiak szerint
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;
}
Végül ellenőrizze a konfigurációt, és töltse be újra az Nginxet.
nginx -t
systemctl reload nginx.service
Engedélyezze a TLS 1.3-at az Apache-ban
Az Apache 2.4.37 verziótól kezdve kihasználhatja a TLS 1.3 előnyeit. Ha az Apache régebbi verzióját használja, először frissítenie kell a legújabb verzióra.
apt install apache2
yum install httpd
A telepítés után ellenőrizheti az Apache és az OpenSSL verziót, amelyre az Apache le lett fordítva.
httpd -V
openssl version
Most indítsa el, engedélyezze és ellenőrizze az nginx telepítését.
-------------- On Debian/Ubuntu --------------
systemctl start apache2.service
systemctl enable apache2.service
systemctl status apache2.service
-------------- On RHEL/CentOS/Fedora --------------
systemctl start httpd.service
systemctl enable httpd.service
systemctl status httpd.service
Most nyissa meg az Apache virtuális gazdagép konfigurációs fájlját kedvenc szerkesztője segítségével.
vi /etc/httpd/conf.d/vhost.conf
OR
vi /etc/apache2/apache2.conf
és keresse meg az ssl_protocols
direktívát, és fűzze hozzá a TLSv1.3 kódot a sor végéhez az alábbiak szerint.
<VirtualHost *:443>
SSLEngine On
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;
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
ServerAdmin [email
ServerName www.example.com
ServerAlias example.com
#DocumentRoot /data/httpd/htdocs/example.com/
DocumentRoot /data/httpd/htdocs/example_hueman/
# Log file locations
LogLevel warn
ErrorLog /var/log/httpd/example.com/httpserror.log
CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/example.com/httpsaccess.log.%Y-%m-%d 86400" combined
</VirtualHost>
Végül ellenőrizze a konfigurációt, és töltse be újra az Apache-t.
-------------- On Debian/Ubuntu --------------
apache2 -t
systemctl reload apache2.service
-------------- On RHEL/CentOS/Fedora --------------
httpd -t
systemctl reload httpd.service
Ellenőrizze, hogy a webhely TLS 1.3-at használ
Miután elvégezte a konfigurálást egy webszerveren keresztül, a Chrome 70+ verziójú Chrome böngésző fejlesztői eszközeivel ellenőrizheti, hogy webhelye kézfogásban van-e a TLS 1.3 protokollon.
Ez minden. Sikeresen engedélyezte a TLS 1.3 protokollt az Apache vagy Nginx webszervereken tárolt domainjén. Ha kérdése van ezzel a cikkel kapcsolatban, nyugodtan tegye fel az alábbi megjegyzés részben.