Το TLS 1.3 είναι μια έκδοση του πρωτοκόλλου Transport Layer Security (TLS) που δημοσιεύτηκε το 2018 ως προτεινόμενο πρότυπο στο RFC 8446. Προσφέρει βελτιώσεις ασφάλειας και απόδοσης σε σχέση με τους προκατόχους του.
Αυτός ο οδηγός θα δείξει πώς να ενεργοποιήσετε το TLS 1.3 χρησιμοποιώντας τον διακομιστή ιστού Apache στο Debian 10.
Απαιτήσεις
- Περίπτωση Vultr Cloud Compute (VC2) που εκτελεί το Debian 10 (Buster).
- Ένα έγκυρο όνομα τομέα και σωστά διαμορφωμένες
A
/ AAAA
/ CNAME
εγγραφές DNS για τον τομέα σας.
- Ένα έγκυρο πιστοποιητικό TLS. Θα λάβουμε ένα από το Let's Encrypt.
- Έκδοση Apache
2.4.36
ή μεταγενέστερη.
- Έκδοση OpenSSL
1.1.1
ή μεταγενέστερη.
Πριν ξεκινήσεις
Ελέγξτε την έκδοση του Debian.
lsb_release -ds # Debian GNU/Linux 10 (buster)
Δημιουργήστε έναν νέο non-root
λογαριασμό χρήστη με sudo
πρόσβαση και μεταβείτε σε αυτόν.
adduser johndoe --gecos "John Doe" usermod -aG sudo johndoe su - johndoe
ΣΗΜΕΙΩΣΗ : Αντικαταστήστε το johndoe
με το όνομα χρήστη σας .
Ρυθμίστε τη ζώνη ώρας.
sudo dpkg-reconfigure tzdata
Βεβαιωθείτε ότι το σύστημά σας είναι ενημερωμένο.
sudo apt update && sudo apt upgrade -y
Εγκαταστήστε τα απαραίτητα πακέτα.
sudo apt install -y zip unzip curl wget git socat
Εγκαταστήστε τον 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 [email protected] 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. Το σύστημα Debian 10 έρχεται με Apache και OpenSSL που υποστηρίζουν το TLS 1.3 out of the box, επομένως δεν χρειάζεται να δημιουργήσετε μια προσαρμοσμένη έκδοση.
Πραγματοποιήστε λήψη και εγκατάσταση του πιο πρόσφατου κλάδου 2.4 του Apache μέσω του apt
διαχειριστή πακέτων.
sudo apt install -y apache2
Ελέγξτε την έκδοση.
sudo apache2 -v # Server version: Apache/2.4.38 (Debian) # Server built: 2019-04-07T18:15:40
Διαμόρφωση του Apache για TLS 1.3
Τώρα που εγκαταστήσαμε με επιτυχία το Apache, είμαστε έτοιμοι να το ρυθμίσουμε ώστε να αρχίσει να χρησιμοποιεί το TLS 1.3 στον διακομιστή μας.
Πρώτα, ενεργοποιήστε τη μονάδα SSL.
sudo a2enmod ssl
Κάντε επανεκκίνηση του Apache.
sudo systemctl restart apache2
Εκτελέστε sudo vim /etc/apache2/sites-available/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>
Αποθηκεύστε το αρχείο και βγείτε.
Ενεργοποιήστε το νέο αρχείο διαμόρφωσης συνδέοντας το αρχείο στον sites-enabled
κατάλογο.
sudo a2ensite example.com.conf
Ελέγξτε τη διαμόρφωση.
sudo apachectl configtest
Επαναφόρτωση Apache.
sudo systemctl reload apache2
Ανοίξτε τον ιστότοπό σας μέσω πρωτοκόλλου HTTPS στο πρόγραμμα περιήγησής σας. Για να επαληθεύσετε το TLS 1.3, μπορείτε να χρησιμοποιήσετε τα εργαλεία προγραμματισμού προγράμματος περιήγησης ή την υπηρεσία SSL Labs. Τα παρακάτω στιγμιότυπα οθόνης δείχνουν την καρτέλα ασφαλείας του Chrome με το TLS 1.3 σε δράση.
Έχετε ενεργοποιήσει με επιτυχία το TLS 1.3 στον Apache στον διακομιστή σας Debian 10. Η τελική έκδοση του TLS 1.3 ορίστηκε τον Αύγουστο του 2018, επομένως δεν υπάρχει καλύτερη στιγμή για να ξεκινήσετε την υιοθέτηση αυτής της νέας τεχνολογίας.