6 ms·
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
by yoo1I 10y ago
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
- sqldba 10y agoThe 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).
- jraedisch 10y agoWhat about using self-signed (and thereby untrusted) certificates?
- cm2187 10y agoIf CloudFlare pins the certificates then fine, but if it doesn't, you might as well leave the traffic unencrypted.
- narsil 10y agoWhy do this when letsencrypt.org provides free trusted SSL certs?
- brianwawok 10y agoThere 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.
- true_religion 10y agoDoesn'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?
- jlgaddis 10y agoEven if they do, how do you expect to get a valid (i.e. trusted) certificate for an FQDN that ends with ".google.com"?
- true_religion 10y agoI'd expect they'd use something like star-certs, and give you a heyuser.storagegcd.com
- jlgaddis 10y agoForgive my ignorance, but what is a "star-cert"?
- true_religion 10y agoI 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?
- pfg 10y agoThere'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.
- true_religion 10y agoTheir $20/month plan appears to offer SAN, so you can support clients without SNI.
- pfg 10y agoTheir 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.
- mr_potato_face 10y agoTo 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 https://en.wikipedia.org/wiki/Room_641A [2] e.g. http://www.infoworld.com/article/2925839/net-neutrality/code-injection-new-low-isps.html http://www.infoworld.com/article/2925839/net-neutrality/code... [3] https://www.torproject.org/docs/faq.html.en#CanExitNodesEavesdrop https://www.torproject.org/docs/faq.html.en#CanExitNodesEave... [4] e.g. http://www.cs.kau.se/philwint/spoiled_onions/ http://www.cs.kau.se/philwint/spoiled_onions/ but plenty of other sources
- toast0 10y ago> 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).
- tzs 10y ago> 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.
- rtpg 10y agoWell, 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...
- mayhew 10y ago> 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.
- baby 10y agoI'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.
- Vendan 10y agoYou 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"
- 0xmohit 10y agoyour_server <--- no TLS ---> CloudFlare <--- TLS ---> Browser So there's a MITM here -- Cloudflare.
- angry-hacker 10y agoWell, maybe the whole encryption / ssl system is broken if it's possible to setup the system like that?