Website-Suche

Sichern Sie Apache mit Lets Encrypt SSL-Zertifikat unter CentOS 8


Die Sicherung Ihres Webservers ist immer einer der Schlüsselfaktoren, die Sie berücksichtigen sollten, bevor Sie Ihre Website in Betrieb nehmen. Ein Sicherheitszertifikat ist für die Sicherung des von Webbrowsern an Webserver gesendeten Datenverkehrs von entscheidender Bedeutung. Dadurch wird es Benutzer dazu anregen, Daten mit Ihrer Website auszutauschen, in dem vollen Wissen, dass der gesendete Datenverkehr gesichert ist.

In den meisten Fällen werden Sicherheitszertifikate jährlich bezahlt und erneuert. Das Let's Encrypt-Zertifikat ist eine kostenlose, offene und automatisierte Zertifizierungsstelle, die Sie zum Verschlüsseln Ihrer Website verwenden können. Das Zertifikat läuft alle 90 Tage ab und erneuert sich automatisch und völlig kostenlos.

Empfohlene Lektüre: So sichern Sie Nginx mit Let’s Encrypt unter CentOS 8

In diesem Artikel zeigen wir Ihnen, wie Sie das Let's Encrypt-Zertifikat mit Certbot für den Apache-Webserver installieren und später das Zertifikat konfigurieren können unter CentOS 8 automatisch zu erneuern.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Folgendes vorhanden ist:

1. Eine Instanz des CentOS 8-Servers mit installiertem und ausgeführtem Apache HTTP-Webserver. Sie können bestätigen, dass Ihr Apache-Webserver betriebsbereit ist.

sudo dnf install httpd
sudo systemctl status httpd

2. Ein vollqualifizierter Domänenname (FQDN), der auf die öffentliche IP-Adresse Ihres Webservers bei Ihrem DNS-Webhosting-Anbieter verweist. Für diese Anleitung verwenden wir linuxtechwhiz.info und verweisen auf die IP 34.67.63.136 des Servers.

Schritt 1. Installieren Sie Certbot in CentOS 8

Certbot ist ein Client, der die Installation des Sicherheitszertifikats automatisiert. Es ruft das Zertifikat von der Let’s encrypt Authority ab und stellt es ohne großen Aufwand auf Ihrem Webserver bereit.

Certbot ist völlig kostenlos und ermöglicht Ihnen die interaktive Installation des Zertifikats, indem es Anweisungen basierend auf der Konfiguration Ihres Webservers generiert.

Bevor Sie den certbot herunterladen, installieren Sie zunächst die Pakete, die für die Konfiguration einer verschlüsselten Verbindung erforderlich sind.

Wir beginnen mit der Installation des EPEL-Repositorys, das hochwertige Zusatzpakete für RHEL-basierte Systeme bereitstellt:

sudo dnf install epel-release

Als nächstes installieren Sie die Pakete mod_ssl und openssl.

sudo dnf install mod_ssl openssl

Nachdem alle Abhängigkeiten installiert wurden, installieren Sie Certbot und das Apache-Modul für Certbot.

sudo dnf install certbot python3-certbot-apache

Der Befehl installiert Certbot, das Apache-Modul für Certbot und andere Abhängigkeiten.

Schritt 2: Erstellen Sie einen virtuellen Apache-Host

Der nächste Schritt besteht darin, eine virtuelle Hostdatei für unsere Domain zu erstellen – linuxtechwhiz.info. Erstellen Sie zunächst das Dokumentstammverzeichnis, in dem Sie Ihre HTML-Dateien platzieren.

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

Erstellen Sie wie gezeigt eine Testdatei index.html.

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

Erstellen Sie als Nächstes wie gezeigt eine virtuelle Hostdatei.

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

Hängen Sie die Konfiguration unten an.

<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>

Speichern und schließen.

Weisen Sie dem Dokumentstamm die Berechtigungen wie gezeigt zu.

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

Damit die Änderungen wirksam werden, starten Sie den Apache-Dienst neu.

sudo systemctl restart httpd

Schritt 3: Installieren Sie das SSL-Zertifikat von Let’s Encrypt unter CentOS 8

Führen Sie nun certbot wie gezeigt aus, um mit der Installation des Let’s Encrypt-Zertifikats zu beginnen.

sudo certbot --apache -d domain.com

In unserem Fall wäre das:

sudo certbot --apache -d linuxtechwhiz.info

Der Befehl führt Sie durch eine Reihe von Eingabeaufforderungen, damit Sie Lets Encrypt für Ihre Domain konfigurieren können. Geben Sie unbedingt Ihre E-Mail-Adresse an, akzeptieren Sie die Nutzungsbedingungen und geben Sie die Domänennamen an, die Sie verwenden möchten. Das HTTPS-Protokoll ist die verschlüsselte Version von HTTP.

Wenn alles gut gelaufen ist, sollten Sie am Ende eine Glückwunschnachricht erhalten, die Sie darüber informiert, dass Ihre Website mit dem Let's Encrypt-Zertifikat gesichert wurde. Auch die Gültigkeit Ihres Zertifikats wird angezeigt – in der Regel nach 90 Tagen nach der Bereitstellung.

Gehen Sie nun zurück zu Ihrer virtuellen Hostdatei und fügen Sie die folgenden Konfigurationszeilen hinzu.

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

Speichern und schließen.

Die endgültige Konfiguration des virtuellen Apache-Hosts sieht in etwa so aus:

<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>

Starten Sie Apache noch einmal neu.

sudo systemctl restart httpd

Schritt 4: Überprüfung des Let’s Encrypt SSL-Zertifikats

Um zu überprüfen, ob alles funktioniert, starten Sie Ihren Browser und rufen Sie die IP-Adresse Ihres Servers auf. Am Anfang der URL sollte nun ein Vorhängeschlosssymbol angezeigt werden.

Um weitere Details zu erhalten, klicken Sie auf das Vorhängeschloss-Symbol und klicken Sie im angezeigten Pulldown-Menü auf die Option „Zertifikat“.

Die Zertifikatsdetails werden im nächsten Popup-Fenster angezeigt.

Sie können Ihren Server auch unter https://www.ssllabs.com/ssltest/ testen und Ihre Website sollte wie gezeigt die Note „A“ erhalten.

Schritt 5: Let’s Encrypt SSL-Zertifikat automatisch erneuern

Let’s Encrypt ist nur 90 Tage gültig. Normalerweise wird der Erneuerungsprozess durch das Paket certbot durchgeführt, das dem Verzeichnis /etc/cron.d ein Erneuerungsskript hinzufügt. Das Skript wird zweimal täglich ausgeführt und erneuert jedes Zertifikat automatisch innerhalb von 30 Tagen nach Ablauf.

Um den automatischen Erneuerungsprozess zu testen, führen Sie einen Probelauftest mit certbot durch.

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

Wenn keine Fehler aufgetreten sind, bedeutet dies, dass Sie startklar sind.

Damit sind wir am Ende dieses Leitfadens angelangt. In diesem Leitfaden haben wir gezeigt, wie Sie mit certbot das Let's Encrypt-Zertifikat auf einem Apache-Webserver installieren und konfigurieren können, der auf einem CentOS 8-System ausgeführt wird.