Ασφαλίστε τον Apache με το Lets Encrypt SSL Certificate στο CentOS 8


Η ασφάλιση του διακομιστή ιστού σας είναι πάντα ένας από τους βασικούς παράγοντες που πρέπει να λάβετε υπόψη πριν ξεκινήσετε ζωντανά με τον ιστότοπό σας. Ένα πιστοποιητικό ασφαλείας είναι ζωτικής σημασίας για την εξασφάλιση της κυκλοφορίας που αποστέλλεται από προγράμματα περιήγησης ιστού σε διακομιστές ιστού και με αυτόν τον τρόπο, θα εμπνεύσει τους χρήστες να ανταλλάσσουν δεδομένα με τον ιστότοπό σας έχοντας πλήρη γνώση ότι η επισκεψιμότητα που αποστέλλεται είναι ασφαλής.

Στις περισσότερες περιπτώσεις, τα πιστοποιητικά ασφαλείας πληρώνονται και ανανεώνονται ετησίως. Το πιστοποιητικό Let’s Encrypt είναι μια δωρεάν, ανοιχτή και αυτοματοποιημένη αρχή έκδοσης πιστοποιητικών που μπορείτε να χρησιμοποιήσετε για την κρυπτογράφηση του ιστότοπού σας. Το πιστοποιητικό λήγει μετά από κάθε 90 ημέρες και ανανεώνεται αυτόματα χωρίς κανένα κόστος.

Συνιστώμενη ανάγνωση: Πώς να ασφαλίσετε το Nginx με το Let’s Encrypt στο CentOS 8

Σε αυτό το άρθρο, θα σας δείξουμε πώς μπορείτε να εγκαταστήσετε το Let's Encrypt Certificate με το Certbot για τον διακομιστή web Apache και αργότερα, να διαμορφώσετε το πιστοποιητικό για αυτόματη ανανέωση στο CentOS 8.

Προαπαιτούμενα

Πριν ξεκινήσετε, βεβαιωθείτε ότι έχετε τα εξής:

1. Μια παρουσία διακομιστή CentOS 8 με εγκατεστημένο και εκτελούμενο διακομιστή ιστού Apache HTTP. Μπορείτε να επιβεβαιώσετε ότι ο διακομιστής web apache σας είναι σε λειτουργία και λειτουργεί.

sudo dnf install httpd
sudo systemctl status httpd

2. Ένα Πλήρως πιστοποιημένο όνομα τομέα (FQDN) που δείχνει τη δημόσια διεύθυνση IP του διακομιστή ιστού σας στον πάροχο φιλοξενίας ιστού DNS. Για αυτόν τον οδηγό, θα χρησιμοποιήσουμε το linuxtechwhiz.info που δείχνει την IP του διακομιστή 34.67.63.136.

Βήμα 1. Εγκαταστήστε το Certbot στο CentOS 8

Το Certbot είναι ένας πελάτης που αυτοματοποιεί την εγκατάσταση του πιστοποιητικού ασφαλείας. Λαμβάνει το πιστοποιητικό από την Ας κρυπτογραφήσουμε την αρχή και το αναπτύσσει στον διακομιστή ιστού σας χωρίς μεγάλη ταλαιπωρία.

Το Certbot είναι εντελώς δωρεάν και θα σας επιτρέψει να εγκαταστήσετε το πιστοποιητικό με διαδραστικό τρόπο, δημιουργώντας οδηγίες με βάση τη διαμόρφωση του διακομιστή ιστού σας.

Πριν κάνετε λήψη του certbot, εγκαταστήστε πρώτα πακέτα που είναι απαραίτητα για τη διαμόρφωση μιας κρυπτογραφημένης σύνδεσης.

Θα ξεκινήσουμε εγκαθιστώντας το αποθετήριο EPEL που παρέχει πρόσθετα πακέτα υψηλής ποιότητας για συστήματα που βασίζονται σε RHEL:

sudo dnf install epel-release

Στη συνέχεια, εγκαταστήστε τα πακέτα mod_ssl και openssl.

sudo dnf install mod_ssl openssl

Αφού εγκατασταθούν όλες οι εξαρτήσεις, εγκαταστήστε το Certbot και τη λειτουργική μονάδα Apache για το Certbot.

sudo dnf install certbot python3-certbot-apache

Η εντολή εγκαθιστά το Certbot, τη λειτουργική μονάδα Apache για το Certbot και άλλες εξαρτήσεις.

Βήμα 2: Δημιουργήστε έναν εικονικό κεντρικό υπολογιστή Apache

Το επόμενο βήμα θα είναι η δημιουργία ενός εικονικού αρχείου κεντρικού υπολογιστή για τον τομέα μας – linuxtechwhiz.info. Ξεκινήστε δημιουργώντας πρώτα τη ρίζα του εγγράφου όπου θα τοποθετήσετε τα αρχεία HTML σας.

sudo mkdir /var/www/linuxtechwhiz.info.conf

Δημιουργήστε ένα δοκιμαστικό αρχείο index.html όπως φαίνεται.

sudo echo “<h1>Welcome to Apache HTTP server</h1>” > /var/www/linuxtechwhiz.info/index.html

Στη συνέχεια, δημιουργήστε ένα εικονικό αρχείο κεντρικού υπολογιστή όπως φαίνεται.

sudo vim /etc/httpd/conf.d/linuxtechwhiz.info

Προσθέστε τη διαμόρφωση παρακάτω.

<VirtualHost *:443>
  ServerName linuxtechwhiz.info
  ServerAlias www.linuxtechwhiz.info
  DocumentRoot /var/www/linuxtechwhiz.info/
  <Directory /var/www/linuxtechwhiz.info/>
      Options -Indexes +FollowSymLinks
      AllowOverride All
  </Directory>
  ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log
  CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined
</VirtualHost>

Αποθήκευση και έξοδος.

Εκχωρήστε τα δικαιώματα στη ρίζα του εγγράφου όπως φαίνεται.

sudo chown -R apache:apache /var/www/linuxtechwhiz.info

Για να τεθούν σε ισχύ οι αλλαγές, επανεκκινήστε την υπηρεσία Apache.

sudo systemctl restart httpd

Βήμα 3: Εγκαταστήστε το Let’s Encrypt SSL Certificate στο CentOS 8

Τώρα εκτελέστε το certbot όπως φαίνεται για να ξεκινήσει η εγκατάσταση του πιστοποιητικού Let’s Encrypt.

sudo certbot --apache -d domain.com

Στην περίπτωσή μας αυτό θα είναι:

sudo certbot --apache -d linuxtechwhiz.info

Η εντολή θα σας οδηγήσει σε μια σειρά προτροπών για να σας επιτρέψει να διαμορφώσετε το Lets Encrypt για τον τομέα σας. Φροντίστε να δώσετε τη διεύθυνση email σας, να αποδεχτείτε τους Όρους Παροχής Υπηρεσιών και να καθορίσετε τα ονόματα τομέα που θέλετε να χρησιμοποιήσετε το πρωτόκολλο HTTPS που είναι η κρυπτογραφημένη έκδοση του HTTP.

Εάν όλα πήγαν καλά, θα πρέπει να λάβετε ένα συγχαρητήριο μήνυμα στο τέλος που θα σας ενημερώνει ότι ο ιστότοπός σας έχει ασφαλιστεί χρησιμοποιώντας το Πιστοποιητικό Let’s Encrypt. Θα εμφανιστεί επίσης η εγκυρότητα του πιστοποιητικού σας – η οποία συνήθως είναι 90 ημέρες μετά την ανάπτυξη.

Τώρα επιστρέψτε στο αρχείο εικονικού κεντρικού υπολογιστή σας και προσθέστε τις ακόλουθες γραμμές διαμόρφωσης.

SSLEngine On
 SSLCertificateFile    /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem
 SSLCertificateKeyFile  /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem

Αποθήκευση και έξοδος.

Η τελική διαμόρφωση εικονικού κεντρικού υπολογιστή Apache θα μοιάζει κάπως έτσι:

<VirtualHost *:443>
  ServerName linuxtechwhiz.info
  ServerAlias www.linuxtechwhiz.info
  DocumentRoot /var/www/linuxtechwhiz.info/
  <Directory /var/www/linuxtechwhiz.info/>
      Options -Indexes +FollowSymLinks
      AllowOverride All
  </Directory>
  ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log
  CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined

 SSLEngine On
 SSLCertificateFile    /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem
 SSLCertificateKeyFile  /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem
</VirtualHost>

Για άλλη μια φορά, επανεκκινήστε τον Apache.

sudo systemctl restart httpd

Βήμα 4: Επαλήθευση του πιστοποιητικού Let’s Encrypt SSL

Για να επαληθεύσετε ότι όλα λειτουργούν, εκκινήστε το πρόγραμμα περιήγησής σας και επισκεφτείτε τη διεύθυνση IP του διακομιστή σας. Θα πρέπει τώρα να δείτε ένα σύμβολο λουκέτου στην αρχή της διεύθυνσης URL.

Για περισσότερες λεπτομέρειες, κάντε κλικ στο σύμβολο λουκέτο και κάντε κλικ στην επιλογή "Πιστοποιητικό" στο αναπτυσσόμενο μενού που εμφανίζεται.

Οι λεπτομέρειες του πιστοποιητικού θα εμφανιστούν στο επόμενο αναδυόμενο παράθυρο.

Επίσης, μπορείτε να δοκιμάσετε τον διακομιστή σας στη διεύθυνση https://www.ssllabs.com/ssltest/ και ο ιστότοπός σας θα πρέπει να λάβει βαθμό "A" όπως φαίνεται.

Βήμα 5: Αυτόματη ανανέωση Let’s Encrypt Certificate SSL

Το Let’s Encrypt ισχύει μόνο για 90 ημέρες. Συνήθως, η διαδικασία ανανέωσης πραγματοποιείται από το πακέτο certbot που προσθέτει ένα σενάριο ανανέωσης στον κατάλογο /etc/cron.d. Το σενάριο εκτελείται δύο φορές την ημέρα και θα ανανεώνει αυτόματα οποιοδήποτε πιστοποιητικό εντός 30 ημερών από τη λήξη.

Για να δοκιμάσετε τη διαδικασία αυτόματης ανανέωσης, πραγματοποιήστε μια δοκιμή ξηρής εκτέλεσης με το certbot.

sudo /usr/local/bin/certbot-auto renew --dry-run

Εάν δεν παρουσιάστηκαν σφάλματα, τότε αυτό σημαίνει ότι είστε έτοιμοι να πάτε.

Αυτό μας φέρνει στο τέλος αυτού του οδηγού. Σε αυτόν τον οδηγό, δείξαμε πώς μπορείτε να χρησιμοποιήσετε το certbot για να εγκαταστήσετε και να διαμορφώσετε το Let’s Encrypt πιστοποιητικό σε διακομιστή ιστού Apache που εκτελείται σε σύστημα CentOS 8.