Apache we Nginx-de TLS 1.3-i nädip işletmeli


TLS 1.3 Transport Layer Security (TLS) protokolynyň iň soňky wersiýasy we IETF standarty: RFC 8446 bilen bar bolan 1.2 spesifikasiýa esaslanýar. Öňkülerinden has güýçli howpsuzlyk we has ýokary öndürijilik üpjün edýär.

Bu makalada, dogry TLS şahadatnamasyny almak we Apache ýa-da Nginx web serwerlerinde ýerleşýän domeniňizdäki iň soňky TLS 1.3 wersiýa protokolyny işletmek üçin ädimme-ädim görkezeris.

  • Apache 2.4.37 ýa-da has uly wersiýa.
  • Nginx 1.13.0 ýa-da has uly wersiýa.
  • OpenSSL wersiýasy 1.1.1 ýa-da has uly.
  • Dogry düzülen DNS ýazgylary bilen dogry domen ady.
  • Dogry TLS şahadatnamasy.

Geliň, şifrlemekden TLS şahadatnamasyny guruň

“Let Encrypt” -den mugt SSL şahadatnamasyny almak üçin “Acme.sh” müşderisini we görkezilişi ýaly Linux ulgamynda zerur paketleri gurmaly.

# 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

ÜNS BERI above: aboveokardaky buýrukdaky example.com hakyky domen adyňyz bilen çalyşyň.

SSL şahadatnamasy gurlansoň, aşakda düşündirilişi ýaly domeniňizde TLS 1.3-i işletmek üçin hasam dowam edip bilersiňiz.

Nginx-de TLS 1.3-i işlediň

Aboveokardaky talaplarda belläp geçişim ýaly, TLS 1.3 Nginx 1.13 wersiýasyndan başlap goldanýar. Has köne Nginx wersiýasyny işleýän bolsaňyz, ilki bilen iň soňky wersiýa täzelemeli.

# apt install nginx
# yum install nginx

Nginx wersiýasyny we Nginx-iň düzülen OpenSSL wersiýasyny barlaň (nginx wersiýasynyň azyndan 1,14 we openssl wersiýasy 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
....

Indi nginx gurnamasyny başlaň, işlediň we barlaň.

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

Indi halaýan redaktoryňyzy ulanyp, nginx vhost konfigurasiýasyny /etc/nginx/conf.d/example.com.conf faýly açyň.

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

we ssl_protocols direktiwasyny tapyň we aşakda görkezilişi ýaly setiriň soňunda TLSv1.3 goşuň

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

Ahyrynda, konfigurasiýany barlaň we Nginx-i täzeden ýükläň.

# nginx -t
# systemctl reload nginx.service

Apache-de TLS 1.3-i işlediň

Apache 2.4.37-den başlap, TLS 1.3-den peýdalanyp bilersiňiz. Apache-iň köne wersiýasyny işledýän bolsaňyz, ilki bilen iň soňky wersiýa täzelemeli.

# apt install apache2
# yum install httpd

Gurlandan soň, Apache we Apache-iň düzülen OpenSSL wersiýasyny barlap bilersiňiz.

# httpd -V
# openssl version

Indi nginx gurnamasyny başlaň, işlediň we barlaň.

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

Indi halaýan redaktoryňyzy ulanyp, Apache wirtual host konfigurasiýa faýlyny açyň.

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

we ssl_protocols direktiwasyny tapyň we aşakda görkezilişi ýaly setiriň soňunda TLSv1.3 goşuň.

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

Ahyrynda, konfigurasiýany barlaň we Apache-i täzeden açyň.

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

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

Saýtyň TLS 1.3 ulanýandygyny barlaň

Web serweri arkaly sazlanyňyzdan soň, sahypaňyzyň Chrome 70+ wersiýasyndaky hrom brauzerini ösdüriş gurallaryny ulanyp, TLS 1.3 protokolynyň üstünde elleşýändigini barlap bilersiňiz.

Bu hemmesi. Apache ýa-da Nginx web serwerlerinde ýerleşýän domeniňizde TLS 1.3 protokolyny üstünlikli açdyňyz. Bu makala barada soraglaryňyz bar bolsa, aşakdaky teswir bölüminde sorap bilersiňiz.