So installieren wir das SSL -Zertifikat, um Apache auf RHEL/Centos 7/6 zu sichern, um Apache zu sichern

So installieren wir das SSL -Zertifikat, um Apache auf RHEL/Centos 7/6 zu sichern, um Apache zu sichern

Erweitern Sie das letzte Tutorial für Let's Encrypt in Bezug Lassen Sie uns die Zertifikatsbehörde verschlüsseln für Apache Webserver auf Centos/Rhel 7/6 und auch Fedora -Verteilungen.

Wenn Sie installieren möchten, lassen Sie uns für Apache auf Debian und Ubuntu verschlüsseln, folgen Sie dieser Anleitung unten:

Setup lass uns verschlüsseln, um Apache auf Debian und Ubuntu zu sichern

Probenumgebung testen
Installieren Sie Lets Verschlüsseln für Apache auf CentOS und RHEL

Anforderungen

  1. Ein registrierter Domain -Name mit gültig A Aufzeichnungen, die auf Ihre öffentliche IP -Adresse Ihrer Server zurückkehren.
  2. Apache -Server, das mit aktivierter SSL -Modul installiert ist, und virtuelles Hosting, falls Sie mehrere Domänen oder Subdomains hosten.

Schritt 1: Installieren Sie den Apache -Webserver

1. Wenn nicht bereits installiert, kann der HTTPD -Daemon durch Ausgabe des folgenden Befehls installiert werden:

# yum install httpd 

2. Damit sich die Software verschlüsseln kann, um mit Apache zu arbeiten, stellen Sie sicher, dass das SSL/TLS -Modul durch Ausgabe des folgenden Befehls installiert ist:

# yum -y install mod_ssl 

3. Starten Sie den Apache -Server mit dem folgenden Befehl:

# Systemctl Start HTTPD.Service [zu RHEL/Centos 7] # Service HTTPD START [zu RHEL/Centos 6] 

Schritt 2: Installieren Sie lasst das SSL -Zertifikat verschlüsseln

4. Die einfachste Installationsmethode Lassen Sie uns verschlüsseln Client wird durch Klonen von Github -Repository in Ihrem Dateisystem klonen. Um GIT in Ihrem System zu installieren, müssen Sie Epel -Repositories mit dem folgenden Befehl aktivieren.

# yum install epel-release 

5. Sobald EPEL -Repos in Ihr System hinzugefügt wurden, installieren Sie den Git -Client, indem Sie den folgenden Befehl ausführen:

# Yum Installieren Sie Git 

6. Sobald Sie alle erforderlichen Abhängigkeiten installiert haben, um mit Let's Encrypt umzugehen, gehen Sie zu /usr/local/ Verzeichnis und beginnen Sie mit dem folgenden Befehl das offizielle Github -Repository mit dem Let's Encrypt -Client zu ziehen:

# CD/usr/local/ # Git Clone https: // github.com/letSencrypt/letSencrypt 

Schritt 3: Erhalten Sie ein kostenloses, lasst uns das SSL -Zertifikat für Apache verschlüsseln

7. Der Prozess des Erhaltens eines kostenlosen Let's Encrypt -Zertifikats für Apache ist automatisiert für CentOS/Rhel Vielen Dank an das Apache -Plugin.

Lass uns rennen Lassen Sie uns verschlüsseln Skriptbefehl, um ein SSL -Zertifikat zu erhalten. Gehen Sie zu Let Los Let Let Let Let Let Let Let Los Verschlüsseln Sie das Installationsverzeichnis von /usr/local/letSencrypt und leiten Sie die letSencrypt-auto Befehl durch Bereitstellung --Apache Option und die -D Fahnen Sie für jedes Subdomain, Sie benötigen ein Zertifikat.

# CD/usr/local/letSencrypt # ./letSencrypt -auto --apache -d your_domain.tld 
Create lasst das Verschlüsselung von SSL -Zertifikat für Apache verschlüsseln

8. Geben Sie die E -Mail -Adresse an, die von Let's Encrypt verwendet wird, um Ihre verlorene Taste wiederherzustellen, oder für dringende Mitteilungen und drücken Sie sie Eingeben weitermachen.

Fügen Sie eine E -Mail -Adresse für Lets Encrypt hinzu

9. Stimmen Sie den Bedingungen der Lizenz zu, indem Sie die Eingabetaste treffen.

Vereinbaren Sie die Verschlüsselung der Lizenz

10. An CentOS/Rhel, Standardmäßig verwendet Apache Server das Konzept der Trennung von Verzeichnissen für aktivierte Hosts von verfügbaren (inaktiven) Hosts als Debian basierte Verteilung do.

Außerdem ist das virtuelle Hosting standardmäßig deaktiviert. Die Apache -Anweisung, die den Namen des Servers angibt (Servername) Es ist nicht in der SSL -Konfigurationsdatei vorhanden.

Um diese Richtlinie zu aktivieren, fordert Sie Verschlüsseln auf, einen virtuellen Host auszuwählen. Wählen Sie die aus, da es keine Vhost verfügbar ist SSL.Conf Datei, die automatisch durch den Let's Encrypt Client geändert werden soll und drücken Eingeben weitermachen.

Aktive VirtualHost -Anweisung und wählen Sie mod_ssl aus

11. Wählen Sie als nächstes die aus Einfach Methode für Http Anfragen und drücken Sie Eingeben sich vorwärts bewegen.

Ermöglichen Sie einfache HTTP -Anfragen

12. Wenn alles reibungslos verlief, sollte auf dem Bildschirm eine Glückwunschmeldung angezeigt werden. Drücken Sie Eingeben um die Eingabeaufforderung zu veröffentlichen.

Lassen Sie uns aktiviert auf Domain aktivieren

Das ist es! Sie haben erfolgreich a herausgegeben SSL/TLS Zertifikat für Ihre Domain. Jetzt können Sie mit dem Durchsuchen Ihrer Website mit dem Durchsuchen der Website verwenden Https Protokoll.

Schritt 4: Testen Sie freien Verschlüsselungsverschlüsselung auf der Domäne

13. Um die Geradheit Ihrer Domain SSL/TLS -Handshake zu testen, besuchen Sie den folgenden Link und testen Sie Ihr Zertifikat auf Ihrer Domain.

https: // www.SSlllabs.com/ssltest/analysieren.html 
Überprüfen

14. Wenn Sie eine Reihe von Berichten über Ihre Domain -Verwundbarkeit in den durchgeführten Tests erhalten, müssen Sie diese Sicherheitslöcher dringend beheben.

Eine Gesamtbewertung von C Die Klasse macht Ihre Domain sehr unsicher. Um diese Sicherheitsprobleme zu beheben, öffnen Sie Apache SSL -Konfigurationsdatei und vornehmen Sie folgende Änderungen:

# vi/etc/httpd/conf.D/SSL.Conf 

Suchen nach einer Linie mit SSLProtocol Aussage und hinzufügen -SSLV3 am Ende der Linie.

Beheben Sie die Apache -SSL -Konfiguration

Gehen Sie tiefer in die Datei, suchen Sie und kommentieren Sie die Linie mit SSLCIPHERSUITE durch platzieren a # Vorher und fügen Sie den folgenden Inhalt unter dieser Zeile hinzu:

SSLCIPHERSUITE ECDHE-RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-AES256-GCM-SHA384: DHE-RASA-AES128-ASA256: DHE-RASA-AES128-AES1284 :DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA -Aes256-sha384: ecdhe-ecdsa-aes256-sha384: ecdhe-rsa-aes256-sha: ecdhe-ECDSA-AES256-Sha: Dhe-RSA-AES128-SHA256: DHE-RSA-AES128-SHA: DHE-AES-AES128 -SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA : AES256-Sha: AES: Camellia: DES-CBC3-Sha:!Anull:!Enull:!EXPORT:!Des:!RC4:!MD5:!PSK:!AECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SSLHONORCIPHERORDER auf SSLOPTIONS +STRICTERIRE 
Konfigurieren Sie die SSL -Konfiguration

15. Nachdem Sie alle oben genannten Änderungen vorgenommen haben, speichern und schließen Sie die Datei und starten Sie den Apache -Daemon neu, um Änderungen anzuwenden.

# Systemctl Neustart HTTPD neu starten.Service [zu RHEL/Centos 7] # Service HTTPD Neustart [zu RHEL/Centos 6] 

16. Testen Sie nun den Status Ihrer Domänenverschlüsselung erneut, indem Sie denselben Link wie oben besuchen. Um den Wiederholungstest durchzuführen, klicken Sie auf den Link Clear Cache von der Website.

https: // www.SSlllabs.com/ssltest/analysieren.html 
Durch Test können Sie das SSL -Zertifikat auf der Website verschlüsseln

Jetzt solltest du eine Klasse bekommen A Gesamtbewertung, was bedeutet, dass Ihre Domain sehr gesichert ist.

Schritt 4: Auto Renew Recrypt Wecrypt Zertifikate auf Apache

17. Diese Beta -Version von Let's Encrypt Software veröffentlicht Zertifikate mit Ablaufdatum danach 90 Tage. Um das SSL -Zertifikat zu erneuern, müssen Sie das ausführen letSencrypt-auto Befehl vor dem Ablaufdatum erneut mit den gleichen Optionen und Flaggen, die zum Erhalten des Anfangszertifikats verwendet werden.

Ein Beispiel, wie das Zertifikat manuell erneuert werden soll.

# CD/usr/local/letSencrypt # ./letSencrypt-auto certonly --apache-renew-by-Default -d Your_domain.tld 

18. Um diesen Prozess zu automatisieren, erstellen Sie das folgende Bash -Skript, das Github Erikaheidi, in /usr/local/bin/ Verzeichnis mit dem folgenden Inhalt. (Das Skript ist leicht geändert, um unser Installationsverzeichnis von LetSencrypt widerzuspiegeln.).

# vi/usr/local/bin/le-renew-centos 

Fügen Sie den folgenden Inhalt hinzu zu le-renew-centos Datei:

!/bin/bash domain = $ 1 le_path = "/usr/local/letSencrypt" le_conf = "/etc/letsencrypt" exp_limit = 30; get_domain_list () certdomain = $ 1 config_file = "$ le_conf/renewal/$ certdomain.conf "wenn [ ! -f $ config_file]; Dann wurde "[Fehler] die Konfigurationsdatei für das Zertifikat $ certdomain nicht gefunden."Exit 1; FI Domains = $ (GREP-nur matching --perl-regex" (?<=domains \= ).*" "$config_file") last_char=$(echo "$domains" | awk 'print substr($0,length,1)') if [ "$last_char" = "," ]; then domains=$(echo "$domains" |awk 'print substr($0, 1, length-1)') fi echo $domains;  if [ -z "$domain" ] ; then echo "[ERROR] you must provide the domain name for the certificate renewal." exit 1; fi cert_file="/etc/letsencrypt/live/$domain/fullchain.pem" if [ ! -f $cert_file ]; then echo "[ERROR] certificate file not found for domain $domain." exit 1; fi exp=$(date -d "'openssl x509 -in $cert_file -text -noout|grep "Not After"|cut -c 25-'" +%s) datenow=$(date -d "now" +%s) days_exp=$(echo \( $exp - $datenow \) / 86400 |bc) echo "Checking expiration date for $domain… " if [ "$days_exp" -gt "$exp_limit" ] ; then echo "The certificate is up to date, no need for renewal ($days_exp days left)." exit 0; else echo "The certificate for $domain is about to expire soon. Starting renewal request… " domain_list=$( get_domain_list $domain ) "$le_path"/letsencrypt-auto certonly --apache --renew-by-default --domains "$domain_list" echo "Restarting Apache… " /usr/bin/systemctl restart httpd echo "Renewal process finished for domain $domain" exit 0; fi 

19. Ausführungsberechtigungen für das Skript gewähren, installieren BC Packen Sie das Skript aus und führen Sie es aus, um es zu testen. Verwenden Sie Ihren Domänennamen als Positionsparameter für das Skript. Geben Sie die folgenden Befehle aus, um diesen Schritt zu erreichen:

# yum install bc # chmod +x/usr/local/bin/le-renew-centos #/usr/local/bin/le-renew-centos your_domain.tld 

20. Fügen Sie schließlich mit der Linux -Planung einen neuen Cron -Job hinzu, um das Skript alle zwei Monate auszuführen, und versichert, dass Ihr Zertifikat vor dem Ablaufdatum aktualisiert wird.

# Crontab -e 

Fügen Sie die folgende Zeile am Ende der Datei hinzu.

0 1 1 */2 */usr/local/bin/le-renew-centos your_domain.TLD >>/var/log/your_domain.tld-renew.Protokoll 2> & 1 

Das ist es! Ihr Apache -Server läuft oben auf CentOS/Rhel System serviert jetzt SSL -Inhalte mit einem kostenlosen Let Let Let's Encrypt SSL -Zertifikat.