The short answer
Industrial DMZ Design
An industrial demilitarized zone is a network segment between the enterprise network and the control network in which every service that both sides need to reach is placed, so that no connection ever passes directly from one to the other. Data leaves the control zone by being pushed to a replica in the DMZ, remote access lands on a jump host in the DMZ, and patches and antivirus updates are staged in the DMZ. Two firewalls, or one with strict zone rules, enforce that the DMZ is the only thing either side talks to.
Key points
- No connection crosses from enterprise to control or back. Everything terminates in the DMZ.
- Data is pushed out of the control zone to a DMZ replica; the enterprise reads the replica.
- Remote access lands on a DMZ jump host. The vendor never reaches the control zone directly.
- The DMZ holds servers the utility can rebuild. Nothing in it is needed to run the plant.
- Default deny on both firewalls, with a short, documented rule list per conduit.
Why a DMZ
A utility wants to see plant data on the business network, wants engineers and vendors to reach the control system from outside, and wants patches and antivirus signatures to arrive at the SCADA servers. Each of those is a connection between the enterprise network, which is exposed to email, the web, and every laptop that joins it, and the control network, which runs the plant. Allowing those connections directly means an attacker who gets into the enterprise network is one firewall rule away from the PLCs.
The DMZ breaks that path. It is a third network between the two, holding the services both sides need, with a firewall boundary on each side. The enterprise talks to the DMZ. The control zone talks to the DMZ. Neither talks to the other. An attacker who compromises a DMZ server has reached a server the utility can rebuild in an afternoon, and still has a second firewall between them and the plant.
What goes in it
| Service | Purpose | Direction of data |
|---|---|---|
| Historian replica or data collector | Enterprise users and reporting tools read plant data here | Control pushes to the replica; enterprise reads the replica |
| Remote access jump host | Every external session lands here, then opens a second session inward | Enterprise or VPN to the jump host; jump host to control on approved conduits |
| Patch and update staging server | Windows updates, antivirus definitions, vendor patches downloaded here and pulled by control-zone servers | Enterprise or internet to the staging server; control pulls from it on a schedule |
| Reporting and dashboard server | Web reports for management, compliance reports, alarm summaries | Reads the replica; serves enterprise browsers |
| File transfer server | Program backups out, vendor files in, with scanning | Both, through the transfer server, never directly |
| Time server | A single NTP source for control, synchronized from outside | Control reads time from the DMZ; DMZ reads from a trusted external source |
| Domain controller replica, where the control zone has its own domain | Authentication for DMZ hosts without exposing the control domain | Replication from the control domain controller, outbound only |
The test for whether something belongs in the DMZ is whether both sides need it. A service only the control zone uses stays in the control zone. A service only the enterprise uses stays there. The DMZ is not a place to put things that did not fit elsewhere.
The rules
- No direct path
- No firewall rule permits a connection from any enterprise address to any control address, or the reverse, on any port. Every exception someone requests is met by placing a service in the DMZ instead.
- Push out, never pull in
- Data leaves the control zone because a control-zone server initiates a connection outward to the DMZ replica. The DMZ never initiates a connection into the control zone to fetch data. A rule that allows the DMZ to open connections inward is a rule an attacker in the DMZ can use.
- Different protocols on each side
- Where practical, the protocol between control and DMZ differs from the protocol between DMZ and enterprise. A historian replicates by its own protocol inward; enterprise users read it by HTTPS or SQL. An attacker cannot ride one protocol end to end.
- Default deny
- Both boundaries deny everything not explicitly listed. The rule list for each boundary is short, each rule names its conduit, and the list is reviewed on a schedule.
- Hardened and disposable
- DMZ hosts are patched first, run only their service, have host firewalls, and are backed up so they can be rebuilt. Nothing in the DMZ is required for the plant to run.
- Logged
- Both firewalls log denied and permitted connections to a log server, and someone reads the denials.
Firewall arrangement
The classic arrangement uses two physical firewalls, one between enterprise and DMZ and one between DMZ and control, ideally from different vendors so that a vulnerability in one does not open both. Many utilities use a single firewall with three interfaces and a strict zone policy instead, which is acceptable if the rules are written as if there were two devices and no rule references enterprise and control in the same line. The single-firewall design has one management plane to protect and one device to fail; the two-firewall design costs more and needs two sets of rules maintained. Either is far better than no DMZ.
A utility-sized DMZ
A small utility does not need a rack of DMZ servers. One well-specified server, or two virtual machines on a small host, can carry the historian replica, the jump host, and the patch staging role, with the firewall rules separating them. What it must not do is skip the DMZ because it is small: the enterprise-to-control direct connection is the same risk at a 5 MGD plant as at a 50 MGD plant, and the incidents in the water sector have been at small utilities more often than large ones.
Common failures
- A historian configured to pull from the control zone because that was the default in the setup wizard.
- A rule added for a vendor "temporarily" that allows enterprise to control on one port, still present five years later.
- The jump host with a browser, an email client, and internet access, because a vendor wanted to download something.
- A DMZ server joined to the enterprise domain, so an enterprise domain compromise owns the DMZ.
- Operator workstations on the enterprise network with the SCADA client installed, reaching the SCADA server through a permitted rule.
- Antivirus and patch servers in the DMZ with a rule that lets them push into the control zone on a management port, which is a pull-in rule under another name.
Frequently asked questions
- Can operators view SCADA from the enterprise network?
- They can view a read-only replica or a web report served from the DMZ. Running the full SCADA client on an enterprise workstation connected to the control-zone server is the direct path the DMZ exists to prevent. Where remote operation is genuinely required, it goes through the jump host with the same controls as vendor access.
- Does the DMZ need its own domain?
- It should not be part of the enterprise domain, and it should not expose the control domain directly. Common answers are local accounts on DMZ hosts, a small DMZ domain, or a read-only replica of the control domain controller placed in the DMZ. The wrong answer is joining DMZ hosts to the enterprise domain.
- Is a data diode better than a DMZ?
- A diode enforces one-way flow physically and is the strongest form of the push-out rule for data leaving the control zone. It does not provide the inbound services a DMZ does: remote access, patch staging, file transfer. Utilities with a diode still have a DMZ for those, or have decided not to allow them at all.
- Where does the cellular telemetry network connect?
- Remote site telemetry over cellular is a conduit into the control zone from a carrier network, and it terminates on a telemetry router or VPN concentrator that belongs to the control zone boundary, not to the DMZ. It is treated as its own conduit with its own rules: only the SCADA protocol, only from the site addresses, only to the master.
Related topics
- Zones and ConduitsThe IEC 62443 way to segment a control system: grouping assets into zones with a shared security level, inventorying every conduit between them, and turning the drawing into firewall rules. With a worked water utility example.
- The Purdue ModelThe reference architecture most segmentation designs still start from: what each level contains, where the DMZ goes, and how it maps to a water utility.
- Jump HostsThe one machine every remote session must pass through: what a jump host is, how it is hardened, what it may reach, session recording, the tools it carries, and why a vendor laptop never gets past it.
- Vendor Remote AccessIntegrators and equipment vendors need to get in. How to let them without leaving a permanent door open: utility-controlled sessions, named accounts, MFA, a jump host, session recording, and what to do about the modem you did not know was there.
- HistoriansWhat a process historian does that a database does not, how data gets into it, how compression and retrieval work, how to size and keep it, and the settings that quietly throw data away.
- VLAN SegmentationUsing VLANs to build the zones of a control network on shared switches: what a VLAN separates and what it does not, the zone-to-VLAN mapping, trunks and the native VLAN, routing only through a firewall, and where separate hardware begins.
Direct contact
Have a controls question?
Reach Eric Sullivan directly about anything on this site, a controls or automation topic, or one of his personal projects.