Πώς να ασφαλίσετε τον 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 εδώ.

 

 

Μάθετε περισσότερα για τις υπηρεσίες μας εδώ.


Ακολουθήστε μας σε LinkedIn, Facebook & Instagram για να μένετε ενημερωμένοι!

ΣΥΝΔΕΣΗ

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

ΠΑΝΩ