Πώς να εγκαταστήσετε δωρεάν πιστοποιητικό SSL για Nginx στο Debian 10


Κατά τη δημιουργία ενός ιστότοπου, ένα από τα βασικά ζητήματα που πρέπει να έχετε κατά νου είναι η ασφάλεια του ιστότοπού σας. Ένα πιστοποιητικό SSL είναι ένα ψηφιακό πιστοποιητικό που κρυπτογραφεί δεδομένα που αποστέλλονται από το πρόγραμμα περιήγησης ενός χρήστη σε έναν διακομιστή ιστού. Με αυτόν τον τρόπο, τα δεδομένα που αποστέλλονται είναι εμπιστευτικά και ασφαλή από χάκερ που χρησιμοποιούν sniffers πακέτων όπως το Wireshark για να υποκλέψουν και να κρυφακούσουν την επικοινωνία σας.

Ένας κρυπτογραφημένος ιστότοπος έχει ένα σύμβολο λουκέτου στη γραμμή URL ακολουθούμενο από το ακρωνύμιο https όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

Ένας μη κρυπτογραφημένος ιστότοπος έχει συνήθως μια ειδοποίηση "Μη ασφαλής " στη γραμμή URL.

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

Πριν ξεκινήσουμε, βεβαιωθείτε ότι πληρούνται οι ακόλουθες απαιτήσεις:

  1. Ένα στιγμιότυπο του Debian 10 Minimal Server που εκτελείται.
  2. Μια παρουσία του Nginx Web Server με εγκατάσταση τομέα στο Debian 10.
  3. Ένα εγγεγραμμένο Πλήρως πιστοποιημένο όνομα τομέα (FQDN) με την εγγραφή A να δείχνει τη διεύθυνση IP του Debian 10 στον Παροχέα τομέα σας.

Για αυτό το σεμινάριο, έχουμε το linux-console.net επισημάνει τη διεύθυνση IP 192.168.0.104.

Σε αυτό το άρθρο, εξετάζουμε πώς μπορείτε να εγκαταστήσετε το Let's Encrypt SSL στο Debian 10 για να αποκτήσετε ένα Δωρεάν πιστοποιητικό SSL για το Nginx ισχυρός> φιλοξενούμενος ιστότοπος.

Τι είναι το Let’s Encrypt SSL

Το Let’s Encrypt SSL είναι ένα δωρεάν πιστοποιητικό από το EFF (Electronic Frontier Foundation) που ισχύει για 3 μήνες και ανανεώνεται αυτόματα μετά τη λήξη του. Είναι ένας εύκολος και φθηνός τρόπος για να κρυπτογραφήσετε τον ιστότοπό σας εάν οι τσέπες σας είναι σφιχτές.

Χωρίς πολλή άλλη καθυστέρηση, ας βουτήξουμε και ας εγκαταστήσουμε το Let’s Encrypt στον διακομιστή ιστού Nginx:

Βήμα 1: Εγκαταστήστε το Certbot στο Debian 10

Για να ξεκινήσουμε, πρέπει να εγκαταστήσουμε το Certbot – είναι ένα λογισμικό που ανακτά το ψηφιακό πιστοποιητικό Let’s encrypt και αργότερα το αναπτύσσει σε έναν διακομιστή ιστού. Για να το πετύχουμε αυτό, πρέπει να εγκαταστήσουμε το πακέτο python3-certbot-nginx. Αλλά προτού το κάνουμε αυτό, ας ενημερώσουμε πρώτα τα πακέτα συστήματος.

sudo apt update

Το επόμενο βήμα είναι να εγκαταστήσετε τις εξαρτήσεις που απαιτούνται από το πακέτο python3-certbot-nginx.

sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

Τώρα ας εγκαταστήσουμε το πακέτο python3-certbot-nginx.

sudo apt install python3-certbot-nginx

Βήμα 2. Επαλήθευση της διαμόρφωσης μπλοκ διακομιστή Nginx

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

Εάν ακολουθήσατε προσεκτικά, θα πρέπει να έχετε ένα μπλοκ διακομιστή στο /etc/nginx/sites-available/some_domain. Στην περίπτωσή μας, το μπλοκ διακομιστή Nginx θα είναι

/etc/nginx/sites-available/linux-console.net

Επιπλέον, βεβαιωθείτε ότι η οδηγία όνομα_διακομιστή αντιστοιχεί στο όνομα τομέα σας.

server_name linux-console.net linux-console.net;

Για να επιβεβαιώσετε ότι όλες οι διαμορφώσεις Nginx είναι σε τάξη, εκτελέστε:

sudo nginx -t

Η παραπάνω έξοδος δείχνει ότι όλα είναι καλά.

Βήμα 3: Διαμορφώστε το Τείχος προστασίας ώστε να ανοίγει τη θύρα HTTPS

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

sudo ufw allow 'Nginx Full'

Στη συνέχεια, φορτώστε ξανά το τείχος προστασίας για να πραγματοποιήσετε τις αλλαγές.

sudo ufw reload

Για να επαληθεύσουμε ότι έχουμε επιτρέψει το πρωτόκολλο μέσω του τείχους προστασίας.

sudo ufw status

Βήμα 4: Ανάπτυξη πιστοποιητικού Let’s Encrypt SSL για τομέα

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

sudo certbot --nginx -d domain-name  -d www.domain-name.com 

Στην περίπτωσή μας, θα έχουμε

sudo certbot --nginx -d linux-console.net -d linux-console.net

Στο πρώτο βήμα, θα σας ζητηθεί να Εισαγάγετε τη διεύθυνση email σας. Πληκτρολογήστε τη διεύθυνσή σας και πατήστε Enter.

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

Το Certbot θα συνεχίσει να ζητά τη συγκατάθεσή σας για τη χρήση του email σας για να σας στέλνει ειδοποιήσεις σχετικά με τις τελευταίες εξελίξεις στο EFF. Εδώ, μπορείτε να επιλέξετε να επιλέξετε να συμμετάσχετε ή να εξαιρεθείτε, για να δηλώσετε συμμετοχή , πληκτρολογήστε Y (Ναι) και πατήστε Enter. Για να απορρίψετε τη συμμετοχή, πατήστε N (Όχι).

Στη συνέχεια, το Certbot θα επικοινωνήσει με το Let’s encrypt, θα κατεβάσει το πιστοποιητικό SSL και θα το αναπτύξει στο μπλοκ διακομιστή Nginx που έχετε ήδη δημιουργήσει.

Στην επόμενη ενότητα,  Πληκτρολογήστε 2 για να ανακατευθύνετε τη συνήθη κίνηση HTTP στο HTTPS.

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

Βήμα 5: Επαληθεύστε το HTTPS στον ιστότοπο Nginx

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

Κάντε κλικ στο εικονίδιο του λουκέτου και επιλέξτε "Πιστοποιητικό" για να δείτε τις λεπτομέρειες του πιστοποιητικού SSL.

Θα εμφανιστούν όλα τα στοιχεία του πιστοποιητικού.

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

συμπέρασμα

Φτάσαμε στο τέλος αυτού του σεμιναρίου. Στον οδηγό, μάθατε πώς να εγκαταστήσετε ένα δωρεάν πιστοποιητικό SSL για το Nginx στο Debian 10.