Live data from Hacker News

Achieving a Perfect SSL Labs Score with Go

blog.bracelab.com

11–20 of 51 posts

Re: Achieving a Perfect SSL Labs Score with Go

#11

> This means I need to take the default CipherSuites and simply remove any that use a cipher smaller than 256bit. Arguably using a higher bit cipher suite should be considered worse, since it reduces accessibility. 128 bit crypto (specifically the GCM suites) are ridiculously faster, to the point where it is practically free to enable it for all websites. Treating 256bit crypto as better feels like it is missing a ke…

It is not at all obvious which of AES-128 and AES-256 is more secure.

See for example this 2009 paper: https://www.schneier.com/blog/archives/2009/07/another_new_a...

Re: Achieving a Perfect SSL Labs Score with Go

#12
post #9

It's really easy to get an A+ on SSL labs as long as you follow standard modern recommended settings for your certificates and web server (nginx generally being the easiest to set correctly), having said that I see my own crappy blog has dropped from an A+ to an A in the last couple of weeks: https://www.ssllabs.com/ssltest/analyze.html?d=smcleod.net&s... I highly recommend regularly reading Mozilla's various posts o…

The article goes beyond an A+ and also goes for 100% in all the ratings. The guides which you linked don't do that

Re: Achieving a Perfect SSL Labs Score with Go

#14

This is an interesting example of how to get a perfect score on the ssl test.. but it's a terrible config for a production web server. It only works with the following clients without an error.. since this is when these browsers added TLS 1.2 support (and this config requires tls 1.2): Android 5+ Firefox 27+ IE 11, Edge Opera 17+ Safari 7+ It might work on some versions of Chrome after v30 (when tls 1.2 was added) bu…

>It pointlessly excludes clients since TLS 1.0, 1.1 and AES >128 are still considered secure.

Wrong. All AES-based ciphers in TLS 1.0/1.1 are vulnerable to the Lucky Thirteen attack. This can be avoided by careful implementation, however as far as I know the go developers don't even try to do that and say if you want something secure use gcm.

Re: Achieving a Perfect SSL Labs Score with Go

#15
post #7

> No HTTP/2 for you! - HTTP/2 was enabled by default in go 1.6, however HTTP/2 mandates the support of the cipher suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256. As this is a 128bit cipher, it needs to be removed. The only way to achieve a perfect score now is to disable HTTP/2. Why does it have to be this way?

128bit or the requirement to exceed it for an A+?

There's no reason that 128 but cannot be used today, particularly for transport encryption.

Re: Achieving a Perfect SSL Labs Score with Go

#16

Given all the comments indicate that AES 128 is considered secure, do SSL Labs need to change their scoring algo for the cipher suite?

We also recommend AES-256 being preferred to AES-128 in Mozilla's modern configuration. From the rationale section:

    AES256-GCM is prioritized above its 128 bits variant,
    and ChaCha20 because we assume that most modern devices 
    support AESNI instructions and thus benefit from fast 
    and constant time AES.
https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_com...

Re: Achieving a Perfect SSL Labs Score with Go

#17
post #7

> No HTTP/2 for you! - HTTP/2 was enabled by default in go 1.6, however HTTP/2 mandates the support of the cipher suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256. As this is a 128bit cipher, it needs to be removed. The only way to achieve a perfect score now is to disable HTTP/2. Why does it have to be this way?

Because it was developed for Google and they what they care is speed not security or client side certificates.

Re: Achieving a Perfect SSL Labs Score with Go

#18

This is an interesting example of how to get a perfect score on the ssl test.. but it's a terrible config for a production web server. It only works with the following clients without an error.. since this is when these browsers added TLS 1.2 support (and this config requires tls 1.2): Android 5+ Firefox 27+ IE 11, Edge Opera 17+ Safari 7+ It might work on some versions of Chrome after v30 (when tls 1.2 was added) bu…

I use this future so that email agregators (bots) cannot reach my web site. So far 0 spam :D

Re: Achieving a Perfect SSL Labs Score with Go

#19

This is an interesting example of how to get a perfect score on the ssl test.. but it's a terrible config for a production web server. It only works with the following clients without an error.. since this is when these browsers added TLS 1.2 support (and this config requires tls 1.2): Android 5+ Firefox 27+ IE 11, Edge Opera 17+ Safari 7+ It might work on some versions of Chrome after v30 (when tls 1.2 was added) bu…

Exactly. Perfection means you exclude a large percentage of users who are not using a modern browser or who have older handsets. If you running a hobby site then it is fine, but if it is a business this sort of behaviour is insane.

(Note: I do support AES-128-GCM, and don't recommend doing what the author of this article did.) That said:

According to my webserver logs, I see I encourage everyone to measure their traffic, and take some time to consider how important their TLS 1.0 and 1.1 users are. If you're a business, what percentage of sales are from TLS 1.0/1.1 clients? What's the ratio of good:bad traffic? And the same questions for 1.2. Measure!

Re: Achieving a Perfect SSL Labs Score with Go

#20
post #7

> No HTTP/2 for you! - HTTP/2 was enabled by default in go 1.6, however HTTP/2 mandates the support of the cipher suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256. As this is a 128bit cipher, it needs to be removed. The only way to achieve a perfect score now is to disable HTTP/2. Why does it have to be this way?

I think something to understand here is that SSL Labs wants you to aim for A+, not for 100%. The numeric score is probably just to visualize what areas need improvement, and obviously 256 scores more than 128, but that's not an indictment of 128.

This article in a nice exercise, but not a guide you should follow in production. The HTTP/2 ciphersuites recommendations are great, and there's no security reason to disregard them.

Post reply on HN