Πώς να ασφαλίσετε τον Apache με Let's Encrypt στο Debian 8

set-up-apache-with-lets-encrypt

Τα πιστοποιητικά 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)

Για να γίνει λήψη ενος πιστοποιητικού , πρέπει πρώτα να εγκαταστήσουμε το 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 είναι έτοιμο για χρήση .

Εγκατάσταση του πιστοποιητικού SSL

Η διαδικασία εγκατάστασης ενός πιστοποιητικού σε 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 εδώ .

ΣΥΝΔΕΣΗ

Αίτηση επικοινωνίας

ΠΑΝΩ