4 ms·
Here are my answers to those questions: (Note: I am a GitLab employee, so they are probably a bit biased) - What are the privacy implications of this? Theoreti
by T4cC0re 7y ago
Here are my answers to those questions: (Note: I am a GitLab employee, so they are probably a bit biased)
- What are the privacy implications of this?
Theoretically, any 3rd party in line of traffic (in this case it is Cloudflare) has the ability to monitor and alter traffic. This is especially true when said 3rd party does inspections into TLS traffic. The privacy implications are, that they can see and alter any traffic between the client and the origin. But in the case of Cloudflare and GitLab, that is desired, as we want to take advantage of Cloudflare's Web Application Firewall to further protect us from 0-days and other threats, where mitigation using traditional methods might cause a delay, that cloud lead to exploitation of those, causing bigger harm.
My personal opinion on this (it does not necessarily reflect the view of GitLab) is, that Cloudflare is a vendor I personally trust in terms of adhering to what they say in regards to privacy. While they, as any other vendor, could be breached, I see the benefit of their Security solution bigger, than the breach-risk.
- Will Cloudflare be able to see GitLab traffic?
Yes, partially. SSH is not inspected by CF, despite being proxied by them. HTTP can be inspected by anybody on the net and yes, thus CF, too. HTTPS will be terminated by Cloudflare (and re-encrypted when talking to our origin) for some reasons:
- CDN: They need to know which resource you request in order to serve it from a cache
- WAF: Once enabled (not from the start) it will scan requests for malicious content and either block or challenge the request
- Workers: A highly integrated FaaS platform, we can use to dynamically authenticate requests to cached resources and other logic we may want to execute on the edge of Cloudflare's network.
Despite all that Cloudflare does not log raw requests. On our end, we only see the information about where the request came from, user agents, etc. You can find out more about what Cloudflare logs over here: https://blog.cloudflare.com/what-cloudflare-logs/ https://blog.cloudflare.com/what-cloudflare-logs/
- Was/is Fastly able to before?
Fastly is in the same position as Cloudflare will be in the future. Right now https://about.gitlab.com https://about.gitlab.com is served via fastly pointing to an origin, which we control. If fastly would be breached, the attacker could control the contents of about.gitlab.com. Static assets are also hosted via fastly and are also subject to be possibly altered by an attacker.
- And is there any reason to trust one over the other?
The decision within GitLab was made purely on technical grounds. Cloudflare was the only solution meeting our criteria to keep serving traffic via SSH on the same host as we do right now.
Speaking for myself again, I trust Cloudflare and have personally been a customer of theirs for a long time 2012-ish). While I do not have that kind of relationship with fastly, I believe both vendors to be trustworthy in doing their best to protect the privacy of their users.
You can find more information about how we are going to deploy Cloudflare here: https://gitlab.com/gitlab-com/gl-infra/readiness/tree/master/cloudflare#architecture https://gitlab.com/gitlab-com/gl-infra/readiness/tree/master...
- lioeters 7y ago> ..[Cloudflare] has the ability to monitor and alter traffic > ..inspections into TLS traffic.. > SSH is not inspected by CF, despite being proxied by them > HTTPS will be terminated by Cloudflare (and re-encrypted when talking to our origin) As someone who works on the web and does use Cloudflare, I guess I knew these facts, but I must admit I have some doubts about the security and privacy implications, what they mean in practice. It comes down to trust, and while I believe CF is an excellent actor in regards to privacy, this need for trusting a third-party makes me uneasy. If CF (or anyone really) is in the middle, then couldn't we say that SSH and HTTPS are not (or less) secure?
- T4cC0re 7y agoFirst of all, CF cannot see or alter anything that happens in the SSH tunnel (except killing the connection), because the handshake is done with our servers and only those have the private keys that match our published fingerprints. This will not change. > If CF (or anyone really) is in the middle, then couldn't we say that SSH and HTTPS are not (or less) secure? I guess that depends on how you define 'secure'. The confidentiality aspect of security is reduced, by letting a 3rd party (Cloudflare) inspect the traffic. However, as stated before, they do not log contents keep metadata briefly. And I have no reason to believe they do otherwise. Utilizing CF's technology to help prevent a possible breach of GitLab's servers however, strengthens security in my book. Speaking of breaches. IMO a breach (whether it be at Cloudflare or at GitLab) would be horrific in its own right. But, if an attacker manages to compromise TLS traffic by attacking Cloudflare, they would gain access to that traffic and thus any authentication credentials within it. The blast radius would be limited. Breaching GitLab.com however, has the potential of putting all customer's data at risk. As cruel as it sounds, but I'd rather have a potential breach in front of GitLab. Well, ideally none at all. I do understand the concerns about having to trust a 3rd party. And as you have pointed out, it comes down to trust. By publishing this information beforehand we want to make it easier for everyone to keep their trust in us, build new trust with Cloudflare, as well as to live up to our values (transparency specifically in this case). And it is my firm belief, that speaking candidly in these matters is important.
- 7y ago