In letzter Zeit wird mehr Gebrauch von das sogenannte OCSP stapling gemacht, anstatt CRL (Certificate Revocation Lists).
Siehe auch https://en.wikipedia.org/wiki/Online_Certificate_Status_Protocol
Falls das OCSP stapling in haproxy aktiviert werden soll, wird folgende Prozedur angewendet.
Siehe auch diese Webseite: https://icicimov.github.io/blog/server/HAProxy-OCSP-stapling/ für eine tolle Anleitung und Erklärung dazu, auf den unsere Anleitung hier basiert.
haproxy.cfg prüfen
Prüfen, dass der stats socket aktiviert ist.
global stats socket /var/lib/haproxy/stats stats timeout 30s
socat installieren
yum -y install socat
Skript für OCSP stapling anlegen und Ausführbar machen
cat <<EOFF > /usr/local/bin/haproxy_ocsp_update.sh #!/bin/bash # Certificates path and names DIR="/etc/haproxy" CERT="haproxy.pem" # Get the issuer URI, download it's certificate and convert into PEM format ISSUER_URI=\$(openssl x509 -in \${DIR}/\${CERT} -text -noout | grep 'CA Issuers' | cut -d: -f2,3) ISSUER_NAME=\$(echo ${ISSUER_URI##*/} | while read -r fname; do echo \${fname%.*}; done) wget -q -O- \$ISSUER_URI | openssl x509 -inform DER -outform PEM -out \${DIR}/\${ISSUER_NAME}.pem # Get the OCSP URL from the certificate ocsp_url=\$(openssl x509 -noout -ocsp_uri -in \${DIR}/\${CERT}) # Extract the hostname from the OCSP URL ocsp_host=\$(echo $ocsp_url | cut -d/ -f3) # Create/update the ocsp response file and update HAProxy openssl ocsp -noverify -no_nonce -issuer \${DIR}/\${ISSUER_NAME}.pem -cert \${DIR}/\${CERT} -url \$ocsp_url -header Host \$ocsp_host -respout \${DIR}/\${CERT}.ocsp [[ $? -eq 0 ]] && [[ $(pidof haproxy) ]] && [[ -s ${DIR}/${CERT}.ocsp ]] && echo "set ssl ocsp-response $(/usr/bin/base64 -w 10000 ${DIR}/${CERT}.ocsp)" | socat stdio unix-connect:/var/lib/haproxy/stats exit 0 EOFF chmod +x /usr/local/bin/haproxy_ocsp_update.sh
Prüfen, dass der stats socket aktiviert ist.
global stats socket /var/lib/haproxy/stats stats timeout 30s
frontend acdportal_https
mode http
bind :443 ssl crt /etc/haproxy/haproxy.pem #verify optional
Falls ein Intermediate-Zertifikat eingefügt werden muss (Beispiel Sales-Force falls der Zertifizierungschain nicht bei SalesForce bekannt ist), kann dies wie folgt geschehen:
- Rechter Mausklick auf die Zertifizierung im Browser:
- Details des Zertifikats anzeigen lassen:
- View Certificate
- Intermediate Zertifikat anzeigen lassen:
- Als Datei speichern:
- In Base-64 format:
#
- Auf den lokalen Rechner speichern:
Die Datei dann mit einem Text-Editor editieren, dann den Inhalt des Intermediate-Zertifikats in die Datei haproxy.pem ganz unten hineinkopieren.
Dann:
service haproxy reload