An app's accept log shows connections from the node network, not the ingress gateway — what does that prove and what does it not?
answer
- bytes arrived; intent did not
- one of those sources is a health probe
- no identity means no attribution, by construction
- paths used, not paths that exist
- close it and re-read the same log
basics
~20 sIt proves the application accepted connections from a source that is not the enforcement point, so a path exists around the deny. It does not prove malice, does not identify who was behind them, and covers only the paths used during that window — not every path that exists.
solid answer
~50 sRead the direction of the claim carefully. The records prove one thing: bytes arrived from addresses in the node range and the application served them, so the deny is not on the only route in. They do not prove an intrusion — a health probe, a monitoring scrape, or a batch job on a neighbouring node are all legitimate sources that will look identical, and one of the two source addresses here is hitting a health endpoint. They carry no identity, so they cannot tell you who or what was behind the request. And they are evidence of paths that were *used*, not of every path that *exists*; a bypass nobody exercised in that window leaves no line. What I would do: classify each non-gateway source, decide which are benign true positives and get them named and documented, then close the rest by making the application refuse connections whose source is not the enforcement point — and only then claim the deny is unavoidable.
code
text · 9 lines# orders-api, accepted connections (written by the application), 09:41-09:44
ts=09:41:02 src=10.8.0.4 via=ingress-gw user=alice@corp path=/api/orders/1182
ts=09:41:19 src=10.42.7.9 via=- user=- path=/api/orders/1182
ts=09:42:40 src=10.42.0.6 via=- user=- path=/healthz
ts=09:43:11 src=10.8.0.7 via=ingress-gw user=bob@corp path=/api/orders/search
ts=09:43:55 src=10.42.7.9 via=- user=- path=/api/orders/export
...
# 10.8.0.0/22 = ingress gateway pool
# 10.42.0.0/16 = platform node networkgo deeper
Know that a connection record proves bytes arrived and were accepted, and nothing about who sent them or why. Say what the record supports before saying what you would do.
Explain why a source outside the enforcement point's address range is a coverage finding rather than an alert, and why an absent identity field is expected on exactly those lines.
Work the finding: classify each source, separate benign true positives from unknowns, close the route, then re-read the same log as the evidence that the deny is now unavoidable.
Own what closing the path costs other teams — the probes that break, the exception list that grows, and the operator who needs a route that works at 3am before you take the old one away.
## The record, and what it can carry An application's own accepted-connection log is the strongest evidence available about where enforcement actually lands, because it is written by the thing you are trying to protect rather than by the control you hope is protecting it. What it holds is a source address, a time, the resource asked for, and whatever identity the request carried. What it does not hold is intent. Given a window of lines where some sources are in the gateway's address pool and some are in the platform's node network, three separate conclusions are available at three different strengths: **Proven.** The application accepted connections whose source is not the enforcement point. Therefore the enforcement point is not unavoidable, and any statement of the form *all access to this application is authorised at the gateway* is false as written. This conclusion is solid and it is the finding. **Not proven.** That anything malicious happened. On a shared container platform, the node network is the source address of the platform's own health probes, of a metrics scrape, of a service-to-service call from a peer workload, and of an operator who opened a shell somewhere and used a tool. A line with no identity field is not a line with a hostile actor behind it; it is a line the enforcement point never got to annotate. Treating each of these as an incident is how a coverage finding gets discredited on the first pass. **Not answered at all.** Who or what was behind any of these requests. If identity is attached at the enforcement point and these connections did not pass it, they are anonymous by construction. That absence is itself the point: the bypass path costs you attribution, not merely policy. **Not bounded.** The complete set of paths. A record shows what was used in the window. A legacy client that runs monthly, a break-glass path used twice a year, and an operator route nobody touched this week all produce nothing. So the absence of a suspicious source in this log is not evidence that no other path exists. ## Working the finding The useful move is classification before remediation: 1. **Separate benign true positives from unknowns.** A health endpoint hit from a node address at a regular cadence is almost certainly the platform doing its job. That is a true observation of a real bypass path *and* legitimately benign — both statements hold at once, and saying so keeps the finding credible. 2. **Name an owner for each benign path.** Health probing and metrics collection are paths around the deny. They stay, and they become documented exceptions with owners rather than untracked holes. 3. **Investigate the unknowns as coverage, not as intrusion.** A node-network source hitting the same business endpoints that authenticated users hit is worth chasing, but chase it as *which component is this and why does it not go through the front door*, escalating to incident handling only if no owner claims it. 4. **Close the path, then re-measure.** Make the application accept connections only from the enforcement point's sources, or place enforcement in its own network path so there is no non-enforcement route. Then re-read the same log: an accept log with a single source class is the evidence that the deny is unavoidable, and it is far better evidence than a diagram. ## What this costs Closing the path is not free and the price lands on other people. Restricting accepted sources breaks the health probe and the metrics scrape on the day you turn it on unless those are enumerated first, and the outage looks like the application's fault. Every legitimate path you preserve becomes an entry on an exception list that somebody owns and someone must review; the list grows faster than it shrinks, because each entry has an advocate and removal has none. And the moment enforcement becomes unavoidable, the operator path becomes the pressure point: whoever needed the direct route at 3am now needs a route that works, or they will build a new one and you will find it in this same log next quarter. ## The interview signal What is being tested is discipline about the direction of a claim. A weak answer reads these lines as an intrusion. A strong answer says: this is proof of a coverage gap, not of an attack; here is what each source probably is; here is what I would have to do to make the deny unavoidable; and here is what breaks when I do.
- One non-gateway source only ever hits a health endpoint. How do you classify it?As a benign true positive: a real path around the enforcement point, and a legitimate one. Both halves matter. It stays, but it becomes a documented exception with a named owner, because on the day you restrict accepted sources it is the thing that breaks first and it will look like an application outage.
- Your remediation is to accept connections only from the gateway's addresses. What is wrong with relying on that?It authorises by source address, which any workload on the node network can attempt to reach and which tells you nothing about the caller's identity. It is a useful blunt closure while a proper enforcement point is put in the workload's path, but presenting an address allow-list as zero trust is exactly the claim the finding disproved in the first place.
- The log shows no suspicious sources this week. Does that mean the path is closed?No. A record shows what was used, not what is possible. A monthly legacy job, a rarely used break-glass route and an operator path nobody touched this week all produce zero lines. Absence of use is not absence of a path, and the only way to make the claim is to remove the route rather than to observe it going unused.
saying these in an interview costs you the question
- Reads non-gateway sources as proof of an intrusion
- Says the connections are anonymous therefore malicious
- Concludes from one quiet window that no bypass path exists
- Blocks non-gateway sources before enumerating health and metrics traffic
- Treats source-address filtering as equivalent to identity-based enforcement