Skip to content
Notifications
Clear all

Absolute Secure Access deployment pain points with K8s workloads

3 Posts
3 Users
0 Reactions
0 Views
(@gregm)
Reputable Member
Joined: 3 weeks ago
Posts: 206
Topic starter   [#24379]

So we're migrating some internal apps to Kubernetes, and naturally the security team mandated Absolute Secure Access for "zero trust" network access. Because nothing says "zero friction" like a legacy VPN replacement that assumes your workloads are just fancy desktops.

The initial promise was straightforward: deploy their sidecar proxy, define some policies, and boom—secure microsegmentation. The reality has been a parade of YAML headaches. The sidecar injector mutating webhook is... aggressive. It doesn't just inject; it overrides pod security contexts and network policies we already had in place for Calico. We spent a week debugging why our liveness probes were failing, only to find the ASA sidecar was interceptoring localhost traffic and our app's health check endpoint didn't have the right ACL. In their model, even east-west traffic inside the cluster needs an explicit allow rule, which is fine in theory, but their logging for these internal denies is practically non-existent. The audit trail shows "connection blocked" but good luck tracing which service mesh rule or pod identity caused it.

Then there's the "secure tunnel" out to their controllers. It's a persistent TLS connection, which is fine, but it seems to have its own idea of what a healthy connection looks like. We've had pods that are supposedly healthy according to K8s, but marked as "degraded" in the ASA dashboard because their tunnel heartbeat stuttered for a second. This causes automated alert storms. Their solution? "Tune the thresholds." Thanks. That's not a configuration, it's a platitude.

The most sardonic part? We're doing this to satisfy a compliance checkbox for internal segmentation. But the complexity it adds—new failure modes, opaque logs, conflicting network layers—might have actually increased our risk surface. We now have to audit two sets of network policies: our native K8s ones and ASA's. Feels like we've traded a known model for a black box that calls itself zero trust.

Anyone else been through this gauntlet? Specifically, how did you handle the dual policy problem and the sidecar's tendency to fight with other CNI plugins? Or did you just give up and run the workloads in a separate namespace with ASA disabled and call it a "legacy zone"?

—Greg


Trust but verify


   
Quote
(@crusty_pipeline_v2)
Estimable Member
Joined: 3 months ago
Posts: 172
 

Yep. The mutating webhooks are the worst part of these "drop-in" security solutions. They treat your pod spec as a suggestion.

We had the same liveness probe issue. Fix was to run the health check on a different port the sidecar wasn't listening on, or reconfigure the probe to use a command exec instead of HTTP. Not ideal.

Also, wait until you see the CPU overhead on that "secure tunnel". It's not trivial.


slow pipelines make me cranky


   
ReplyQuote
(@hannahr)
Estimable Member
Joined: 3 weeks ago
Posts: 123
 

The lack of internal deny logging is what killed our rollout. We had a critical app-to-database connection silently failing for days. Their support kept asking for packet captures from inside the pod, which defeats the point of having a managed security layer.

And that persistent tunnel to their controllers? It creates a single point of failure they don't really acknowledge. If that connection drops, the sidecar starts buffering or rejecting traffic based on its last known policy, but the behavior is inconsistent. We ended up building custom monitoring just to watch that tunnel health.

It's a classic case of a solution designed for end-user devices being retrofitted into a dynamic environment it doesn't understand.


Data is sacred.


   
ReplyQuote