sslsplit icon indicating copy to clipboard operation
sslsplit copied to clipboard

Change cipher defaults to conform to modern browser standards

Open droe opened this issue 10 years ago • 8 comments

SSLsplit should cease supporting legacy ciphers by default, e.g. export ciphers. This also includes weak temporary RSA and DH keys and default generated RSA leaf key size. It should be possible to enable legacy ciphers and sizes explicitly, but not by default.

droe avatar Mar 29 '16 09:03 droe

Should we use NULL:RC4:AES128:-DHE or ALL:-aNULL as default?

crazy-william avatar Mar 29 '16 10:03 crazy-william

Neither seems to be adequate. I am thinking more along the lines of MEDIUM:HIGH. I aim for a decent rating without major issues on https://www.ssllabs.com/ssltest/viewMyClient.html in the default configuration. That includes allowing both DHE and ECDHE by default.

droe avatar Mar 29 '16 18:03 droe

Can we transfer the cipher from client request to real server?

crazy-william avatar Mar 30 '16 00:03 crazy-william

Now there's an interesting thought. The answer is yes, if we extend the ClientHello parser that currently parses the SNI hostname to also extract the requested cipher suites. We'd then have to trim down the list to those cipher suites actually supported by the version of OpenSSL in use, and inject it into the outbound connection SSL context. Slightly tricky but very doable.

droe avatar Mar 30 '16 07:03 droe

Thanks for support this. High hopes for that.

crazy-william avatar Mar 31 '16 01:03 crazy-william

I moved the idea of copying the client's cipher suites into the server connection to a separate issue in order to keep this issue scoped on modernizing the defaults.

droe avatar Apr 19 '16 16:04 droe

Finally I choose "DEFAULT:-aNULL:-RC4" for DFLT_CIPHERS, and Cipher Suites in ssltest page goes no red now.

crazy-william avatar Apr 25 '16 09:04 crazy-william

Related: #189 - sslsplit now uses SHA-256 as a fallback hash algorithm if the upstream server certificate uses a different key type than the configured sslsplit CA. If they match, the hash algo is still copied from the upstream server certificate, as before.

droe avatar Apr 12 '18 17:04 droe