CLOUD CONCEPT
Νερατζιωτίσσης 15, Μαρούσι, Αθήνα, 15124, Αττική
+30 211 8005 401
info@c2.gr
Τα πιστοποιητικά SSL χρησιμοποιούνται απο τους web servers για να κρυπτογραφούν την μεταφορά πακέτων ανάμεσα σε client-server(HTTPS σύνδεση) .Το Let’s Encrypt είναι μια αρχή πιστοποίησης (CA) που επιτρέπει την εγκατάσταση πιστοποιητικών SSL/TLS . Τα πλεονεκτήματα του Let’s Encrypt είναι οτι πρώτον είναι δωρεάν , και δεύτερον όλη η διαδικασία εγκατάστασης μπορεί να αυτοματοποιηθεί , κάτι που το κάνει αρκετά εύκολο στη χρήση.
Παρακάτω θα δούμε πως μπορούμε να αυτοματοποίησουμε τη διαδικασία λήψης ενός πιστοποιητικού και να το χρησιμοποιήσουμε με τον Apache σε Debian 8 . Επίσης θα δούμε πώς να κάνουμε το πιστοποιητικό SSL να ανανεώνεται αυτόματα .
Εγκατεστμένα τα Debian 8 , και έναν non-root χρήστη με sudo δικαιώματα .
Εγκατεστημένο τον Apache Web Server .
Ένα η περισσότερα domain names με τα οποία θα χρησιμοποιηθεί το πιστοποιητικό .Επιπλέον πρέπει να γίνει το configuration του apache ώστε το domain name να δείχνει στην public IP του server .
Για να γίνει λήψη ενος πιστοποιητικού , πρέπει πρώτα να εγκαταστήσουμε το Let’s Encrypt Client ή αλλιώς Certbot στον server μας . Θα χρησιμοποιήσουμε την -apt get , αλλά πρώτα πρέπει να εισάγουμε το repository .
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-apache
Αν όλα πάνε καλά το Certbot είναι έτοιμο για χρήση .
Η διαδικασία εγκατάστασης ενός πιστοποιητικού σε Apache είναι πολυ απλή . Αν έχουμε ένα domain name αρκεί να εκτελέσουμε την εντολή :
sudo certbot --apache -d example.com , όπου example.com ένα τυχαίο domain name
Άν θέλουμε να χρησιμοποιήσουμε το ίδιο πιστοποιητικό για παραπάνω απο ένα domain names τότε :
sudo certbot --apache -d example.com -d www.example.com όπου example.com είναι το base domain και το www.example.com ενα απο τα subdomain του .
Αφού εκτελέσουμε μια απο τις 2 παραπάνω εντολές θα μας ζητηθούν κάποιες πληροφορίες όπως πχ το email μας για επαναφορά μυσιτκού κλειδιού , αν θέλουμε μόνιμα το http η να υπάρχει εναλλαγή ανάμεσα σε http και https κλπ .
Οταν τελειώσει όλη η διαδικασία τα αρχεία του πιστοποιητικού , λογικά θα είναι στον φάκελο /etc/letsencrypt/live .
Για να δούμε ότι όλα πήγαν καλά , επισκεφτόμαστε τον ιστότοπο μας γράφοντας https: // και παρατηρούμε την ένδειξη ασφαλείας του browser. Θα πρέπει να μας λεει ότι ο ιστότοπος είναι σωστά ασφαλισμένος, (συνήθως με μια πράσινη κλειδαριά).
Τα πιστοποιητικά του Let’s Encrypt διαρκούν μόνο για 90 μέρες . Για αυτό θα χρησιμοποιήσουμε το cron , ένα service των συστημάτων Linux , που τρέχει περιοδικές εργασίες , για να ανανεώνουμε το πιστοποιητικό αυτόματα .
Αρχικά θα ανοίξουμε το crontab , ένα text file στο οποίο γράφουμε τις εργασίες που θέλουμε να εκτελέσει το cron
sudo crontab -e
Αφού ανοίξει ο text editor θα προσθέσουμε την ακόλουθη γραμμή
15 3 * * * /usr/bin/certbot renew --quiet
Η παραπάνω γραμμή λέει στο certbot να κάνει ανανέωση κάθε μέρα στις 3:15 μ.μ. Προφανώς αυτό είναι ένα παράδειγμα , και μπορούμε να διαλέξουμε ότι ώρα θέλουμε .
Το επίθεμα --quiet δηλώνει στο certbot να μην περίμενει είσοδο απο το χρήστη για να ξεκινήσει τη διαδικασία , αλλά ούτε και να βγάλει κάποια έξοδο .
Συνοψίζοντας , όλη η διαδικασία που περιγράψαμε είναι μια καλή αρχή για να χρησιμοποιήσετε κρυπτογράφηση στον ιστοχώρο σας και να αυξήσετε την ασφάλεια του . Για περισσότερες πληροφορίες σχετικά με το Certbot και την Let’s Encrypt μπορείτε να δείτε το επίσημο documentation εδώ .