Το TLS 1.3 είναι μια έκδοση του πρωτοκόλλου Transport Layer Security (TLS) που δημοσιεύτηκε το 2018 ως προτεινόμενο πρότυπο στο RFC 8446. Προσφέρει βελτιώσεις ασφάλειας και απόδοσης σε σχέση με τους προκατόχους του.
Αυτός ο οδηγός θα δείξει πώς να ενεργοποιήσετε το TLS 1.3 χρησιμοποιώντας τον διακομιστή ιστού Apache στο Fedora 30.
Απαιτήσεις
- Παρουσίαση Vultr Cloud Compute (VC2) που εκτελεί το Fedora 30.
- Ένα έγκυρο όνομα τομέα και σωστά διαμορφωμένες
A/ AAAA/ CNAMEεγγραφές DNS για τον τομέα σας.
- Ένα έγκυρο πιστοποιητικό TLS. Θα λάβουμε ένα από το Let's Encrypt.
- Έκδοση Apache
2.4.36ή μεταγενέστερη.
- Έκδοση OpenSSL
1.1.1ή μεταγενέστερη.
Πριν ξεκινήσεις
Ελέγξτε την έκδοση Fedora.
cat /etc/fedora-release # Fedora release 30 (Thirty)
Δημιουργήστε έναν νέο 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.
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 ~ source ~/.bashrc
Ελέγξτε την έκδοση.
/etc/letsencrypt/acme.sh --version # v2.8.2
Αποκτήστε πιστοποιητικά RSA και ECDSA για τον τομέα σας.
# RSA sudo /etc/letsencrypt/acme.sh --issue --standalone -d example.com --ocsp-must-staple --keylength 2048 # ECC/ECDSA sudo /etc/letsencrypt/acme.sh --issue --standalone -d example.com --ocsp-must-staple --keylength ec-256
ΣΗΜΕΙΩΣΗ: Αντικαταστήστε τις example.comεντολές με το όνομα τομέα σας.
Δημιουργήστε λογικούς καταλόγους για να αποθηκεύσετε τα πιστοποιητικά και τα κλειδιά σας. Θα χρησιμοποιήσουμε /etc/letsencrypt.
sudo mkdir -p /etc/letsencrypt/example.com sudo mkdir -p /etc/letsencrypt/example.com_ecc
Εγκαταστήστε και αντιγράψτε πιστοποιητικά στο /etc/letsencrypt.
# RSA sudo /etc/letsencrypt/acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem # ECC/ECDSA sudo /etc/letsencrypt/acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem
Αφού εκτελέσετε τις παραπάνω εντολές, τα πιστοποιητικά και τα κλειδιά σας θα βρίσκονται στις ακόλουθες θέσεις:
- RSA :
/etc/letsencrypt/example.com
- ECC / ECDSA :
/etc/letsencrypt/example.com_ecc
Εγκαταστήστε το Apache
Ο Apache πρόσθεσε υποστήριξη για το TLS 1.3 στην έκδοση 2.4.36. Το σύστημα Fedora 30 συνοδεύεται από Apache και OpenSSL που υποστηρίζουν εξαρχής το TLS 1.3, επομένως δεν χρειάζεται να δημιουργήσετε μια προσαρμοσμένη έκδοση.
Κατεβάστε και εγκαταστήστε τον πιο πρόσφατο κλάδο 2.4 του Apache και την ενότητα του για SSL μέσω του dnfδιαχειριστή πακέτων.
sudo dnf install -y httpd mod_ssl
Ελέγξτε την έκδοση.
sudo httpd -v # Server version: Apache/2.4.39 (Fedora) # Server built: May 2 2019 14:50:28
Ξεκινήστε και ενεργοποιήστε το Apache.
sudo systemctl start httpd.service sudo systemctl enable httpd.service
Διαμόρφωση του Apache για TLS 1.3
Τώρα που εγκαταστήσαμε με επιτυχία το Apache, είμαστε έτοιμοι να το ρυθμίσουμε ώστε να αρχίσει να χρησιμοποιεί το TLS 1.3 στον διακομιστή μας.
Εκτελέστε sudo vim /etc/httpd/conf.d/example.com.confκαι συμπληρώστε το αρχείο με την ακόλουθη βασική ρύθμιση παραμέτρων.
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName example.com SSLEngine on SSLProtocol all -SSLv2 -SSLv3 # RSA SSLCertificateFile "/etc/letsencrypt/example.com/fullchain.pem" SSLCertificateKeyFile "/etc/letsencrypt/example.com/private.key" # ECC SSLCertificateFile "/etc/letsencrypt/example.com_ecc/fullchain.pem" SSLCertificateKeyFile "/etc/letsencrypt/example.com_ecc/private.key" </VirtualHost> </IfModule>
Αποθηκεύστε το αρχείο και βγείτε.
Ελέγξτε τη διαμόρφωση.
sudo apachectl configtest
Επαναλάβετε τη φόρτωση του Apache για να ενεργοποιήσετε τη νέα διαμόρφωση.
sudo systemctl reload httpd.service
Ανοίξτε τον ιστότοπό σας μέσω πρωτοκόλλου HTTPS στο πρόγραμμα περιήγησής σας. Για να επαληθεύσετε το TLS 1.3, μπορείτε να χρησιμοποιήσετε τα εργαλεία προγραμματισμού προγράμματος περιήγησης ή την υπηρεσία SSL Labs. Τα παρακάτω στιγμιότυπα οθόνης δείχνουν την καρτέλα ασφαλείας του Chrome με το TLS 1.3 σε δράση.

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