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

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

SSL (Secure Socket Layer) und seine verbesserte Version, Tls (Steckdosenschicht transportieren), sind Sicherheitsprotokolle, mit denen der vom Webbrowser eines Clients gesendete Webverkehr an einem Webserver gesendet wird.

Ein SSL Zertifikat ist ein digitales Zertifikat, das einen sicheren Kanal zwischen dem Browser eines Kunden und einem Webserver erstellt. Auf diese Weise werden sensible und vertrauliche Daten wie Kreditkartendaten, Anmeldeinformationen und andere hoch private Informationen verschlüsselt, wodurch Hacker daran gehindert werden, Ihre Informationen zu belauschen und zu stehlen.

Was ist ein selbstsigniertes SSL-Zertifikat?

Ein selbstsigniertes SSL-Zertifikat, im Gegensatz zu anderen SSL Zertifikate, die von a unterschrieben und vertrauen Zertifizierungsstelle (Ca), ist ein Zertifikat, das von einer Person unterzeichnet wurde, der es gehört.

Es ist völlig kostenlos, einen zu erstellen, und ist eine billige Möglichkeit, Ihren lokal gehosteten Webserver zu verschlüsseln. Die Verwendung eines selbstsignierten SSL-Zertifikats ist jedoch aus den folgenden Gründen in Produktionsumgebungen stark entmutigt:

  1. Da ist es nicht von a unterschrieben Zertifizierungsstelle, Ein selbstsigniertes SSL-Zertifikat generiert Warnungen in Webbrowsern, in denen Benutzer vor potenziellem Risiko vorangehen, falls sie sich entscheiden, fortzufahren. Diese Warnungen sind unerwünscht und werden Benutzer davon abhalten, Ihre Website zu besuchen, was möglicherweise zu einem Rückgang des Webverkehrs führt. Als Problemumgehung dieser Warnungen ermutigen Unternehmen ihre Mitarbeiter normalerweise, einfach die Warnungen zu ignorieren und voranzukommen. Dies kann eine gefährliche Angewohnheit bei Benutzern hervorrufen, die sich möglicherweise entscheiden, diese Warnungen weiterhin auf anderen Online -Websites zu ignorieren, und möglicherweise Opfer von Phishing -Sites fallen.
  2. Selbstsignierte Zertifikate haben ein Niveau mit niedriger Sicherheit, da sie niedrige Chiffre-Technologien und Hashes implementieren. Daher ist die Sicherheitsstufe möglicherweise nicht mit Standardsicherheitsrichtlinien entspricht.
  3. Darüber hinaus gibt es keine Unterstützung für öffentliche Key Infrastructure (PKI) -Funktionen.

Die Verwendung eines selbstsignierten SSL-Zertifikats ist jedoch keine schlechte Idee für Testdienste und Anwendungen auf einer lokalen Maschine, die erfordert TLS / SSL Verschlüsselung.

In diesem Leitfaden lernen Sie, wie Sie ein lokales selbstsigniertes SSL-Zertifikat auf dem installieren Apache LOCALHOST -Webserver auf a Centos 8 Serversystem.

Voraussetzungen:

Stellen Sie vor dem Einstieg sicher, dass Sie die folgenden grundlegenden Anforderungen haben:

  1. Eine Instanz des CentOS 8 -Servers.
  2. Apache -Webserver auf dem Server installiert
  3. Ein bereits in der konfigurierter und definierter Hostname /etc/hosts Datei. Für diesen Leitfaden werden wir verwenden Tecmint.lokal ein Hostname für unseren Server.

Schritt 1: Installieren von Mod_SSL auf CentOS

1. Zu Beginn müssen Sie überprüften, dass die Apache Der Webserver wird installiert und ausgeführt.

$ sudo systemctl Status httpd 

Hier ist die erwartete Ausgabe.

Überprüfen Sie den Apache -Status

Wenn der Webserver nicht ausgeführt wird, können Sie ihn beim Booten mit dem Befehl starten und aktivieren.

$ sudo systemctl starten httpd $ sudo systemctl aktivieren httpd 
Starten Sie den Apache -Webserver

Sie können danach bestätigen, ob Apache in Betrieb ist.

2. Um die Installation und das Einrichten des lokalen selbstsignierten SSL-Zertifikats zu aktivieren, die mod_ssl Paket ist erforderlich.

$ sudo dnf install mod_ssl 

Nach der Installation können Sie die Installation durch Ausführen überprüfen.

$ sudo rpm -q mod_ssl 
Überprüfen Sie die Installation der Mod SSL

Stellen Sie außerdem sicher, dass die OpenSSL Paket ist installiert (OpenSSL Kommt standardmäßig installiert in Centos 8).

$ 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 Der Webserver und alle in Schacher vorliegenden Voraussetzungen müssen ein Verzeichnis erstellen, in dem die kryptografischen Schlüssel gespeichert werden.

In diesem Beispiel haben wir ein Verzeichnis bei erstellt /etc/ssl/privat.

$ sudo mkdir -p/etc/ssl/privat 

Erstellen Sie nun den lokalen SSL -Zertifikatschlüssel und die Datei mit dem Befehl:

$ sudo openensl req -x509 -nodes -newKey RSA: 2048 -keyout tecmint.lokal.Key -out Tecmint.lokal.crt 

Schauen wir uns an, wofür einige der Optionen im Befehl tatsächlich stehen:

  • Req -X509 - Dies zeigt an, dass wir die X509 -Zertifikat -Signieranforderung (CSR) verwenden.
  • -Knoten - Diese Option weist OpenSL an, das SSL -Zertifikat mit einer Passphrase zu überspringen. Die Idee hier ist, dass Apache die Datei ohne eine Art von Benutzerintervention lesen kann, die nicht möglich wäre, wenn eine Passphrase bereitgestellt 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 beim Erstellen gespeichert werden soll.
  • -aus - Die Option gibt an, wo das erstellte SSL -Zertifikat platziert werden soll.
Erstellen Sie ein lokales SSL -Zertifikat für Apache

Schritt 3: Installieren Sie das lokale selbstsignierte SSL-Zertifikat auf Apache

4. Nachdem die SSL -Zertifikatdatei generiert wurde, ist es jetzt an der Installation des Zertifikats mithilfe der Einstellungen von Apache Web Servers. Öffnen und bearbeiten Sie die /etc/httpd/conf.D/SSL.Conf Konfigurationsdatei.

$ sudo vi/etc/httpd/conf.D/SSL.Conf 

Stellen Sie sicher, dass Sie die folgenden Zeilen zwischen den virtuellen Host -Tags haben.

 Serveradmin [E -Mail geschützt] Servername www.Tecmint.Lokale Serveralias Tecmint.Lokale documentroot/var/www/html sslengine on SslcertificateFile/etc/ssl/privat/tecmint.lokal.crt SslcertificateKeyFile/etc/ssl/privat/tecmint.lokal.Taste  

Speichern und beenden Sie die Datei. Starten Sie Apache mit dem Befehl neu, damit die Änderungen vorgenommen werden sollen:

$ sudo systemctl starten Sie HTTPD neu starten 

5. Damit externe Benutzer auf Ihren Server zugreifen können, müssen Sie den Port öffnen 443 durch die Firewall wie gezeigt.

$ sudo firewall-cmd --add-port = 443 --zone = public --permanent $ sudo Firewall-cmd-Reload 

Schritt 3: Testen des lokalen selbstsignierten SSL-Zertifikats auf Apache

Starten Sie mit allen Konfigurationen Ihren Browser und stöbern Sie in der Adresse Ihres Server.

Um die Tests zu optimieren, können Sie das HTTP -Protokoll auf HTTPS auf dem Apache -Webserver umleiten lassen. Dies ist so, dass wenn Sie die Domäne in einfacher HTTP durchsuchen, automatisch in das HTTPS -Protokoll umgeleitet wird.

Suchen Sie also die Domain oder IP Ihres Servers

https: // domain_name/ 

Sie erhalten einen Alarm, der Sie darüber informiert, dass die Verbindung nicht wie gezeigt ist. Dies wird von einem Browser zum anderen variieren. Wie Sie vielleicht vermuten, ist die Warnung darauf zurückzuführen, dass das SSL -Zertifikat nicht von der unterschrieben wird Zertifizierungsstelle und dem Browser registriert das und berichtet, dass dem Zertifikat nicht vertraut werden kann.

SSL -Zertifikat Warnung

Um zu Ihrer Website fortzufahren, klicken Sie auf die 'Fortschrittlich'Registerkarte wie oben gezeigt:

Führen Sie SSL -Zertifikatswarnungen durch

Fügen Sie als nächstes die Ausnahme zum Browser hinzu.

Bestätigen Sie die Sicherheitsausnahme

Laden Sie schließlich Ihren Browser neu und beachten Sie, dass Sie jetzt auf den Server zugreifen können, wenn auch, dass die URL-Leiste eine Warnung geben wird Zertifizierungsstelle.

Greifen Sie über HTTPS auf die Website zu

Wir hoffen, dass Sie jetzt fortfahren und ein selbstsigniertes SSL-Zertifikat auf Apache Localhost Web Server erstellen und installieren können Centos 8.