GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So erstellen Sie ein lokales selbstsigniertes SSL-Zertifikat unter CentOS 8

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:

  1. 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.
  2. 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.
  3. 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:

  1. Eine Instanz des CentOS 8-Servers.
  2. Apache-Webserver auf dem Server installiert
  3. 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
Cent OS
  1. So installieren Sie das SSL-Zertifikat auf Apache für CentOS 7

  2. So installieren Sie ein selbstsigniertes SSL-Zertifikat in cPanel

  3. So erstellen Sie ein lokales YUM-Repository auf CentOS 7 / RHEL 7 mithilfe einer DVD

  4. So erstellen Sie einen sudo-Benutzer unter CentOS 7

  5. So erstellen Sie ein selbstsigniertes SSL-Zertifikat unter Ubuntu 18.04

So generieren Sie selbstsignierte SSL-Zertifikate mit OpenSSL

So erstellen Sie einen Sudo-Benutzer unter CentOS

So installieren Sie Textpattern unter CentOS 7

So installieren Sie LetsEncrypt SSL mit Nginx unter CentOS 6

So installieren Sie ein kostenloses SSL-Zertifikat für Nginx unter CentOS 8

Wie kann ich ein selbstsigniertes cPanel/WHM-Zertifikat zurücksetzen/erneuern?