CloudFlare's internet-facing SSL cipher configuration
github.com
github.com
Furthermore, they have great config examples for nginx and others[1] -- it's pretty easy to forget/misconfigure things like Diffie-Hellman parameters, OCSP stapling and session caching.
>Going forward, in addition to releasing the directory of intermediate SSL certificates on Github, we plan on releasing our SSL bundler as a free service so you can package up your SSL certificates as efficiently as possible, even if you're not using CloudFlare. Just one more way we're working to make the web fast and safe.
http://blog.cloudflare.com/what-we-just-did-to-make-ssl-even...
I hate companies who lie about releasing stuff. If you look through CloudFlare's blog this isn't even the only example- they love promising to be open and give back to the community, but rarely do their actions match their words.
They give back to the community and even offer free plans that are pretty damn useful.
With amount of growth they have experienced, you should be thankful that they are able to find time for anything at all at this point.
I'll see what I can do about getting this information open sourced.
[[UPDATE]] I'm hearing this is still planned, and we're aiming to get this out this coming summer. Internal projects have pushed this back a bit, apologies.
If a company says "we plan to..." then odds are they are telling the truth. At the time of writing that is exactly what they were planning to do. It turns out that sometimes plans change. Or planned things take longer than initially planned for.
But of course if you ever say anything on the internet people treat it like a promise and then you get called a liar. This is why we can't have nice things.
https://github.com/holman/feedback/issues/534#issuecomment-4...
Reputable people and organizations who make such statements will then proceed to deliver. If they suspect they won't be able to, for whatever reason, then they'll be careful not to make such statements in the first place.
There's absolutely nothing wrong with holding people and organizations to a very high standard regarding what they've publicly claimed that they will or aim to do.
More like this is why we can't have nice promises. Promises, on their own, are useless. Why should you get the PR boost from an openness promise if you don't actually end up fulfilling it? This is pretty much like false advertising, where you promise some aspects of a product and end up delivering something different. No matter your excuse, this is wrong and unfair to competitors.
But business is business and companies still end up making those weak promises to grab some more market share.
Anyone who has ever worked on anything in their life knows that plans change. Sometimes plans change to something else that's better. Sometimes ideas that are great on paper don't work in practice and need to be scrapped. Sometimes a plan is a great idea but an unanticipated roadblock makes it impossible or prohibitively expensive to accomplish.
So yes. Companies can never say anything publicly until it's already done. And I think that's a god damned shame. So again I say, this is why we can't have nice things.
Why?
That said, we all know "that guy". You know, the slick "idea guy" marketer who always has grand plans but never follows through? Who jumps on any hot PR topic that gets him publicity? After a while, you sort of tune him out, because you know his plans never amount to anything.
I have no idea whether cloudflares efforts fall into this pattern. But I know enough companies that behave this way that I think I can safely say that not all corporate "plans" are announced with the intentions of actually following through on them.
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";
Which results in perfect forward secrecy and an A+ rating in SSL Labs.Arguably thats also NSS's fault for implementing TLS1.2 so late, but still...
My site only gets an "A" rating, but Firefox actually connects using ECDHE-RSA-AES256-SHA. I use this cipherlist
HIGH:!SSLv2:!aNULL:!3DES
Which one is more secure?I couldn't believe how much my setup failed the first time I ran it.
Totally realise this is a Newbie question, but I'm finding it hard to get an authoritative answer from my bumbling Googling. I really want to get this right and I thought that the hive mind here on Hacker News would be able to give me an answer that I could trust.
Please downvote this if I've made a faux-hacker-pas, but be kind to the new guy! :-)
I very much prefer the simplistic approach taken by OpenSMTPD:
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/smtpd/ssl...
#define SSL_CIPHERS "HIGH:!aNULL:!MD5"https://community.qualys.com/blogs/securitylabs/2013/03/19/r...
>The difficulty is that, for public web sites that need to support a wide user base, there is practically nothing 100% secure they can use to replace RC4.
Also, given the cipher preference, RC4 wont be used with modern browsers.
It's to balance the need to protect against BEAST vs RC4 issues. They use an OpenSSL patch that "disables RC4-based cipher suites for connections using TLS v1.1 and above, while leaving them there to protect users still using TLS v1.0"
I disabled all the broken crypto (RC4, RSA handshake) in my browser few months ago and everything was fine for a while. Then about 2-3 months ago Youtube\gmail started demanding RC4.
Another "funny" example of this was oculusvr.com
oculusvr.com/order/ redirects to https://www.oculusvr.com/order/
requires RC4 and RSA, doesnt like diffiehelman and AES
BUT https://support.oculusvr.com/home less critical part of the site works with more secure AES/DH
So the part of the site that deals with confidential data and money defaults to BROKEN crypto, while bugtracker works fine with secure crypto. W T F????
Supported Server Cipher(s):
Accepted SSLv3 256 bits ECDHE-RSA-AES256-SHA
Accepted SSLv3 256 bits AES256-SHA
Accepted SSLv3 168 bits ECDHE-RSA-DES-CBC3-SHA
Accepted SSLv3 168 bits DES-CBC3-SHA
Accepted SSLv3 128 bits ECDHE-RSA-AES128-SHA
Accepted SSLv3 128 bits AES128-SHA
Accepted SSLv3 128 bits ECDHE-RSA-RC4-SHA
Accepted SSLv3 128 bits RC4-SHA
Accepted SSLv3 128 bits RC4-MD5
Accepted TLSv1 256 bits ECDHE-RSA-AES256-SHA
Accepted TLSv1 256 bits AES256-SHA
Accepted TLSv1 168 bits ECDHE-RSA-DES-CBC3-SHA
Accepted TLSv1 168 bits DES-CBC3-SHA
Accepted TLSv1 128 bits ECDHE-RSA-AES128-SHA
Accepted TLSv1 128 bits AES128-SHA
Accepted TLSv1 128 bits ECDHE-RSA-RC4-SHA
Accepted TLSv1 128 bits RC4-SHA
Accepted TLSv1 128 bits RC4-MD5
Prefered Server Cipher(s):
SSLv3 128 bits ECDHE-RSA-RC4-SHA
TLSv1 128 bits ECDHE-RSA-RC4-SHA
Seems like a problem in cipher ordering?Confirmed with FIrefox Aurora as well.
https://gist.github.com/anonymous/793efa92b17c8f727a1f
I used https://github.com/DinoTools/sslscan instead of the one that ships with homebrew.
My favorite preferred cipher is
SSLv2 0 bits (NONE)
I try and use that whenever I can. ssl_ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;