Citrix NetScaler: aggiungere i Security Header a pagine web tramite rewrite policy

9 ottobre 2018

I Secirity Header HTTP sono un importante per mettere in sicurezza un sito web. Una volta implementati, proteggono da alcuni tipi di attacchi a cui un sito più esere esposto, come XSS, iniezione di codice, clickjacking, ecc

Tramite Citrix NetScaler è possibile aggiungere i Security Header alle pagine esposte alcune policy di rewrite.

A partire dalla versione 12.0, NetScaler supporta nativamente l’HTTP strict transport security (HSTS) come opzione nativa nei profili e sui virtual server SSL . Potete fare riferimento all’articolo CTX224172 – How to Enable HTTP Strict Transport Security (HSTS) on NetScaler 12.

Creiamo prima le action:

add rewrite action insert_STS_header insert_http_header Strict-Transport-Security "\"max-age=157680000\""
add rewrite action rw_act_insert_XSS_header insert_http_header X-Xss-Protection "\"1; mode=block\""
add rewrite action rw_act_insert_Xcontent_header insert_http_header X-Content-Type-Options "\"nosniff\""
add rewrite action rw_act_insert_Content_security_policy insert_http_header Content-Security-Policy "\"default-src \'self\' ; script-src \'self\' \'unsafe-inline\' \'unsafe-eval\' ; style-src \'self\' \'unsafe-inline\' \'unsafe-eval\'; img-src \'self\' data:\""

Poi aggiungiamo le policy:

add rewrite policy enforce_STS true insert_STS_header
add rewrite policy rw_pol_insert_XSS_header "HTTP.RES.HEADER(\"X-Xss-Protection\").EXISTS.NOT" rw_act_insert_XSS_header
add rewrite policy rw_pol_insert_XContent TRUE rw_act_insert_Xcontent_header
add rewrite policy rw_pol_insert_Content_security_policy TRUE rw_act_insert_Content_security_policy

ed infine effettuiamo il binding:

bind vpn vserver access -policy enforce_STS -priority 100 -gotoPriorityExpression NEXT -type RESPONSE
bind vpn vserver access -policy rw_pol_insert_XSS_header -priority 110 -gotoPriorityExpression NEXT -type RESPONSE
bind vpn vserver access -policy rw_pol_insert_XContent -priority 120 -gotoPriorityExpression NEXT -type RESPONSE
bind vpn vserver access -policy rw_pol_insert_Content_security_policy -priority 130 -gotoPriorityExpression NEXT -type RESPONSE

Per ulteriori informazioni: