Εισαγωγή
Απαιτήσεις
Πριν ξεκινήσεις
Εγκαταστήστε το πρόγραμμα-πελάτη Acme.sh και αποκτήστε πιστοποιητικό TLS από το Let's Encrypt
Εγκαταστήστε το Nginx
Διαμόρφωση Nginx
Εισαγωγή
Το TLS 1.3 είναι μια έκδοση του πρωτοκόλλου Transport Layer Security (TLS) που δημοσιεύτηκε το 2018 ως προτεινόμενο πρότυπο στο RFC 8446 . Προσφέρει βελτιώσεις ασφάλειας και απόδοσης σε σχέση με τους προκατόχους του.
Αυτός ο οδηγός θα δείξει πώς να ενεργοποιήσετε το TLS 1.3 χρησιμοποιώντας τον διακομιστή web Nginx στο Fedora 29.
Απαιτήσεις
- Έκδοση Nginx
1.13.0ή μεγαλύτερη.
- Έκδοση OpenSSL
1.1.1ή μεταγενέστερη.
- Περίπτωση Vultr Cloud Compute (VC2) που εκτελεί το Fedora 29.
- Ένα έγκυρο όνομα τομέα και σωστά διαμορφωμένες
A/ AAAA/ CNAMEεγγραφές DNS για τον τομέα σας.
- Ένα έγκυρο πιστοποιητικό TLS. Θα λάβουμε ένα από το Let's Encrypt.
Πριν ξεκινήσεις
Ελέγξτε την έκδοση Fedora.
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Δημιουργήστε έναν νέο non-rootλογαριασμό χρήστη με sudoπρόσβαση και μεταβείτε σε αυτόν.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
ΣΗΜΕΙΩΣΗ: Αντικαταστήστε το johndoeμε το όνομα χρήστη σας.
Ρυθμίστε τη ζώνη ώρας.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Βεβαιωθείτε ότι το σύστημά σας είναι ενημερωμένο.
sudo dnf check-upgrade || sudo dnf upgrade -y
Εγκαταστήστε τα απαραίτητα πακέτα.
sudo dnf install -y socat git
Απενεργοποιήστε το SELinux και το Firewall.
sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld
Εγκαταστήστε το πρόγραμμα-πελάτη Acme.sh και αποκτήστε πιστοποιητικό TLS από το Let's Encrypt
Σε αυτόν τον οδηγό, θα χρησιμοποιήσουμε το πρόγραμμα-πελάτη Acme.sh για να αποκτήσουμε πιστοποιητικά SSL από το Let's Encrypt. Μπορείτε να χρησιμοποιήσετε έναν πελάτη που γνωρίζετε περισσότερο.
Λήψη και εγκατάσταση Acme.sh .
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail your_email@example.com
cd ~
Ελέγξτε την έκδοση.
/etc/letsencrypt/acme.sh --version
# v2.8.1
Αποκτήστε πιστοποιητικά RSA και ECDSA για τον τομέα σας.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength ec-256
ΣΗΜΕΙΩΣΗ: Αντικαταστήστε example.comτις εντολές με το όνομα τομέα σας.
Αφού εκτελέσετε τις προηγούμενες εντολές, τα πιστοποιητικά και τα κλειδιά σας θα είναι προσβάσιμα στη διεύθυνση:
- RSA:
/etc/letsencrypt/example.com.
- ECC/ECDSA:
/etc/letsencrypt/example.com_ecc.
Εγκαταστήστε το Nginx
Το Nginx πρόσθεσε υποστήριξη για το TLS 1.3 στην έκδοση 1.13.0. Το Fedora 29 έρχεται με Nginx και OpenSSL που υποστηρίζουν εξαρχής το TLS 1.3, επομένως δεν χρειάζεται να δημιουργήσετε μια προσαρμοσμένη έκδοση.
Εγκαταστήστε το Nginx.
sudo dnf install -y nginx
Ελέγξτε την έκδοση.
nginx -v
# nginx version: nginx/1.14.2
Ελέγξτε την έκδοση OpenSSL έναντι της οποίας έγινε μεταγλώττιση του Nginx.
nginx -V
# built with OpenSSL 1.1.1b FIPS 26 Feb 2019
Ξεκινήστε και ενεργοποιήστε το Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Τώρα που εγκαταστήσαμε με επιτυχία το Nginx, είμαστε έτοιμοι να το διαμορφώσουμε με τις κατάλληλες ρυθμίσεις για να αρχίσουμε να χρησιμοποιούμε το TLS 1.3 στον διακομιστή μας.
Εκτελέστε την sudo vim /etc/nginx/conf.d/example.com.confεντολή και συμπληρώστε το αρχείο με την ακόλουθη διαμόρφωση.
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;
}
Αποθηκεύστε το αρχείο και βγείτε με :+ W+ Q.
Παρατηρήστε τη νέα TLSv1.3παράμετρο της ssl_protocolsοδηγίας. Αυτή η παράμετρος είναι απαραίτητη μόνο για την ενεργοποίηση του TLS 1.3 στο Nginx.
Ελέγξτε τη διαμόρφωση.
sudo nginx -t
Επαναφόρτωση Nginx.
sudo systemctl reload nginx.service
Για να επαληθεύσετε το TLS 1.3, μπορείτε να χρησιμοποιήσετε τα εργαλεία προγραμματισμού προγράμματος περιήγησης ή την υπηρεσία SSL Labs. Τα παρακάτω στιγμιότυπα οθόνης δείχνουν την καρτέλα ασφαλείας του Chrome.

![Πώς να ενεργοποιήσετε το TLS 1.3 στο Nginx στο Fedora 29 Πώς να ενεργοποιήσετε το TLS 1.3 στο Nginx στο Fedora 29]()
Αυτό είναι όλο. Έχετε ενεργοποιήσει με επιτυχία το TLS 1.3 στο Nginx στον διακομιστή σας Fedora 29. Η τελική έκδοση του TLS 1.3 ορίστηκε τον Αύγουστο του 2018, επομένως δεν υπάρχει καλύτερη στιγμή για να ξεκινήσετε την υιοθέτηση αυτής της νέας τεχνολογίας.