Live data from Hacker News

Nginx doesn't suck at SSL after all

matt.io

71–80 of 112 posts

Re: Nginx doesn't suck at SSL after all

#71
post #7

Earlier quoted context omitted.

Why would someone apologize for writing an informative blog post? I'm glad he wrote both, even if he had to walk the first one back a bit.

I found both posts informative, and yet I'm with cbetz on this one. The issue isn't whether Matt's first post was informative but is instead whether it was fair|wise|necessary to say "Nginx sucks at SSL" instead of, say, "My initial testing, which needs to be investigated further, is showing Nginx SSL performance lower than other alternatives." The first headline is more likely to grab folks' attention, which is prob…

  > "My initial testing, which needs to be investigated
  > further, is showing Nginx SSL performance lower than
  > other alternatives."
You keep using that word ('headline'), but I do not think it means what you think it means.

Re: Nginx doesn't suck at SSL after all

#72
post #63

Earlier quoted context omitted.

On a related topic, these are both your comments on this post: "The win here is that losing the RSA key now only allows you to MITM future SSL/TLS connections. This is still a disaster, but it does not allow you to retroactively unwind previous DH exchanges and decrypt earlier captured sessions." "If you've lost your RSA key, you are well and truly fucked." Thanks for clearing that up! Make love not war, Lil' B

Oh. You're forum trolling. You know what though, it's always great to see you Ben. Thanks for taking the time.

Correct, disagreeing with you implies trolling. You are one astute dude, Tom. Keep up the good work!

Re: Nginx doesn't suck at SSL after all

#73
post #4

I can't tell if this is an apology or a non-apology. It seems to have elements of both. Clearly the moral of the story is: "Don't claim that X sucks unless you are are damn sure". Saying something sucks is fightin' words. Don't expect to people be nice if you are wrong.

I don't know that it required an apology or if he was even really wrong in the first post. The result was his digging into it to figure out the default config included a computationally expensive setup. That's a debatable thing. Not necessarily wrong.

As far as I can tell, saying "Nginx sucks at SSL" is actually not debatable and is indeed just plain wrong. Yes, the default SSL config uses a cipher that is, relatively speaking, more computationally expensive than others. That doesn't mean Nginx "sucks at SSL." Don't like the default cipher? Great -- change it.

I found the posts to be informative, but I get the impression that the "Nginx sucks at SSL" linkbait headline is what's rubbing folks the wrong way.

Re: Nginx doesn't suck at SSL after all

#74
post #57

An article about configuring SSL that doesn't 1) discuss trade-offs of security vs. resource consumption, 2) how to figure out your performance requirements, and 3) indicate the author really understands implications of decisions about crypto is an article you should probably disregard. Modern CPUs are so ridiculously good at crypto, and most sites have such ridiculously low connection rates, that optimizing for maxi…

Does any of this have anything to do with Matt's post? Adam's first post says the same thing Matt's does: DHE is expensive. The "tradeoff" in security vs. performance you're referring to irrelevant to almost everyone building on nginx. If you've lost your RSA key, you are well and truly fucked. DHE is interesting, but sniping at people for not using it (in your case, implicitly) is unfair.

Speaking of fairness, how do you conclude that Ben is sniping at people for not using DHE? I've re-read his comment multiple times, and I don't see that in there at all -- explicitly or implicitly.

Re: Nginx doesn't suck at SSL after all

#75
post #62

Earlier quoted context omitted.

Adam's post is rather more thorough and nuanced, which makes sense since he actually understands SSL and benchmarking. While you might summarize them both as "DHE is expensive", I don't know why you would. Here is each post on DHE: Adam - "However, with a pure RSA ciphersuite, an attacker can record traffic, crack (or steal) your private key at will and decrypt the traffic retrospectively, so consider your needs." Ma…

Are you a little worried that you come off sounding like "Adam is one of the cool kids and Matt isn't"? Matt's conclusion is ultimately correct. And we apparently disagree completely about DHE, because you appear to be saying you'd recommend it to web startups, despite the fact that the bank that clears those startups transactions isn't even using it. Especially weird given that Boundary, your startup, doesn't do DHE…

I am recommending that people who do not understand the trade-offs and do not have the traffic for it to matter should probably leave those safe defaults alone. What the banks choose to do is unfortunate, but should not dictate behavior. If all the banks chose to jump off a bridge, etc.

Recommending people unfamiliar with configuring SSL leave defaults alone is only incompatible with our having non-default config if you are implying I don't understand configuring SSL. I doubt that is what you mean, as I am ever the optimist.

Yay!,

Lil' B

Re: Nginx doesn't suck at SSL after all

#76
post #57

Earlier quoted context omitted.

Does any of this have anything to do with Matt's post? Adam's first post says the same thing Matt's does: DHE is expensive. The "tradeoff" in security vs. performance you're referring to irrelevant to almost everyone building on nginx. If you've lost your RSA key, you are well and truly fucked. DHE is interesting, but sniping at people for not using it (in your case, implicitly) is unfair.

Speaking of fairness, how do you conclude that Ben is sniping at people for not using DHE? I've re-read his comment multiple times, and I don't see that in there at all -- explicitly or implicitly.

The words "indicate the author really understands implications of decisions about crypto is an article" were what set me off. I think I'm right; Ben doesn't really believe you need to use DHE, but for some reason doesn't think Matt rates highly enough to write a blog post about configuring SSL.

Re: Nginx doesn't suck at SSL after all

#77
post #68

From the article, to find out what your website is doing: openssl s_client -host HOSTNAME -port 443 I ran this for my own website and a few bigger websites openssl s_client -host www.gusta.com -port 443 (My site, hosted on Heroku) Cipher : DHE-RSA-AES256-SHA openssl s_client -host www.google.com -port 443 Cipher : RC4-SHA openssl s_client -host www.airbnb.com -port 443 Cipher : AES256-SHA openssl s_client -host www.f…

Presumably Amazon, Facebook and Google are using RC4 for speed reasons, though it's not really thought to be secure anymore.

Is that so?

openssl s_client -host online.citibank.com -port 443

Cipher : RC4-MD5

openssl s_client -host www.bankofamerica.com -port 443

Cipher : RC4-MD5

Re: Nginx doesn't suck at SSL after all

#78
post #62

Earlier quoted context omitted.

Are you a little worried that you come off sounding like "Adam is one of the cool kids and Matt isn't"? Matt's conclusion is ultimately correct. And we apparently disagree completely about DHE, because you appear to be saying you'd recommend it to web startups, despite the fact that the bank that clears those startups transactions isn't even using it. Especially weird given that Boundary, your startup, doesn't do DHE…

I am recommending that people who do not understand the trade-offs and do not have the traffic for it to matter should probably leave those safe defaults alone. What the banks choose to do is unfortunate, but should not dictate behavior. If all the banks chose to jump off a bridge, etc. Recommending people unfamiliar with configuring SSL leave defaults alone is only incompatible with our having non-default config if…

Turning off DHE is safe. I assume you agree with this, because your SSL server appears unable to do DHE. But whether you agree or not, ephemeral DH is not necessary for secure SSL. As Adam Langley pointed out himself: enabling DHE without knowing what you're doing can create more security problems, because your parameters can be insecure.

I'm having trouble parsing the rest of your comment. I don't have a religious belief about what defaults are reasonable to muck with and which aren't, but: this particular one is fine to change.

Re: Nginx doesn't suck at SSL after all

#79
post #71

Earlier quoted context omitted.

I found both posts informative, and yet I'm with cbetz on this one. The issue isn't whether Matt's first post was informative but is instead whether it was fair|wise|necessary to say "Nginx sucks at SSL" instead of, say, "My initial testing, which needs to be investigated further, is showing Nginx SSL performance lower than other alternatives." The first headline is more likely to grab folks' attention, which is prob…

> "My initial testing, which needs to be investigated > further, is showing Nginx SSL performance lower than > other alternatives." You keep using that word ('headline'), but I do not think it means what you think it means.

Okay, I'll bite. Here you go: "Initial Tests Show Slow Nginx SSL Performance" Wasn't that hard, was it?

Re: Nginx doesn't suck at SSL after all

#80
post #68

From the article, to find out what your website is doing: openssl s_client -host HOSTNAME -port 443 I ran this for my own website and a few bigger websites openssl s_client -host www.gusta.com -port 443 (My site, hosted on Heroku) Cipher : DHE-RSA-AES256-SHA openssl s_client -host www.google.com -port 443 Cipher : RC4-SHA openssl s_client -host www.airbnb.com -port 443 Cipher : AES256-SHA openssl s_client -host www.f…

Presumably Amazon, Facebook and Google are using RC4 for speed reasons, though it's not really thought to be secure anymore.

RC4 is fine in SSL/TLS.

Nobody likes it, but until relatively recently, the AES ciphersuites were all CBC mode, which means they burned a couple bytes of padding for every record.

RC4 is also faster than AES, which was, until very recently, an issue for server performance.

We have AES-CTR ciphersuites now, but I'm not sure how widely deployed they are.

Post reply on HN