HAProxy, ein hochleistungsfähiger TCP/HTTP-Load Balancer, unterstützt SSL-Terminierung, d.h. er kann SSL-Verschlüsselungs- und -Entschlüsselungsaufgaben übernehmen und so die Belastung der Backend-Server verringern.
In diesem Artikel erfahren Sie, wie Sie ein SSL-Zertifikat in HAProxy konfigurieren. Dazu gehört die Erstellung eines CSR-Codes (Certificate Signing Request), der Bezug eines kommerziellen SSL-Zertifikats, die Kombination des Zertifikats mit dem privaten Schlüssel und die Konfiguration von HAProxy für dessen Verwendung. Fangen wir also an!
Inhaltsübersicht
- Generieren Sie einen CSR-Code für Ihr SSL-Zertifikat
- Erhalten Sie ein kommerzielles SSL-Zertifikat für HAProxy
- Zusammenführen des Zertifikats und des privaten Schlüssels
- Konfigurieren Sie das PEM SSL-Zertifikat in HAProxy
Generieren Sie einen CSR-Code für Ihr SSL-Zertifikat
Bevor die Zertifizierungsstelle das SSL-Zertifikat ausstellen kann, benötigt sie den CSR-Code von Ihnen, um Ihre Kontaktinformationen zu validieren. Die CSR ist ein kleiner verschlüsselter Textblock mit relevanten Angaben zu Ihrer Website und Ihrem Unternehmen. Sie müssen ihn während der SSL-Anmeldung erstellen und übermitteln.
Und so geht’s:
- Öffnen Sie ein Terminal: Rufen Sie die Befehlszeilenschnittstelle auf Ihrem Server auf.
- Führen Sie den OpenSSL-Befehl aus: Verwenden Sie den folgenden OpenSSL-Befehl, um eine CSR und einen privaten Schlüssel zu erzeugen.
Ersetzen Sie mydomain durch Ihren tatsächlichen Domainnamen.
openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr - Geben Sie die erforderlichen Informationen ein: Sie werden aufgefordert, Details einzugeben, wie zum Beispiel:
- Ländername (2-Buchstaben-Code, z.B. US)
- Name des Staates oder der Provinz (z.B. Kalifornien)
- Name des Ortes (z.B. San Jose)
- Name der Organisation (z.B. GPI Holding)
- Name der Organisationseinheit (z.B., IT)
- Allgemeiner Name (z.B. IhreDomain.com)
- E-Mail Adresse
- Speichern Sie die CSR und den privaten Schlüssel: Der Befehl erzeugt zwei Dateien: mydomain.csr (die CSR) und mydomain.key (den privaten Schlüssel). Bewahren Sie den privaten Schlüssel sicher auf, da er später noch benötigt wird.
Holen Sie sich ein kommerzielles SSL-Zertifikat für HAProxy
Kommerzielle SSL-Zertifikate werden von allen Browsern und Betriebssystemen als vertrauenswürdig eingestuft. Dadurch werden Ihre Websites oder Anwendungen nicht mit lästigen SSL-Verbindungsfehlern konfrontiert. Für eine Produktionsumgebung sind solche Zertifikate ein Muss. Wenn Sie HAProxy zu Testzwecken verwenden, können Sie ein selbstsignierendes Zertifikat erstellen, aber in diesem Artikel konzentrieren wir uns auf die HAProxy SSL-Konfiguration für Live-Umgebungen.
Um ein kommerzielles SSL-Zertifikat zu erhalten, gehen Sie wie folgt vor:
- Wählen Sie eine Zertifizierungsstelle (CA): Wählen Sie eine seriöse CA wie DigiCert, Comodo oder GeoTrust.
- Wählen Sie den Zertifikatstyp: Wählen Sie den Typ des SSL-Zertifikats, der Ihren Anforderungen entspricht, z.B. ein Single-Domain-, Wildcard- oder Multi-Domain-Zertifikat (SAN).
- Senden Sie die CSR ein: Übermitteln Sie die CSR an die CA, damit diese ein Zertifikat ausstellen kann, das mit dem privaten Schlüssel Ihres Servers übereinstimmt.
- Kaufen Sie das Zertifikat: Kaufen Sie Ihr SSL-Zertifikat bei einem zuverlässigen SSL-Reseller wie SSL Dragon, um den besten Preis und den besten Kundendienst zu erhalten.
- Validierungsprozess: Je nach Zertifikatstyp durchlaufen Sie eine Domainvalidierung, eine Organisationsvalidierung oder einen erweiterten Validierungsprozess.
- Erhalten Sie das Zertifikat: Nach der Validierung stellt die CA die in einem ZIP-Ordner archivierten SSL-Dateien aus.
Zusammenführen des Zertifikats und des privaten Schlüssels
Sobald Sie Ihr SSL-Zertifikat von der CA erhalten haben, müssen Sie es mit Ihrem privaten Schlüssel kombinieren, um eine einzige Datei zu erstellen, die HAProxy verwenden kann.
- Bereiten Sie die Dateien vor: Stellen Sie sicher, dass Sie die folgenden Dateien haben:
- Das SSL-Zertifikat Ihrer Domain (z.B. mydomain.crt)
- Der zuvor erzeugte private Schlüssel (mydomain.key)
- Alle von der CA bereitgestellten Zwischenzertifikate (z. B. intermediate.crt). Normalerweise sendet die CA die Zwischenzertifikate in einer CA-Bundle-Datei.
- Kombinieren Sie die Dateien: Dieser Befehl kombiniert das Zertifikat, das Zwischenzertifikat und den privaten Schlüssel in einer einzigen PEM-Datei.
cat mydomain.crt intermediate.crt mydomain.key > /etc/haproxy/mydomain.pem
Konfigurieren Sie das PEM SSL-Zertifikat in HAProxy
Nun, da Sie die PEM-Datei haben, können Sie HAProxy für die Verwendung des SSL-Zertifikats konfigurieren.
Schritt 1: Laden Sie das PEM-Zertifikat auf den HAProxy-Server hoch:
Verwenden Sie den Befehl scp, um die PEM-Zertifikatsdatei auf den HAProxy-Server hochzuladen (ersetzen Sie sysadmin und haproxy_server_ip durch den Benutzernamen bzw. die IP-Adresse des Remote-Servers):
scp mydomain.pem sysadmin@haproxy_server_ip:/home/sysadmin/
Schritt 2: Erstellen Sie ein Verzeichnis für das Zertifikat
Erstellen Sie ein Verzeichnis, in dem die PEM-Datei des Zertifikats gespeichert werden soll:
sudo mkdir -p /etc/ssl/mydomain/
sudo cp mydomain.pem /etc/ssl/mydomain/
Schritt 3: Bearbeiten Sie die HAProxy-Konfigurationsdatei
Öffnen Sie die HAProxy-Konfigurationsdatei (die sich standardmäßig unter /etc/haproxy/haproxy.cfg befindet) in einem Texteditor wie Notepad.
Schritt 4: Konfigurieren Sie den Frontend-Bereich
Ändern Sie den Frontend-Bereich , um die SSL-Terminierung zu aktivieren und den HTTP-Verkehr auf HTTPS umzuleiten:
frontend http_frontend
mode http
bind *:80
bind *:443 ssl crt /etc/ssl/mydomain/mydomain.pem alpn h2,http/1.1
redirect scheme https code 301 if !{ ssl_fc }
default_backend http_servers
Schritt 5: SSL/TLS-Parameter hinzufügen
Um die Verwendung von modernen und sicheren SSL/TLS-Versionen zu gewährleisten, fügen Sie den Parameter ssl-min-ver hinzu:
bind *:443 ssl crt /etc/ssl/mydomain/mydomain.pem alpn h2,http/1.1 ssl-min-ver TLSv1.2
Diese Direktive unterstützt die Protokolle HTTP/2 und HTTP/1.1 und erzwingt eine Mindest-TLS-Version von 1.2 für sichere Verbindungen.
Schritt 6: Konfigurieren Sie den Backend-Bereich
Stellen Sie sicher, dass Ihre Backend-Server korrekt definiert sind.
backend http_servers
mode http
balance roundrobin
server server1 :80 check
server server2 :80 check
Schritt 7: Starten Sie HAProxy neu
Übernehmen Sie die Änderungen, indem Sie den HAProxy-Dienst neu starten:
sudo systemctl restart haproxy
Schritt 8: Testen Sie Ihre SSL-Konfiguration
Um Ihre HAProxy SSL-Konfiguration zu testen, verwenden Sie SSL Labs und geben Sie den Namen Ihrer Domain ein. Das Tool liefert einen umfassenden Bericht über Ihre SSL/TLS-Einrichtung, einschließlich der Zertifikatsdetails und möglicher Probleme.
Schlussfolgerung
Zusammenfassend lässt sich sagen, dass Sie lernen müssen, wie Sie ein SSL-Zertifikat in HAProxy konfigurieren, um Ihre Webanwendungen zu sichern und eine zuverlässige Kommunikation zwischen Clients und Servern zu gewährleisten. Wenn Sie Ihre HAProxy-SSL-Konfiguration richtig einrichten, können Sie sensible Daten schützen und die allgemeine Sicherheit erhöhen. Wenn Sie diese Richtlinien befolgen, können Sie eine robuste Verschlüsselung implementieren und sicherstellen, dass Ihre Website sicher über HTTPS betrieben wird, so dass Ihre Benutzer mehr Sicherheit genießen können.
Sparen Sie 10% auf SSL-Zertifikate, wenn Sie noch heute bestellen!
Schnelle Ausstellung, starke Verschlüsselung, 99,99% Browser-Vertrauen, engagierter Support und 25-tägige Geld-zurück-Garantie. Gutscheincode: SAVE10