Απαιτήσεις
Πριν ξεκινήσεις
Εγκαταστήστε το πρόγραμμα-πελάτη acme.sh και αποκτήστε ένα πιστοποιητικό TLS από το Let's Encrypt
Εγκαταστήστε το Apache
Διαμόρφωση του Apache για TLS 1.3
Το TLS 1.3 είναι μια έκδοση του πρωτοκόλλου Transport Layer Security (TLS) που δημοσιεύτηκε το 2018 ως προτεινόμενο πρότυπο στο RFC 8446. Προσφέρει βελτιώσεις ασφάλειας και απόδοσης σε σχέση με τους προκατόχους του.
Αυτός ο οδηγός θα δείξει πώς να ενεργοποιήσετε το TLS 1.3 χρησιμοποιώντας τον διακομιστή ιστού Apache στο CentOS 8.
Απαιτήσεις
- Περίπτωση Vultr Cloud Compute (VC2) που εκτελεί το CentOS 8.
- Ένα έγκυρο όνομα τομέα και σωστά διαμορφωμένες
A/ AAAA/ CNAMEεγγραφές DNS για τον τομέα σας.
- Ένα έγκυρο πιστοποιητικό TLS. Θα λάβουμε ένα από το Let's Encrypt.
- Έκδοση Apache
2.4.36ή μεταγενέστερη.
- Έκδοση OpenSSL
1.1.1ή μεταγενέστερη.
Πριν ξεκινήσεις
Ελέγξτε την έκδοση CentOS.
cat /etc/centos-release
# CentOS Linux release 8.0.1905 (Core)
Δημιουργήστε έναν νέο 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 yum update
Εγκαταστήστε τα απαραίτητα πακέτα.
sudo yum 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. Το σύστημα CentOS 8 έρχεται με Apache και OpenSSL που υποστηρίζουν εξαρχής το TLS 1.3, επομένως δεν χρειάζεται να δημιουργήσετε μια προσαρμοσμένη έκδοση.
Πραγματοποιήστε λήψη και εγκατάσταση της πιο πρόσφατης έκδοσης 2.4 του Apache και της ενότητας του για SSL μέσω του yumδιαχειριστή πακέτων.
sudo yum install -y httpd mod_ssl
Ελέγξτε την έκδοση.
sudo httpd -v
# Server version: Apache/2.4.37 (centos)
# Server built: Jul 30 2019 19:56:12
Ξεκινήστε και ενεργοποιήστε το Apache.
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Τώρα που εγκαταστήσαμε με επιτυχία το 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>
Αποθηκεύστε το αρχείο και βγείτε με :+ W+ Q.
Ελέγξτε τη διαμόρφωση.
sudo apachectl configtest
Επαναλάβετε τη φόρτωση του Apache για να ενεργοποιήσετε τη νέα διαμόρφωση.
sudo systemctl reload httpd.service
Ανοίξτε τον ιστότοπό σας μέσω πρωτοκόλλου HTTPS στο πρόγραμμα περιήγησής σας. Για να επαληθεύσετε το TLS 1.3, μπορείτε να χρησιμοποιήσετε τα εργαλεία προγραμματισμού προγράμματος περιήγησης ή την υπηρεσία SSL Labs. Τα παρακάτω στιγμιότυπα οθόνης δείχνουν την καρτέλα ασφαλείας του Chrome με το TLS 1.3 σε δράση.

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