So installieren Sie ein SSL-Zertifikat auf Apache für CentOS 7

Einführung

SSL-Zertifikate sind kleine Datendateien, die den Besitz eines öffentlichen kryptografischen Schlüssels zertifizieren. Zertifizierungsstellen (CA) garantieren, dass der Schlüssel zu einer Organisation, einem Server oder einer anderen im Zertifikat aufgeführten Entität gehört.

Wenn ein Benutzer über seinen Browser auf eine zertifizierte Website zugreift, werden die Informationen mit einem eindeutigen öffentlichen Schlüssel verschlüsselt. Die Daten können nur mit einem eindeutigen privaten Schlüssel entschlüsselt werden, der sich auf dem Hostserver befindet. Diese hohe Verschlüsselungsstufe verhindert unbefugte Zugriffsversuche auf die Informationen.

In diesem Lernprogramm erfahren Sie, wie Sie ein SSL-Zertifikat unter CentOS 7 installieren.

 Tutorial zur Installation des SSL-Zertifikats unter CentOS 7.

Voraussetzungen

  • Ein Benutzer mit Sudo-Rechten
  • Zugriff auf eine Befehlszeile (Strg-Alt-T)
  • Ein CentOS 7-Computer
  • Ein gültiger Domänenname mit DNS, der auf den Server verweist

So erhalten Sie ein SSL-Zertifikat

Es gibt verschiedene Möglichkeiten, ein Zertifikate:

  1. Verwendung einer automatisierten und kostenlosen Zertifizierungsstelle wie dem Let’s Encrypt-Projekt.
  2. Kommerzielle Zertifizierungsstellen stellen Zertifikate gegen Gebühr zur Verfügung (Comodo, DigiCert, GoDaddy)
  3. Alternativ ist es möglich, ein selbstsigniertes Zertifikat zu erstellen. Diese Art von Zertifikat ist nützlich für Testzwecke oder zur Verwendung in einer Entwicklungsumgebung.

Wenn Sie immer noch überlegen, welche Art von Zertifikat Sie benötigen oder welche Zertifizierungsstelle Sie wählen sollen, haben wir einen umfassenden Leitfaden zu SSL-Zertifikaten, privaten Schlüsseln und CSRs erstellt, der Sie dabei unterstützt.

Hinweis: Vertrauenswürdige Zertifizierungsstellen überprüfen keine selbstsignierten Zertifikate. Benutzer können es nicht verwenden, um die Identität ihres Servers automatisch zu überprüfen.

Installieren Sie das SSL-Zertifikat mit Let’s Encrypt

Let’s Encrypt ist eine kostenlose, offene und automatisierte Zertifizierungsstelle. Es verwendet das certbot-Softwaretool, um Zertifikate automatisch zu verwalten.

Certbot ist ein hochautomatisiertes Tool. Stellen Sie sicher, dass Ihre Apache-Installation gültig ist und dass Sie einen virtuellen Host für Ihre Domäne (n) konfiguriert haben. Sie sollten zuerst unser Tutorial zur Installation von Apache unter CentOS 7 lesen, wenn Sie Unterstützung bei der Konfiguration Ihrer Firewall und virtuellen Hosts benötigen.

Certbot-Installation

1. Verwenden Sie das Befehlsterminal, um das EPEL-Repository und yum-utils zu installieren:

sudo yum –y install epel-release yum-utils

2. Installieren Sie als Nächstes ein Modul, das SSL für Apache unterstützt:

sudo yum -y install mod_ssl

In diesem Beispiel ist die neueste Version des Moduls bereits verfügbar.

 Befehl, der ein Modul zur Unterstützung von SSL für Apache installiert.

3. Wir können jetzt certbot für Apache installieren:

sudo yum –y install python-certbot-apache

4. Sobald die Installation abgeschlossen ist, können Sie den Vorgang zum Abrufen eines Zertifikats starten, indem Sie Folgendes eingeben:

sudo certbot –apache –d yourdomain.com

Alternativ können Sie certbot starten, indem Sie Folgendes eingeben:

sudo certbot

5. Der Kunde fordert Sie auf, eine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu lesen und zu akzeptieren. Certbot listet dann die auf Ihrem Server verfügbaren Domains auf. Aktivieren Sie HTTPS für bestimmte oder alle Domains, indem Sie das Feld leer lassen.

 Certbot dann die Domains auf Ihrem Server zur Verfügung.

Mit der nächsten Eingabeaufforderung können Sie alle Anforderungen erzwingen, um den HTTPS-Zugriff zu sichern.

Sobald Sie Ihre Auswahl getroffen haben, bestätigt die Meldung auf dem Terminal, dass Sie die Verschlüsselung für Ihre Domain aktiviert haben.

Automatische Zertifikatserneuerung

Die von Let’s Encrypt ausgestellten Zertifikate sind 90 Tage gültig. Der Befehl certbot renew überprüft die installierten Zertifikate und versucht, sie zu erneuern, wenn sie weniger als 30 Tage vor dem Ablaufdatum liegen. Um diesen Prozess zu automatisieren, erstellen Sie einen Cron-Job, um den Befehl regelmäßig auszuführen.

Verwenden Sie Ihren bevorzugten Texteditor, um festzulegen, wie oft der Befehl renew ausgeführt werden soll:

sudo crontab -e

Geben Sie diese Zeile ein und speichern Sie die Crontab:

* */12 * * * /usr/bin/certbot renew >/dev/null 2>&1

So installieren Sie das SSL-Zertifikat mit Comodo

1. Der erste Schritt besteht darin, eine Zertifikatsignierungsanforderung an eine Zertifizierungsstelle zu senden. Unsere ausführliche Anleitung zum Generieren einer Zertifikatsignieranforderung (Certificate Signing Request, CSR) mit OpenSSL ist eine hervorragende Ressource, wenn Sie Unterstützung bei diesem Prozess benötigen.

2. Sobald eine Zertifizierungsstelle Ihre Anfrage zertifiziert hat, erhalten Sie eine Kopie Ihres SSL-Zertifikats. Sie können das Zertifikat jetzt auf Ihrem CentOS 7-Server installieren.

Dieses Beispiel zeigt, wie Sie ein Zertifikat von einem kostenpflichtigen SSL-Anbieter, Comodo, installieren.

3. Sobald Comodo Ihre CSR-Anfrage überprüft hat, laden Sie die SSL-Dateien herunter. Kopieren Sie sie (ComodoRSACA.crt) und das primäre Zertifikat (yourdomain.crt), in Ihr Apache-Serververzeichnis. Der private Schlüssel, der während des CSR-Prozesses (Certificate Signing Request) generiert wird, muss sich auf demselben Server befinden.

Virtuelle Hosts für SSL konfigurieren

Nachdem Sie die Domäne erfolgreich zertifiziert und die Schlüsseldateien auf dem Server abgelegt haben, müssen Sie im nächsten Schritt die virtuellen Hosts für die Anzeige des Zertifikats konfigurieren.

1. Zugriff auf die SSL-Konfigurationsdatei:

sudo nano /etc/httpd/conf.d/ssl.conf

2. Bearbeiten Sie die Konfigurationsdatei, um auf die richtigen Dateien auf Ihrem Server zu verweisen.

Kommentieren Sie die folgenden Zeilen unter Abschnitt <VirtualHost_default_:443> aus und geben Sie die korrekten Dateipfade ein:

  • DocumentRoot „/var/www/yourdomain.com“
  • ServerName yourdomain.com: 443
 Allgemeiner Host für virtuellen Host
  • SSLEngine on
  • SSLCertificateFile – Der Pfad Ihrer Zertifikatsdatei.
  • SSLCertificateKeyFile – Der Pfad Ihrer Schlüsseldatei.
  • SSLCertificateChainFile – Die zwischengeschaltete COMODO-Zertifikatsdatei.
 Fortsetzung der allgemeinen Einrichtung für den virtuellen Host.

3. Nachdem Sie die erforderlichen Änderungen vorgenommen haben, beenden Sie die Datei (Strg + X) und drücken Sie y, um die Änderungen zu speichern.

4. Testen Sie Ihre Apache-Konfiguration vor dem Neustart. Stellen Sie sicher, dass die Syntax korrekt ist, indem Sie Folgendes eingeben:

sudo apachectl configtest

5. Sobald das System bestätigt, dass die Syntax korrekt ist, starten Sie Apache neu:

sudo systemctl restart httpd

Sie haben nun Ihren Apache-Server für die Verwendung des SSL-Zertifikats eingerichtet.

Erstellen eines selbstsignierten SSL-Zertifikats

Ein selbstsigniertes Zertifikat eignet sich zum Testen, in Entwicklungsumgebungen und in einem Intranet.

1. Wie bei Let’s Encrypt bietet das Apache-Modul mod_ssl Unterstützung für die SSL-Verschlüsselung:

sudo yum –y install mod_ssl

2. Erstellen Sie ein neues Verzeichnis zum Speichern des privaten Schlüssels:

sudo mkdir /etc/ssl/privatekey

3. Beschränken Sie den Zugriff auf dieses Verzeichnis nur auf den Root-Benutzer:

sudo chmod 700 /etc/ssl/privatekey

4. Generieren Sie ein selbstsigniertes Zertifikat mit diesem OpenSSL-Befehl:

sudo openssl req -x509 -new -newkey rsa:2048 -nodes -days 365 -keyout /etc/ssl/privatekey/ yourdomain.key -out /etc/ssl/certs/yourdomain.csr

Dies ist eine detaillierte Übersicht der Elemente:

  • openssl – aktiviert die OpenSSL-Software
  • req – zeigt an, dass wir eine CSR benötigen
  • -x509 – gibt an, die X.509-Signaturanforderung zu verwenden
  • -new -newkey – Generieren Sie einen neuen Schlüssel
  • rsa:2048 – Generieren Sie einen mathematischen 2048-Bit-RSA-Schlüssel
  • -Knoten – kein DES, dh verschlüsseln Sie den privaten Schlüssel nicht in einer PKCS #12-Datei
  • -Tage 365 – Anzahl der Tage, für die das Zertifikat gültig ist
  • -keyout – gibt die Domäne an, für die Sie einen Schlüssel generieren
  • -out – gibt den Namen der Datei an, die das CSR-Zertifikat

Hinweis: Stellen Sie sicher, dass Sie Ihre Domain durch Ihre tatsächliche Domain ersetzen.

5. Das System startet einen Fragebogen, den Sie ausfüllen müssen.

Geben Sie Ihre Daten in die verfügbaren Felder ein:

  • Ländername – Verwenden Sie einen 2-Buchstaben–Ländercode
  • Staat – der Staat, in dem der Domaininhaber eingetragen ist
  • Ort – die Stadt, in der der Domaininhaber eingetragen ist
  • Organisationsname – eine Entität, der die Domäne gehört
  • Name der Organisationseinheit – die Abteilung oder Gruppe in Ihrer Organisation, die mit Zertifikaten arbeitet
  • Allgemeiner Name – meistens der vollqualifizierte Domänenname (FQDN)
  • E–Mail-Adresse – Kontakt-E-Mail-Adresse
  • Passwort anfordern – Definieren Sie ein optionales Passwort für Ihre schlüsselpaar

Das Bild stellt einen Beispielfragebogen in CentOS 7 dar.

 Beispiel Fragebogen in CentOS 7.

6. Konfigurieren Sie den virtuellen Host für die Anzeige des neuen Zertifikats. Der Vorgang ist identisch mit den Schritten in Kapitel 2, Konfigurieren virtueller Hosts für SSL.

7. Testen Sie Ihre Apache-Konfiguration vor dem Neustart. Um sicherzustellen, dass die Syntax korrekt ist, geben Sie:

sudo apachectl configtest

8. Sobald das System bestätigt, dass die Syntax korrekt ist, starten Sie Apache neu:

sudo systemctl restart httpd

Sie haben jetzt Ihren Apache-Server für die Verwendung Ihres selbstsignierten SSL-Zertifikats eingerichtet und sollten Ihre Site mit aktiviertem SSL besuchen können.

Wie prüfe ich, ob ein SSL-Zertifikat gültig ist?

Um zu überprüfen, ob ein SSL-Zertifikat gültig ist, können Sie öffentlich verfügbare Dienste wie den SSL-Servertest verwenden. Bestätigen Sie den Status Ihres Zertifikats und überprüfen Sie, ob alle Details korrekt sind.

Alternativ können Sie über https:// auf Ihre Website zugreifen, um zu sehen, ob das SSL-Zertifikat sichtbar ist. Das grüne Vorhängeschloss zeigt an, dass die zusätzliche Verschlüsselungsschicht vorhanden ist.

 beispiel für die Überprüfung des SSL-Status im Browser

Fazit

Wenn Sie diese Anweisungen befolgen, haben Sie den Datenverkehr auf Ihrer CentOS Linux Distribution-Website durch die Implementierung eines SSL-Zertifikats gesichert.

Ihr neues SSL-Zertifikat stellt sicher, dass alle Daten, die zwischen Webserver und Browser übertragen werden, privat und sicher bleiben.

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht.