Zoeken op website

Beveilig Apache met Lets Encrypt SSL-certificaat op CentOS 8


Het beveiligen van uw webserver is altijd een van de belangrijkste factoren waarmee u rekening moet houden voordat u uw website live gaat. Een beveiligingscertificaat is van cruciaal belang voor het beveiligen van verkeer dat van webbrowsers naar webservers wordt verzonden. Door dit te doen, zal het gebruikers inspireren om gegevens uit te wisselen met uw website in de volledige wetenschap dat het verzonden verkeer beveiligd is.

In de meeste gevallen worden beveiligingscertificaten jaarlijks betaald en vernieuwd. Het Let’s Encrypt-certificaat is een gratis, open en geautomatiseerde certificeringsinstantie die u kunt gebruiken om uw site te versleutelen. Het certificaat verloopt na elke 90 dagen en wordt automatisch en kosteloos verlengd.

Aanbevolen leesmateriaal: Nginx beveiligen met Let's Encrypt op CentOS 8

In dit artikel laten we u zien hoe u het Let's Encrypt Certificate met Certbot voor de Apache webserver kunt installeren en later het certificaat kunt configureren om automatisch te verlengen op CentOS 8.

Vereisten

Zorg ervoor dat u over het volgende beschikt voordat u aan de slag gaat:

1. Een exemplaar van de CentOS 8-server waarop de Apache HTTP-webserver is geïnstalleerd en actief is. U kunt bevestigen dat uw Apache-webserver actief is.

sudo dnf install httpd
sudo systemctl status httpd

2. Een Fully Qualified Domain Name (FQDN) die verwijst naar het openbare IP-adres van uw webserver op uw DNS-webhostingprovider. Voor deze handleiding gebruiken we linuxtechwhiz.info, verwijzend naar het IP-adres van de server 34.67.63.136.

Stap 1. Installeer Certbot in CentOS 8

Certbot is een client die de installatie van het beveiligingscertificaat automatiseert. Het haalt het certificaat op van Let’s encrypt autoriteit en implementeert het zonder veel moeite op uw webserver.

Certbot is helemaal gratis en stelt u in staat het certificaat op een interactieve manier te installeren door instructies te genereren op basis van de configuratie van uw webserver.

Voordat u de certbot downloadt, installeert u eerst de pakketten die nodig zijn voor de configuratie van een gecodeerde verbinding.

We beginnen met het installeren van de EPEL repository, die aanvullende pakketten van hoge kwaliteit biedt voor op RHEL gebaseerde systemen:

sudo dnf install epel-release

Installeer vervolgens de pakketten mod_ssl en openssl.

sudo dnf install mod_ssl openssl

Zodra alle afhankelijkheden zijn geïnstalleerd, installeert u Certbot en de Apache module voor Certbot.

sudo dnf install certbot python3-certbot-apache

De opdracht installeert Certbot, de Apache-module voor Certbot en andere afhankelijkheden.

Stap 2: Maak een virtuele Apache-host

De volgende stap is het maken van een virtueel hostbestand voor ons domein – linuxtechwhiz.info. Begin door eerst de documenthoofdmap te maken waar u uw HTML-bestanden gaat plaatsen.

sudo mkdir /var/www/linuxtechwhiz.info.conf

Maak een testbestand index.html zoals weergegeven.

sudo echo “<h1>Welcome to Apache HTTP server</h1>” > /var/www/linuxtechwhiz.info/index.html

Maak vervolgens een virtueel hostbestand zoals weergegeven.

sudo vim /etc/httpd/conf.d/linuxtechwhiz.info

Voeg de configuratie hieronder toe.

<VirtualHost *:443>
  ServerName linuxtechwhiz.info
  ServerAlias www.linuxtechwhiz.info
  DocumentRoot /var/www/linuxtechwhiz.info/
  <Directory /var/www/linuxtechwhiz.info/>
      Options -Indexes +FollowSymLinks
      AllowOverride All
  </Directory>
  ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log
  CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined
</VirtualHost>

Opslaan en afsluiten.

Wijs de machtigingen toe aan de documenthoofdmap, zoals weergegeven.

sudo chown -R apache:apache /var/www/linuxtechwhiz.info

Start de Apache-service opnieuw op om de wijzigingen van kracht te laten worden.

sudo systemctl restart httpd

Stap 3: Installeer het Let's Encrypt SSL-certificaat op CentOS 8

Voer nu certbot uit zoals weergegeven om de installatie van het Let's Encrypt-certificaat te starten.

sudo certbot --apache -d domain.com

In ons geval zal dit zijn:

sudo certbot --apache -d linuxtechwhiz.info

De opdracht leidt u door een reeks aanwijzingen waarmee u Lets Encrypt voor uw domein kunt configureren. Zorg ervoor dat u uw e-mailadres opgeeft, de Servicevoorwaarden accepteert en de domeinnamen specificeert waarvoor u het HTTPS-protocol wilt gebruiken, wat de gecodeerde versie van HTTP is.

Als alles goed is gegaan, krijgt u aan het einde een felicitatiebericht waarin u wordt geïnformeerd dat uw site is beveiligd met het Let's Encrypt-certificaat. De geldigheid van uw certificaat wordt ook weergegeven, meestal 90 dagen na de implementatie.

Ga nu terug naar uw virtuele hostbestand en voeg de volgende configuratieregels toe.

SSLEngine On
 SSLCertificateFile    /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem
 SSLCertificateKeyFile  /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem

Opslaan en afsluiten.

De uiteindelijke Apache virtuele hostconfiguratie zal er ongeveer zo uitzien:

<VirtualHost *:443>
  ServerName linuxtechwhiz.info
  ServerAlias www.linuxtechwhiz.info
  DocumentRoot /var/www/linuxtechwhiz.info/
  <Directory /var/www/linuxtechwhiz.info/>
      Options -Indexes +FollowSymLinks
      AllowOverride All
  </Directory>
  ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log
  CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined

 SSLEngine On
 SSLCertificateFile    /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem
 SSLCertificateKeyFile  /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem
</VirtualHost>

Start Apache opnieuw op.

sudo systemctl restart httpd

Stap 4: Het Let’s Encrypt SSL-certificaat verifiëren

Om te controleren of alles werkt, start u uw browser en bezoekt u het IP-adres van uw server. U zou nu een hangslotsymbool aan het begin van de URL moeten zien.

Voor meer details klikt u op het hangslot-symbool en klikt u op de optie ‘Certificaat’ in het vervolgkeuzemenu dat verschijnt.

De certificaatgegevens worden weergegeven in het volgende pop-upvenster.

U kunt uw server ook testen op https://www.ssllabs.com/ssltest/ en uw site zou een ‘A’-cijfer moeten krijgen, zoals weergegeven.

Stap 5: Automatisch verlengen Laten we het SSL-certificaat coderen

Let’s Encrypt is slechts 90 dagen geldig. Normaal gesproken wordt het vernieuwingsproces uitgevoerd door het certbot pakket dat een vernieuwingsscript toevoegt aan de map /etc/cron.d. Het script wordt twee keer per dag uitgevoerd en elk certificaat wordt automatisch binnen 30 dagen na de vervaldatum verlengd.

Om het automatische verlengingsproces te testen, voert u een dry run-test uit met certbot.

sudo /usr/local/bin/certbot-auto renew --dry-run

Als er geen fouten zijn aangetroffen, betekent dit dat u klaar bent om te gaan.

Hiermee zijn we aan het einde van deze handleiding gekomen. In deze handleiding hebben we gedemonstreerd hoe u certbot kunt gebruiken om het Let's Encrypt-certificaat te installeren en configureren op een Apache-webserver die draait op een CentOS 8-systeem.