Σε αυτό το άρθρο, θα διερευνήσουμε τη διαδικασία εγκατάστασης και διαμόρφωσης 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, Μαλακό καπέλλο) είναι ελαφρώς διαφορετική. Αρχικά, πρέπει να προσθέσετε το αποθετήριο 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 μπορεί να προσδιορίσει αυτόματα τον τομέα εάν προσδιορίστηκε στο όνομα διακομιστή πεδίο για nginx διαμόρφωση ή Ονομα διακομιστή και 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, μπορείτε εύκολα να δημιουργήσετε ένα αξιόπιστο και ασφαλές περιβάλλον για τους χρήστες.