Πως να προστατέψετε το Apache με Let’s Encrypt σε Ubuntu 18.04

CertBot Let's Encrypt TLS/SSL certificate

To Let’s Encrypt είναι μία αρχή έκδοσης πιστοποιητικών (Certificate Authority – CA) η οποία προσφέρει έναν εύκολο τρόπο απόκτησης και εγκατάστασης δωρεάν TLS/SSL πιστοποιητικό.

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

  • Έναν Ubuntu 18.04 server με έναν sudo not-root χρήστη.
  • Ένα Domain Name. Σε αυτόν τον οδηγό θα χρησιμοποιήσουμε το your_domain για παράδειγμα.
  • Να έχεις εγκαταστήσει το Apache (Αναλυτικός οδηγός) και να έχεις ένα virtual host file. Σε αυτόν τον οδηγό θα χρησιμοποιήσουμε το /etc/apache2/sites-available/your_domain.conf για παράδειγμα.

1ο βήμα: Εγκατάσταση Certbot

Το πρώτο βήμα για να αποκτήσουμε ένα πιστοποιητικό SSL είναι να κάνουμε εγκατάσταση το Certbot στον server μας.

Πρώτα προσθέτουμε το repository εκτελώντας την παρακάτω εντολή:

sudo add-apt-repository ppa:certbot/certbot

Θα πρέπει να πατήσετε ENTER για αποδοχή. Στην συνέχεια κάνουμε εγκατάσταση το Certbot με apt:

sudo apt install python-certbot-apache

To Certbot είναι τώρα έτοιμο για χρήση.

2ο βήμα: Εγκατάσταση του πιστοποιητικού SSL.

Βεβαιωθείτε ότι έχετε το σωστό ServerName στο .conf αρχείο σας εκτελώντας την παρακάτω εντολή:

sudo nano /etc/apache2/sites-available/your_domain.conf

Βρείτε την γραμμή που έχει το ServerName. Θα πρέπει να μοιάζει σαν αυτό:

...
ServerName your_domain;
...

όπου your_domain το Domain σας. Εάν είναι σωστό κλείστε το αρχείο και συνεχίστε παρακάτω, εάν όχι αλλάξτε το και σώστε το αρχείο και έπειτα εκτελέστε τις παρακάτω εντολές:

sudo apache2ctl configtest

Εάν λάβετε κάποιο μήνυμα σφάλματος διορθώστε το αρχείο. Αλλιώς συνεχίστε με:

sudo systemctl reload apache2

3ο βήμα: Παραχωρήστε HTTPS από το Firewall σας.

Εάν έχετε το ufw firewall ενεργό θα πρέπει να επιτρέψετε HTTPS πρόσβαση.

Μπορείτε να δείτε την κατάσταση πληκτρολογώντας την παρακάτω εντολή:

sudo ufw status

Μάλλον θα έχει σαν έξοδο το παρακάτω:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Apache                     ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Apache (v6)                ALLOW       Anywhere (v6)

Για να επιτρέψουμε HTTPS πρόσβαση πληκτρολογούμε τις παρακάτω εντολές:

sudo ufw allow 'Apache Full'
sudo ufw delete allow 'Apache'

Ελέγχοντας την κατάσταση του ufw firewall θα πάρουμε το παρακάτω αποτέλεσμα:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Apache Full                ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Apache Full (v6)           ALLOW       Anywhere (v6)  

Απόκτηση SSL πιστοποιητικού.

Για να αποκτήσουμε το πιστοποιητικό μας εκτελούμε την παρακάτω εντολή:

sudo certbot --apache -d your_domain -d www.your_domain

Αντικαταστήστε το you_domain με το Domain σας.

Εάν είναι η πρώτη φορά που τρέχετε το certbot θα σας εμφανίσει μήνυμα αποδοχής των όρων. Αφού κάνετε αποδοχή θα σας εμφανίσει το παρακάτω μήνυμα για να επιλέξετε ανάμεσα στις 2 ρυθμίσεις που έχει, η πρώτη είναι να μην γίνεται redirect και η δεύτερη είναι να γίνεται:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Επιλέξτε ένα από τα δύο και πατήστε ENTER. Στο τέλος θα σας εμφανίσει ένα μήνυμα όπως το παρακάτω:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/your_domain/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/your_domain/privkey.pem
   Your cert will expire on 2019-07-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

5ο βήμα: Αυτόματη ανανέωση.

Για να κάνουμε τεστ την αυτόματη ανανέωση των πιστοποιητικών μας εκτελούμε την παρακάτω εντολή:

sudo certbot renew --dry-run

Εάν δεν εμφανιστεί κάποιο λάθος τότε είστε έτοιμοι.!!

Buy me a coffeeBuy me a coffee

Related Articles

Responses

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *