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

Citrix Netscaler Gateway SSL HSTS rewrite action

Citrix Netscaler Gateway SSL HSTS rewrite action

Schritt 2: Rewrite Policy anlegen

Rewrite -> Policy

Citrix Netscaler Gateway SSL HSTS rewrite policy

Citrix Netscaler Gateway SSL HSTS rewrite policy

Schritt 3: Rewrite Policy Type auswählen

NetScaler Gateway -> Virtual Servers -> vServerName auswählen -> Edit -> Policies -> „+“

Citrix Netscaler Gateway SSL HSTS add Response policy

Citrix Netscaler Gateway SSL HSTS add Response policy

Schritt 4: Rewrite Policy aktivieren

Citrix Netscaler Gateway SSL HSTS add policy binding

Citrix Netscaler Gateway SSL HSTS add policy binding

 

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
Citrix Netscaler Gateway SSL: Show SSL Stats

Citrix Netscaler Gateway SSL: Show SSL Stats

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. 🙂

Citrix Netscaler Gateway SSL work finished - A+ Ranking

Citrix Netscaler Gateway SSL work finished – A+ Ranking

Citrix Netscaler Gateway SSL work finished - A+ Ciphers

Citrix Netscaler Gateway SSL work finished – A+ Ciphers

 

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

2 Kommentare

Trackbacks & Pingbacks

  1. […] 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+ […]

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.