Πώς να ασφαλίσετε τον Apache με το δωρεάν Let's Encrypt Certificate SSL σε Ubuntu και Debian


Έχετε ένα νέο καταχωρημένο όνομα τομέα και ο διακομιστής ιστού σας λειτουργεί με ένα SSL Self-Signed Certificate που εκδόθηκε από εσάς, το οποίο προκαλεί πονοκεφάλους στους πελάτες σας ενώ επισκέπτονται τον τομέα λόγω σφαλμάτων που δημιουργούνται από το πιστοποιητικό; Έχετε περιορισμένο προϋπολογισμό και δεν έχετε την οικονομική δυνατότητα να αγοράσετε ένα πιστοποιητικό που έχει εκδοθεί από μια αξιόπιστη αρχή αρχής; Αυτό είναι όταν το λογισμικό Let’s Encrypt έρχεται στη σκηνή και σώζει τη μέρα.

Αν θέλετε να εγκαταστήσετε το Let's Encrypt για Apache ή Nginx στο RHEL, CentOS, Fedora ή Ubuntu και Debian, ακολουθήστε τους παρακάτω οδηγούς:

Ρύθμιση Let’s Encrypt to Secure Apache σε RHEL και CentOS 7/6

Ρύθμιση Let’s Encrypt to Secure Nginx σε Ubuntu και Debian

Το Let's Encrypt είναι μια Αρχή έκδοσης πιστοποιητικών (CA) που σας διευκολύνει να αποκτήσετε δωρεάν πιστοποιητικά SSL/TLS που απαιτούνται για διακομιστή να λειτουργεί με ασφάλεια, κάνοντας μια ομαλή εμπειρία περιήγησης για τους χρήστες σας, χωρίς σφάλματα.

Δοκιμαστικό Περιβάλλον Δείγματος

Όλα τα βήματα που απαιτούνται για τη δημιουργία ενός πιστοποιητικού είναι, ως επί το πλείστον, αυτοματοποιημένα για τον διακομιστή ιστού Apache. Ωστόσο, παρά το λογισμικό διακομιστή ιστού σας, ορισμένα βήματα πρέπει να γίνουν με μη αυτόματο τρόπο και τα πιστοποιητικά πρέπει να εγκατασταθούν με μη αυτόματο τρόπο, ειδικά σε περίπτωση που το περιεχόμενο του ιστότοπού σας εξυπηρετείται από τον δαίμονα Nginx.

Αυτό το σεμινάριο θα σας καθοδηγήσει για το πώς μπορείτε να εγκαταστήσετε το λογισμικό Let's Encrypt στο Ubuntu ή το Debian, να δημιουργήσετε και να αποκτήσετε ένα δωρεάν πιστοποιητικό για τον τομέα σας και πώς μπορείτε να εγκαταστήσετε μη αυτόματα το πιστοποιητικό σε διακομιστές ιστού Apache και Nginx.

Απαιτήσεις

  1. Ένα δημόσιο καταχωρημένο όνομα τομέα με έγκυρες εγγραφές A για να οδηγεί πίσω στην εξωτερική διεύθυνση IP του διακομιστή σας. Σε περίπτωση που ο διακομιστής σας βρίσκεται πίσω από ένα τείχος προστασίας, λάβετε τα απαραίτητα μέτρα για να βεβαιωθείτε ότι ο διακομιστής σας είναι προσβάσιμος από το διαδίκτυο σε όλη τη λέξη, προσθέτοντας κανόνες προώθησης θύρας στην πλευρά του δρομολογητή.
  2. Διακομιστής ιστού Apache εγκατεστημένος με ενεργοποιημένη τη μονάδα SSL και ενεργοποιημένη την εικονική φιλοξενία, σε περίπτωση που φιλοξενείτε πολλούς τομείς ή υποτομείς.

Βήμα 1: Εγκαταστήστε το Apache και ενεργοποιήστε τη μονάδα SSL

1. Εάν δεν έχετε ήδη εγκατεστημένο διακομιστή ιστού Apache στον υπολογιστή σας, εκθέστε την ακόλουθη εντολή για να εγκαταστήσετε τον δαίμονα του apache.

sudo apt-get install apache2

2. Η ενεργοποίηση της μονάδας SSL για διακομιστή ιστού Apache σε Ubuntu ή Debian είναι αρκετά απλή. Ενεργοποιήστε τη μονάδα SSL και ενεργοποιήστε τον προεπιλεγμένο εικονικό κεντρικό υπολογιστή SSL του apache εκδίδοντας τις παρακάτω εντολές:

sudo a2enmod ssl
sudo a2ensite default-ssl.conf
sudo service apache2 restart
or
sudo systemctl restart apache2.service

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

https://yourdomain.com

Βήμα 2: Εγκαταστήστε το Free Let’s Encrypt Client

3. Για να εγκαταστήσετε το λογισμικό Let’s Encrypt στον διακομιστή σας, πρέπει να έχετε εγκατεστημένο το πακέτο git στο σύστημά σας. Εκδώστε την ακόλουθη εντολή για να εγκαταστήσετε το λογισμικό git:

sudo apt-get -y install git

4. Στη συνέχεια, επιλέξτε έναν κατάλογο από την ιεραρχία του συστήματός σας όπου θέλετε να κλωνοποιήσετε το αποθετήριο git Let’s Encrypt. Σε αυτό το σεμινάριο θα χρησιμοποιήσουμε τον κατάλογο /usr/local/ ως διαδρομή εγκατάστασης για το Let’s Encrypt.

Μεταβείτε στον κατάλογο /usr/local και εγκαταστήστε τον πελάτη letsencrypt εκδίδοντας τις ακόλουθες εντολές:

cd /usr/local
sudo git clone https://github.com/letsencrypt/letsencrypt

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

5. Η διαδικασία απόκτησης πιστοποιητικού SSL για Apache είναι αυτοματοποιημένη χάρη στην προσθήκη Apache. Δημιουργήστε το πιστοποιητικό εκδίδοντας την ακόλουθη εντολή στο όνομα τομέα σας. Καταχωρίστε το όνομα τομέα σας ως παράμετρο στη σημαία -d.

cd /usr/local/letsencrypt
sudo ./letsencrypt-auto --apache -d your_domain.tld

Για παράδειγμα, εάν χρειάζεστε το πιστοποιητικό για να λειτουργεί σε πολλούς τομείς ή υποτομείς, προσθέστε τους όλους χρησιμοποιώντας τη σημαία -d για κάθε επιπλέον έγκυρη εγγραφή DNS μετά το βασικό όνομα τομέα.

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld 

6. Συμφωνήστε με την άδεια, εισαγάγετε μια διεύθυνση email για ανάκτηση και επιλέξτε εάν οι πελάτες μπορούν να περιηγηθούν στον τομέα σας χρησιμοποιώντας και τα δύο πρωτόκολλα HTTP (ασφαλές και μη) ή να ανακατευθύνουν όλα τα μη ασφαλή αιτήματα στο HTTPS.

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

Τώρα θα πρέπει να μπορείτε να βρείτε τα αρχεία πιστοποιητικών σας στον κατάλογο /etc/letsencrypt/live με μια απλή λίστα καταλόγου.

sudo ls /etc/letsencrypt/live

8. Τέλος, για να επαληθεύσετε την κατάσταση του πιστοποιητικού SSL σας, επισκεφτείτε τον ακόλουθο σύνδεσμο. Αντικαταστήστε το όνομα τομέα ανάλογα.

https://www.ssllabs.com/ssltest/analyze.html?d=your_domain.tld&latest

Επίσης, οι επισκέπτες μπορούν πλέον να έχουν πρόσβαση στο όνομα τομέα σας χρησιμοποιώντας το πρωτόκολλο HTTPS χωρίς να εμφανίζεται κανένα σφάλμα στα προγράμματα περιήγησής τους.

Βήμα 4: Αυτόματη ανανέωση επιτρέπει την κρυπτογράφηση πιστοποιητικών

9. Από προεπιλογή, τα πιστοποιητικά που εκδίδονται από την αρχή Let’s Encrypt ισχύουν για 90 ημέρες. Για να ανανεώσετε το πιστοποιητικό πριν από την ημερομηνία λήξης, πρέπει να εκτελέσετε ξανά τον υπολογιστή-πελάτη με μη αυτόματο τρόπο χρησιμοποιώντας τις ακριβείς σημαίες και τις παραμέτρους όπως προηγουμένως.

sudo ./letsencrypt-auto --apache -d your_domain.tld

Ή σε περίπτωση πολλαπλών υποτομέων:

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld

10. Η διαδικασία ανανέωσης πιστοποιητικού μπορεί να αυτοματοποιηθεί ώστε να εκτελείται σε λιγότερο από 30 ημέρες πριν από την ημερομηνία λήξης, χρησιμοποιώντας το πρόγραμμα Cron daemon του Linux.

sudo crontab -e

Προσθέστε την ακόλουθη εντολή στο τέλος του αρχείου crontab χρησιμοποιώντας μόνο μία γραμμή:

0 1 1 */2 * cd /usr/local/letsencrypt && ./letsencrypt-auto certonly --apache --renew-by-default --apache -d domain.tld >> /var/log/domain.tld-renew.log 2>&1

11. Μπορείτε να βρείτε λεπτομέρειες σχετικά με το αρχείο διαμόρφωσης του τομέα ανανέωσης για το λογισμικό Let’s Encrypt στον κατάλογο /etc/letsencrypt/renewal/.

cat /etc/letsencrypt/renewal/caeszar.tk.conf

Θα πρέπει επίσης να ελέγξετε το αρχείο /etc/letsencrypt/options-ssl-apache.conf για να προβάλετε το νέο αρχείο διαμόρφωσης SSL για τον διακομιστή ιστού Apache.

12. Επίσης, η προσθήκη Let's encrypt apache τροποποιεί ορισμένα αρχεία στη διαμόρφωση του διακομιστή ιστού σας. Για να ελέγξετε ποια αρχεία έχουν τροποποιηθεί, παραθέστε το περιεχόμενο του καταλόγου /etc/apache2/sites-enabled.

ls /etc/apache2/sites-enabled/
sudo cat /etc/apache2/sites-enabled/000-default-le-ssl.conf

Αυτα για τωρα! Στην επόμενη σειρά εκμάθησης θα συζητηθεί πώς μπορείτε να αποκτήσετε και να εγκαταστήσετε ένα πιστοποιητικό Let's Encrypt για τον διακομιστή ιστού Nginx σε Ubuntu και Debian< και στο CentOS επίσης.