Wéi aktivéiert TLS 1.3 an Apache an Nginx
TLS 1.3 ass déi lescht Versioun vum Transport Layer Security (TLS) Protokoll an et baséiert op déi existent 1.2 Spezifikatioune mat engem passenden IETF Standard: RFC 8446. Et bitt méi staark Sécherheet a méi héich Leeschtungsverbesserungen iwwer seng Virgänger.
An dësem Artikel weisen mir Iech e step-by-step Guide fir e gültege TLS Zertifika ze kréien an de leschten TLS 1.3 Versiounsprotokoll op Ärem Domain z'aktivéieren op Apache oder Nginx Webserver.
- Apache Versioun 2.4.37 oder méi.
- Nginx Versioun 1.13.0 oder méi.
- OpenSSL Versioun 1.1.1 oder méi.
- E gültege Domainnumm mat korrekt konfiguréierten DNS-Records.
- E valabelt TLS Zertifika.
Installéiert TLS Zertifikat vu Let's Encrypt
Fir e gratis SSL Zertifika vu Let's Encrypt ze kréien, musst Dir den Acme.sh Client installéieren an och e puer erfuerderlech Packagen op Linux System wéi gewisen.
# 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
NOTÉIERT: Ersetzen example.com
am uewe genannte Kommando mat Ärem richtegen Domain Numm.
Wann Dir SSL Zertifikat installéiert hutt, kënnt Dir weidergoe fir TLS 1.3 op Ärem Domain z'aktivéieren wéi hei ënnen erkläert.
Aktivéiert TLS 1.3 op Nginx
Wéi ech an den Ufuerderunge hei uewen erwähnt hunn, datt TLS 1.3 ënnerstëtzt gëtt ab Nginx 1.13 Versioun. Wann Dir déi eeler Nginx Versioun leeft, musst Dir als éischt op déi lescht Versioun upgrade.
# apt install nginx # yum install nginx
Kuckt d'Nginx Versioun an d'OpenSSL Versioun géint déi Nginx kompiléiert gouf (vergewëssert Iech datt d'nginx Versioun op d'mannst 1.14 an openssl Versioun 1.1.1 ass).
# nginx -V
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 ....
Elo starten, aktivéieren a verifizéieren d'nginx Installatioun.
# systemctl start nginx.service # systemctl enable nginx.service # systemctl status nginx.service
Elo öffnen d'nginx vhost Konfiguratioun /etc/nginx/conf.d/example.com.conf
Datei mat Ärem Liiblingseditor.
# vi /etc/nginx/conf.d/example.com.conf
a lokaliséiert ssl_protocols
Direktiv an fügen TLSv1.3 um Enn vun der Linn un wéi hei ënnendrënner.
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; }
Endlech, kontrolléiert d'Konfiguratioun a lued Nginx nei.
# nginx -t # systemctl reload nginx.service
Aktivéiert TLS 1.3 an Apache
Vun Apache 2.4.37 un, kënnt Dir TLS 1.3 profitéieren. Wann Dir déi al Versioun vun Apache leeft, musst Dir als éischt op déi lescht Versioun upgrade.
# apt install apache2 # yum install httpd
Eemol installéiert, kënnt Dir d'Apache an d'OpenSSL Versioun verifizéieren, géint déi den Apache kompiléiert gouf.
# httpd -V # openssl version
Elo starten, aktivéieren a verifizéieren d'nginx Installatioun.
-------------- 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
Elo öffnen d'Apache virtuelle Host Konfiguratiounsdatei mat Ärem Liiblingseditor.
# vi /etc/httpd/conf.d/vhost.conf OR # vi /etc/apache2/apache2.conf
a lokaliséiert ssl_protocols
Direktiv an fügen TLSv1.3 um Enn vun der Linn un wéi hei ënnendrënner.
<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>
Endlech, kontrolléiert d'Konfiguratioun a lued Apache nei.
-------------- On Debian/Ubuntu -------------- # apache2 -t # systemctl reload apache2.service -------------- On RHEL/CentOS/Fedora -------------- # httpd -t # systemctl reload httpd.service
Verifizéiert Site benotzt TLS 1.3
Wann Dir iwwer e Webserver konfiguréiert hutt, kënnt Dir iwwerpréiwen datt Äre Site iwwer TLS 1.3 Protokoll handshaking ass mat Chrome Browser Entwécklungsinstrumenter op Chrome 70+ Versioun.
Dat ass alles. Dir hutt den TLS 1.3 Protokoll erfollegräich aktivéiert op Ärem Domain op Apache oder Nginx Webserver gehost. Wann Dir Froen iwwer dësen Artikel hutt, frot Iech gratis an der Kommentarsektioun hei drënner.