Bloggat – Arbete med SSL i Netscaler

Publicerad 16 mars 2017 i Blogginlägg

Seth Lindholm, Advitum

Netscaler är en bra investering, likt en ”Swiss army knife” fast för nätverkstrafik. Nyligen berättade en kollega om hur utvecklare i en organisation hade benämnt Netscalern som ”den lilla magiska lådan”. Det fick mig att le eftersom att jag ibland känner likadant. Men magin sker inte av sig själv.

När det kommer till att arbeta med vilken typ av SSL/TLS som accepteras är det första du bör göra att stänga av SSLV3 och tidigare versioner med. Om man kan så skall man egentligen endast använda TLS1.2 men det är inte alltid möjligt, en del webservrar kanske inte kan hantera 1.2.

Vill man arbeta med att förbättra/förändra hur SSL/TLS trafik hanteras i Netscaler finns det många tips och trix. Här kommer en grundkonfigiguration att utgå ifrån när man funderar på vilka ciphers som skall användas.

Man bör dock vara försiktig, detta passar inte i alla miljöer. Har du gjort på något annat vis? Dela gärna med dig dina tankar eller frågor till seth.lindholm@advitum.se

Så klart finns det mycket bra guider för detta, Steven Wright är källan och han har visat hur det går till på https://www.citrix.com/blogs/2015/05/22/scoring-an-a-at-ssllabs-com-with-citrix-netscaler-the-sequel/

Dessa kommandon kan så klart utföras i GUI om man vill med men här kommer det som CLI kommandon om man vill arbeta på det viset istället.

###### SSL trafik i netscaler CLI ##########

###### Först skapar vi en SSL cipher grupp och binder de ciphers vi vill ha i gruppen – nedan är ett förslag ##########

add ssl cipher custom-ssllabs-cipher

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1.2-ECDHE-ECDSA-AES256-GCM-SHA384

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1.2-ECDHE-RSA-AES256-GCM-SHA384

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1.2-ECDHE-ECDSA-AES128-GCM-SHA256

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1.2-ECDHE-RSA-AES128-GCM-SHA256

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1.2-ECDHE-ECDSA-AES256-SHA384

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1.2-ECDHE-RSA-AES-256-SHA384

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1.2-ECDHE-ECDSA-AES128-SHA256

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1.2-ECDHE-RSA-AES-128-SHA256

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1-ECDHE-ECDSA-AES256-SHA

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1-ECDHE-RSA-AES256-SHA

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1-ECDHE-ECDSA-AES128-SHA

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1-ECDHE-RSA-AES128-SHA

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1.2-DHE-RSA-AES256-GCM-SHA384

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1.2-DHE-RSA-AES128-GCM-SHA256

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1-DHE-RSA-AES-256-CBC-SHA

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1-DHE-RSA-AES-128-CBC-SHA

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1-AES-256-CBC-SHA

bind ssl cipher custom-ssllabs-cipher -cipherName TLS1-AES-128-CBC-SHA

###### Nästa steg är att plocka bort möjligheten för klienter att initiera ssl renegotiation https://support.citrix.com/article/CTX123680 ##########¨

set ssl parameter -denySSLReneg FRONTEND_CLIENT

###### Nästa steg är att skapa action och policy för STS https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security ##########

add rewrite action insert_STS_header insert_http_header Strict-Transport-Security ”\”max-age=157680000\””

add rewrite policy enforce_STS true insert_STS_header

###### Nedan knyter vi den nyligen skapade SSL gruppen och STS policyn till vservers, kan vara contentswitch, gateway eller direkt på LB vipar ##########

unbind ssl vserver namnpåvserver -cipherName DEFAULT

bind ssl vserver namnpåvserver -cipherName custom-ssllabs-cipher

bind ssl vserver namnpåvserver -policy enforce_STS -priority 100 -gotoPriorityExpression NEXT -type RESPONSE

bind ssl vserver namnpåvserver -eccCurveName ALL

###### Observera att bind kommandot kan vara pekat mot en ssl vserver eller t.ex. en cs vserver beroende på vad det är du vill applicera det på ##########

Plocka det som verkar bra och kom gärna tillbaka med feedback på om ni ser något som kan förbättras eller om ni har andra sätt att göra det på.

Vill du testa era externa länkar och se vilket betyg de får så kan man köra dem genom https://www.ssllabs.com/ssltest/

Tillbaka

Prenumerera på Advitums nyhetsbrev

Om du väljer att prenumerera på vårt nyhetsbrev kommer du att erhålla information om vad som händer på Advitum, våra utbildningar och kundevent, nyttiga blogginlägg och viktiga produktnyheter. Självklart kan du säga upp din prenumeration med en enkel knapptryckning.