4 ms·
Hi, I have worked on security teams, been on both sides of supplier assessments and built infrastructure / deployed vendor agents. Both of these options (assum
by xyzzy123 1y ago
Hi, I have worked on security teams, been on both sides of supplier assessments and built infrastructure / deployed vendor agents.
Both of these options (assuming best practice configuration) would be acceptable to any security team I've worked on based on the fundamentals. But the limitations of corporate environments and processes mean that one is much easier than the other.
Practically speaking, supplier assessment forms usually have standard questions for TLS, endpoints, settings / ciphers etc. The paperwork is more complicated for WireGuard because there are no "boxes" for it, you have to write out lengthy explanations into spreadsheet cells / forms. Often the people filling out the forms are the project team who are not networking experts and they have trouble figuring out what to put where. It produces a small feeling of discomfort for people filling out and reviewing the form because it does not look "completely standard". Since WireGuard is a tunnel, an "alert" person might also ask "oh, what protocols are going over that tunnel and to where? How are THEY secured?" which is possibly a whole other set of questions that never seem to come up with TLS.
With my deployer hat on - TLS is the happy path. As a deployer, you often don't "own" the network, that's a separate team. These teams (and their equipment) very greatly in their capability, sometimes they are excellent, sometimes they are dysfunctional. There is usually a standard process or form for "TLS egress to XYZ" - but anything that is NOT this will trigger a complicated workflow requiring actual meetings and people looking at architectures and diagrams etc. You will basically find it "impossible" to deploy into some customer environments if you don't go with TLS, that is the bitter reason why everyone uses it despite other things being "better" along certain dimensions.
Even mTLS or non-public CAs won't work "out of the box" if there is a middlebox that does inspection by terminating and re-establishing the TLS connection. There is usually a ticket / standard process to request a bypass for this this - but some customers will need hand-holding through that. That (plus the practical difficulties of terminating it in cloud on the SaaS end, which are mostly solved in 2025 fortunately) is a reason even mTLS is not more widely used.
Imagine that the person deploying a pod into k8s, the team managing the cluster, the 2 or 3 teams managing the cloud environment, the team doing the supplier assessment and the team managing the network are all different, don't understand each other's "layers" or job functions well, and often fail to communicate with each other. The interface between some teams might mainly be a ticketing system. Making the deployment work at all in these situations is a challenge, and anything "non-standard" is something that needs to be communicated seamlessly across all these layers.
- hellosecpeeps 1y agoI really appreciate the reply - everything you mentioned basically confirms my suspicions and gives us some good pointers to look at next. Is my interpretation of your message correct in that, even in the HTTPS/TLS-based agent approach, that mTLS might be hard to achieve in practice? I am trying to guage if the absense of mTLS would be something that would frequently be nit-picked in security reviews. My first-hand experience reviewing vendor agents (Newrelic, Datadog, AWS SSM, Azure Connected Machine etc) tells me probably not as its generally not default-required in those agents, but just looking to crowd-source some other opinions. Another value prop of TLS-based agents appears to be that it allows customers to potentially keep the credentials to systems we are automating inside the agent config, as opposed to us needing to store those credentials in our SaaS platform. Wondering if you have any thoughts on this topic as well. Lastly, are you aware of any open-sourced python-based agents that could serve as a good reference point in terms of best practices? Thanks again!
- xyzzy123 1y agoThanks. What I've seen is that organisations are focused on process compliance, not technical security. As long as people can tick the boxes in standard supplier assessment forms (which you can do with plain TLS, not even mTLS), you can be successful. The question is, does the product do something that people desperately want? They will find a way to fill out the forms / justify the use of the product if it does. It can actually make the process more difficult if you are very different from your competitors in your security strategy, people have to expend effort to understand why you are different. For mTLS specifically, it would be great as an option / thing that customers can configure if they want to go above and beyond, but may cause difficulties for many customer(s) as a requirement. As you observe, comparable vendors are generally plain TLS with a license / token / secret.