Kuidas lubada TLS 1.3 Apache'is ja Nginxis


TLS 1.3 on transpordikihi turvalisuse (TLS) uusim versioon ja see põhineb olemasolevatel 1.2 spetsifikatsioonidel koos õige IETF-i standardiga: RFC 8446. See tagab eelkäijatega võrreldes suurema turvalisuse ja suurema jõudluse.

Selles artiklis näitame teile üksikasjalikku juhendit kehtiva TLS-sertifikaadi hankimiseks ja uusima TLS 1.3 versiooniprotokolli lubamiseks oma domeenis Apache'i või Nginxi veebiserverites.

  • Apache versioon 2.4.37 või uuem.
  • Nginxi versioon 1.13.0 või uuem.
  • OpenSSL-i versioon 1.1.1 või uuem.
  • Kehtiv domeeninimi õigesti konfigureeritud DNS-kirjetega.
  • Kehtiv TLS-sertifikaat.

Installige TLS-i sertifikaat rakendusest Let’s Encrypt

Let’s Encryptist tasuta SSL-sertifikaadi saamiseks peate installima Acme.sh kliendi ja ka mõned vajalikud paketid Linuxi süsteemi, nagu näidatud.

# 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

MÄRKUS. Asendage ülaltoodud käsk example.com oma tegeliku domeeninimega.

Kui SSL-sertifikaat on installitud, saate jätkata TLS 1.3 lubamist oma domeenis, nagu allpool selgitatud.

Luba Nginxil TLS 1.3

Nagu ülaltoodud nõuetes mainisin, toetatakse TLS 1.3 alates versioonist Nginx 1.13. Kui kasutate Nginxi vanemat versiooni, peate kõigepealt uuemale versioonile üle minema.

# apt install nginx
# yum install nginx

Kontrollige Nginxi versiooni ja OpenSSL-i versiooni, mille põhjal Nginx kompileeriti (veenduge, et nginxi versioon oleks vähemalt 1.14 ja openssl versioon 1.1.1).

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

Nüüd alustage, lubage ja kontrollige nginxi installimist.

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

Nüüd avage lemmikredaktori abil fail nginx vhost konfiguratsioon /etc/nginx/conf.d/example.com.conf .

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

ja leidke direktiiv ssl_protocols ja lisage rea lõppu TLSv1.3, nagu allpool näidatud

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

Lõpuks kontrollige konfiguratsiooni ja laadige Nginx uuesti.

# nginx -t
# systemctl reload nginx.service

Luba Apache'is TLS 1.3

Alates Apache 2.4.37-st saate kasutada TLS 1.3 eeliseid. Kui kasutate Apache vanemat versiooni, peate kõigepealt uuemale versioonile üle minema.

# apt install apache2
# yum install httpd

Pärast installimist saate kontrollida Apache'i ja OpenSSL-i versiooni, mille järgi Apache kompileeriti.

# httpd -V
# openssl version

Nüüd alustage, lubage ja kontrollige nginxi installimist.

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

Nüüd avage oma lemmikredaktori abil Apache virtuaalse hosti konfiguratsioonifail.

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

ja leidke ssl_protocols -direktiiv ja lisage rea lõppu TLSv1.3, nagu allpool näidatud.

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

Lõpuks kontrollige konfiguratsiooni ja laadige Apache uuesti.

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

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

Veenduge, et sait kasutab TLS 1.3

Kui olete veebiserveri kaudu seadistanud, saate Chrome 70+ versioonis Chrome'i brauseri arendustööriistade abil kontrollida, kas teie sait käepigistab TLS 1.3 protokolli.

See on kõik. Olete oma domeenis Apache või Nginx veebiserverites hostitud TLS 1.3 protokolli edukalt lubanud. Kui teil on selle artikli kohta küsimusi, küsige julgelt allpool olevast kommentaaride jaotisest.