In diesem Tutorial lernen Sie das Verfahren von TLS/SSL kennen Zertifikatsinstallation auf Apache Webserver. Sobald Sie fertig sind, wird der gesamte Datenverkehr zwischen Server und Client verschlüsselt. Dies ist eine Standardpraxis zur Sicherung von E-Commerce-Websites und anderen Finanzdienstleistungen online. Let’s Encrypt ist der Pionier in der freien SSL-Implementierung und wird in diesem Fall als Zertifikatsanbieter verwendet.
Wichtig! CentOS Linux 8 hat am 31.12.2021 das End of Lifetime (EOL) erreicht. Obwohl CentOS Linux 7 noch unterstützt wird, wird es EOL am 30.06.2024 erreichen. Wir empfehlen, dies bei der Auswahl dieses Betriebssystems zu berücksichtigen. Sie können mehr darüber auf ihrer offiziellen Website lesen.
Was Sie brauchen
Bevor Sie mit dieser Anleitung beginnen, benötigen Sie Folgendes:
- SSH-Root-Zugriff auf den CentOS 7 VPS
- Der Apache-Webserver mit richtig konfigurierter Domain und vhost
Schritt 1 – Installieren abhängiger Module
Um certbot zu installieren Sie müssen EPEL installieren Repository, da es standardmäßig nicht verfügbar ist, mod_ssl wird auch benötigt, damit die Verschlüsselung vom Apache erkannt wird.
Um diese beiden Abhängigkeiten zu installieren, führen Sie bitte diesen Befehl aus:
yum install epel-release mod_ssl
Jetzt sollten Sie bereit sein, fortzufahren und den Certbot selbst zu installieren.
Schritt 2 – Herunterladen des Let’s Encrypt-Clients
Als Nächstes installieren Sie den Certbot-Client aus dem EPEL-Repository:
yum install python-certbot-apache
Der Certbot sollte nun installiert und für die eigentliche Verwendung verfügbar sein.
Schritt 3 – Einrichtung des SSL-Zertifikats
Certbot handhabt das SSL-Zertifikatsmanagement ganz einfach, es generiert ein neues Zertifikat für die angegebene Domain als Parameter.
In diesem Fall wird example.com als Domain verwendet, für die das Zertifikat ausgestellt wird:
certbot --apache -d example.com
Wenn Sie SSL für mehrere Domains oder Subdomains generieren möchten, führen Sie bitte diesen Befehl aus:
certbot --apache -d example.com -d www.example.com
Wichtig! Die erste Domain sollte Ihre Basisdomain sein, in diesem Beispiel ist es example.com
Während der Installation des Zertifikats wird Ihnen eine Schritt-für-Schritt-Anleitung angezeigt, mit der Sie die Zertifikatsdetails anpassen können. Sie können zwischen dem Erzwingen von HTTPS oder dem Belassen von HTTP als Standardprotokoll wählen, wobei aus Sicherheitsgründen auch die Angabe einer E-Mail-Adresse erforderlich ist.
Sobald die Installation abgeschlossen ist, sollte Ihnen eine ähnliche Meldung angezeigt werden:
IMPORTANT NOTES: - If you lose your account credentials, you can recover through e-mails sent to [email protected]. - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/example.com/fullchain.pem. Your cert will expire on 2016-04-21. To obtain a new version of the certificate in the future, simply run Let's Encrypt again. - Your account credentials have been saved in your Let's Encrypt configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Let's Encrypt so making regular backups of this folder is ideal. - If you like Let's Encrypt, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Schritt 4 – Einrichten der automatischen Erneuerung des Zertifikats
Zertifikate von Let’s Encrypt sind 90 Tage gültig, aber jeder Webprofi wird Ihnen empfehlen, sie innerhalb von 60 Tagen zu erneuern, um Probleme zu vermeiden. Um dies zu erreichen, wird uns der Certbot mit seinem renew
helfen Befehl. Es wird geprüft, ob das Zertifikat in weniger als 30 Tagen abläuft.
Bitte führen Sie diesen Befehl aus, um fortzufahren:
certbot renew
Wenn das installierte Zertifikat neu ist, überprüft der Certbot nur das Ablaufdatum:
Processing /etc/letsencrypt/renewal/example.com.conf The following certs are not due for renewal yet: /etc/letsencrypt/live/example.com/fullchain.pem (skipped) No renewals were attempted.
Um diesen Verlängerungsprozess zu automatisieren, können Sie einen Cron-Job einrichten. Öffnen Sie zuerst die Crontab:
crontab -e
Dieser Job kann sicher so geplant werden, dass er jeden Montag um Mitternacht ausgeführt wird:
0 0 * * 1 /usr/bin/certbot renew >> /var/log/sslrenew.log
Die Ausgabe des Skripts wird an /var/log/sslrenew.log
geleitet Datei.
Fazit
Sie haben gerade Ihren Apache-Webserver gesichert, indem Sie die am meisten erwartete Sicherheitsfunktion implementiert haben – ein kostenloses SSL-Zertifikat! Von nun an ist der gesamte Datenverkehr zwischen Server und Client verschlüsselt, Sie können sicher sein, dass niemand die Kommunikation abfangen und wichtige Informationen ändern oder stehlen kann.