A machine-tool vendor's agent needs direct egress - how do you write that exception so an implant on the same host cannot live in it?
answer
- narrow every axis the filter offers
- source is one address, not a subnet
- any-destination-443 is not an egress control
- record the business dependency at creation
- flow proves movement, never contents
basics
~20 sNarrow it on every axis the filter offers - one source address, the vendor's actual destinations, one port and protocol, a schedule if the agent has one - then build the watch on flow records and handshake names, since no proxy log exists.
solid answer
~50 sTreat the exception as a designed object, not a hole punched at 03:00. Scope the source to that one device's address rather than its segment, the destination to what the vendor actually uses rather than any address on 443, the protocol and port to one each, and add a time condition if the agent's check-in schedule allows one. Give the rule a name, an owner, a date and a written statement of what stops working if it is removed - without that last part nobody can ever delete it. Then confront what you gave up: this host has no proxy log. What remains is flow data - five-tuple, byte and packet counts, timestamps, no payload - plus the server name in the TLS ClientHello when the agent connects by name. So the monitoring is about shape: a destination this source has never used, sessions outside the expected schedule, volume far off its own baseline.
code
text · 12 linesflowStartMilliseconds 2026-08-30 02:14:07.220
sourceIPv4Address 10.42.7.31 sourceTransportPort 51044
destinationIPv4Address 203.0.113.40 destinationTransportPort 443
protocolIdentifier 6 (TCP)
octetDeltaCount 18412 packetDeltaCount 96
...
flowStartMilliseconds 2026-08-30 02:14:09.885
sourceIPv4Address 10.42.7.31 sourceTransportPort 51046
destinationIPv4Address 198.51.100.7 destinationTransportPort 443
protocolIdentifier 6 (TCP)
octetDeltaCount 4905338 packetDeltaCount 3742
...go deeper
Know that an exception should name one source, one destination and one port, and that a rule permitting any destination on port 443 is not really a restriction.
Explain what a flow record contains and what it cannot contain, and why that changes which alerts are worth writing for a host with no proxy log.
Demonstrate the whole object: scoping on each axis, the provenance you record at creation, the compensating monitoring built on destination novelty and per-device baselines, and what you concede first under pressure.
Be ready to argue the standing cost of an exception register across hundreds of devices - who reviews it, how vendors are pushed to publish destination lists, and when the answer is to replace the software rather than keep carrying the hole.
## Why the exception is a design problem A direct-egress exception for an unproxyable device is permanent, undocumented by default, and written under pressure. It is also the single most attractive object in the rule base to anything that lands on that machine, because a packet filter matches addresses and ports rather than programs: whatever the rule permits, it permits to every process on the host. The engineering question is not whether to write it - sometimes there is no alternative - but how much of it you can take back. ## Narrowing, axis by axis **Source.** One address, belonging to one device. A rule whose source is a subnet turns a single vendor's requirement into an estate-wide permission, and it is the most common shortcut precisely because it survives the device being re-addressed. **Destination.** The specific endpoints the vendor uses. This is the hardest axis and the one worth fighting for, because "any address, port 443" is functionally the same as no egress control at all for that host. Vendors relocate endpoints, so the rule needs a maintenance story: a written destination list from the vendor, a review when it breaks, and a preference for filtering on the server name in the handshake where the gateway can do it, since a name survives an address change. **Port and protocol.** One each. If the agent uses TCP/443, nothing else is permitted - not ICMP, not UDP, not a second port "in case". **Time.** If the agent checks in on a schedule, the rule can be open on that schedule. Many will not tolerate it; some will, and it removes most of the hours in which the exception is usable by anything else. **Provenance.** Name, owner, date, and the business dependency in one sentence. The rule base that nobody dares prune is a rule base whose entries never recorded why they exist. Writing that sentence is a two-minute cost at creation and the only thing that makes removal negotiable in three years. ## What you have actually given up Every other host in the estate produces a proxy record: the destination name requested, the policy verdict, the volume, often the user. This host produces none. What is left is flow telemetry and, sometimes, the handshake. A flow record carries the source and destination addresses, the source and destination ports, the protocol, byte and packet counts, and start and end timestamps. It carries no payload whatsoever. It establishes that two endpoints exchanged a measurable number of bytes at a time. It cannot tell you what was in them, which account was involved, or whether the transfer was the agent's telemetry or someone else's copy of a design file. The server name in the TLS ClientHello, where the agent connects by name and the handshake is visible, adds the intended destination name. It does not add contents. Both are directional claims worth stating carefully in an interview: flow proves movement, the handshake proves intent to reach a name, and neither proves what moved. ## Monitoring built from what remains Given those records, the alerts that can honestly be written are about shape rather than content: - **Destination novelty.** This source has a tiny, stable destination set. Anything new from it is worth a look, and it is the single highest-value alert available on a bypassed host. - **Schedule deviation.** A diagnostic agent that checks in every fifteen minutes has a rhythm. Sessions at hours it does not normally run are cheap to detect. - **Volume against its own baseline.** Not against a global threshold - against what that device has done for the last ninety days. A telemetry uploader that suddenly moves two orders of magnitude more is a question worth asking, and asking it is all you can do, because the records will never tell you what the bytes were. Note what none of this delivers: certainty. The exception buys the plant its vendor support and costs you the ability to answer "what left?" for one machine. Saying that plainly, and showing the compensating watch you built, is the answer an interviewer is looking for. ## The pressure to write it badly The wide version - source subnet, any destination, TCP/443, permanent, unnamed - takes thirty seconds and never breaks. The narrow version takes a conversation with a vendor, a change record, and a rule that will need maintenance when the vendor moves an endpoint. The narrow version is also the only one that stops the exception being a general-purpose exit for anything running on that floor. Being able to describe that trade, and to say which parts you would concede first when the line is down, is the senior part of the answer.
- Looking at those two flow records, what can and cannot you conclude?You can conclude that the exempted host opened two TCP/443 sessions seconds apart to different destinations, and that the second moved roughly 4.9 MB outbound-plus-inbound against the first's 18 KB. You cannot conclude what either carried, which process opened them, or that the second is malicious. What the pair does prove is that the rule permitted a destination outside the vendor's - so it was scoped by source, not by destination.
- The vendor will not give you a destination list. What do you do?Run in observation first: collect the destinations the agent actually uses over a representative period from flow and handshake records, and build the allow-list from measurement rather than from the vendor's cooperation. Then keep it under review, because an endpoint change will present as an outage. Put the vendor's refusal in the rule's record - it is the justification the next reviewer needs.
- Why is a baseline better than a fixed byte threshold for this host?A fixed threshold has to be loose enough not to fire on the noisiest device in the estate, which makes it useless on a machine that normally moves kilobytes. A per-device baseline fires on that device's own change of behaviour, which is the only signal available when you cannot see contents. It costs you a warm-up period and re-baselining after legitimate changes.
saying these in an interview costs you the question
- Writes the exception with the source as a subnet for convenience
- Permits any destination on 443 and calls it egress control
- Says the vendor destination is trusted so scope does not matter
- Claims flow records show what was transferred
- Leaves the rule unnamed with no stated business dependency