Installeer Let’s Encrypt SSL op Debian 8 met Nginx webserver

Estimated reading time: 2 min

Introductie

In deze tutorial leer je hoe je TLS / SSL-certificaten op Debian 8 Jessie kunt installeren met de Nginx webserver. Wanneer je klaar bent, wordt al het verkeer tussen de server en de client versleuteld en beveiligd. Dit is een standaard handeling voor het online beveiligen van e-commerce websites en andere financiële diensten. 

Vereisten

Alvorens je begint met het uitvoeren van de installatie heb je de onderstaande gegevens nodig:

  • SSH toegang met root rechten of een gebruiker met sudo rechten.
  • Nginx webserver met een domein en vhost configuratie.

Stap 1 – Installatie Let’s Encrypt certbot

Om Let’s Encrypt te kunnen gebruiken moeten we eerst een SSL-certificaat verkrijgen. Hiervoor moeten we een certbot Let’s Encrypt-client op de server installeren. Voer het volgende commando uit om de installatie te starten.

sudo apt-get install certbot

Stap 2 – Creëer en installeer de SSL-certificaten

Certbot zal het SSL-certificaatbeheer vrij gemakkelijk afhandelen, het zal een nieuw certificaat voor een  domein als parameter genereren.

In dit geval wordt example.com gebruikt als het domein waarvoor het certificaat wordt uitgegeven:

sudo certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com

BELANGRIJK! Het eerste domein moet een basisdomein zijn, in ons voorbeeld is dit example.com. Tijdens de installatie van het certificaat krijg je een handleiding te zien waarin je de certificaatgegevens kunt aanpassen. Je kunt kiezen tussen HTTPS forceren of HTTP als standaardprotocol opgeven. Het is van belang dat je een e-mailadres opgeeft dit i vereist voor veiligheidsdoeleinden.  

Je kunt dit ook doen met de automatische installatie van de certbot door dit commando uit te voeren:

sudo certbot --authenticator webroot --installer nginx

Stap 3 – Controleer de configuratie van het SSL-certificaat (en)

In de vorige stappen worden jouw certificaten aangemaakt en geconfigureerd. Controleer nu of jouw domain virtualhost configuratiebestand overeenkomt met de SSL hieronder.  Zo niet, plaats deze dan handmatig in de ssl-configuratie van virtualhosts:

...
listen 443 ssl http2;
listen [::]:443 ssl http2;

server_name example.com www.example.com

ssl_certificate /etc/letsencrypt/live/<your-domain>/cert.pem
ssl_certificate_key /etc/letsencrypt/live/<your-domain>/privkey.pem
...

Nu gaan we testen of het goed werkt.

nginx -t

Start ten slotte Nginx opnieuw op en je kunt zien dat uw SSL werkt. 🙂

sudo systemctl reload nginx

Stap 4 – Instellingen voor de automatische verlenging

De Certbot-pakketten worden geleverd met een cron-job waarmee je certificaten automatisch worden verlengd. Let’s Encrypt-certificaten verlopen na 90 dagen daarom is het raadzaam om gebruik te maken van deze functie. Je kunt automatische verlenging van jouw certificaten testen door dit commando uit te voeren:

sudo certbot renew --dry-run

Conclusie

Je hebt zojuist jouw Nginx webserver beveiligd door de meest gebruikte beveiligingsfunctie te implementeren. Vanaf nu is al het verkeer tussen jouw domein-webserver en de client beveiligd, je kunt er zeker van zijn dat niemand de communicatie kan onderscheppen of cruciale informatie kan stelen. 

Was this article helpful?
Dislike 0
Views: 76

Lees Interacties

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *