16 Aug 2026 · 6 min read

Why nobody actually segments the plant network

security · scada · edge

Ask anyone who runs a plant whether the network should be divided up — office here, control systems there, a controlled gate between them — and they will say yes. It has been the standard advice for twenty years. Every audit recommends it. Every incident report concludes with it.

Now ask how many plants have actually done it.

The gap between those two answers is not budget, and it is not ignorance. It is much simpler than that, and once you see it the whole problem changes shape.

The real reason it never happens

Whoever turns on the rule owns whatever stops working.

That is the entire obstacle. If you block something that turned out to be important, the plant has a bad day and everyone knows whose change caused it. If you do nothing, the risk stays theoretical and nobody's name is on it. Faced with that trade, any sensible person finds something else to work on. So the project gets planned, discussed, quoted, and quietly deferred — often for years.

Notice that this is not a security problem. It is a confidence problem. People are not refusing to build the wall; they are refusing to guess where the doors go.

you turn the rule onyour change · your nameyou leave it for laternobody in particularweighed by how visible the consequence is, not how large
The two options do not carry the same personal cost, which is why the lighter one keeps winning in organisations that genuinely agree with the heavier one.

Why the usual starting point makes it worse

The normal way to begin is with a reference diagram — the layered picture, plant at the bottom, business at the top, tidy arrows in between. It is a genuinely good teaching tool and most of us learned from it.

But it is a picture of a plant in general. You are being asked to apply it to yours, and yours has fifteen years of history in it: the system somebody added to watch the pumps, the report that runs at 4am, the connection an integrator set up in 2019 that nobody has touched since.

None of that is on the diagram. All of it is on your network.

So you end up writing rules from a map of somewhere else, which is exactly the situation that makes people nervous — and they are right to be.

The cheap thing almost nobody does

Before drawing any boundary, watch the network and write down who actually talks to whom.

That is it. No product, no project, no consultant. A machine that can see the traffic and a day of patience. You end up with a list: this system talks to that one, in this direction, for this purpose. Then you write your rules from the list instead of from the diagram, and the fear mostly evaporates, because you are no longer guessing.

I had been telling people this for a while without ever having done it properly myself, which is a bad look for advice. So I did it on my own plant — three sites, a control room pair, a database, the usual — and watched everything for a day.

Three things came out of it that I did not expect.

One: a quick look is worse than useless

I first watched for three minutes, which is roughly what "I've had a look at the traffic" means in practice. It showed 48 conversations.

Watching for a day showed 261.

483 min2619.6 hflowshow long you watched (log scale)
Conversations found against how long you watch, on a network that never changed during the measurement. The curve is still climbing at the right-hand edge.

The four-fifths I would have missed were not exotic. They were the things that happen every hour, or once a night, or only when something fails — the backup, the certificate renewal, the scheduled report. Which means they are precisely the conversations a new rule would block silently, with the damage showing up days later, long after anyone would connect it to the firewall change.

If you take one practical thing from this piece: whatever period you were planning to watch for, it is too short.

Two: the textbook had one thing backwards

I wrote down what the standard diagram said my plant should be allowed to do, and compared it to what my plant actually did.

It got one rule confidently right in a way that would have broken my plant.

what the model prescribeswhat the plant needs1never used20agreed22forbidden
Two policies for one estate, drawn as sets. The overlap is where the textbook and this plant agree; everything to the right is a rule the plant needs and the diagram would have told you to block.

The diagram says the sites report up to the control room. Mine never does that — not once in a day. It works the other way round: the control room reaches out to the sites, and that is the single busiest conversation I have.

Here is why, without the networking vocabulary. When two systems connect, one of them dials and the other answers. It feels like it should not matter which. But I run two control room servers, a main one and a standby, and configuration only copies from the main one outward. If each site dials in to the main server, the standby never learns those numbers. It sits there looking healthy, with no way to reach anything.

I found that out the unglamorous way: I switched the main server off. The screens moved to the standby in eight seconds, exactly as advertised. Nobody watching the control room would have noticed anything. Meanwhile the plant recorded nothing at all for six and a half minutes, because the standby had no relationship with any site and nothing said so.

EACH SITE CALLS THE CENTRE
site 1site 2site 3mainstandby
standby has no numbers · 6 min 30 s with no records
THE CENTRE CALLS EACH SITE
site 1site 2site 3mainstandby
standby already connected · nothing lost
Same equipment, same cabling, same drawing. The only difference is which end places the call — and it decides whether the spare server knows the sites exist before it is needed.

So the direction is not a style preference. It is the difference between a backup that works and one that only looks like it does — and the textbook, followed faithfully, would have pointed it the wrong way.

That is the part worth sitting with. A rule that is correct while everything is healthy and wrong at the exact moment something fails is worse than having no rule, because you will trust it.

Three: one machine was in two places at once

The last finding is the one I would look for first in anyone else's plant.

One of my machines does several important jobs deep inside the plant. It also quietly serves something completely unrelated, to a different group of people, and accepts connections from the public internet.

INSIDE THE PLANT
historian · message broker · the screens operators use · the dashboard
the boundary
one machine
EXPOSED TO THE OUTSIDE
an unrelated service for a different group · connections arriving from the public internet
Wherever the line is drawn, this machine ends up on the wrong side of it for one of its two jobs. Splitting it is the only real answer, and that is a budget conversation rather than a drawing one.

There is no zone for that machine. By what it does it belongs inside the wall; by what it is exposed to it belongs outside. No amount of drawing solves it. The only real fix is to split it into two machines, which means an outage, a migration and a conversation about who pays.

Almost every plant has one of these. It is usually a machine that picked up a second job years ago because it happened to be there and had capacity. Finding it is worth more than the policy you were trying to write.

What the diagram forbade

Worth saying what the twenty-two disagreements actually were, because they sound alarming and are not. A system that checks every machine is still alive. A site writing its own records directly into the central database, because that is the one path that survives the link going down. The two control room servers keeping each other in step. Announcement messages that are not addressed to anybody in particular, which no rule written as this one may talk to that one will ever account for.

something checking every machine is alive
monitoring is not a data flow, so nobody draws it
a site writing its own records to the centre
the one path that survives the link going down
two control-room servers keeping in step
invisible until the day you need the second one
?
announcements addressed to nobody
no single recipient, so no rule can name one
Four of the twenty-two, sketched. None is unusual and none is a mistake — they are simply younger than the picture everyone is working from.

None of that is bad practice. It is what a working plant is made of, and it is invisible to a diagram drawn before most of it existed.

What I would actually do

Watch before you draw. A day, not an hour. You are making a list, not a report.

Write the rules from your list, then compare that to the textbook diagram. Where they disagree, treat it as a question about your plant rather than a mistake. Some disagreements will be things to fix. Twenty-two of mine were simply things the diagram did not know about.

Check what each rule does during a failure, not just on a normal day. Turn something off and watch what stops.

Expect to find a machine doing two jobs, and treat that discovery as the real result.

None of this needs a purchase. It needs a day of watching and the willingness to write down what is actually there — which is the part nobody does, including, until recently, me.

The full method, the numbers, the complete list, and the four mistakes I made in my own measurements are in the lab notes. The failover that explains the direction problem is written up here, and the piece where I gave this advice without evidence is here.

Once the list exists, the next question is what to build from it: the wall between office and plant, and the rules inside each room that most plants never write — one firewall is not segmentation.

Keep reading

Newsletter

New essays, by email.

SCADA, cloud, AI, and the plant floor — a short email when something new is published. No noise, unsubscribe anytime.