Citrix NetScaler Gateway SSL A+ Ranking
Heute zeige ich euch, wie man die SSL Einstellungen auf den Citrix NetScaler Gateway setzen muss, damit man ein A+ Ranking bei Qualys SSL Labs erhält. Naja eigentlich wollen wir damit nur erreichen, dass die SSL Verbindungen zu unserem NetScaler Gateway halbwegs sicher sind. Das A+ Ranking ist aber ein guter Anhaltspunkt! 🙂
Der schwierigste Teil zu erst. Wir brauchen eine Rewrite Regel, welche dafür sorgt, dass alle unsere Antworten einen sogenannte HTTP Strict Transport Security (HSTS) Header bekommen. Ohne das bekommen wir sonst das „+“ später beim Test leider nicht. Nebenbei schützt uns die Aktion dann auch vor „downgrade attacks„ und „cookie hijacking„. Auf deutsch: Wir teilen dem Browser mit, dass wir für Zeitraum x (in meinem Beispiel 1 Jahr) doch bitte nur verschlüsselt also über HTTPS angesprochen werden wollen.
Wie man eine ReWrite-Regel auf dem Citrix NetScaler anlegt..
Schritt 1: Rewrite Action erzeugen
AppExpert -> Rewrite -> Rewrite Actions -> Add
Schritt 2: Rewrite Policy anlegen
Rewrite -> Policy
Schritt 3: Rewrite Policy Type auswählen
NetScaler Gateway -> Virtual Servers -> vServerName auswählen -> Edit -> Policies -> „+“
Schritt 4: Rewrite Policy aktivieren
Wie man die Citrix NetScaler Gateway SSL-Einstellungen über das CLI anpasst..
Jetzt noch den einfachen Part – dazu einfach via SSH (ich nutze Putty) auf den Netscaler verbinden.
Zu Beginn schaue ich mir die aktuellen Einstellungen an.
show ssl vserver vServerName -cipherDetails
Wer schon immer wissen wollte, ob seine SSL-Chips auch wirklich was tun, kann das bei dieser Gelegenheit auch gleich mal überprüfen.
stat ssl -detail
Da wir das „+“ ja schon durch HSTS in der Tasche haben, müssen wir jetzt nur noch dafür sorgen, dass wir auch nicht für POODLE und Co anfällig sind. Dazu schalten wir SSL Version 2 + 3 ab und aktivieren TLSv1, TLSv1.1 und TLSv1.2.
set ssl vserver vServerName -ssl2 DISABLED -ssl3 DISABLED -tls1 ENABLED -tls11 ENABLED -tls12 ENABLED
Damit sich die Browser auch alle möglichst mit der optimalen Verschlüsselung verbinden, legen wir uns nun eine eigene Liste mit den einzelnen Verschlüsselungsverfahren an. Die beste nach oben, damit auch keiner auf die Idee kommt sich mit weniger als 100% zu frieden zu geben. 🙂
add ssl cipher my-ciphers bind ssl cipher my-ciphers -cipherName TLS1.2-ECDHE-RSA-AES256-GCM-SHA384 bind ssl cipher my-ciphers -cipherName TLS1.2-ECDHE-RSA-AES128-GCM-SHA256 bind ssl cipher my-ciphers -cipherName TLS1.2-ECDHE-RSA-AES-256-SHA384 bind ssl cipher my-ciphers -cipherName TLS1.2-ECDHE-RSA-AES-128-SHA256 bind ssl cipher my-ciphers -cipherName TLS1-ECDHE-RSA-AES256-SHA bind ssl cipher my-ciphers -cipherName TLS1-ECDHE-RSA-AES128-SHA bind ssl cipher my-ciphers -cipherName TLS1.2-DHE-RSA-AES256-GCM-SHA384 bind ssl cipher my-ciphers -cipherName TLS1.2-DHE-RSA-AES128-GCM-SHA256 bind ssl cipher my-ciphers -cipherName TLS1-DHE-RSA-AES-256-CBC-SHA bind ssl cipher my-ciphers -cipherName TLS1-DHE-RSA-AES-128-CBC-SHA bind ssl cipher my-ciphers -cipherName TLS1-AES-256-CBC-SHA
Noch mal überprüfen…
show ssl cipher my-ciphers
Um unsere Verschlüsselungsverfahren einsetzen zu können, brauchen wir noch einen entsprechenden Diffi Hellmann (DH) Schlüssel. Mehr als 2048-bit kann der Citrix Netscaler zur Zeit nicht und keine Panik das dauert ewig – manchmal sogar länger als der Timeout für die SSH-Sitzung. 🙂
create ssl dhparam /nsconfig/ssl/my-dh.key 2048 -gen 5
Sofern wir diesen Teil überlebt haben, teilen wir unserem vServer mit, dass wir jetzt einen DH-Key verwenden möchten.
set ssl vserver vServerName -dh ENABLED -dhFile /nsconfig/ssl/my-dh.key
Zum Schluss „binden“ wir noch unsere neue Liste an den vServer.
Schritt 1: noch mal die Liste mit den aktuellen Ciphers ausgeben
show ssl vserver vServerName -cipherDetails
Schritt 2: „alte“ Ciphers der Reihe nach abhängen
unbind ssl vserver vServerName -cipherName TLS1-AES-256-CBC-SHA ...
Schritt 3: neue Cipher-Liste anhängen
bind ssl vserver VServerName -cipherName my-ciphers
Wenn alles geklappt hat, haben wir nun eine sichere Citrix NetScaler Gateway SSL-Anbindung und können uns über ein A+ Ranking freuen. 🙂
Update: Nachdem dieser Artikel sich mittlerweile teilweise überholt hat, wird hier der neue Weg zum Citrix NetScaler A+ Ranking beschrieben.








Das mit den 100% gilt doch sicherlich mir, oder?! Pareto lag trotzdem richtig! :-D.. Klasse Artikel! Wir wollen mehr davon! 🙂