GNU/Linux >> LINUX-Kenntnisse >  >> FreeBSD

So sichern Sie Apache mit SSL und Let’s Encrypt in FreeBSD

In diesem Tutorial lernen wir, wie man Apache HTTP sichert Server mit TLS/SSL Zertifikate, die von Let’s Encrypt angeboten werden in FreeBSD 11.x . Wir werden auch behandeln, wie Sie den Prozess der Zertifikatserneuerung für Lets’ Encrypt automatisieren können.

Lesen Sie auch :Installieren Sie Let’s Encrypt für Nginx unter FreeBSD

TLS/SSL Zertifikate werden vom Apache-Webserver verwendet, um die Kommunikation zwischen Endknoten oder gewöhnlicher zwischen dem Server und dem Client zu verschlüsseln, um Sicherheit zu bieten. Let’s Encrypt bietet certbot Befehlszeilenprogramm, das eine Anwendung ist, mit der Sie kostenlos vertrauenswürdige Zertifikate erhalten können.

Anforderungen:

  1. Installation von FreeBSD 11.x
  2. 10 Dinge, die nach der FreeBSD-Installation zu tun sind
  3. Wie man Apache, MariaDB und PHP in FreeBSD installiert

Schritt 1:Konfigurieren Sie Apache SSL auf FreeBSD

1. Bevor Sie mit der Installation des Dienstprogramms certbot beginnen und die TSL-Konfigurationsdatei für Apache erstellen , erstellen Sie zunächst zwei unterschiedliche Verzeichnisse mit dem Namen sites-available und für Websites aktiviert im Apache-Root-Konfigurationsverzeichnis, indem Sie die folgenden Befehle ausführen.

Der Zweck dieser beiden Verzeichnisse besteht darin, die Verwaltung der Konfiguration des virtuellen Hostings im System zu erleichtern, ohne die Apache-Hauptdatei httpd.conf zu ändern Konfigurationsdatei jedes Mal, wenn wir einen neuen virtuellen Host hinzufügen.

# mkdir /usr/local/etc/apache24/sites-available# mkdir /usr/local/etc/apache24/sites-enabled

2. Nachdem Sie beide Verzeichnisse erstellt haben, öffnen Sie Apache httpd.conf Datei mit einem Texteditor und fügen Sie die folgende Zeile am Ende der Datei hinzu, wie unten dargestellt.

# nano /usr/local/etc/apache24/httpd.conf

Fügen Sie die folgende Zeile hinzu:

Optional etc/apache24/sites-enabled/*.conf einschließen

3. Aktivieren Sie als Nächstes TLS Modul für Apache, indem Sie die folgende neue Datei mit dem Namen 020_mod_ssl.conf erstellen in modules.d Verzeichnis mit folgendem Inhalt.

# nano /usr/local/etc/apache24/modules.d/020_mod_ssl.conf

Fügen Sie folgende Zeilen zur Datei 020_mod_ssl.conf hinzu .

Hören Sie 443SSLProtocol ALL -SSLv2 -SSLv3SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5SSLPassPhraseDialog builtinSSLSessionCacheTimeout 300

4. Kommentieren Sie nun SSL aus Modul von /usr/local/etc/apache24/httpd.conf Datei durch Entfernen des Hashtags vom Anfang der folgenden Zeile, wie unten dargestellt:

LoadModule ssl_module libexec/apache24/mod_ssl.so

5. Erstellen Sie als Nächstes das TLS Konfigurationsdatei für Ihre Domain in sites-available Verzeichnis, vorzugsweise mit dem Namen Ihrer Domain, wie im folgenden Auszug dargestellt:

# nano /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf

Fügen Sie die folgende Virtualhost-Konfiguration zur Datei bsd.lan-ssl.conf hinzu .

 ServerName www.yourdomain.com ServerAlias ​​yourdomain.com DocumentRoot "/usr/local/www/apache24/data/" SSLEngine on SSLCertificateFile "/usr/local/etc/letsencrypt/live/www. yourdomain.com/cert.pem" SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/privkey.pem" SSLCertificateChainFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/ fullchain.pem" SSLOptions +StdEnvVars SSLOptions +StdEnvVars BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "/var/log/apache/httpd-ssl_request.log" \ "%t %h %{ SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"  Optionen Indizes FollowSymLinks MultiViews #AllowOverride steuert, welche Anweisungen in .htaccess-Dateien platziert werden dürfen. AllowOverride All #Controls who can get stuff from this server file Erfordert alle gewährten  ErrorLog "/var/log/apache/yourdomain.ssl-error.log" CustomLog "/var/log/apache/yourdomain.ssl-access_log " kombiniert

Stellen Sie sicher, dass Sie die Domänennamenvariable von ServerName ersetzen , Serveralias , Fehlerprotokoll , Benutzerdefiniertes Protokoll Anweisungen entsprechend.

Schritt 2:Lets’Encrypt unter FreeBSD installieren

6. Geben Sie im nächsten Schritt den folgenden Befehl aus, um certbot zu installieren Dienstprogramm, das von Let’s Encrypt bereitgestellt wird , die zum Abrufen von Apache TSL verwendet wird kostenlose Zertifikate für Ihre Domain.

Während der Installation von certbot Auf Ihrem Bildschirm wird eine Reihe von Eingabeaufforderungen angezeigt. Verwenden Sie den folgenden Screenshot, um certbot zu konfigurieren Nützlichkeit. Außerdem kann das Kompilieren und Installieren des Dienstprogramms certbot je nach Ihren Computerressourcen einige Zeit in Anspruch nehmen.

# cd /usr/ports/security/py-certbot# make install clean

7. Nachdem der Kompilierungsprozess abgeschlossen ist, führen Sie den folgenden Befehl aus, um certbot zu aktualisieren Dienstprogramm und certbot erforderliche Abhängigkeiten.

# pkg install py27-certbot# pkg install py27-acme

8. Um ein Zertifikat für Ihre Domäne zu generieren, geben Sie den Befehl wie unten dargestellt aus. Stellen Sie sicher, dass Sie den richtigen Webroot-Speicherort angeben, an dem Ihre Website-Dateien im Dateisystem gespeichert sind (DocumentRoot Direktive aus Ihrer Domain-Konfigurationsdatei) mit -w Flagge. Wenn Sie mehrere Subdomains haben, fügen Sie sie alle mit dem -d hinzu Flagge.

# certbot certonly --webroot -w /usr/local/www/apache24/data/ -d yourdomain.com -d www.yourdomain.com

Geben Sie beim Abrufen des Zertifikats eine E-Mail-Adresse für die Zertifikatserneuerung an, drücken Sie a, um den Geschäftsbedingungen von Let’s Encrypt zuzustimmen, und n die E-Mail-Adresse nicht an Let’s Encrypt-Partner weiterzugeben.

Certbot-Befehlsausgabe
Speichern des Debug-Protokolls unter /var/log/letsencrypt/letsencrypt.logGeben Sie die E-Mail-Adresse ein (wird für dringende Erneuerungs- und Sicherheitshinweise verwendet) (Geben Sie 'c' zum Abbrechen ein):[email protected] Damit scheinen Probleme zu bestehen die Anschrift. Geben Sie die E-Mail-Adresse ein (wird für dringende Verlängerungs- und Sicherheitshinweise verwendet). 'c' zum Abbrechen):[email protected]--------------------------------------------------- -----------------------------------Bitte lesen Sie die Nutzungsbedingungen unter https:// letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. Sie müssen zustimmen, um sich beim ACME-Server unter https://acme-v01.api.letsencrypt.org/directory zu registrieren-------------------- -------------------------------------------------- ----(A)zustimmen/(Ab)stornieren:a -------------------------------------------------- ----------------------------- Wären Sie bereit, Ihre E-Mail-Adresse mit der Electronic Frontier Foundation, einem Gründungspartner der Let's Encrypt-Projekt und die gemeinnützige Organisation, die Certbot entwickelt? Wir möchten Ihnen eine E-Mail über EFF und unsere Arbeit zur Verschlüsselung des Internets, zum Schutz seiner Benutzer und zur Verteidigung digitaler Rechte senden. -------------------------------------------------- ----------------------------- (Ja) ja/(N) nein:n Erhalten eines neuen Zertifikats Durchführen der folgenden Herausforderungen:http-01-Herausforderung für www.domain.com Verwenden des Webroot-Pfads /usr/local/www/apache24/data für alle nicht übereinstimmenden Domänen. Warten auf Bestätigung... Herausforderungen bereinigen WICHTIGE HINWEISE:- Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden unter /usr/local/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem gespeichert. Ihr Zertifikat läuft am 15.11.2017 ab. Um in Zukunft eine neue oder optimierte Version dieses Zertifikats zu erhalten, führen Sie einfach certbot erneut aus. Um *all* Ihre Zertifikate nicht interaktiv zu erneuern, führen Sie „certbot renew“ aus – Ihre Kontoanmeldeinformationen wurden in Ihrem Certbot-Konfigurationsverzeichnis unter /usr/local/etc/letsencrypt gespeichert. Sie sollten jetzt ein sicheres Backup dieses Ordners erstellen. Dieses Konfigurationsverzeichnis enthält auch Zertifikate und private Schlüssel, die von Certbot erhalten wurden, daher ist es ideal, regelmäßige Backups dieses Ordners zu erstellen. - Wenn Sie Certbot mögen, erwägen Sie bitte, unsere Arbeit zu unterstützen, indem Sie:an ISRG / Let's Encrypt spenden:https://letsencrypt.org/donate an EFF spenden:https://eff.org/donate-le

9. Nachdem Sie die Zertifikate für Ihre Domain erhalten haben, können Sie den Befehl ls ausführen, um alle Komponenten des Zertifikats (Kette, privater Schlüssel, Zertifikat) aufzulisten, wie im folgenden Beispiel dargestellt.

# ls -al /usr/local/etc/letsencrypt/live/www.ihredomain.com/

Schritt 3:Apache TLS-Zertifikate auf FreeBSD aktualisieren

10. Um Let’s Encrypt-Zertifikate zu Ihrer Website hinzuzufügen, öffnen Sie die Apache-Konfigurationsdatei für Ihre Domain und aktualisieren Sie die folgenden Zeilen, um den Pfad der ausgestellten Zertifikate widerzuspiegeln.

# nano /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf

Fügen Sie diese TLS-Zertifikatszeilen hinzu:

SSLCertificateFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/cert.pem" SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/privkey.pem" SSLCertificateChainFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem"

11. Aktivieren Sie schließlich die TLS-Konfigurationsdatei, indem Sie einen symbolischen Link für Ihre Domänen-TLS-Konfigurationsdatei zu sites-enabled erstellen überprüfen Sie die Apache-Konfigurationen auf mögliche Syntaxfehler und starten Sie den Apache-Daemon neu, wenn die Syntax in Ordnung ist, indem Sie die folgenden Befehle ausführen.

# ln -sf /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf /usr/local/etc/apache24/sites-enabled/# apachectl -t# service apache24 restart 

12. Um zu prüfen, ob der Apache-Dienst auf HTTPS lauscht Port 443 , geben Sie den folgenden Befehl ein, um httpd-Netzwerk-Sockets aufzulisten.

# Sockenstat -4 | grep httpd

13. Sie können von einem Browser über das HTTPS-Protokoll zu Ihrer Domänenadresse navigieren, um zu bestätigen, dass Let’s Encrypt-Zertifikate erfolgreich angewendet wurden.

https://www.ihredomain.com

14. Um zusätzliche Informationen über das ausgestellte Let’s Encrypt-Zertifikat von der Befehlszeile zu erhalten, verwenden Sie das openssl Befehl wie folgt.

# openssl s_client -connect www.ihredomain.com:443

15. Sie können auch überprüfen, ob der Datenverkehr mit einem gültigen Zertifikat von Let’s Encrypt CA verschlüsselt ist von einem mobilen Gerät, wie im unten stehenden mobilen Screenshot dargestellt.

Das ist alles! Die Clients können Ihre Website jetzt sicher besuchen, da der Datenverkehr zwischen dem Server und dem Browser des Clients verschlüsselt ist. Für komplexere Aufgaben bezüglich des Dienstprogramms certbot besuchen Sie den folgenden Link:https://certbot.eff.org/


FreeBSD
  1. So installieren und sichern Sie phpMyAdmin mit Apache unter CentOS 7

  2. So sichern Sie den Apache-Webserver mit Let’s Encrypt auf RHEL 8

  3. So installieren Sie WonderCMS mit Apache und Lets Encrypt SSL unter CentOS 8

  4. So sichern Sie Nginx mit SSL und Let’s Encrypt in FreeBSD

  5. So sichern Sie eine SSL-Verbindung mit Apache unter Ubuntu 18.04

So installieren Sie Let’s Encrypt SSL mit Apache unter CentOS 7

So installieren Sie Let’s Encrypt SSL auf Ubuntu mit Apache

So installieren Sie Apache mit Let’s Encrypt SSL unter Ubuntu 20.04 LTS

So verwenden Sie Let’s Encrypt mit Cloudflare

So sichern Sie Apache mit Let’s Encrypt SSL-Zertifikat auf CentOS 8

So sichern Sie einen Plesk-Hostnamen mit SSL