News for hackers. Stuff that matters.
Re:CloudFlare, We Have a Problem by gkoberger on Saturday July 16, 2016 @01:55AM (#12105397)
For me, it's so I don't have to deal with SSL. Sure, SSL isn't hard... but I have thousands of things more important to do than worry about where my keys are and when it expires. There's some nice bonus features like redirects, error pages, etc.

It takes 10 seconds to sign up, is cheap, makes something complicated very simple, and offers immediate value. Anyone building a developer tool should use CloudFlare as a case study.

EDIT: To the person who replied to me: Heroku, Shopify, and other similar services already serve their sites as HTTPS; Cloudflare just lets you throw HTTPS on a custom domain. It's HTTPS from top to bottom, don't worry.

Re:CloudFlare, We Have a Problem by yoo1I on Saturday July 16, 2016 @02:05AM (#12105419)
If I understand you correctly your setup is exactly what's described in the article:

  your_server <--- no TLS ---> CloudFlare <--- TLS ---> Browser

If that's the case you are putting your users at risk, by pretending there is a TLS connection to your server when really it's only to CloudFlare. The connection from CloudFlare to your server is completely unprotected and is routed over the public internet.

That's not an acceptable setup. If I am communicating to a service that is TLS protected and I see the little green icon in the top left of the bar, I should be confident that my data that I am communicating to you is not routed over the public internet unprotected!

You say this:

> makes something complicated very simple

You made it simple by simply not doing it

Re:CloudFlare, We Have a Problem by rtpg on Saturday July 16, 2016 @03:56AM (#12105638)
Well, you've reduced the risk of someone MITMing your users connections. So now your risk is of someone MITMing CloudFlare's connection.

My impression is that this will rule out most coffee shop owners from tampering with the connection through their router. Even if state actors can still get at your content, this is still better than "no SSL whatsoever".

Honestly, though, for anything beyond "static HTML on some server somewhere", basic SSL conf. is a 30 minute one-time job...

Re:CloudFlare, We Have a Problem by mayhew on Saturday July 16, 2016 @11:25AM (#12106643)
> this is still better than "no SSL whatsoever"

This breaks the expectation that if a website is using HTTPS the connection is encrypted from source to destination. I'm not sure it's better as it's effectively giving the user a false sense of security.

Re:CloudFlare, We Have a Problem by baby on Saturday July 16, 2016 @12:42PM (#12106927)
I'm not sure this is the reputation of HTTPS: people have no idea what HTTPS means besides "the website is secure". It's your job, as a server admin, to choose how you deal with your infrastructure. If you choose to not use TLS between you and cloudflare, then you made a decision (that is fundamentally better than no TLS at all). If something happen, because Cloudflare, or because MITM between CF and you, then it is not on the user but on you.

FWIW a lot of infrastructure terminate TLS at the load balancer as well. HTTPS does not mean e2e encryption. HTTPS means you're securely talking to their infrastructure.

Re:CloudFlare, We Have a Problem by Vendan on Saturday July 16, 2016 @01:49PM (#12107205)
You may think it's fundamentally better then no TLS, and it may be on some levels, but where it's displayed to the user, it's seen as "This is HTTPS", with no mention of "it switches to HTTP for the last half of the trip". I don't want my credit card details and login info routing over the public internet in plaintext, but thanks to CF, I can't tell if they are or aren't. Oh sure, I won't get mitm'd by a coffee shop, but that "gain" is less then the loss of "oh, it's got the lock, that means it's secure"
Re:CloudFlare, We Have a Problem by baby on Saturday July 16, 2016 @02:30PM (#12107361)
But an infrastructure can make bad decisions at any point. They could terminate the tls connection at a wrong node, they could store your data unencrypted, they could... All of this is not on the user. It's on the company. And if they do decide to use Cloudflare this way it is their architecture decision.
Re:CloudFlare, We Have a Problem by Vendan on Sunday July 17, 2016 @08:40PM (#12112635)
Yes, that is all understood. The fact remains, however, that they are basically subverting what that lock means. It's ALL ON THE COMPANY, but I can't tell as a user that they have broken it, and in fact, my browser is SAYING it's secure. The company is deciding to make it lie. THAT IS A PROBLEM.
Re:CloudFlare, We Have a Problem by 0xmohit on Saturday July 16, 2016 @04:17AM (#12105662)

  your_server <--- no TLS ---> CloudFlare <--- TLS ---> Browser
So there's a MITM here -- Cloudflare.
Re:CloudFlare, We Have a Problem by true_religion on Saturday July 16, 2016 @02:23AM (#12105461)
I don't do this, but I believe you can use Cloudflare with self-signed certificates on your server.

Cloudflare essentially gives you free SAN certs at the edge nodes, which is something you typically have to pay for (to the tune of $$$$s) with other CDNs. Most CDNs give you the more typical SNI certs.

Also, as an aside, isn't it more likely for an end-user to get MtM'd than for that to happen to data centers?

Re:CloudFlare, We Have a Problem by pfg on Saturday July 16, 2016 @02:41AM (#12105498)
There's no such thing as a SNI certificate. SNI is a TLS extension allowing clients to send the hostname as part of the Client Hello, which allows the server to pick the right certificate for the hostname being requested. Without SNI, you're essentially limited to one certificate per IP address (which is what makes things expensive for CDNs if you need to support clients without SNI).

CloudFlare's free plan uses SNI.

Re:CloudFlare, We Have a Problem by true_religion on Saturday July 16, 2016 @05:26AM (#12105767)
Their $20/month plan appears to offer SAN, so you can support clients without SNI.
Re:CloudFlare, We Have a Problem by pfg on Saturday July 16, 2016 @06:03AM (#12105828)
Their free plan uses SAN certificates too. The difference is that they do "one (shared) SAN certificate per IP" for paid plans, as opposed to "multiple (shared) SAN certificates per IP" on the free plan, which requires SNI to work.
Re:CloudFlare, We Have a Problem by mr_potato_face on Saturday July 16, 2016 @02:48AM (#12105512)
To your aside, MITM seems more likely to happen to the end-user, but it is possible to happen at the Cloudflare-->Website side. We already know that the NSA logs all traffic going over certain backbone routers[1], and that some ISPs are modifying non-HTTPS connections[2]. So if your traffic bounces through certain "bad" networks between Cloudflare and your site, who knows what happens.

Relatedly, Tor recommends all users use HTTPS[3], as otherwise the connection from the exit node to the target site is vulnerable to MITM. Given that there are malicious exit nodes[4], seems like a good idea. But, as the article brings to light, that still doesn't make any guarantees of safety.

[1] https://en.wikipedia.org/wiki/Room_641A [2] e.g. http://www.infoworld.com/article/2925839/net-neutrality/code... [3] https://www.torproject.org/docs/faq.html.en#CanExitNodesEave... [4] e.g. http://www.cs.kau.se/philwint/spoiled_onions/ but plenty of other sources

Re:CloudFlare, We Have a Problem by true_religion on Saturday July 16, 2016 @05:29AM (#12105771)
When it comes to security, the question of "whom is my attacker?" really determines how much invenstment you make in securing your service.

Many online providers don't care if the NSA is slurping up their data. For example, do you think that Macy's online is going to stick out their necks to protect clothing transactions from the government?

Nope.

Personally, I've seen end-users more worried about MtM close to their endpoint, such as their employers or schools scanning their traffic. They're not trying to evade governments here.

Re:CloudFlare, We Have a Problem by tzs on Saturday July 16, 2016 @03:13AM (#12105567)
> If that's the case you are putting your users at risk, by pretending there is a TLS connection to your server when really it's only to CloudFlare. The connection from CloudFlare to your server is completely unprotected and is routed over the public internet.

How much of a risk is this in practice, assuming that when I do illegal things I'm very careful to only use sites that I know are end-to-end encrypted, and so for sites going through CloudFlare I'm only worried about criminals snooping for identity theft or credit card theft or similar purposes? [1]

I'd guess that criminals are overwhelmingly more likely to manage to intercept things near the browser side of things than near the server side of things. Probably most likely would be by taking over a public facing wifi router. I'd expect that getting in between CloudFlare and the server would take resources beyond most non-government actors.

[1] Note: I am NOT making an "if you aren't doing anything illegal, you don't need to worry about government snooping" argument. However, there is plenty of information that I consider confidential in the sense that I do not want it generally known, but where the government already knows that information. So, if some site asked me for such information and I needed to decide if they are providing adequate security I would only need to consider non-government snoopers because government snoopers already have the information.

Re:CloudFlare, We Have a Problem by angry-hacker on Saturday July 16, 2016 @04:38AM (#12105696)
Well, maybe the whole encryption / ssl system is broken if it's possible to setup the system like that?
Re:CloudFlare, We Have a Problem by jraedisch on Saturday July 16, 2016 @02:22AM (#12105458)
What about using self-signed (and thereby untrusted) certificates?
Re:CloudFlare, We Have a Problem by narsil on Saturday July 16, 2016 @03:03AM (#12105546)
Why do this when letsencrypt.org provides free trusted SSL certs?
Re:CloudFlare, We Have a Problem by brianwawok on Saturday July 16, 2016 @02:09PM (#12107300)
There are missing edge cases with this.

Say I want to serve a static HTML website from a Google cloud storage over SSL. No way to do this for free with let's encrypt. 1 click and free with cloud flare.

Is there MITM chance between cloud flare and Google? Yes. For a static website with no login or input from users, seems safer than any free alternative I know of.

Re:CloudFlare, We Have a Problem by true_religion on Saturday July 16, 2016 @04:15PM (#12107722)
Doesn't Google offer a generic domain for you to use, like amazon has s3.amazon.com with some information about your username in the URL or subdomain?
Re:CloudFlare, We Have a Problem by jlgaddis on Saturday July 16, 2016 @05:53PM (#12108024)
Even if they do, how do you expect to get a valid (i.e. trusted) certificate for an FQDN that ends with ".google.com"?
Re:CloudFlare, We Have a Problem by brianwawok on Sunday July 17, 2016 @05:16PM (#12111869)
No you host from your own domain.

https://cloud.google.com/storage/docs/hosting-static-website

Gives you a site at your name.com

Only missing link is the HTTPS which you get with cloud flare

Re:CloudFlare, We Have a Problem by true_religion on Saturday July 16, 2016 @06:08PM (#12108067)
I'd expect they'd use something like star-certs, and give you a heyuser.storagegcd.com
Re:CloudFlare, We Have a Problem by jlgaddis on Sunday July 17, 2016 @02:21PM (#12111120)
Forgive my ignorance, but what is a "star-cert"?
Re:CloudFlare, We Have a Problem by true_religion on Sunday July 17, 2016 @08:15PM (#12112559)
Oh I think I just used a bit of jargon there. It's canonically called a Wildcard Certificate [0]

[0] https://en.wikipedia.org/wiki/Wildcard_certificate

Re:CloudFlare, We Have a Problem by cm2187 on Saturday July 16, 2016 @02:51AM (#12105518)
If CloudFlare pins the certificates then fine, but if it doesn't, you might as well leave the traffic unencrypted.
Re:CloudFlare, We Have a Problem by toast0 on Saturday July 16, 2016 @02:35AM (#12105482)
> That's not an acceptable setup. If I am communicating to a service that is TLS protected and I see the little green icon in the top left of the bar, I should be confident that my data that I am communicating to you is not routed over the public internet unprotected!

If you see that little green icon, you can be confident that the server you're communicating with has done the bare minimum to satisfy the browser gods today, so that the https everywhere people will stop yelling. It's never meant anything else. It's best to assume you're talking to a TLS terminator which communicates to the HTTP endpoint via AMPRnet (unencrypted IP via amateur radio).

Re:CloudFlare, We Have a Problem by sqldba on Saturday July 16, 2016 @02:20AM (#12105446)
The browser indicator is working properly according to the standard. That's what standards are - you don't get to complain about intent just because it doesn't mean to YOU what YOU WANT it to mean.

Traditionally certificates have been very expensive for little unpaid blogs to have, and difficult to setup. LetsEncrypt is a very new solution but it will be a long time until hosts support it; remembering most of us are on simple cPanel setups so until it's baked INTO cPanel and hosts have upgraded it's unusable for a majority of the web. Just because we can run a web site doesn't mean we can hack layers into web internals.

This is in part the fault of LE's idiotically short and crippling certificate lifespan. Lord knows why they did it but they knew it would screw us from the beginning. "Hey you should automate this, but seeing as you can't, no cert for you."

Google prefers https content. Cloudflare gives small people a better slice of those readers.

Ultimately nobody gives a shit that you're reading the semi-encrypted content I publish. NOBODY. Oh no you read how a database works? If that's illegal where you live then I think you're in much deeper survival problems than whether your browser button is magically misleading you (which it isn't; it's a guide, one that reveals itself once you click through, which is again exactly how it was designed).