Jak włączyć TLS 1.3 w Apache i Nginx

Jak włączyć TLS 1.3 w Apache i Nginx

TLS 1.3 to najnowsza wersja Bezpieczeństwo warstwy transportowej (Tls) protokół i jest oparty na istniejącym 1.2 specyfikacje z odpowiednim standardem IETF: RFC 8446. Zapewnia silniejsze bezpieczeństwo i wyższe ulepszenia wydajności w stosunku do swoich poprzedników.

W tym artykule pokażemy przewodnik krok po kroku, aby uzyskać ważny certyfikat TLS i włączyć najnowsze TLS 1.3 Protokół wersji w Twojej domenie hostowany Apache Lub Nginx serwery internetowe.

Wymagania:

  • Apache wersja 2.4.37 lub więcej.
  • Nginx wersja 1.13.0 lub więcej.
  • Wersja OpenSSL 1.1.1 lub więcej.
  • Prawidłowa nazwa domeny z prawidłowo skonfigurowanymi rekordami DNS.
  • Ważny certyfikat TLS.

Zainstaluj certyfikat TLS z Let's Encrypt

Aby uzyskać za darmo Certyfikat SSL z Zaszypujmy, musisz zainstalować Kulminacja.cii Klient, a także kilka potrzebnych pakietów w systemie Linux, jak pokazano.

# apt instal -y socat git [on debian/ubuntu] # dnf instaluj -y socat git [na rhel/centos/fedora] # mkdir/etc/Letsencrypt # git Clone https: // github.com/neilpang/acme.cii.git # cd acme.cii # ./kulminacja.sh - -install - -home/etc/limsecrrypt -ApcountaMail [e -mail chroniony] # cd ~ #/etc/limsecrrypt/acme.sh --issue --standalone - -home /etc /letsecrrypt -d Przykład.com --ocsp-mUd-Staple-długość keyliczna 2048 #/etc/LetsEncrypt/Acme.sh --issue --standalone - -home /etc /letsecrrypt -d Przykład.COM --CSP-MUST-STAPLE-KOLELY DHELDE EC-256 

NOTATKA: Zastępować przykład.com W powyższym poleceniu z twoją prawdziwą nazwą domeny.

Po zainstalowaniu certyfikatu SSL możesz przejść dalej, aby włączyć TLS 1.3 na twojej domenie, jak wyjaśniono poniżej.

Włącz TLS 1.3 na Nginx

Jak wspomniałem w powyższych wymaganiach, to TLS 1.3 jest obsługiwany zaczynając od Nginx 1.13 wersja. Jeśli uruchamiasz starszą wersję Nginx, musisz najpierw zaktualizować do najnowszej wersji.

# apt Zainstaluj nginx # mniam instaluj nginx 

Sprawdź Nginx Wersja i Openssl wersja, w której skompilowano Nginx (upewnij się, że nginx Wersja jest przynajmniej 1.14 I Openssl wersja 1.1.1).

# nginx -v 
Przykładowy wyjście
Wersja Nginx: Nginx/1.14.1 Zbudowany przez GCC 8.2.1 20180905 (Red Hat 8.2.1-3) (GCC) zbudowany z Openssl 1.1.1 FIPS 11 września 2018 TLS Wsparcie SNI włączone… 

Teraz zacznij, włącz i zweryfikuj instalację Nginx.

# Systemctl start nginx.Service # Systemctl Włącz Nginx.Service # Systemctl Status nginx.praca 

Teraz otwórz konfigurację nginx vhost /etc/nginx/conf.d/przykład.com.conf Plik za pomocą ulubionego edytora.

# vi/etc/nginx/conf.d/przykład.com.conf 

i zlokalizuj SSL_PROTOCOLS dyrektywa i dołącz TLSV1.3 Na końcu linii, jak pokazano poniżej

serwer Słuchaj 443 SSL http2; Posłuchaj [::]: 443 SSL http2; Przykład_nazowy Server_name.com; # RSA SSL_Certificate/etc/LetsEncrypt/przykład.com/Fullchain.cer; ssl_certificate_key/etc/limsecrrypt/przykład.com/przykład.com.klucz; # Ecdsa SSL_Certificate/etc/LetsEncrypt/przykład.com_ecc/fullchain.cer; ssl_certificate_key/etc/limsecrrypt/przykład.com_ecc/przykład.com.klucz; 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-chacha20-poly1305 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;  

Na koniec zweryfikuj konfigurację i ponownie załaduj Nginx.

# nginx -t # SystemCtl Reload nginx.praca 

Włącz TLS 1.3 w Apache

Zaczynając od Apache 2.4.37, możesz skorzystać z TLS 1.3. Jeśli prowadzisz starszą wersję Apache, musisz najpierw uaktualnić do najnowszej wersji.

# apt Zainstaluj apache2 # mniam instaluj httpd 

Po zainstalowaniu możesz zweryfikować Apache i wersję OpenSSL, w ramach której skompilowano Apache.

# httpd -v # wersja openssl 

Teraz zacznij, włącz i zweryfikuj instalację Nginx.

-------------- Na Debian/Ubuntu -------------- # Systemctl Start Apache2.Service # Systemctl Włącz Apache2.Service # Systemctl Status Apache2.praca -------------- Na RHEL/CENTOS/FEDORA -------------- # Systemctl start httpd.Service # Systemctl Włącz HTTPD.Service # Systemctl Status HTTPD.praca 

Teraz otwórz plik konfiguracyjny hosta wirtualnego Apache za pomocą ulubionego edytora.

# vi/etc/httpd/conf.D/vhost.conf lub # vi/etc/apache2/apache2.conf 

i zlokalizuj SSL_PROTOCOLS dyrektywa i dołącz TLSV1.3 Na końcu linii, jak pokazano poniżej.

 SsLengine na # rsa SSL_Certificate/etc/Letsecrrypt/przykład.com/Fullchain.cer; ssl_certificate_key/etc/limsecrrypt/przykład.com/przykład.com.klucz; # Ecdsa SSL_Certificate/etc/LetsEncrypt/przykład.com_ecc/fullchain.cer; ssl_certificate_key/etc/limsecrrypt/przykład.com_ecc/przykład.com.klucz; 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-chacha20-poly1305 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/limsecrrypt/na żywo/przykład.com/cert.PEM SSLCertificateKeKeyFile/Etc/LetsEncrypt/Live/Expt.com/privey.PEM sslCertificateChainfile/etc/limsecrrypt/żyje/przykład.com/łańcuch.PEM ServerAdmin [e -mail chroniony] Servername www.przykład.Przykład com serveralias.com #documentroot/data/httpd/htdocs/przykład.com/documentroot/data/httpd/htdocs/example_hueman/ # logowanie logLevel ostrzegaj Ostrzeżenie/var/log/httpd/przykład.com/httpserror.Log CustomLog "|/usr/sbin/rotatelogs/var/log/httpd/przykład.com/httpsAccess.dziennik.%Y-%m-%d 86400 "  

Na koniec zweryfikuj konfigurację i ponownie załaduj Apache.

-------------- Na Debian/Ubuntu -------------- # Apache2 -t # Systemctl RELOOD APACHE2.praca -------------- Na RHEL/CENTOS/FEDORA -------------- # httpd -t # Systemctl RELOOD HTTPD.praca 

Weryfikacja witryny używa TLS 1.3

Po skonfigurowaniu za pośrednictwem serwera WWW możesz sprawdzić, czy Twoja witryna jest wycofywana TLS 1.3 Protokół za pomocą narzędzi do tworzenia przeglądarki Chrome Chrome 70+ wersja.

Sprawdź TLS 1.3 protokół na domenie

To wszystko. Udało Ci się włączyć TLS 1.3 Protokół w domenie hostowanej na serwerach Apache lub Nginx. Jeśli masz jakieś zapytania dotyczące tego artykułu, nie krępuj się zapytać w sekcji komentarzy poniżej.