Citrix NetScaler Gateway SSL A+ Ranking – Update Q2-2015

Einige von euch haben sicher schon bemerkt, dass sich an der SSL-Front einiges getan hat. Grund genug unseren Citrix NetScaler Gateway SSL A+ Ranking Beitrag zu aktualisieren. Diesmal schrauben wir den NetScaler in 2 Schritten zurück auf A+ Niveau.

Schritt 1 – Citrix NetScaler Firmware Update auf 10.5.57.7

Mit diesem Release kommt endlich die Unterstützung für „TLS Fallback SCSV“. Diese SSL-Erweiterung sorgt für einen zusätzlichen Schutz gegen Downgrade Attacks. Letztlich geht es darum zu verhindern, dass ein Angreifer den Server in eine vermeidlich „schlechte“ SSL-Variante zwingt. Zusätzlich wird durch „TLS Fallback SCSV“ verhindert, dass eine SSL-Verbindung z.B. durch Netzwerkfehler nicht mit der optimalen Verschlüsselung zu Stande kommt. Das gesamte Verfahren ist in RFC7507 definiert.

Seit Ende Oktober 2014 bekommt man beim Qualys SSL Labs Server Test nur noch ein A+ sofern der Server „TLS Fallback SCSV“ unterstützt. Wer noch SSLv3 aktiviert hat, kommt seitdem generell nicht mehr über eine B-Wertung hinaus. Mit der letzten Aktualisierung im Mai 2015 wurden die Anforderungen noch mal verschärft, so dass man nun z.B. kein RC4 mehr verwenden sollte. Wer RC4 in Verbindung mit TLS 1.1 oder 1.2 verwendet, fällt außerdem direkt auf eine C-Wertung zurück.

Die gute Nachricht: Wer auf unsere Config aus dem ersten Beitrag setzt, bekommt mit der 10.5.57.7er Firmware direkt ein A+. 🙂
Die komplette Liste aller Änderungen in Firmware 10.5.57.7 kann man in den Release Notes nachlesen. Für alle Netscaler VPX User sei an dieser Stelle noch gesagt, dass nun auch TLS1.1 und 1.2 möglich sind. Im Backend-Bereich heißt es leider weiterhin warten – max. TLS 1.0 (egal ob SDX oder VPX).

Schritt 2 – HPKP

Wem A+ nicht reicht, der kann mit HTTP Public Key Pinning (HPKP) sein Setup noch weiter verbessern. Ähnlich wie HTTP Strict Transport Security (HSTS) sorgt HPKP für etwas mehr Sicherheit in Bezug auf kompromitierte Zertifizierungstellen. Klingt nach Zauberei, ist in Wirklichkeit aber ganz einfach. Der Trick ist, dass der Server/Citrix NetScaler einfach in der HTTP-Antwort die öffentlichen Schlüssel als SHA-256 HASH mitsendet. Die Citrix NetScaler Konfiguration mittels Rewrite-Regel kann man analog zu HSTS vornehmen.

Als erstes muß man allerdings die SHA-256 HASHes der Zertifkate auslesen. Als Quelle für den Backup-HASH nutzen wir in der Regel das CA-Zertifikate der Intermediate CA.
Für die Generierung der HASHes kann man das OpenSSL Interface benutzen.

Um die HASHEs generieren zu können, müssen wir herausfinden wie die Dateinamen der aktuell verwendeten Zertifikate oder Verlinkungen heißen. Je nach Setup gibt es dazu unterschiedliche Vorgehensweisen. Anbei ein paar Beispiel-Befehle:

show ssl certLink

Zeigt alle Zertfikatsketten an.

show ssl vserver <vservername> | grep Certificate

Zeigt die SSL-Konfiguration des VServers an und filtert alle Zeilen mit „Certificate“ heraus.

Um an das OpenSSL-Interface zu gelangen, müssen wir auf die Betriebssystem-Shell wechseln („shell“-Kommando).

15-06-ns-shell

Alle Zertifikate und Schlüssel findet man unter /nsconfig/ssl und mit „ls -l /nsconfig/ssl“ kann man den Inhalt des Verzeichnisses auflisten.

15-06-ns-list-all-ssl

Da wir nun die Dateinamen der Zertifikate kennen, können wir uns mit OpenSSL die HASHes generieren.

openssl x509 -in /nsconfig/ssl/<ServerZertifikat.cer> -pubkey -noout | openssl rsa -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64

openssl x509 -in /nsconfig/ssl/<Intermediate-CA.cer> -pubkey -noout | openssl rsa -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64

Wer es lieber über das WebInterface machen möchte, kann auch die dortige OpenSSL-Schnittstelle benutzen. Zu finden unter Configuration -> Traffic Management -> SSL.

15-06-ns-openssl-start

15-06-ns-openssl-gui

Die Befehle sind sind identisch – allerdings ohne das „openssl“ vorne weg.

Als nächstes definieren wir die Rewrite-Action – in der GUI zu finden unter Configuration -> AppExpert -> Rewrite -> Actions. Für den ersten Test kann man beim „max-age“ Parameter auch mit 60 Sekunden starten. Sofern beim Generieren der HASHes etwas schief gelaufen ist, muss man sonst recht lange warten (15768000 = 0,5 Jahre). 🙂

add rewrite action HPKP-action insert_http_header Public-Key-Pins q{„\“pin-sha256=\“<ServerZertifikat-HASH>\“; pin-sha256=\“<Intermediate-CA-HASH>\“; max-age=60; includeSubDomains\““}

Alternativ:

15-06-hpkp-rewrite-action

Danach die Rewrite-Policy – in der GUI unter Configuration -> AppExpert -> Rewrite -> Policies

add rewrite policy HPKP-policy TRUE HPKP-action

Alternativ:

15-06-hpkp-rewrite-policy

Abschließend müssen wir nur noch die HPKP-Policy an den VServer binden (VServer auswählen -> Edit -> Rewrite Policies). Wer unserem ersten Artikel gefolgt ist, muss an dieser Stelle darauf achten, dass die „Goto Expression“ für die HSTS-Policy auf „NEXT“ steht. Schließlich wollen wir ja HSTS und HPKP aktivieren. 🙂

15-06-hpkp-hsts

Der Qualys SSL Labs Server Test sollte nun folgendes Ergebnis liefern.

15-06-aplus

15-06-aplus-details

 

Print Friendly, PDF & Email
3 Kommentare

Trackbacks & Pingbacks

  1. […] Update: Nachdem dieser Artikel sich mittlerweile teilweise überholt hat, wird hier der neue Weg zum Citrix NetScaler A+ Ranking beschrieben. […]

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.