Security/Server Side TLS
wiki.mozilla.org
wiki.mozilla.org
OCSP responses can vary from 400 to 4,000 bytes in size. Stapling this response to your certificate chain may once again overflow your TCP congestion window—pay close attention to the total size.
Only one OCSP response can be included, which may still mean that the browser will have to issue an OCSP request for other intermediate certificates, if it has not been cached already."
http://chimera.labs.oreilly.com/books/1230000000545/ch04.htm...
The time it takes to establish a TCP connection to an OCSP responder, send a query, wait for a response, parse it and close the TCP connection.
I think it's fair to say a few hundred milliseconds at the very least.
Not all things are there, but fairly useful to test that from user point of view.
The one thing that could be improved is showing the detail of the score calculation. It's rather confusing at the moment, and I have no idea what criteria contributes to a better score.
DH and EC parameters are also hard to see at first.
https://www.ssllabs.com/projects/rating-guide/
but would like to see scoring hints within the test itself?The current scoring approach does not make that easy, which is the main reason why there are not more hints. I am planning a new version of the Rating Guide for next year, which will (most likely) be purely rule based, making it possible to explain the score in detail and, at the same time, point to the areas that need to be improved.
There's a also the problem with the static-HTML design approach can no longer withstand the amount of information presented.
In other words, it's time for v2, where we will apply what we've learned so far.
As a side note, while researching this guideline, we found that the benefit of AES256 compared to 128 isn't as clear cut as it would seem [1]. So we decided to prefer AES 128 because it is still 25/30% faster. It also matches a proposal Brian Smith made for Firefox. So far, SSLLabs focuses on crypto strengh, and not on performance. I'd be interested to see the performance factor taken into account in the score calculation.
[1] http://www.mail-archive.com/dev-tech-crypto@lists.mozilla.or...
People love getting higher and higher scores and, before, when the overall numerical score was included in the results, I observed many pushing their scores up with no good reason, impacting performance. One example was using 4096-bit RSA keys, which are an overkill for virtually everyone.
Your cipher list should be far more paired down than their list.
And unless you need IE6 support for SSL, you can disable SSLv3 (v2 should always be disabled)
At the end of the day, it's not realistic to imagine that everyone will spend days researching this to come up with a proper ciphersuite. There is a strong need for guidance.
You are correct about SSLv3: it is up to each organization to stop supporting it. But do know that it is still widely used, if not in browser, in client libraries. I wouldn't turn it off on a corporation site if I were you.
[1] https://www.feistyduck.com/books/bulletproof-ssl-tls-and-pki...
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK
Whoa! I'd like to see some reasoning behind allowing that many. How many user agents allow 128-bit aes and not 256? Why would you need to allow both? If 128 is enough, you don't need 256. If you need 256 you should block 128.
It's not a very big deal, but given the choice between complexity and simplicity in encryption -- I'd always prefer simplicity...
Not just "fewer cipher suites", but also what follows from that: "We allow X bit symmetric keys only", we guarantee forward secrecy (or not) etc.
But still, a lot better than leaving things at their default, I guess :-)
The ciphersuite focuses on ordering ciphers by strength and performance, and we don't just disable cipher for the sake of keeping it small. After all, it's the same number of clicks to copy a large ciphersuite than a small one ;)
Has anyone seen clients in the wild that disable 128bit and enable 256? Especially end-user clients, and/or "permanent" deployments/appliances, where the new cipher-suite isn't a result of power-user tinkering, but a decision that's taken out of the end-users hands?
Julien, do you have any news to address this Adam's point:
>> So how do you run forward secrecy with several servers and support session tickets? You need to generate session ticket keys randomly, distribute them to the servers without ever touching persistent storage and rotate them frequently. However, I'm not aware of any open source servers that support anything like that.
[0] https://www.imperialviolet.org/2013/06/27/botchingpfs.html
I still believe that using PFS, even with this limitation, is safer than encrypting pre-master keys with a single private key that almost never rotates and is stored on plenty of servers.
>> I still believe that using PFS, even with this limitation, is safer ...
I definitely agree, the problem is that usually there is more than 1 web server :-)
>> The standard is still to point clients to a single termination endpoint, and do active/passive cluster, so that there's no need to share the session tickets.
Sorry, I did not understand (esp. the active/passive cluster thing) - could you please may be add some pointers (blog post, etc) with more details?
I think that what he means is that you terminate SSL on the load balancers (= single termination endpoint), then have your cluster beneath it (non-SSL/TLS, or new SSL/TLS connection, thus different tickets)
true, esp if use HaProxy as LB