Siemens S7-300 Remote Access via VPN: Setup, Hardware & Security
Remote diagnostics and monitoring of a Siemens S7-300 fleet (CPU 315-2 DP master plus two CPU 314-2 DP stations on PROFIBUS, bridged to a SCADA host through a CP 343-1) is a routine field-services requirement. This reference consolidates the network architecture, hardware selection, Siemens software licensing, and security hardening needed to access the plant over broadband Internet using a VPN tunnel — eliminating analog modems, leased lines, and dial-in routers. Procedures are valid for STEP 7 V5.5/V5.6 and TIA Portal V15-V18 against firmware V3.3.x on the CPU 315-2 DP and V3.3.x on the CPU 314-2 DP.
1. System Overview and Access Goals
The reference installation contains:
- 1 × CPU 315-2 DP (typical catalog 6ES7315-2AG10-0AB0 or 6ES7315-2AH14-0AB0) acting as the PROFIBUS master and S7 coordinator.
- 2 × CPU 314-2 DP (typical catalog 6ES7314-2AG14-0AB0) acting as DP slaves, exchanging data with the master via PROFIBUS DP.
- 1 × CP 343-1 (6GK7343-1EX30-0XE0 or later 6GK7343-1CX00-0XE0 for PROFINET variants) providing the Ethernet gateway to the SCADA PC and the plant network.
- 1 × SCADA/operator PC running WinCC flexible, WinCC, or a third-party HMI with a S7-OPC or S7-PUT/GET channel.
Access goals for the field engineer typically include: online diagnostics of the STEP 7 program, forcing and monitoring tags, firmware/fault-buffer retrieval, PROFIBUS diagnostic analysis, SCADA screen review, and remote desktop control of the engineering station. All of these are achievable over a single VPN tunnel terminated at the plant edge.
2. Network Architecture
Three logical zones must be separated: the corporate/Internet zone, the plant/automation zone, and the field/PROFIBUS zone. The CP 343-1 sits at the boundary between zones 1 and 2, while the PROFIBUS network forms zone 3.
| Zone | Function | Typical Subnet | Devices |
|---|---|---|---|
| Internet / Remote Engineer | Untrusted | Public IP / DHCP from ISP | Laptop, home broadband router |
| DMZ / Edge | VPN terminator, firewall | 10.10.0.0/24 | Industrial firewall (SCALANCE S615, SCALANCE SC622), broadband router |
| Plant / Automation | SCADA, engineering station, CP 343-1 | 192.168.10.0/24 | SCADA PC, engineering PG, CP 343-1 |
| Field / PROFIBUS | DP master and slaves | PROFIBUS address 1-126 | CPU 315-2 DP, CPU 314-2 DP, ET 200S, drives |
The CP 343-1 default IP is 192.168.0.1 (or 0.0.0.0 if unconfigured). Configure a static address in the plant subnet via STEP 7 hardware configuration. The PROFIBUS master (CPU 315-2 DP) holds DP master address 2 by convention; the two CPU 314-2 DP slaves are configured as DP slaves with addresses 3 and 4. The CP 343-1 itself does not need a PROFIBUS address; it is addressed only on the Ethernet side via its ISO-on-TCP / TCP connection.
3. Hardware Selection for the Remote Link
3.1 Industrial firewall / VPN gateway
A consumer-grade broadband router can technically terminate an IPsec tunnel, but it does not survive a 480 V cabinet, has no diagnostics for PROFINET/PROFIBUS traffic, and offers no stateful packet inspection against industrial protocols. Use a Siemens SCALANCE device instead:
| Part Number | Model | Throughput | VPN Tunnels | Typical Use |
|---|---|---|---|---|
| 6GK5615-0AA00-2AA2 | SCALANCE S615 | ~100 Mbps | 20 IPsec | Small cabinet, single site |
| 6GK5622-2GS00-2AC2 | SCALANCE SC622 | ~250 Mbps | 100 IPsec | Medium site, multiple engineers |
| 6GK5623-2GS00-2AC2 | SCALANCE SC632 | ~500 Mbps | 200 IPsec | Multi-site, DMZ |
| 6GK5812-1AA00-2AA2 | SCALANCE M812 | Cellular 4G | 10 IPsec | Backup link |
| 6GK5812-2AA00-2AA2 | SCALANCE M826 | Cellular 4G/3G | 20 IPsec | Mobile plant |
The SCALANCE S615 is the baseline recommendation for a single S7-300 site. It supports IPsec with PSK or X.509 certificates, has a built-in 4-port switch, and ships with the SINEC NMS configuration tool.
3.2 Broadband termination
Use a business-class broadband service (fiber, VDSL2, or cable) with a static public IPv4 address or a 1:1 NAT mapping from the ISP. Dynamic DNS (e.g., DynDNS, No-IP) is acceptable when the public IP changes; update the client VPN configuration with the FQDN.
3.3 Remote engineer laptop
Minimum specifications for a STEP 7 V5.6 / TIA Portal V18 engineering station:
- CPU: Intel Core i5 (8th gen) or AMD Ryzen 5
- RAM: 16 GB (TIA Portal with large projects: 32 GB)
- Disk: 256 GB SSD (TIA installs require ~30 GB)
- Ethernet: 1 Gbps
- OS: Windows 10 LTSC 21H2 or Windows 11 Pro 22H2
4. VPN Configuration
4.1 IPsec tunnel parameters
The SCALANCE S615 supports IPsec IKEv1 and IKEv2. Use IKEv2 with the following cipher suite for compliance with modern guidance (verify against your corporate security policy):
IKEv2 Proposal:
- Encryption: AES-256-GCM
- Integrity: SHA-384
- DH Group: 14 (2048-bit MODP) or 19 (256-bit ECP)
- Lifetime: 86400 s (1 day)
ESP Proposal:
- Encryption: AES-256-GCM
- Anti-replay: Enabled
- Lifetime: 3600 s (1 hour) or 100 MB
Authentication:
- Method: X.509 certificates (preferred) or Pre-Shared Key (≥32 chars)
Pre-Shared Keys are acceptable for a single trusted engineer. For multi-user sites, deploy X.509 with a local CA or use the Siemens SINEC Industrial PKI.
4.2 Addressing plan
Configure the SCALANCE S615 internal interface on 10.10.0.1/24 (DMZ side) and 192.168.10.1/24 (plant side). The CP 343-1 is configured for 192.168.10.10/24. The engineering laptop receives a virtual IP from the VPN pool, typically 10.10.0.100. Routing from the laptop to 192.168.10.0/24 is handled by the SCALANCE via a single IPsec tunnel with internal routing rules.
4.3 Remote access client
The native Windows IKEv2 client (Windows 10/11) handles the tunnel without third-party software. For certificate-based auth, import the user certificate to the local computer "Personal" store. The connection is initiated from the laptop to the SCALANCE S615's public IP and authenticated with the configured credentials.
5. Siemens Software and Licensing
5.1 STEP 7 V5.5 / V5.6 floating license
STEP 7 V5.5 (6ES7810-4CC10-0YA5) and V5.6 (6ES7810-4CC11-0YA5) are the canonical programming environments for the S7-300 line. To run STEP 7 on a remote engineering PC, the user needs:
- STEP 7 Professional / Basic license (6ES7810-4CC10-0YA5 floating, or 6ES7810-4CC10-0YA6 single)
- A license key (Floating License Server, 6ES7810-4CC10-0YA2) hosted on a reachable license server if using floating
- OR a single-user USB dongle (6ES7810-4CC10-0YG6) plugged into the engineering laptop
The standard "trial license" (14 days) shipped with the STEP 7 DVD is unsuitable for production remote access. The "floating license" model is preferred because one server-side license supports multiple engineers concurrently, eliminating the per-laptop license cost concern raised in the field report.
5.2 TIA Portal V15-V18
For newer installations using TIA Portal, the relevant options are:
| Catalog | Package | Notes |
|---|---|---|
| 6ES7822-1AA04-0YA5 | TIA Portal V18 STEP 7 Professional Combo | Floating license, supports S7-300/400/WinCC |
| 6ES7822-1AE04-0YA5 | TIA Portal V18 STEP 7 Basic | Single license, S7-300 limited |
| 6ES7822-1AA05-0YC5 | TIA Portal V18 + WinCC Comfort/Advanced | Full HMI bundle |
The TIA Portal license server (Automation License Manager V6.0+) can be hosted on the engineering PC or on a separate plant server reachable over the VPN. License borrowing (up to 14 days) lets a field engineer take a network license offline if the VPN drops.
5.3 SIMATIC Automation Tool
The SIMATIC Automation Tool (free download, 6ES7853-2AE00-0AA0) is a lightweight option for read-only diagnostics, firmware update over the network, and SD card operations on the S7-300 CPUs without a full STEP 7 license. It is ideal for technicians doing basic maintenance over a VPN.
6. STEP 7 / TIA Online Access over VPN
6.1 Setting the PG/PC interface
On the remote engineering PC, open "Set PG/PC Interface" (Windows Control Panel → Siemens Automation → Set PG/PC Interface) and select the TCP/IP interface bound to the VPN virtual adapter. The CP 343-1 must be reachable: a successful ping 192.168.10.10 from the remote PC confirms L3 connectivity.
6.2 Accessible nodes
In STEP 7 V5.x, open "PLC → Accessible Nodes" (or in TIA Portal, "Online → Accessible Devices"). The CP 343-1 should appear with its IP and PROFIBUS subnet, along with the CPU 315-2 DP and the two CPU 314-2 DP slaves. Double-click to open online diagnostics, or right-click → "Go Online" to download / monitor the program.
6.3 S7 routing through the CP 343-1
The CP 343-1 is a passive S7 router for the PROFIBUS-attached CPUs. In the STEP 7 hardware configuration (HW Config), open the CP 343-1 properties, select the "S7 Routing" tab, and ensure "Use S7 routing" is enabled and that the CP is part of the S7 subnet configured for routing. Without this setting, the engineering PC can only see the CP, not the CPUs behind it on PROFIBUS.
6.4 PG connection count and security
The CP 343-1 allows a maximum of 16 simultaneous PG connections. For a remote session, only one connection is needed. The S7-300 supports password protection on the CPU (configure in HW Config → CPU Properties → Protection). Set at minimum "Read-only access" to prevent unintended writes during a remote session.
7. SCADA Remote Access
The SCADA PC running WinCC (or WinCC flexible) can be reached over the same VPN using Windows Remote Desktop, Chrome Remote Desktop, or a third-party tool such as VNC or TeamViewer. Each option has different licensing and capability trade-offs:
| Method | License | Bandwidth | Audio/Video | File Transfer | Best For |
|---|---|---|---|---|---|
| Microsoft Remote Desktop (RDP) | Free (built into Windows Pro) | Low | Audio only | Drive redirection | Single SCADA host, occasional use |
| Chrome Remote Desktop | Free | Medium | Audio + limited video | Drag-and-drop | Quick review, no install |
| TightVNC / RealVNC | Free / commercial | Medium-High | None | Limited | Cross-platform clients |
| Dameware | Commercial per-seat | Low | Audio | Drive redirection | IT-managed environments |
| TeamViewer | Commercial subscription | Medium | Audio + video | Built-in | Behind corporate firewalls |
Microsoft Remote Desktop is the recommended default. Enable Remote Desktop on the SCADA PC (Settings → System → Remote Desktop → Enable), allow it through the Windows firewall on the 192.168.10.0/24 subnet only, and connect from the remote laptop using mstsc /v:192.168.10.50. Microsoft documents the procedure at How to use Remote Desktop.
Chrome Remote Desktop is the simplest option when the SCADA PC cannot be modified or a corporate VPN is unavailable. It runs as a service through a Chrome browser session and requires only a Google account. Setup is documented at Access another computer with Chrome Remote Desktop and the service portal at remotedesktop.google.com. The Chrome Web Store extension is at Chrome Remote Desktop - Chrome Web Store. For headless unattended access, generate an access code from the host and sign in at remotedesktop.google.com/access.
8. Bandwidth and Latency Planning
A typical STEP 7 online session against an S7-300 requires:
- Idle bandwidth: ~20 kbps (heartbeat only)
- Program download: ~200-400 kbps for projects < 500 KB
- Firmware update: 1-2 Mbps sustained for 2-5 minutes
- SCADA polling: 50-200 kbps depending on tag count and update rate
Latency budget: STEP 7 online diagnostics tolerates up to 500 ms RTT. SCADA polling tolerates up to 1000 ms for HMI refresh. Above 1500 ms RTT, the S7 connection times out (default TCP keepalive: 30 s, retry count: 3). For intercontinental links, enable compression on the SCALANCE S615 IPsec tunnel (LZO or DEFLATE) to compensate for the lower bandwidth-delay product.
| Link Type | Typical RTT | Throughput | Suitability |
|---|---|---|---|
| Same-city fiber | 5-20 ms | 100+ Mbps | Excellent |
| Cross-country VDSL2 | 30-60 ms | 20-50 Mbps | Good |
| International fiber | 100-200 ms | 10-50 Mbps | Acceptable with compression |
| Cellular 4G LTE | 40-100 ms | 5-30 Mbps | Acceptable as backup |
| Cellular 3G HSPA | 150-300 ms | 1-5 Mbps | Marginal, online diagnostics only |
| Satellite (LEO) | 40-80 ms | 10-100 Mbps | Excellent |
| Satellite (GEO) | 600+ ms | 1-10 Mbps | Poor, frequent timeouts |
9. Security Hardening
An S7-300 system with a CP 343-1 has no built-in authentication for S7 communication. Anyone with L3 reachability to the CP can attempt S7 PUT/GET, fetch, or stop the CPU. Apply defense in depth:
- Firewall default-deny on the SCALANCE S615. Permit only the VPN source subnet to reach the SCADA PC and the CP 343-1.
- S7 CPU password: Configure read/write protection in HW Config (CPU Properties → Protection → "Complete protection" with password). Even a basic 8-character password blocks casual S7 reconnaissance.
- S7 communication limit: Disable unused S7 services. On the CP 343-1, the services "S7 Communication", "PG Communication", and "OP Communication" can each be toggled. Disable PUT/GET if the SCADA uses only OPC DA.
- Disable unused ports on the SCALANCE: close TCP 102 (ISO-TSAP / S7) at the firewall unless explicitly needed for online access. The VPN tunnel should be the only path to TCP 102.
- Enable Siemens SINEMA Remote Connect for a managed remote-access service that handles authentication, audit, and session recording centrally. The SCALANCE S615 supports SINEMA RC client mode directly.
- Audit logging on the SCALANCE and the SCADA PC. Forward to a SIEM if available.
Reference: IEC 62443-3-3:2013 System Security Requirements and Security Levels, applicable to industrial automation and control systems.
10. Commissioning and Verification
Walk through the following sequence on a test day before declaring the link production-ready:
- From the remote laptop, establish the VPN tunnel. Confirm
ipconfigshows the virtual IP (e.g., 10.10.0.100/24). -
ping 192.168.10.10(CP 343-1). Expect < 5% packet loss and RTT matching the ISP budget. - Open STEP 7 → "Accessible Nodes". The CP 343-1, CPU 315-2 DP, and the two CPU 314-2 DP slaves must all appear.
- Open HW Config and perform a "Download to PG" of the CPU 315-2 DP. This verifies full online routing.
- Open the CPU diagnostic buffer (PLC → Diagnostic Buffer). Confirm the timestamp matches the remote laptop's local time, verifying that S7 routing and the S7 time-of-day sync are working.
- Open WinCC on the SCADA PC via Remote Desktop. Confirm tag values update.
- Disconnect the VPN and reconnect. Verify the S7 connection re-establishes within 60 s.
- Enable SCALANCE S615 syslog forwarding to a central log server and confirm the connection events are captured.
11. Troubleshooting Matrix
| Symptom | Likely Cause | Diagnostic | Resolution |
|---|---|---|---|
| VPN tunnel does not establish | Wrong PSK, IKE proposal mismatch, public IP changed | SCALANCE syslog, Windows IKE verbose log | Verify PSK length ≥ 32 chars; match IKEv2 proposals; update DDNS |
| Tunnel up, no ping to CP 343-1 | Missing route on SCALANCE, wrong subnet on CP | SCALANCE → Information → Routing table | Add 192.168.10.0/24 route on internal interface |
| STEP 7 sees CP, not the CPUs | S7 routing not enabled on CP 343-1 | HW Config → CP 343-1 → S7 Routing tab | Enable "Use S7 routing"; download HW Config to CP |
| Online session times out after ~90 s | TCP keepalive killed by NAT / firewall | SCALANCE session log shows tunnel drop | Enable keepalive on the S7 connection (default 30 s); reduce NAT timeout |
| RDP to SCADA PC works, but no SCADA tags update | SCADA OPC server lost connection to CP | WinCC channel diagnostics, S7 connection status | Check S7 connection parameters; verify PG/OP access on CP is enabled |
| Slow online diagnostics | Mismatched MTU causing fragmentation, compression disabled | Path MTU test, SCALANCE interface statistics | Set VPN MTU to 1400; enable IPComp on the tunnel |
| PUT/GET blocked by S7 CPU | CPU protection level set to "Complete protection" | Online → CPU Protection | Lower to "Read-only access" or supply correct password |
| Chrome Remote Desktop not connecting | Host service stopped, network change | Service portal status, Chrome console | Restart the host service; re-issue access code; check for proxy interference |
12. Cost Optimization Strategies
For small service organizations, the license cost concerns raised in the field report are real. Practical approaches:
- Floating license server: One STEP 7 V5.6 floating license (6ES7810-4CC10-0YA2) supports concurrent access from N engineers. Host the Automation License Manager on the office file server reachable over the corporate VPN; engineers "check out" licenses when working remotely.
- TIA Portal + SUS: The Siemens ULTRA-SUBSCRIPTION (SUS) annual contract (6ES7822-1AC00-0YL5 or current equivalent) provides access to the latest TIA Portal version with all updates, often more economical than perpetual licenses for a small team.
- SCALANCE SC622 over S615: The SC632 supports more VPN tunnels and removes the need for a separate site-to-site concentrator as the team grows.
- SIMATIC Automation Tool: For diagnostics-only remote work, the free SIMATIC Automation Tool avoids the STEP 7 license cost entirely for routine checks.
FAQ
Can I access an S7-300 directly over the Internet without a VPN?
Technically yes — the CP 343-1 will accept any TCP connection to port 102 (ISO-TSAP) — but this is strongly discouraged. The S7-300 has no authentication on port 102, so any unauthenticated attacker can stop the CPU, modify data blocks, or read the program. Always terminate the connection through a stateful firewall (e.g., SCALANCE S615) and authenticate via IPsec VPN or SINEMA Remote Connect.
Do I need a STEP 7 license on every remote engineer's laptop?
No. A floating license (6ES7810-4CC10-0YA2 for STEP 7 V5.6) is checked out from a central Automation License Manager server and shared across multiple engineers. The license server can be hosted on a Windows Server in your office and reached over the same VPN used to access the plant. Alternatively, TIA Portal licenses can be borrowed for up to 14 days via the Automation License Manager if the VPN is temporarily down.
Why can STEP 7 see the CP 343-1 but not the CPU 315-2 DP behind it?
The CP 343-1 acts as an S7 router for the PROFIBUS-attached CPUs, but S7 routing is disabled by default. Open the STEP 7 project, navigate to HW Config → CP 343-1 properties → S7 Routing tab, enable "Use S7 routing," and download the hardware configuration to the CP. The CPU firmware must be V3.3 or later to support routing through the CP.
What is the maximum latency for a STEP 7 online session over VPN?
STEP 7 tolerates up to 500 ms RTT for online diagnostics without timeouts. SCADA polling tolerates up to 1000 ms. Beyond 1500 ms, the S7 connection times out (default TCP keepalive 30 s, retry 3). For intercontinental or GEO satellite links, enable IPComp compression on the SCALANCE and consider using a local engineering station on-site that you reach via Remote Desktop rather than direct S7 over the long link.
Is Chrome Remote Desktop acceptable for accessing a SCADA PC?
Yes, for diagnostics and short interventions. Chrome Remote Desktop runs as a host service on the SCADA PC and is reached through any Chrome browser at remotedesktop.google.com/access with a one-time access code. For long sessions or large file transfers, Microsoft Remote Desktop offers lower bandwidth and native drive redirection. Either way, run the screen-sharing service on the SCADA PC only — never on the S7-300 CPU itself.