Kuinka ottaa TLS 1.3 käyttöön Apachessa ja Nginxissä


TLS 1.3 on Transport Layer Security (TLS) -protokollan uusin versio, ja se perustuu olemassa oleviin 1.2-spesifikaatioihin asianmukaisella IETF-standardilla: RFC 8446. Se tarjoaa paremman suojan ja paremman suorituskyvyn edeltäjiinsä verrattuna.

Tässä artikkelissa näytämme sinulle vaiheittaisen oppaan kelvollisen TLS-varmenteen hankkimiseksi ja uusimman TLS 1.3 -version protokollan ottamiseksi käyttöön verkkotunnuksessasi, jota isännöi Apache tai Nginx-verkkopalvelimet.

Vaatimukset:

  • Apache-versio 2.4.37 tai uudempi.
  • Nginx-versio 1.13.0 tai uudempi.
  • OpenSSL-versio 1.1.1 tai uudempi.
  • Kelvollinen verkkotunnus, jossa on oikein määritetyt DNS-tietueet.
  • Kelvollinen TLS-varmenne.

Asenna TLS-sertifikaatti Let's Encryptistä

Saadaksesi ilmaisen SSL-varmenteen Let's Encrypt-palvelusta, sinun on asennettava Acme.sh-asiakas ja myös muutama tarvittava paketti Linux-järjestelmään kuvan osoittamalla tavalla.


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

HUOMAA: korvaa example.com yllä olevassa komennossa oikealla verkkotunnuksellasi.

Kun olet asentanut SSL-varmenteen, voit jatkaa TLS 1.3:n ottamiseksi käyttöön verkkotunnuksessasi alla kuvatulla tavalla.

Ota TLS 1.3 käyttöön Nginxissä

Kuten yllä olevissa vaatimuksissa mainitsin, TLS 1.3 -versiota tuetaan Nginx 1.13 -versiosta alkaen. Jos käytät vanhempaa Nginx-versiota, sinun on ensin päivitettävä uusimpaan versioon.


apt install nginx
yum install nginx

Tarkista Nginx-versio ja OpenSSL-versio, joita vastaan Nginx on käännetty (varmista, että nginx-versio on vähintään 1.14 ja openssl versio 1.1.1).


nginx -V
Näytelähtö

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
....

Aloita nyt, ota käyttöön ja tarkista nginx-asennus.


systemctl start nginx.service
systemctl enable nginx.service
systemctl status nginx.service

Avaa nyt nginx vhost -määritystiedosto /etc/nginx/conf.d/example.com.conf suosikkieditorillasi.


vi /etc/nginx/conf.d/example.com.conf

ja etsi ssl_protocols-direktiivi ja lisää TLSv1.3 rivin loppuun alla olevan kuvan mukaisesti.


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;
}

Tarkista lopuksi kokoonpano ja lataa Nginx uudelleen.


nginx -t
systemctl reload nginx.service

Ota TLS 1.3 käyttöön Apachessa

Apache 2.4.37:stä alkaen voit hyödyntää TLS 1.3:a. Jos käytät Apachen vanhempaa versiota, sinun on ensin päivitettävä uusimpaan versioon.


apt install apache2
yum install httpd

Asennuksen jälkeen voit tarkistaa Apache- ja OpenSSL-versiot, joita vastaan Apache on käännetty.


httpd -V
openssl version

Aloita nyt, ota käyttöön ja tarkista nginx-asennus.


-------------- 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

Avaa nyt Apache-virtuaaliisäntämääritystiedosto suosikkieditorillasi.


vi /etc/httpd/conf.d/vhost.conf
OR
vi /etc/apache2/apache2.conf

ja etsi ssl_protocols-direktiivi ja lisää rivin loppuun TLSv1.3 alla olevan kuvan mukaisesti.


<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>

Tarkista lopuksi kokoonpano ja lataa Apache uudelleen.


-------------- On Debian/Ubuntu -------------- 
apache2 -t
systemctl reload apache2.service

-------------- On RHEL/CentOS/Fedora --------------
httpd -t
systemctl reload httpd.service

Varmista, että sivusto käyttää TLS 1.3:a

Kun olet määrittänyt asetukset verkkopalvelimen kautta, voit tarkistaa, että sivustosi kättelee TLS 1.3 -protokollaa käyttämällä Chrome-selaimen kehitystyökaluja Chrome 70+ -versiossa.

Siinä kaikki. Olet onnistuneesti ottanut käyttöön TLS 1.3 -protokollan verkkotunnuksessasi, jota isännöidään Apache- tai Nginx-verkkopalvelimilla. Jos sinulla on kysyttävää tästä artikkelista, kysy rohkeasti alla olevassa kommenttiosassa.