Industrial protocols: Modbus, DNP3, OPC UA, PROFINET and their security
In short: Industrial protocols such as Modbus and DNP3 were designed for closed networks and trust anyone who can reach a device. Newer options like OPC UA and secure versions of older protocols add authentication and encryption. Because old protocols will be around for decades, segmentation and monitoring remain essential.
Why industrial protocols are different
Industrial protocols carry readings and commands between controllers, field devices and supervisory systems. Most were designed in the 1970s to 1990s for serial links inside isolated plants, where everyone on the wire was trusted. When they moved onto Ethernet and TCP/IP, they kept that trust model. Anyone who can reach a Modbus device on TCP port 502 can usually read and write its values.
The main protocols
| Protocol | Where used | Security position |
|---|---|---|
| Modbus (RTU serial, TCP on 502) | Everywhere: meters, drives, PLCs, building systems | No authentication or encryption. A Modbus/TCP Security specification wraps it in TLS (port 802), but support is limited. |
| DNP3 (Distributed Network Protocol) | Electricity and water utilities, mainly in North America and Australia | Secure Authentication (SAv5, in IEEE 1815-2012) adds message authentication; encryption needs TLS or a VPN around it. |
| IEC 60870-5-104 | Power grid telecontrol, common in Europe | No built-in security; IEC 62351 defines security extensions. |
| OPC UA (Open Platform Communications Unified Architecture) | Modern data exchange between machines, SCADA, MES and cloud | Security designed in: application certificates, user authentication, and modes None, Sign or SignAndEncrypt. |
| PROFINET | Factory automation, mostly Siemens ecosystems | Real-time traffic at layer 2; historically no authentication; newer specifications add security classes. |
| EtherNet/IP (with CIP) | Factory automation, mostly Rockwell ecosystems | CIP Security adds TLS and DTLS for devices that support it. |
What can go wrong
Without authentication, an attacker on the control network does not need an exploit. Sending a well-formed "write register" or "operate" command is enough. Concept-level risks include:
- Unauthorised writes that change set points or switch outputs.
- Spoofed readings that show operators normal values while the process drifts.
- Replay of captured commands at a later time.
- Program downloads or "stop CPU" commands sent to controllers.
- Reconnaissance: protocol queries reveal device type, firmware and configuration.
Industrial devices are regularly found exposed directly to the internet on these ports, which is never acceptable.
Protecting industrial protocols
- Never expose industrial protocol ports to the internet. Use VPNs or DMZ gateways for remote access.
- Segment and filter: only the SCADA server and engineering workstation should reach controllers on these ports.
- Use protocol-aware firewalls that can, for example, allow Modbus reads but block writes from certain hosts.
- Prefer secure variants for new projects: OPC UA with SignAndEncrypt, DNP3 SAv5, CIP Security.
- Monitor passively with tools that decode these protocols, alerting on writes, program changes or new talkers.
A simple firewall rule set for a Modbus zone might look like this on a Linux-based firewall using nftables:
table inet ot {
chain forward {
type filter hook forward priority 0; policy drop;
ct state established,related accept
ip saddr 192.168.30.10 ip daddr 192.168.31.0/24 tcp dport 502 accept
ip daddr 192.168.31.0/24 tcp dport 502 log prefix "MODBUS-DENY " drop
}
}
Tip: OPC UA with security mode None is just as open as Modbus. Check the configured mode, not just the protocol name, when you audit a system.
Practice
What port does Modbus TCP normally use, and what security does it provide?
Which OPC UA security mode protects both integrity and confidentiality?
Name a network control that helps when a protocol cannot be upgraded.
Key takeaways
- Most legacy industrial protocols trust anyone who can reach the device.
- Modbus TCP uses port 502; DNP3 uses 20000; OPC UA uses 4840.
- Secure options exist: OPC UA SignAndEncrypt, DNP3 SAv5, CIP Security.
- Never expose industrial ports to the internet.
- Segment, use protocol-aware filtering and monitor for writes and program changes.
Original content written by Mohamed Fayas for FM TecHub. © 2026 FM TecHub. You're welcome to share a link to this page; please don't copy the text elsewhere without permission.