Diese Anleitung erzeugt ein selbst signiertes Zertifikat für den haproxy Dienst.
OpenSSL Konfiguration
Die Datei /etc/pki/tls/openssl.cnf bearbeiten und diverse Modifikationen machen (Kommentare genau lesen!).
/etc/pki/tls/openssl.cnf
# # Am Ende einfügen: # [ alternate_names ] DNS.1 = acd-lb.domain.de DNS.2 = acd-lb.domain.local DNS.3 = acd-lb # # In diesen Abschnitt einfügen: # [ v3_ca ] subjectAltName = @alternate_names # # In diesen Abschnitt einfügen bzw. verändern: # [ v3_ca ] keyUsage = digitalSignature, keyEncipherment # # In diesen Abschnitt verändern bzw. einkommentieren: # [ CA_default ] copy_extensions = copy
Keys Generieren
Zuerst, ein Verzeichnis für die Keys anlegen, und dann die Keys generieren.
ACHTUNG: Folgender Abschnitt beinhaltet auch Ausgaben vom System.
Keys Generieren
mkdir /etc/ssl/newkey openssl genrsa -out /etc/ssl/newkey/cert.key 3072 openssl req -new -x509 -key /etc/ssl/newkey/cert.key -sha256 -out /etc/ssl/newkey/cert.pem -days 730 # # Die Fragen wie folgt (beispielsweise) beantworten: # You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:DE State or Province Name (full name) []:Bavaria Locality Name (eg, city) [Default City]:Munich Organization Name (eg, company) [Default Company Ltd]:jtel GmbH Organizational Unit Name (eg, section) []:IT Common Name (eg, your name or your server's hostname) []:acd-lb.domain.de Email Address []:lewis.graham@jtel.de
Prüfen des generierten Zertifikats
Prüfen ob die Alternative Namen eingetragen wurden:
Prüfen
openssl x509 -in /etc/ssl/newkey/cert.pem -text -noout # Prüfen ob bei diesen Eintrag alle DNS Namen stehen: # X509v3 Subject Alternative Name:
Kombinierte .pem erzeugen
Kombinierte PEM
cat /etc/ssl/newkey/cert.key > /etc/ssl/newkey/comb.pem cat /etc/ssl/newkey/cert.pem >> /etc/ssl/newkey/comb.pem
Zertifikat in haproxy.cfg eintragen und Frontendkonfiguration auf umleitung anpassen
Kombinierte PEM
# # Frontend http leitet auf https um # frontend acdportal_http mode http bind :80 redirect scheme https if !{ ssl_fc } # # Frontend für https mit Zertifikat # frontend acdportal_https mode http bind :443 ssl crt /etc/ssl/newkey/comb.pem #verify optional ...