So erstellen Sie selbstsignierte SSL-Zertifikate und -tasten für Apache auf RHEL/Centos 7.0

So erstellen Sie selbstsignierte SSL-Zertifikate und -tasten für Apache auf RHEL/Centos 7.0

SSL (Sichern Sie die Steckdosen) ist ein kryptografisches Protokoll, das einen sicheren Datenfluss zwischen einem Server und seinen Clients ermöglicht, die symmetrische/asymmetrische Schlüssel unter Verwendung eines von einer Zertifikatbehörde signierten digitalen Zertifikats (CA) verwenden.

Erstellen Sie SSL -Zertifikate für Apache

Anforderungen

  1. Grundlampeninstallation auf RHEL/Centos 7.0

Dieses Tutorial bietet einen Ansatz zur Einrichtung Sichern Sie die Steckdosen (SSL) Kryptografisches Kommunikationsprotokoll auf Apache Web Server installiert in Red Hat Enterprise Linux/Centos 7.0, und generieren Sie selbstsignierte Zertifikate und Schlüssel mit Hilfe eines Bash-Skripts, das den gesamten Prozess erheblich vereinfacht.

Schritt 1: Installieren und konfigurieren Sie Apache SSL

1. Um SSL auf Apache HTTP Server zu aktivieren.

# yum installieren mod_ssl openSSL
Installieren Sie das SSL -Modul

2. Nach dem Installieren des SSL -Moduls neu starten Httpd Daemon und fügen Sie eine neue Firewall -Regel hinzu, um sicherzustellen, dass der SSL -Port - 443 - Es ist für externe Verbindungen auf Ihrer Maschine im Hörzustand geöffnet.

# SystemCTL Neustart httpd # Firewall-cmd --add-service = https ## Vorschriftenregel # Firewall-cmd --permanent --add-service = https ## Permanente Regel - braucht einen Neustart von Firewalld
Starten Sie den Apache -Dienst neu

3. Öffnen Sie zum Testen der SSL -Verbindung einen Remote -Browser und navigieren Sie zu Ihrer Server -IP -Adresse mithilfe des HTPS -Protokolls ein https: // server_ip.

SSL -Verbindung testen

Schritt 2: Erstellen Sie SSL -Zertifikate und -tasten

4. Die vorherige SSL -Kommunikation zwischen dem Server und dem Client wurde mithilfe eines Standardzertifikats durchgeführt und bei der Installation automatisch generiert. Um neue private Schlüssel und selbstsignierte Zertifikate zu generieren, erstellen Sie das folgende Bash-Skript auf einem ausführbaren Systempfad ($ Path).

Für dieses Tutorial /usr/local/bin/ Pfad wurde ausgewählt, stellen Sie sicher, dass das Skript ausführbar ist, und verwenden Sie es dann als Befehl, um neue SSL -Paare auf zu erstellen /etc/httpd/ssl/ als Zertifikat und Schlüssel Standardstelle.

# nano/usr/local/bin/apache_ssl

Verwenden Sie den folgenden Dateiinhalt.

#!/bin/bash mkdir/etc/httpd/ssl CD/etc/httpd/ssl echo -e "Geben Sie Ihren virtuellen Host FQDN: \ nThis ein!"Read Cert OpenSSL Genpkey -Algorithmus RSA -pkeyopt RSA_KeyGen_Bits: 2048 -out $ cert cert.Key CHMOD 600 $ cert.Key OpenSSL Req -New -key $ cert.Key -out $ cert.CSR OpenSSL X509 -REQ -Days 365 -in $ cert.CSR -Signkey $ cert.Key -out $ cert.CRT Echo -e "Das Zertifikat und der Schlüssel für $ cert wurden generiert!\ nPlease verlinken es mit Apache SSL verfügbare Website!"ls -all/etc/httpd/ssl exit 0
Erstellen Sie selbstsignierte Zertifikate und Schlüssel

5. Machen Sie nun dieses Skript ausführbar und starten Sie es, um ein neues Zertifikatpaar und den Schlüssel für Ihren virtuellen APache -SSL -Host zu generieren.

Füllen Sie es mit Ihren Informationen und achten Sie darauf Gemeinsamen Namen Wert auf Ihrem Server FQDN oder im Falle eines virtuellen Hosting, der mit der Webadresse übereinstimmt, können Sie zugreifen, wenn Sie eine sichere Website herstellen.

# chmod +x/usr/local/bin/apache_ssl # apache_ssl
Geben Sie SSL -Informationen ein

6. Nachdem das Zertifikat und die Schlüssel generiert wurden, enthält das Skript eine lange Auflistung aller in gespeicherten Apache -SSL -Paare in Apache SSL /etc/httpd/ssl/ Standort.

Apache SSL -Paare

7. Ein weiterer Ansatz zum Generieren von SSL -Zertifikaten und -Keys ist die Installation Krypto-Utils Paket auf Ihrem System und generieren Sie Paare mithilfe Genkey Befehl, der einige Probleme auferlegen kann, insbesondere wenn sie bei a verwendet werden Kitt Terminalbildschirm.

Ich schlage also vor, diese Methode nur zu verwenden, wenn Sie direkt mit einem Bildschirmmonitor verbunden sind.

# Yum Installieren Sie Crypto-Utils # genkey your_fqdn
Installieren Sie das Krypto -Paket

8. Um das neue Zertifikat und die Schlüssel zu Ihrer SSL -Website hinzuzufügen, öffnen Sie Ihre Website -Konfigurationsdatei und ersetzen Sie SslcertificateFile Und SslcertificateKeyFile Aussagen mit dem neuen Ort der neuen Paare und den Namen entsprechend.

Aktivieren Sie SSL auf virtuellenHosts

9. Wenn das Zertifikat nicht von einer vertrauenswürdigen Zertifizierungsbehörde ausgestellt wird oder der Hostname aus dem Zertifikat nicht mit dem Hostnamen übereinstimmt, der die Verbindung herstellt, sollte ein Fehler in Ihrem Browser angezeigt werden und Sie müssen das Zertifikat manuell akzeptieren.

SSL -Zertifikatfehler SSL aktiviert auf Apache

Das ist es! Jetzt können Sie verwenden Apache_SSLals Befehlszeile auf rhel/centos 7.0, um so viele Paar selbstsignierte Zertifikate und Schlüssel zu generieren, die Sie benötigen, und alle werden angehalten /etc/httpd/ssl/ Pfad mit der Schlüsseldatei mit geschütztem mit 700 Berechtigungen.