Σε αυτό το άρθρο, θα εξερευνήσουμε τη διαδικασία εγκατάστασης και ρύθμισης παραμέτρων του Certbot σε έναν διακομιστή Linux. Θα εξηγήσουμε λεπτομερώς πώς να αποκτήσετε ένα πιστοποιητικό Let's Encrypt SSL/TLS για τον τομέα σας. Θα περιγράψουμε επίσης πώς να το εγκαταστήσετε σε έναν διακομιστή ιστού (όπως Nginx ή Apache) και να ρυθμίσετε αυτόματες ανανεώσεις πιστοποιητικών για να διασφαλίσετε μια συνεχή ασφαλή σύνδεση με τον πόρο ιστού σας.
Το Certbot είναι ένα δωρεάν εργαλείο ανοιχτού κώδικα που έχει σχεδιαστεί για την αυτόματη απόκτηση και ανανέωση πιστοποιητικών SSL/TLS . Παίζει κρίσιμο ρόλο στην ασφάλεια της σύνδεσης μεταξύ του διακομιστή και του πελάτη, προστατεύοντας τα δεδομένα από μη εξουσιοδοτημένη πρόσβαση. Το Certbot απλοποιεί τη διαδικασία εγκατάστασης και ανανέωσης ενός πιστοποιητικού SSL. Το πιστοποιητικό όχι μόνο ενισχύει την ασφάλεια, αλλά ενισχύει και την εμπιστοσύνη των χρηστών στον ιστότοπό σας, βελτιώνοντας έτσι τόσο τη φήμη του ιστότοπου όσο και την κατάταξή του στις μηχανές αναζήτησης.
Εγκατάσταση Certbot
Το Certbot περιλαμβάνεται στις περισσότερες διανομές από προεπιλογή, επομένως για να το εγκαταστήσετε σε συστήματα Debian/Ubuntu , χρειάζεται μόνο να ενημερώσετε τη λίστα πακέτων:
apt update
Στη συνέχεια, ξεκινήστε τη διαδικασία εγκατάστασης:
apt install certbot
Το Certbot υποστηρίζει προσθήκες που διευκολύνουν τη ρύθμιση και τη διαμόρφωση του πιστοποιητικού για έναν διακομιστή ιστού. Για να εγκαταστήσετε αυτά τα πρόσθετα, χρησιμοποιήστε την αντίστοιχη εντολή:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
Η διαδικασία εγκατάστασης για συστήματα Red Hat (όπως RHEL , CentOS , Fedora ) είναι ελαφρώς διαφορετική. Αρχικά, πρέπει να προσθέσετε το αποθετήριο EPEL:
yum install epel-release
Στη συνέχεια εγκαταστήστε το εργαλείο:
yum install certbot
Ομοίως, υπάρχει μια επιλογή για να επιλέξετε μια προσθήκη για έναν συγκεκριμένο διακομιστή ιστού:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
Μετά την εγκατάσταση, μπορείτε να προχωρήσετε αμέσως στην απόκτηση του πιστοποιητικού.
Απόκτηση πιστοποιητικού SSL
Σε αυτήν την ενότητα, θα συζητήσουμε τη διαδικασία απόκτησης πιστοποιητικού ανεξάρτητα από έναν συγκεκριμένο διακομιστή ιστού, ακολουθούμενη από την περιγραφή της διαδικασίας εγκατάστασης του πιστοποιητικού για Nginx και Apache. Ωστόσο, είναι απαραίτητο πρώτα να κατανοήσουμε τη σύνταξη και τη λειτουργικότητα του προγράμματος. Εμφανίζεται ως εξής:
certbot command option -d domain
Οι κύριες εντολές περιλαμβάνουν:
certbot certonly - Ανακτά το πιστοποιητικό αλλά δεν το εγκαθιστά.certbot certificates - Αυτή η εντολή εμφανίζει μια λίστα με όλα τα εγκατεστημένα πιστοποιητικά.certbot renew - Επεκτείνει το υπάρχον πιστοποιητικό.certbot revoke - Ανακαλεί το υπάρχον πιστοποιητικό.certbot delete - Διαγράφει το υπάρχον πιστοποιητικό.
Οι πιο συχνά χρησιμοποιούμενες επιλογές είναι:
--nginx - Χρησιμοποιεί σενάρια διαμόρφωσης Nginx για επαλήθευση τομέα.--apache - Χρησιμοποιεί σενάρια διαμόρφωσης Apache για επαλήθευση τομέα.-d - Μια λίστα τομέων για τους οποίους ζητείται το πιστοποιητικό.--standalone - Χρησιμοποιεί αυτόνομη λειτουργία για επαλήθευση τομέα.--manual - Εκτελεί μη αυτόματη επαλήθευση τομέα.
Αυτό είναι μόνο ένα παράδειγμα των πιο συχνών εντολών και επιλογών. Μπορείτε να εξοικειωθείτε με την πλήρη λίστα των δυνατοτήτων του προγράμματος στην ενότητα βοήθειας:
certbot –help
Προχωράμε τώρα στην απόκτηση του πιστοποιητικού. Για παράδειγμα, θα λάβουμε ένα πιστοποιητικό για έναν εικονικό διακομιστή για έναν δωρεάν τομέα τρίτου επιπέδου όπως το yourusername.pserver.space
Πρώτα, πρέπει να εισαγάγετε την εντολή:
certbot certonly
Σε απάντηση, το βοηθητικό πρόγραμμα θα σας ζητήσει να επιλέξετε μια μέθοδο για την επαλήθευση της ιδιοκτησίας τομέα:
Η πρώτη επιλογή είναι βολική εάν δεν έχετε διαμορφωμένο διακομιστή web ή δεν θέλετε να κάνετε αλλαγές σε έναν υπάρχοντα. Αυτή η μέθοδος δημιουργεί έναν προσωρινό διακομιστή ιστού για να επιβεβαιώσει το δικαίωμά σας στον τομέα. Είναι ιδανικό για απλή και γρήγορη εγκατάσταση. Όταν επιλέγετε αυτήν τη μέθοδο, είναι σημαντικό να διατηρείτε τη θύρα 80 ελεύθερη.
Η δεύτερη επιλογή είναι προτιμότερη εάν διαθέτετε ήδη διακομιστή web που λειτουργεί και θέλετε να τον χρησιμοποιήσετε για να επαληθεύσετε το δικαίωμα στον τομέα. Το Certbot τοποθετεί ειδικά αρχεία σε έναν φάκελο στον διακομιστή σας, τα οποία στη συνέχεια ελέγχονται από το κέντρο πιστοποίησης.
Επιλέγουμε την πρώτη επιλογή και κάνουμε κλικ στο επόμενο. Σε αυτό το στάδιο, θα χρειαστεί να:
- Εισαγάγετε μια διεύθυνση email.
- Συμφωνείτε με τους όρους παροχής υπηρεσιών.
- Συμφωνείτε ή αρνηθείτε να λαμβάνετε μηνύματα ηλεκτρονικού ταχυδρομείου εκ μέρους της εταιρείας και των συνεργατών της.
- Καθορίστε το όνομα τομέα για το οποίο εκδίδεται το πιστοποιητικό.
Αφού ολοκληρώσετε τη διαδικασία έκδοσης πιστοποιητικού με το εργαλείο Certbot, θα υποδείξει τη διαδρομή προς τον κατάλογο όπου είναι αποθηκευμένα το εκδοθέν πιστοποιητικό και τα δεδομένα για τον λογαριασμό σας:
Το μόνο που μένει είναι να συνδέσετε το πιστοποιητικό που αποκτήσατε με την απαιτούμενη υπηρεσία.
Εγκατάσταση του πιστοποιητικού για Nginx ή Apache
Αυτή η ενότητα προϋποθέτει ότι πληρούνται ορισμένες θεμελιώδεις προϋποθέσεις:
- Έχετε ήδη εγκαταστήσει και διαμορφώσει έναν διακομιστή ιστού, είτε Nginx είτε Apache. Πρέπει να είναι προσβάσιμο από το Διαδίκτυο μέσω του ονόματος τομέα για το οποίο σκοπεύετε να αποκτήσετε το πιστοποιητικό.
- Κατά την εγκατάσταση του εργαλείου, εγκαταστήσατε επίσης ένα πρόσθετο για Nginx ή Apache χρησιμοποιώντας την κατάλληλη εντολή.
- Το τείχος προστασίας επιτρέπει συνδέσεις στις θύρες 80 και 443. Εάν αυτές οι θύρες είναι κλειστές για συνδέσεις, η υπηρεσία δεν θα είναι διαθέσιμη για εισερχόμενες συνδέσεις. Για περισσότερες λεπτομέρειες σχετικά με τη λειτουργία του τείχους προστασίας, το συζητήσαμε στο άρθρο σχετικά εγκατάσταση τείχους προστασίας στο Linux.
Αφού πληρούνται όλες οι προϋποθέσεις, μπορείτε να προχωρήσετε απευθείας στην έκδοση του πιστοποιητικού. Θα εξετάσουμε τη διαδικασία απόκτησης πιστοποιητικού SSL σε διακομιστή χρησιμοποιώντας το Nginx ως παράδειγμα. Ωστόσο, εάν χρησιμοποιείτε διακομιστή ιστού Apache, η διαδικασία είναι εντελώς πανομοιότυπη.
Για να αποκτήσετε το πιστοποιητικό, πρέπει να εισαγάγετε την εντολή:
certbot --nginx # for Nginx
certbot --apache # for Apache
Σε απάντηση, το εργαλείο θα ζητήσει: μια διεύθυνση email, συναίνεση με τους όρους χρήσης της υπηρεσίας Let's Encrypt και άδεια αποστολής μηνυμάτων ηλεκτρονικού ταχυδρομείου εκ μέρους της υπηρεσίας και των συνεργατών της.
Στη συνέχεια, θα πρέπει να καθορίσετε το όνομα τομέα για το οποίο εκδίδεται το πιστοποιητικό. Το Certbot μπορεί να προσδιορίσει αυτόματα τον τομέα εάν έχει καθοριστεί στο πεδίο server_name για τη διαμόρφωση Nginx ή στο ServerName και ServerAlias για Apache . Εάν δεν καθοριστεί, το πρόγραμμα θα σας ειδοποιήσει και θα σας ζητήσει να εισαγάγετε το όνομα τομέα χειροκίνητα. Στη συνέχεια, το βοηθητικό πρόγραμμα θα σας ρωτήσει εάν θα ενεργοποιηθεί η ανακατεύθυνση αιτημάτων από το πρωτόκολλο HTTP στο πρωτόκολλο HTTPS. Για να ρυθμίσετε την αυτόματη ανακατεύθυνση, θα πρέπει να επιλέξετε τη δεύτερη επιλογή:
Μετά από κάποιο χρονικό διάστημα, το Certbot θα σας ενημερώσει για την επιτυχή απόκτηση του πιστοποιητικού για τον καθορισμένο τομέα. Από αυτό το σημείο και μετά, όλες οι εισερχόμενες συνδέσεις θα ανακατευθύνονται από τη θύρα 80 στη θύρα 443. Το εργαλείο θα εμφανίσει τους καταλόγους στους οποίους μπορείτε να βρείτε όλα τα δεδομένα πιστοποιητικού και τα στοιχεία λογαριασμού Let's Encrypt:
Το μήνυμα θα προσδιορίζει επίσης την περίοδο ισχύος του πιστοποιητικού που αποκτήθηκε και σημαντικές επιλογές για τη διαχείριση όλων των ενεργών πιστοποιητικών:
- σίγουρα. Αυτή η επιλογή χρησιμοποιείται για τη λήψη ή την ενημέρωση του πιστοποιητικού χωρίς αυτόματη διαμόρφωση διακομιστή web. Το Certbot θα ζητήσει ή θα ενημερώσει μόνο το πιστοποιητικό, αλλά δεν θα κάνει καμία αυτόματη αλλαγή στη διαμόρφωση του διακομιστή. Προηγουμένως, χρησιμοποιούσαμε αυτήν την επιλογή για να αποκτήσουμε ένα πιστοποιητικό χωρίς να είμαστε συνδεδεμένοι με διακομιστή web.
- ανανεώσει χρησιμοποιείται για την αυτόματη ανανέωση όλων των πιστοποιητικών που έχουν ληφθεί μέσω Certbot και βρίσκονται εντός της περιόδου ισχύος τους. Το πρόγραμμα θα ελέγξει όλα τα πιστοποιητικά και εάν κάποιο από αυτά λήξει εντός 30 ημερών ή λιγότερο, θα ανανεωθεί αυτόματα.
Στη συνέχεια, στις οδηγίες, θα συζητήσουμε πώς να ρυθμίσετε την αυτόματη ανανέωση πιστοποιητικών χωρίς παρέμβαση χρήστη κάθε τρεις μήνες.
Αυτόματη ανανέωση πιστοποιητικού στο Certbot
Για Debian/Ubuntu
Όταν χρησιμοποιείτε αυτά τα λειτουργικά συστήματα, το Certbot προσθέτει αυτόματα μια δέσμη ενεργειών στη λίστα εργασιών για την αυτόματη ανανέωση των εγκατεστημένων πιστοποιητικών. Μπορείτε να ελέγξετε τη λειτουργικότητα του σεναρίου με την ακόλουθη εντολή:
systemctl status certbot.timer
Η απάντηση θα εμφανίσει την κατάσταση της υπηρεσίας, καθώς και τον κατάλογο που περιέχει το αρχείο διαμόρφωσης. Μπορείτε να το ανοίξετε χρησιμοποιώντας οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου. Εάν δεν έχετε εμπειρία με προγράμματα επεξεργασίας κειμένου σε Linux, σας συνιστούμε να εξοικειωθείτε με την επισκόπησή μας για τις πιο δημοφιλείς λύσεις. Σε αυτήν την περίπτωση, θα χρησιμοποιήσουμε το nano:
nano /lib/systemd/system/certbot.timer
Επισημαίνονται όλες οι σημαντικές παράμετροι:
- Το πρόγραμμα υποδεικνύει ότι η υπηρεσία θα εκτελείται δύο φορές την ημέρα στις 00:00 και στις 12:00.
- Μια δεύτερη τιμή υποδεικνύει μια τυχαία καθυστέρηση σε δευτερόλεπτα που θα προστεθεί στην έναρξη του χρονοδιακόπτη. Σε αυτήν την περίπτωση, είναι 43,200 δευτερόλεπτα (12 ώρες), που κάνει την εκτόξευση πιο τυχαία και κατανέμει το φορτίο.
- Αυτή η παράμετρος διασφαλίζει ότι εάν ο χρονοδιακόπτης έπρεπε να εκτελεστεί κατά τη διάρκεια ενός τερματισμού λειτουργίας του συστήματος, θα ενεργοποιηθεί αμέσως κατά την εκκίνηση.
Μπορείτε επίσης να εκτελέσετε έναν αναγκαστικό έλεγχο ανανέωσης πιστοποιητικού με την εντολή:
certbot renew --dry-run
Χρησιμοποιώντας αυτήν την εντολή, τα πιστοποιητικά δεν θα ενημερωθούν. Αντίθετα, το εργαλείο θα εκτελέσει ενέργειες παρόμοιες με την απόκτηση πιστοποιητικού κατά τη λήξη του. Με αυτόν τον τρόπο, μπορείτε να διασφαλίσετε τη λειτουργικότητα της υπηρεσίας σχετικά με την αυτόματη ανανέωση.
Για CentOS, Fedora και άλλους
Η διαδικασία ενεργοποίησης των αυτόματων ενημερώσεων σε συστήματα της οικογένειας Red Hat διαφέρει ελαφρώς. Σε αντίθεση με τα Debian/Ubuntu, για το CentOS και άλλα συστήματα, πρέπει να προσθέσετε χειροκίνητα μια εργασία στον χρονοπρογραμματιστή. Για αυτό, θα χρησιμοποιήσουμε το εργαλείο cron :
crontab -e
Στη συνέχεια, στο αρχείο που ανοίγει, προσθέστε την ακόλουθη γραμμή:
0 12 * * * /usr/bin/certbot renew --quiet
Ας αναλύσουμε τα κύρια επιχειρήματα της εντολής:
- Ο χρόνος εκτέλεσης. Σε αυτήν την περίπτωση, η εντολή θα εκτελείται αυτόματα στις 12:00 κάθε μέρα.
- Η εντολή για ανανέωση πιστοποιητικών SSL/TLS χρησιμοποιώντας Certbot.
- The --ησυχία Η σημαία καταστέλλει την έξοδο, καθιστώντας τη διαδικασία πιο κρυφή και λιγότερο παρεμβατική στα αρχεία καταγραφής ή στην οθόνη του συστήματος.
Αφού προσθέσετε την εντολή, πρέπει να αποθηκεύσετε τις αλλαγές στο αρχείο.
Όπως και με το Debian/Ubuntu, μπορείτε επίσης να ξεκινήσετε έναν αναγκαστικό έλεγχο ανανεώσεων πιστοποιητικών:
certbot renew --dry-run
Το αποτέλεσμα μιας επιτυχημένης εκτέλεσης της εντολής έχει ως εξής:
Συμπέρασμα
Εξερευνήσαμε την ολοκληρωμένη διαδικασία εγκατάστασης και διαμόρφωσης του Certbot σε διακομιστή Linux. Ακολουθώντας τις παρεχόμενες οδηγίες, μπορείτε να αποκτήσετε με επιτυχία ένα πιστοποιητικό SSL/TLS από το Let's Encrypt, να το εγκαταστήσετε στον διακομιστή ιστού σας και να διαμορφώσετε την αυτόματη ανανέωση για να εξασφαλίσετε συνεχή προστασία και αυξημένη εμπιστοσύνη στον πόρο ιστού σας. Με το Certbot, μπορείτε εύκολα να δημιουργήσετε ένα αξιόπιστο και ασφαλές περιβάλλον για τους χρήστες.