Citrix NetScaler 11: A+ Rating bei Qualys SSL Labs

Update 12.07.2017: der Beitrag wurde auf die aktuellen Gegebenheiten angepasst.

Qualys SSL LabsNachfolgend ein kurzes Cheat-Sheet, um für Webseiten, die auf bzw. hinter einem Citrix NetScaler gehostet sind beim SSL Test von Qualys für seine Webseite ein A+ zu erhalten. Dank NetScaler Version 11 ist dies nun endlich auch für die virtuellen VPX Appliances möglich.

Zunächst benötigt man eine eigene Ciphergruppe, die den Security Standard etwas höher setzt, als die von Haus aus mitgelieferten Gruppen.

add ssl cipher cipher_custom_secure
bind ssl cipher cipher_custom_secure -cipherName TLS1.2-ECDHE-RSA-AES256-GCM-SHA384
bind ssl cipher cipher_custom_secure -cipherName TLS1.2-ECDHE-RSA-AES128-GCM-SHA256
bind ssl cipher cipher_custom_secure -cipherName TLS1.2-ECDHE-RSA-AES-256-SHA384
bind ssl cipher cipher_custom_secure -cipherName TLS1.2-ECDHE-RSA-AES-128-SHA256
bind ssl cipher cipher_custom_secure -cipherName TLS1-ECDHE-RSA-AES256-SHA
bind ssl cipher cipher_custom_secure -cipherName TLS1-ECDHE-RSA-AES128-SHA
bind ssl cipher cipher_custom_secure -cipherName TLS1.2-DHE-RSA-AES256-GCM-SHA384
bind ssl cipher cipher_custom_secure -cipherName TLS1.2-DHE-RSA-AES128-GCM-SHA256
bind ssl cipher cipher_custom_secure -cipherName TLS1-DHE-RSA-AES-256-CBC-SHA
bind ssl cipher cipher_custom_secure -cipherName TLS1-DHE-RSA-AES-128-CBC-SHA
bind ssl cipher cipher_custom_secure -cipherName TLS1-AES-256-CBC-SHA
bind ssl cipher cipher_custom_secure -cipherName TLS1-AES-128-CBC-SHA

Am einfachsten ist es die Einstellungen global mittels SSL Default Profile zu konfigurieren. Das Default Profile muss jedoch zunächst aktiviert werden.

set ssl parameter -defaultProfile ENABLED
Y

Im Anschluss kann die neue Cipher Gruppe an die Default Profiles für Frontend und Backend gebunden werden.

bind ssl profile ns_default_ssl_profile_frontend -cipherName cipher_custom_secure
unbind ssl profile ns_default_ssl_profile_frontend -cipherName DEFAULT

bind ssl profile ns_default_ssl_profile_backend -cipherName cipher_custom_secure
unbind ssl profile ns_default_ssl_profile_backend -cipherName DEFAULT_BACKEND

Die SSL Renegotiation wird auf NONSECURE konfiguriert.

set ssl profile ns_default_ssl_profile_frontend -denySSLReneg NONSECURE
set ssl profile ns_default_ssl_profile_backend -denySSLReneg NONSECURE

Zusätzlich benötigt man noch eine Rewrite Policy, um den HTTP STS Header in die Server Response einzufügen. Der folgende Befehl aktiviert die Policy global (Priorität 100).

add rewrite action act_rewrite_inject_http_sts_header insert_http_header Strict-Transport-Security "\"max-age=31536000\""
add rewrite policy pol_rewrite_inject_http_sts_header true act_rewrite_inject_http_sts_header
bind rewrite global pol_rewrite_inject_http_sts_header 100 NEXT -type RES_OVERRIDE

Kommentare (2)

traxxus30.11.2015 um 21:37 Uhr

Kannst du mir sagen, wie im im GUI die ReWrite Policy korrekt binde damit HTTP STS geht?

Im ReWrite Policy Manager muss ich da
Bind Point: Override global
Protocoll: HTTP
Connection Type: Request

einstellen?

Simon22.12.2015 um 22:55 Uhr

Hallo,

man kann sie natürlich über das Global Binding definieren, würde ich aber nicht empfehlen. Ich würde die Policy auf vServer Ebene setzen.

Daher: vServer -> Policy -> Rewrite -> Response

Mittels Rewrite „Request“ Policy wird der Client-Request umgeschrieben der am Backend ankommt. Also nicht das was man hier erreichen möchte.

Gruß, Simon

Einen Kommentar hinterlassen

Dein Kommentar