SSL (Secure Socket Layer ) und seine verbesserte Version TLS (Transport-Socket-Layer ) sind Sicherheitsprotokolle, die verwendet werden, um den Webverkehr zu sichern, der vom Webbrowser eines Clients an einen Webserver gesendet wird.
Ein SSL Das Zertifikat ist ein digitales Zertifikat, das einen sicheren Kanal zwischen dem Browser eines Clients und einem Webserver herstellt. Dabei werden sensible und vertrauliche Daten wie Kreditkartendaten, Anmeldeinformationen und andere streng vertrauliche Informationen verschlüsselt, um zu verhindern, dass Hacker Ihre Informationen abhören und stehlen.
Was ist ein selbstsigniertes SSL-Zertifikat?
Ein selbstsigniertes SSL-Zertifikat im Gegensatz zu anderen SSL-Zertifikaten Zertifikate, die von einer Zertifizierungsstelle signiert und vertrauenswürdig sind (CA ) ist ein Zertifikat, das von einer Person signiert wurde, der es gehört.
Es ist völlig kostenlos, einen zu erstellen, und es ist eine kostengünstige Möglichkeit, Ihren lokal gehosteten Webserver zu verschlüsseln. Von der Verwendung eines selbstsignierten SSL-Zertifikats in Produktionsumgebungen wird jedoch aus folgenden Gründen dringend abgeraten:
- Da es nicht von einer Zertifizierungsstelle signiert ist , generiert ein selbstsigniertes SSL-Zertifikat Warnungen in Webbrowsern, die Benutzer vor potenziellen Risiken warnen, falls sie sich entscheiden, fortzufahren. Diese Warnungen sind unerwünscht und halten Benutzer davon ab, Ihre Website zu besuchen, was möglicherweise zu einem Rückgang des Webverkehrs führt. Als Problemumgehung für diese Warnungen ermutigen Unternehmen ihre Mitarbeiter normalerweise, die Warnungen einfach zu ignorieren und fortzufahren. Dies kann bei Benutzern zu einer gefährlichen Angewohnheit führen, die diese Warnungen auf anderen Online-Websites möglicherweise weiterhin ignorieren und möglicherweise Opfer von Phishing-Websites werden.
- Selbstsignierte Zertifikate haben eine niedrige Sicherheitsstufe, da sie Verschlüsselungstechnologien und Hashes auf niedriger Ebene implementieren. Daher entspricht das Sicherheitsniveau möglicherweise nicht den Standardsicherheitsrichtlinien.
- Außerdem werden Funktionen der Public Key Infrastructure (PKI) nicht unterstützt.
Allerdings ist die Verwendung eines selbstsignierten SSL-Zertifikats keine schlechte Idee, um Dienste und Anwendungen auf einem lokalen Computer zu testen, der TLS/SSL erfordert Verschlüsselung.
In dieser Anleitung erfahren Sie, wie Sie ein lokales selbstsigniertes SSL-Zertifikat auf dem Apache installieren localhost-Webserver auf einem CentOS 8 Serversystem.
Voraussetzungen:
Bevor Sie beginnen, vergewissern Sie sich, dass Sie die folgenden Grundvoraussetzungen erfüllen:
- Eine Instanz des CentOS 8-Servers.
- Apache-Webserver auf dem Server installiert
- Ein bereits konfigurierter und definierter Hostname in /etc/hosts Datei. Für diese Anleitung verwenden wir
tecmint.local
ein Hostname für unseren Server.
Schritt 1:Installieren von Mod_SSL auf CentOS
1. Zu Beginn müssen Sie überprüfen, ob der Apache Webserver ist installiert und läuft.
$ sudo systemctl status httpd
Hier ist die erwartete Ausgabe.

Überprüfen Sie den Apache-Status
Wenn der Webserver nicht läuft, können Sie ihn beim Booten mit dem Befehl starten und aktivieren.
$ sudo systemctl start httpd $ sudo systemctl enable httpd

Starten Sie den Apache-Webserver
Danach können Sie bestätigen, ob Apache betriebsbereit ist.
2. Um die Installation und Einrichtung des lokalen selbstsignierten SSL-Zertifikats zu ermöglichen, muss die Datei mod_ssl Paket ist erforderlich.
$ sudo dnf install mod_ssl
Nach der Installation können Sie die Installation überprüfen, indem Sie.
ausführen$ sudo rpm -q mod_ssl

Überprüfen Sie die Mod-SSL-Installation
Stellen Sie außerdem sicher, dass die OpenSSL Paket installiert ist (OpenSSL wird standardmäßig in CentOS 8 installiert ).
$ sudo rpm -q openssl

Überprüfen Sie die Openssl-Installation
Schritt 2:Erstellen Sie ein lokales selbstsigniertes SSL-Zertifikat für Apache
3. Mit dem Apache Webserver und alle Voraussetzungen erfüllt sind, müssen Sie ein Verzeichnis erstellen, in dem die kryptografischen Schlüssel gespeichert werden.
In diesem Beispiel haben wir ein Verzeichnis unter /etc/ssl/private erstellt .
$ sudo mkdir -p /etc/ssl/private
Erstellen Sie nun den lokalen SSL-Zertifikatsschlüssel und die Datei mit dem folgenden Befehl:
$ sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout tecmint.local.key -out tecmint.local.crt
Schauen wir uns an, wofür einige der Optionen im Befehl tatsächlich stehen:
- req -x509 – Dies zeigt an, dass wir die x509 Certificate Signing Request (CSR) verwenden.
- -Knoten – Diese Option weist OpenSSL an, die Verschlüsselung des SSL-Zertifikats mit einer Passphrase zu überspringen. Die Idee hier ist, dass Apache die Datei ohne Benutzereingriff lesen kann, was nicht möglich wäre, wenn eine Passphrase angegeben wird.
- -newkey rsa:2048 – Dies zeigt an, dass wir gleichzeitig einen neuen Schlüssel und ein neues Zertifikat erstellen möchten. Der rsa:2048-Teil impliziert, dass wir einen 2048-Bit-RSA-Schlüssel erstellen möchten.
- -keyout – Diese Option gibt an, wo die generierte private Schlüsseldatei nach der Erstellung gespeichert werden soll.
- -aus – Die Option gibt an, wo das erstellte SSL-Zertifikat abgelegt werden soll.

Lokales SSL-Zertifikat für Apache erstellen
Schritt 3:Lokales selbstsigniertes SSL-Zertifikat auf Apache installieren
4. Nachdem Sie die SSL-Zertifikatsdatei generiert haben, ist es jetzt an der Zeit, das Zertifikat mit den Einstellungen des Apache-Webservers zu installieren. Öffnen und bearbeiten Sie die /etc/httpd/conf.d/ssl.conf Konfigurationsdatei.
$ sudo /etc/httpd/conf.d/ssl.conf
Stellen Sie sicher, dass Sie die folgenden Zeilen zwischen den virtuellen Host-Tags haben.
<VirtualHost *:443> ServerAdmin [email protected] ServerName www.tecmint.local ServerAlias tecmint.local DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/private/tecmint.local.crt SSLCertificateKeyFile /etc/private/tecmint.local.key </VirtualHost>
Speichern und beenden Sie die Datei. Damit die Änderungen wirksam werden, starten Sie Apache mit dem Befehl neu:
$ sudo systemctl restart httpd
5. Damit externe Benutzer auf Ihren Server zugreifen können, müssen Sie Port 443 öffnen durch die Firewall wie gezeigt.
$ sudo firewall-cmd --add-port=443 --zone=public --permanent $ sudo firewall-cmd --reload
Schritt 3:Lokales selbstsigniertes SSL-Zertifikat auf Apache testen
Wenn alle Konfigurationen vorhanden sind, starten Sie Ihren Browser und durchsuchen Sie die Adresse Ihres Servers mithilfe der IP-Adresse oder des Domänennamens des Servers mithilfe des https-Protokolls.
Um das Testen zu optimieren, können Sie erwägen, das HTTP-Protokoll auf HTTPS auf dem Apache-Webserver umzuleiten. Dies ist so, dass jedes Mal, wenn Sie die Domain in einfachem HTTP durchsuchen, diese automatisch zum HTTPS-Protokoll umgeleitet wird.
Durchsuchen Sie also die Domain oder IP Ihres Servers
https://domain_name/
Sie erhalten eine Warnmeldung, die Sie darüber informiert, dass die Verbindung wie gezeigt nicht sicher ist. Dies ist von Browser zu Browser unterschiedlich. Wie Sie sich vorstellen können, ist die Warnung darauf zurückzuführen, dass das SSL-Zertifikat nicht von der Zertifizierungsstelle signiert ist und der Browser registriert das und meldet, dass dem Zertifikat nicht vertraut werden kann.

SSL-Zertifikatswarnung
Um mit Ihrer Website fortzufahren, klicken Sie auf „Erweitert“. ’ Tab wie oben gezeigt:

Fortfahren Warnungen für SSL-Zertifikate
Fügen Sie als Nächstes die Ausnahme zum Browser hinzu.

Sicherheitsausnahme bestätigen
Laden Sie schließlich Ihren Browser neu und beobachten Sie, dass Sie jetzt auf den Server zugreifen können, obwohl in der URL-Leiste eine Warnung angezeigt wird, dass die Website nicht vollständig sicher ist, aus dem gleichen Grund, aus dem das SSL-Zertifikat selbstsigniert und nicht von der signiert ist Zertifizierungsstelle.

Zugriff auf die Website über HTTPS
Wir hoffen, dass Sie jetzt fortfahren und ein selbstsigniertes SSL-Zertifikat auf dem Apache localhost-Webserver unter CentOS 8 erstellen und installieren können .
Sharing is Caring…Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenAuf Reddit teilen