SSH Access through Cloudflare
blog.cloudflare.com
blog.cloudflare.com
Why? Because each time they introduce something, they end up at the controls.
What if, if, their internal network is breached; or an unhappy employee is at the wheel? Not only would it be possible for them to use everything at their disposal, but they can start to sell user data; internal ports exposed.
Considering bugs are a fact of life for developers; how long will it be until there is a big hole? Heartbleed was one; what's the next?
> When you use Cloudflare, we must decrypt the data at our edge in order to cache and filter any bad traffic. Depending on the SSL setting from the options above, we may re-encrypt or send it as plain text. (full vs. flex) Since each certificate needs a dedicated IP address, we add your domain name and wildcard (*.domain.com) domain in the SAN (Subject Alternative Name) to the certificate.[1]
[1] https://support.cloudflare.com/hc/en-us/articles/204144518-S...
NSA budget is big enough that it could buy CloudFlare 10 times a year, or have thousands of undercover agents.
Every "target" website that is not using CF can be cheaply DDoSsed until it switches to CF or disappear.
"Hey, everyone's starting to encrypt and we can't get the data as easy as we used to."
"Well, DDoS is a big problem out there. What if we offered a DDoS protection service because very few companies can afford the huge pipes needed to mitigate those attacks."
"Perfect! We can offer it to free for most sites, and offer "free" SSL encryption that terminates on our end."
"Yes! We'd gain their trust by offering such a service and they'd COME TO US begging for help."
I've wondered about LetsEncrypt as well. Since they're they ones generating these "free ssl certs", don't they then have the means to the decrypt the data? Yes, I'm cynical, but I think we need to be.
Same scenario as above. "Hey, we can just offer free certs and they will just give us the keys."
The SCTs can only be produced by these logs, and only when the log is shown the tbsCertificate data. The intent is that the log service promises to log all certificates for which it provides a timestamp. A Merkle Tree is used so that we can examine a log and obtain proof that it does indeed contain every certificate we've seen SCTs for.
So, your conspiracy needs to involve the Certificate Authority (Let's Encrypt in this case), the CT logging team at Google, and at least one third party log operator. Or it would be detected when it was tried.
No, as you alluded to, my conspiracy only needs that the user uses any of the many browsers besides chrome.
A CA compromise is still very bad, but mostly because it allows an attacker to issue valid certificates and set themselves up as a MitM more easily. Let's Encrypt is still subject to this kind of attack, but so is every other CA; it's not a new threat. That can be reasonably worked around with certificate pinning and other techniques.
Cloudflare already had one (cloudbleed).
A level of diversity is necessary for resiliency and security.
This is true for biological systems, social organizations, complex technologies and of course software as well.
For one, the idea of "delegate security to a central authority because they know what they are doing" is one that has failed so catastrophically in history it's surprising anyone still considers it a convincing argument. If there is one thing humanity should have learned, it's that centralizion of power is itself a major security problem. Electing dictators to solve security problems does not work.
Then, "we have to give all power to cloudflare or we are on our own" is obviously a false dichotomy. No, people can work together on fixing security problems without the need to delegate power to a central authority.
Also, it isn't hard to keep "a modern system" secure. It's just that noone cares, in part because they think they can just buy security as a product that they somehow plug into their system to make it secure. But that is just a completely mistaken approach. You can buy "IT security" as much as you can buy "car safety". If the engineering of your car is shoddy, no add-on will make if safe, and it's exactly the same for IT systems--and if the engineering is solid, there is no need for "safety add-ons".
BTW, one particular kind of "security" that large organizations are good at is controlling PR. It's just that that is not in your interest as their customer. It's just one of many conflicts of interest.
(not counting the verizon factor w/EC)
I don't know about you, but I don't trust running third party apps, I won't publicly expose them. Instead I put them behind authenticating proxies, like Cloudflare Access[1], Google Identity-Aware Proxy[2], Bitly oauth2_proxy[3], and Buzzfeed SSO[4]. With an authenticating proxy an attacker can't even hit the web application until authenticating, so they can't exploit a vulnerability in the web application. They will have to pop the auth proxy first, which have less surface area, and then pop the web application.
Applications that combine HTTP and SSH complicate things because the typical HTTP proxy won't proxy your SSH (git) connections, and the web authentication flow doesn't work with SSH.
Cloudflare Access provides the auth proxy, cloudflared does the web authentication flow for a command line app and passes SSH traffic through Cloudflare Access.
[1] https://www.cloudflare.com/products/cloudflare-access/
[2] https://cloud.google.com/iap/
It's a bit like saying HTTPS isn't good enough, so let's tunnel HTTPS inside HTTPS -- unless I misunderstand its purpose.
Adding a public facing SSH interface to our production hosts was a bit of a non-starter and we would have had to hack together auth on top of that (not just for us, but for our customers too). That's a lot of additional surface area and operational burden we didn't want.
BTW we should catch up over a beer sometime =]