Citrix NetScaler 11: A+ Rating bei Qualys SSL Labs
Update 12.07.2017: der Beitrag wurde auf die aktuellen Gegebenheiten angepasst.
Nachfolgend 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
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?
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