Introduction
In deze tutorial leer hoe je TLS / SSL-certificaten op Apache webserver met CentOS 7 kunt installeren. 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
Voordat je begint met de installatie heb je het volgende nodig:
- SSH toegang met root rechten of een gebruiker met sudo rechten op CentOS 7 VPS
- Apache webserver met een correct geconfigureerde domein en vhost.
Stap 1: Installeer modules
We gaan eerst de certbot Let’s Encrypt-client op de server te installeren. We installeren de EPEL-repository omdat dit niet standaard beschikbaar en de mod_ssl-module is noodzakelijk zodat de codering wordt herkend door Apache.
Voer het volgende commando uit voor de installatie:
yum install epel-release mod_ssl
Je kunt nu verder met de installatie van de certbot zelf.
Stap 2: Let’s Encrypt client downloaden
Voer het onderstaande commando uit om de certbot-client vanuit EPEL-repository te installeren.
yum install python-certbot-apache
De certbot is nu geïnstalleerd en beschikbaar voor gebruik.
Stap 3: Creëer en installeer de SSL certificaten
Certbot zal het SSL-certificaatbeheer vrij gemakkelijk afhandelen, het zal een nieuw certificaat voor een verstrekt domein als een parameter genereren. In dit geval wordt example.com gebruikt als het domein waarvoor het certificaat wordt uitgegeven:
certbot --apache -d example.com
Voer het onderstaande commando uit als je een SSL wilt genereren voor meedere domeinen of subdomeinen:
certbot --apache -d example.com -d www.example.com
BELANGRIJK! Het eerste domein moet een basisdomein zijn, in dit voorbeeld is dit example.com. Tijdens de installatie van het certificaat krijg je instructies te zien zodat je de certificaatgegevens kunt aanpassen.
Je kunt kiezen tussen HTTPS forceren of HTTP als standaardprotocol opgeven. Je moet hiervoor wel een e-mailadres gebruiken vanwege veiligheidsdoeleinden.
Nadat de installatie is voltooid krijg je het onderstaand bericht te zien.
Stap 4: Automatische verlenging instellen
De Certbot-pakketten op jouw systeem worden geleverd met een cron-taak die jouw certificaten automatisch verlengen voordat ze verlopen. Het is verstandig om gebruik te maken van deze functie, omdat de Let’s Encrypt-certificaten na 90 dagen vervallen.
Je kunt automatische verlenging van jouw certificaten testen door deze opdracht uit te voeren:
certbot renew
Als het geïnstalleerde certificaat recent is, controleert de certbot alleen de vervaldatum:
Om het vernieuwingsproces te automatiseren, kun je een cronjob instellen. Bewerk eerst de cronjob:
crontab -e
Deze taak kan elke maandag om middernacht veilig uitgevoerd worden:
0 0 * * 1 /usr/bin/certbot renew >> /var/log/sslrenew.log
De uitvoer van het script wordt doorgestuurd naar het bestand /var/log/sslrenew.log file.
Conclusie
Gefeliciteerd, je hebt zojuist jouw Apache webserver beveiligd. Vanaf nu is al het verkeer tussen jouw domeinwebserver en de client beveiligd. Je kunt er nu zeker van zijn dat niemand de communicatie kan onderscheppen en cruciale informatie kan wijzigen of stelen.
Yello says
Als ik 0 0 * * 1 /usr/bin/certbot renew >> /var/log/sslrenew.log kopieer, krijg ik een pattern error.
Geen idee hoe dit op te slaan.
Nick says
crontab -e
i (voor te inserten)
copy paste de crontab
:wq (write and quit voor te saven)