Download presentation
Presentation is loading. Please wait.
Published byGillian McDowell Modified over 9 years ago
1
ATS SSL Updates ATS Summit Spring 2015 Susan Hinrichs
2
Leverage New Features of OpenSSL 1.0.2 Support multiple certificate chains TS-3131 ●Wei Sun addition ●You can specify multiple certificate files in ssl_multicert.config by comma separating file names in the ssl_cert_name and ssl_key_name fields ● ssl_cert_name=ec-safelyfiled.pem,rsa-safelyfiled.pem ssl_key_name=ec- privkey.pem,rsa-privkey.pem ●May want to add some cross algorithm warning checks Use the certificate callback for the TS API SNI callback TS-3319 ●No need for the SNI callback patch to 1.0.1 ●The SNI plugin API is unchanged
3
OpenSSL 1.1 Can no longer reach into the internals ●OpenSSL team added SSL_set_rbio for us CRYPTO_set_id_callback is removed ●Deprecated since 1.0 ●Replaced with CRYPTO_THREADID_set_callback. Slightly different way of setting the thread id. ●If we change our lowest supported version of openssl to 1.0.0 we can run with only CRYPTO_THREADID versions of the calls
4
SSL Session Plugin API Proposal LinkedIn and Yahoo developed Session sharing support in parallel ●Performance problems observed with the default session table in openssl ●LinkedIn committed their solution back to open source ●No cross box communication ●Yahoo solution includes cross ATS communication for session sharing Propose a plugin API to break out optional communication, analysis, etc. ●http://network-geographics.com/ats/docs/ssl-session-api.en.htmlhttp://network-geographics.com/ats/docs/ssl-session-api.en.html
5
SSL Session Plugin API Add hook TS_SSL_SESSION_HOOK Triggers callback: ● int SSL_session_callback(TSCont contp, TSEvent event, void *edata)TSContTSEvent ●Where edata is a TSSslSessionId ●Event is one of ●TS_EVENT_SESSION_NEW – A new session has been added to the session table ●TS_EVENT_SESSION_REMOVE - A session has been removed from the session table ●TS_EVENT_SESSION_GET – A session has been requested. Could override decision
6
SSL Session Plugin API New functions ●TSSslSession TSSslSessionGet(TSSsslSessionId sessionid)TSSslSession ●TSReturnCode TSSslSessionCurrentSet(TSSslSessionId sessionId, TSSslSession preferredSession)TSReturnCodeTSSslSessionId TSSslSession ●TSReturnCode TSSslSessionSet(TSSslSessionId sessionId, TSSslSession addSession)TSReturnCodeTSSslSessionId TSSslSession ●TSReturnCode TSSslSessionRemove(TSSslSessionId sessionId)TSReturnCodeTSSslSessionId
7
SSL Session Plugin Use Case Goal: Share sessions between ATS boxes sitting behind a load balancer Set up communication with peer ATS boxes ●Use your favorite messaging library ●Peers communicate ●New sessions and removed sessions ●Use TSSslSessionSet and TSSslSessionRemove to get local copy of session table up to date Set handler on the TS_SSL_SESSION_HOOK ●On remove, notify peers ●On new, notify peers
8
Question about session ticket key use case In 5.x, you specify ticket key files per ssl_multicert.config entry ●ssl_cert_name=safelyfiled.pem ssl_key_name=privkey.pem ssl_ticket_enabled=1 ticket_key_name=ticket.dat Is there a major use case to specify different ssl session tickets for different origin servers? ●Seems confusing ●Can be difficult to just turn off session tickets TS-3371
9
DHE Issues DHE support added in 5.2.0 ●In addition to adding DHE algorithms in the cipher list, must set DH group parameters via SSL_set_tmp_dh ●Added a dhparams to records.config ●If no dhparams is present, the patch would automatically use a 2048 bit DH group defined in RFC 5114 ●No way to turn off DHE unless you remove the DHE algorithms from the cipher list ●Listed DHE algorithms were useless pre-5.2.0 ●LinkedIn noticed an increase in SSL errors that went away in part when the 5.2.0 DH change was removed
10
DHE Future Changes Changes beyond 5.2.1? ●No, leave it be ●Add a “Default” option to dhparams config entry ●Other?
11
Addition of Symmetric SSL statistics TS-3409 ●Change proxy.process.ssl.total_success_handshake_count to total_success_handshake_count_in ●Added total_success_handshake_count_out
12
SSL Transparent Pass Through Augment the Transparent Pass through logic to work on SSL as well as HTTP directly over TCP ●TS-3292 – Lev Stipakov ●If tr-pass and first packet is not client hello, blind tunnel
13
Various bug fixes SSL handshake buffer fix TS-3451 ●Brian Geffon tracking down increase in SSL errors moving from 5.0 to 5.2.0 SNI Callback fix TS-3272 ●Lev found CPU spin if SNI callback did not reenable Certificate Loading Fixes ●Remove spurious warnings on certificate load TS-3243 ●Fail system start if certificates do not load TS-3376
14
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.