Zenon Security Guide
Zenon Security Guide
Distribution and/or reproduction of this document or parts thereof in any form are permitted solely with
the written permission of the company COPA-DATA. Technical data is only used for product description
and are not guaranteed qualities in the legal sense. Subject to change, technical or otherwise.
Contents
ZENON VIDEO-TUTORIALS
You can find practical examples for project configuration with zenon in our YouTube channel
(https://www.copadata.com/tutorial_menu). The tutorials are grouped according to topics and give an
initial insight into working with different zenon modules. All tutorials are available in English.
GENERAL HELP
If you cannot find any information you require in this help chapter or can think of anything that you
would like added, please send an email to [email protected].
PROJECT SUPPORT
You can receive support for any real project you may have from our Support Team, who you can
contact via email at [email protected].
The security of a system is always only as strong as its weakest link. In accordance with the Security in
Depth principle, measures are carried out at different levels to minimize security risks.
The points where security measures can be made are very diverse and depend on the respective
situation. The idea, for example, that a firewall can be the only security measure to protect the
5 | 42
zenon Security Guide
production equipment, has now been superseded. Security measures can take many different forms.
For example:
Activation of security functions.
Use of additional security products.
Deactivation of functions that are not needed.
Logging and monitoring of all communication.
Isolation of areas, both network areas and physical areas.
Switching off systems if other security measures cannot reduce risk with reasonable effort.
Penetration Tests can be used to check whether the measures carried out offer sufficient protection.
This manual is primarily concerned with the system on which zenon Runtime is installed. It informs you
of possible risks and strategies to rectify these. There are also recommendations for general security
measures. You should however consider measures beyond these.
The protection of your automation environment includes, among other things, the following important
areas:
1. IT-Systems general:
Protection of your operating system and all additional software such as SQL server.
Creation and anchoring of general rules for each item of software, the network and users.
2. HMI/SCADA with zenon:
Protection of the Runtime and its communication in the network.
Protection of the Editor.
6 | 42
Protect the IT
zenon does not take over the task of taking care of the general IT security. This is the IT experts’
task. If an attacker has overcome the IT hurdles and has access to the local data system, then an
attack on zenon can also be carried out with appropriate expertise.
If there is unauthorized file access with administrator rights, the zenon application can no
longer guarantee the security and stability of the system.
COPA-DATA:
works together with university departments, universities of applied sciences and security experts
has zenon reviewed also externally for security risks
keeps a close watch on all attacks on automation software and security tests
Analyzes known weak spots of other systems for their effect on zenon, zenon Logic and zenon
Analyzer
has been working together on the topic of security for years with other suppliers e.g. NERC
COPA-DATA provides information about how your products can be used securely. Neither COPA-DATA
nor your products offer protection against negligent configuration.
Recommendation: Obtain advice from security experts if the necessary expertise is not or is only
partially available in your company.
3 Protect the IT
The security of COPA-DATA products also depends on the security of the IT environment in which it is
used. COPA-DATA recommends to restrictively protect operating systems, networks and physical access
to systems and computers using the expertise of a security expert.
COPA-DATA can only advise you on the security-related configuration of COPA-DATA products. The
following general recommendations for IT systems are based on experience and analyses of
COPA-DATA, but do not replace an actual analysis and evaluation of your system by security experts.
Attention
Security loopholes and threats can change very quickly.
Recommendation:
Use the help of knowledgeable experts for the security of your equipment
and systems.
Note also the security standards and guidelines from Microsoft.
7 | 42
Protect the IT
For taking systems on which zenon is installed, COPA-DATA recommends the following steps:
Examine the existing data.
Back up the data still required.
Check to see whether the backups created can also be restored.
Physically destroy the data media. This prevents saved information being able to be
subsequently read.
Make any data backups on other systems or data media unusable.
From a Runtime with a zenon standalone project on a scrapped system with a Windows desktop
operating system, to a system with Windows server operating system, zenon Runtime server and zenon
web server with zenon web clients on systems that are in different networks. However COPA-DATA
products can also be used on systems with operating systems other than Microsoft Windows, for
example the Everywhere App or the HTML 5 client.
GENERAL NOTES
For a current overview of technical, organizational, personal and infrastructure notices on basic IT
protection, we recommend the German Bundesamtes für Sicherheit in der Informationstechnik (BSI).
The DES BSI information is generally in German, but sometimes available in other languages too.
Additional information:
BSI general basic protection:
https://www.bsi.bund.de/DE/Themen/ITGrundschutz/itgrundschutz_node.html
(https://www.bsi.bund.de/DE/Themen/ITGrundschutz/itgrundschutz_node.html)
BSI international basic
protection:https://www.bsi.bund.de/DE/Themen/ITGrundschutz/ITGrundschutzInternational/itgr
undschutzinternational_node.html (
https://www.bsi.bund.de/DE/Themen/ITGrundschutz/ITGrundschutzInternational/itgrundschutzi
nternational_node.html)
"M 4 Hardware und Software” catalog of measures:
https://www.bsi.bund.de/DE/Themen/ITGrundschutz/ITGrundschutzKataloge/Inhalt/_content/m
8 | 42
Protect the IT
/m04/m04.html
(https://www.bsi.bund.de/DE/Themen/ITGrundschutz/ITGrundschutzKataloge/Inhalt/_content/
m/m04/m04.html)
Focuses on practical measures for security.
International technical specification from the IEC/TS 62443 range, especially the parts from the
IEC/TR 62443-3 range.
GENERAL NOTES
The IT department may be able to support you with the secure installation and secure operation of
computers with zenon, zenon Logic or zenon Analyzer. In doing so, please note the special features of
the systems in the production environment: For example, an email server can be restarted in the night
without problems in order to install security updates. For a system with zenon Runtime, this is generally
only possible by agreement and during a maintenance interval.
Recommendation: Commission expert people with the planning, design, installation and operation of
the operating system for the computers in your automation system. This can also include computers on
which the zenon Editor is used.
9 | 42
Protect the IT
Information
Many computers come with preinstalled operating systems. Reinstall the
operating system from scratch before installing the zenon Runtime or Editor.
ADDITIONAL NOTICES
This section provides additional notices for operating systems and their components in conjunction with
zenon.
EQUIPMENT ADMINISTRATION
If it is necessary to replace a system, this information helps to get the system able to run again.
For example: In oder for a certain driver to run in one of your zenon projects, certain additional software
must be installed. In addition, a Build of the zenon software is installed, which rectifies a problem in your
project configuration. If this information or backups of these setups are missing, this makes putting it
back into operation longer.
ANTI-VIRUS
Real-time protection from anti-virus software can slow processes if these processes access the data
medium. Check the interaction of anti-virus software with zenon Runtime. If necessary, defined
exceptions for real-time protection in the anti-virus software to enable zenon Runtime to have access to
Runtime data.
Establish processes in the company that define what exactly is to happen if anti-virus software discovers
malware.
Note: With a false-positive report, cleaning of the system can, under certain circumstances, disable the
computer or impair functionality. If an executable file of zenon software is detected as possibly infected,
check the validity of the digital signature first. In the event of doubt, contact your local COPA-DATA
support.
10 | 42
Protect the IT
If malware is in fact discovered, it is not sufficient to delete the infected file or prevent access to the file.
There must also be an investigation to find out how the malware got into the system, how far it has
spread and what damage it may already have caused.
USER ROLES
For the operation of zenon Runtime, the limited rights of a user from the Windows User user group are
sufficient. Ensure that the user who is executing Runtime only belongs to this user group.
In principle, it is recommended that the operating system is always kept current and that the security
updates at least are installed. Check updates on your own system before installation for possible
interaction with zenon, zenon Logic or zenon Analyzer .
Check in time to see what it means for the systems in your company if an operating system is
discontinued and consequently no more security updates are provided by the manufacturer. Plan
updates for systems carefully and check the systems in a test environment. The current version of zenon
always supports the operating systems available at the time of release and allows the conversion of
older zenon projects to the respective current version. Isolate systems that cannot be updated and
undertake measures to increase the security of such systems.
DIGITAL SIGNATURE
All executable files of zenon software are digitally signed. With this signature, it is possible to check
whether the software still corresponds to the original. The digital signature can also be used, under
certain circumstances, by Application Whitelisting software, in order to prevent the execution of
third-party software or manipulated software.
INTERNET CONNECTION
Define mechanisms and processes that also allows installations without an Internet connection for:
Security updates for the operating system
Updates of signatures of anti-virus software
Updates of zenon software
11 | 42
Protect the IT
Create backups of not just Runtime data, but also compiled Runtime files. This is applicable most of all if
you do not have project backups or workspace backups. Also consider whether you want to back up log
data from the zenon diagnosis server and Windows events, in order to subsequently establish what
happened in the event of a problem. Take good care of these backups, protect the backups from
unauthorized access and ensure that they can also be restored again.
Create backups of installation media and also back up possible Patches/Builds for the COPA-DATA
software that you have installed. Installation sets for required third-party software should also be backed
up. In the event of an emergency, a system can also be set up from scratch without an Internet
connection using this.
SYSTEM BACKUP
Create a backup of the system each time a change is made. Take good care of the backups and note
who has access to the backups. Also check whether the backup can actually be restored. A system
backup is only for restarting the system in the event of an emergency. It can also serve to carry out a
forensic comparison with the current system or tests in a test environment.
ADDITIONAL SOFTWARE
Restrict, on the systems on which zenon software is used, the use of further software to what is
absolutely necessary and check for interaction between zenon and other products. If you use further
software, ensure that there are processes that ensure that you are informed about possible security
vulnerabilities in this software and that ensure that corresponding measures have been implemented,
such as an update or uninstalling the software.
Windows makes it possible to shut off automatic access to removable media. Each new piece of
removable media must be permitted on a one-off basis by an administrator, in order for this to be able
to be used. If removable media actually needs to be used, this mechanism reduces the risk of unwanted
removable media being used in the system.
12 | 42
Protect the IT
USERS
For the operation of zenon in general 4 Windows users are required:
Role Example Rights
These users are also employed for configuring the SQL server. You can read about the roles and
authorizations that are required in the Roles and authorizations for databases (on page 21) chapter.
PASSWORDS
Passwords should require an appropriate length and strength. This includes the use of capital letters,
small letters, characters and special characters.
Recommendation:
Already create a password for the local administrator during the installation.
Enforce a password for every account, including guest accounts.
Force administrators to use particularly strong passwords.
Force user to use particularly strong passwords.
Inform users on how to memorize strong passwords without writing them down.
Attention
Note:
It is best to just use signs which can be entered with any keyboard, so for
instance no German umlauts.
Passwords for Autologon accounts may not expire automatically.
13 | 42
Protect the IT
Recommendations:
Deactivate Autorun for all drives.
Prevent the automatic execution of updates for the operating system and applications.
Only install updates after you have examined them for smooth operation with their applications
in a test environment.
Some Service Packs/Updates can reactivate the automatic update property without notifying
the user.
Deactivate all non-essential services.
Set a strong password for every account.
Also create passwords for deactivated guest accounts.
Disable automatic login.
Prevent network access to the accounts of local administrators and guest accounts.
Protect shared printers.
Only enable the printer for a precisely-defined group of users.
Information
Group policy
Many security-related settings can be adjusted via group policy. It also depends
on the operating system which settings are selected in which place. Please find
details on this in the corresponding Microsoft documentation.
14 | 42
Protect the IT
Note: Even if you have obtained a file from s source that you think is secure, there is the possibility the
the file has been manipulated during transport.
Note:
If you do not install the software in the standard folder, ensure that only users with administrator rights
can amend files in, or add files to the selected folder. This is ensured by Windows in the standard folders
%Program Files% and %Program Files (x86)%.
15 | 42
Protect the IT
16 | 42
Protect the IT
Note: See also the Ports for zenon and zenon Analyzer (on page 17) chapter.
Information
After installation, configure the exceptions in the Windows firewall more
restrictively, appropriate to their environment and to the necessary applications
and services.
On multi-homed systems with multiple network cards, zenon applications and services, with their default
settings, open the TCP Listening Port for all network cards present in the system. However
communication throughout all network cards is often not necessary and not desirable.
Note: After installation, use the Startup Tool to configure the TCP Listening Ports for the respective
services and applications, according to their environment and requirements. Only allow communication
between the network card or IP address that is required for this. If you assign a service the local
17 | 42
Protect the IT
loopback adapter or the IP address 127.0.0.1, you only allow local communication. This way, local
diagnosis server access to local diagnosis clients can be limited.
Information
If a port that is different to the standard port is configured for a connection, this
does not mean that an unwanted connection is no longer possible. A attacker
only needs some more time to find the correct port.
When using non-standard ports, the standard port can be used as a Canary
under certain circumstances. To do this, you monitor the standard ports in an
Intrusion Detection System that you may have and set alarms for any attempt to
connect to these ports. Such connection attempts can be caused by:
An incorrectly-configured computer
By an attacker who is using the default ports
PORTS
Application File Exercise TCP-port UDP-Po
rt
18 | 42
Protect the IT
DB Service 1103
zenAdminSrv.exe 50777
zenLicTransfer 50784
(License Transfer Service)
Assigned port for zenon Logic or straton depends on the project and 1200 - 1210
service.
4500 - 4510
E.g.: First zenon Logic project used 1200 and 9000, second project 1201
7000 - 7010
and 9001 etc.
9000 - 9010
zenon Analyzer
19 | 42
Protect the IT
ZAMS 50781
Drivers
Note: zenon drivers that communicate by means of Ethernet use TCP and thus need authorizations in
the firewall in this case, regardless of the port used.
The version of MS SQL Server that is installed is the one that is current at the time the installation
medium is created. COPA-DATA recommends to install patches and updates after the installation.
20 | 42
Protect the IT
Load and install updates and patches individually instead of on an automated basis.
Check all updates and patches for unwanted effects on a test system before installation.
Only implement updates and patches on a productive system after they have been successfully
tested.
Attention
For the maintenance and backup of the SQL server, use the corresponding
documentation and guidelines from Microsoft.
Standard users from zenon are used for this. You can find details in relation to this in the User
Administration (on page 12) chapter. They may need roles and authorizations on the SQL Server.
GENERAL
Module Action Role Additional
permission
EDITOR
Module Action Role Additional
permission
DB_DataWriter
21 | 42
Protect the IT
DB_DataWriter
MS Azure Configuration.
RUNTIME
Module Action Role Additional
permission
DB_DataWriter
DB_DataWriter
22 | 42
Protect the IT
DB_DataWriter
DB_DataWriter
Report SQL.
Generator
WPF DataGrid.
ZENON ANALYZER
Module Action Role Additional
permission
23 | 42
Protect the IT
3.5 Hardware
Also protect the hardware from attacks. For this purpose, also adhere to the documentation of the
corresponding devices.
24 | 42
Protect zenon
Ensure that you are informed if a product is discontinued or can no longer be supplied by the
manufacturer and create a replacement strategy.
4 Protect zenon
zenon ensures up-to-date protection with:
Separation of Editor and Runtime:
The Editor and Runtime are administered separately in zenon. An infection of the Editor
database by an attacker does not automatically lead to an infection of Runtime.
Encryption (from version 7.00):
Optional strong encryption of communication in the zenon network and of communication
between Editor and Runtime.
Encrypted passwords:
The password for the Editor database can be stored in an encrypted form.
SQL server:
The MS SQL server is only required on computers with the zenon Editor for configuration or for
the zenon Analyzer server. The zenon Runtime does not require an SQL server. Only install the
MS SQL server if you need it for operation of zenon and configure it restrictively.
File signature (from Version 7.00 on):
checking of the file signature of the Runtime.
Authentication (from Version 7.00 on):
Only authenticated clients will obtain access to a zenon server.
Limited rights:
The zenon software is able to run in the user context of a standard user.
Start as a service without GUI:
zenon Runtime can be configured so that it starts as a service with the operating system
without a user interface. This option can be used for systems on which Runtime runs as as
server.
Clients or zenon web clients on the terminal server:
<CD_PROCUCTNAME> Runtime as a client and the zenon web client can run one one terminal
server. A thin client can thus be used for an operating station. The administration and
protection of thin clients and terminal servers can be central.
General functionalities such as:
Configurable ports
Components that can be deactivated, such as COM Interface and Everywhere Server
Current communication standards with security aspects, such as OPC UA
25 | 42
Protect zenon
Information
Many computers come with preinstalled operating systems. Reinstall the
operating system from scratch before installing the zenon Runtime or Editor.
4.2 Runtime
zenon Runtime is protected in operation with the zenon user administration (including connection to
Active Directory) by:
authentication of the client at the server (from version 7 on)
Strong encryption (on page 31) (from version 7 on)
Data storage in binary format
no SQL database used
(only required for the zenon Editor)
26 | 42
Protect zenon
2. Disable access to the zenon Runtime folder for all other Windows users – including read
authorizations!
3. Disable any remote access to the user zenon_ADMIN.
4. Block any software for remote maintenance or remote access such as zenon Remote Desktop.
5. Make sure that zenon can only be started if this user (zenon_ADMIN) is logged in.
Since other Windows users do not have read authorization Runtime will only start in the context
of this user (zenon_ADMIN).
6. Make sure that zenon runs as shell:
a) For this purpose, create a zenon autostart with Keyblock Runtime Start
b) Activate the property Lock system keys in the group Runtime settings of project
properties.
c) Start zenon in full-screen mode: Set property Runtime title to No title.
d) Ensure that you also take multi-monitor systems into account during configuration.
e) Disable Explorer start
f) Do not offer file selection dialogs.
Note: In this case, no functions that require the user to select files in the Runtime can be
configured.
The zenon tool Keyblock Runtime Start can be used to implement further protective measures by
blocking the system keys.
The precondition for this is that the project properties are set Runtime title to No title (full screen). Then
zenon runs in full screen mode and the Runtime cannot be minimized.
Note: The blocking of the Windows- key can be circumvented. You should therefore block the
Windows key using the corresponding entry in the Startup Tool
USE
To use Keyblock Runtime Start:
1. In the Windows start folder, under COPA-DATA, open the zenon Tools.
27 | 42
Protect zenon
Information
If Keyblock Runtime Start is started using the startup process of the operating
system, then note the following:
The Autostart folder is user specific:
If another user logs in, the program is not executed.
Execution of the Autostart programs can be prevented by pressing the Shift
key when the operating system is booting.
28 | 42
Protect zenon
This locking cannot be bypassed during Runtime. When the Runtime is closed normally, the system
restrictions are canceled. If the Runtime is to be operable without these limitations, Runtime must be
started without the Keyblock Runtime Start.
Attention
Take care that you engineer a possibility to close the Runtime in your project.
There is no possibility to end the Runtime regularly.
It can only be ended by shutting the computer down using the hardware
All system keys also remain blocked after restarting
In order to make system keys accessible again after not being shut down
properly (in the event of a power cut for example):
start the Runtime again with the help of Keyblock Runtime Start
end the Runtime regularly via a close button
You can read about the roles and authorizations that are needed on the SQL Server in the Roles and
authorizations for databases (on page 21) chapter.
THE CONCEPT
The password design assumes that different users have different operating rights (password levels).
Administrators also have different authorization levels. However they also have additional
administration-related functions, such as administering users.
The zenon password design allows to allocate several selective (separately defined) authorization levels
(operating rights) to each user. A maximum of 128 (0 to -127) authorization levels can be configured.
Users can be assigned to the individual authorization levels and the attendant project-specific password
design in relation to this can be created completely freely. Each user can have any level allocated. Thus
e.g. user 1 can have levels 0, 1, 5 and 6 assigned and user 2 can have levels 0, 1, 6, 8 and 10 assigned.
Authorizations can only be issued if the administrator has those rights himself.
A user is logged in to Runtime during online operation by activating the Login function. If the user
should be logged in automatically based on an event (e.g. position of a key known to the system), the
function Login without password is used. This function is projected with a limit value or a Rema of the
variable in the variable management, respectively.
29 | 42
Protect zenon
The Logout function is used for the independent logging out of a user. The user who is the
automatically newly logged into the system is the SYSTEM user. If during a defined period of time there
is no operation, an automatic time-triggered logout can be engineered.
For the creation and administration of users, as well as the assignment of passwords, please also note
the information in the Protecting the zenon file system (on page 26) chapter:
Windows AD or AD LDS can also be used for user administration. Users can be logged in permanently
or temporarily and administered in the Runtime.
Note: The Signature necessary property can also be used for changes to Recipegroup Manager
variables.
Attention
Settings for users who are changed in the editor can only be applied if the
Runtime changeable data project property (General group) allows overwriting
of user properties when writing Runtime files.
Settings changed in Runtime can be applied using the Import Runtime files
command (Runtime files toolbar) in the Editor. To do this, decompiling must be
permitted in the Runtime changeable data property. This is the case if the
checkbox in the Do not decompile column is not activated in the User
Administration row.
30 | 42
Protect zenon
Hint: Password-protected buttons can be made invisible for logged-in users. To do this, the Locked
buttons property (Project properties -> User Administration -> Login and signature) must be
configured accordingly.
Note: Temporary login is not possible for logged-in users. Logged-in users therefore do not
receive a dialog to log in temporarily for functions for which they do not have sufficient
authorization.
zenon enables strong encryption of communication in the zenon network. Strong encryption works
from zenon Version 7.0 for all supported operating systems and for the zenon Web Client.
If encryption is active, communication between the Primary Server, Standby Server, Clients and zenon
Web Clients is in encrypted form; the zenon Web Server only forwards data packets and is not affected
by encryption.
Information
Network communication was also encrypted in earlier versions of zenon. The
method has changed with version 7. The term "encryption" in conjunction with
zenon 7 or later always means strong encryption.
Note: No encryption is available for VoIP in the Message Control module. This type of dispatch should
therefore not be used if there is a need for security.
4.2.3.1 Basics
Encryption for zenon Runtime is available from version 7.00. It is not possible to communicate with
earlier versions of zenon if encryption is switched on. Encryption does not impair any zenon
functionality.
31 | 42
Protect zenon
Encryption must always be activated or deactivated for all components involved in the zenon
network. Communication between encrypted and unencrypted systems is not possible. zenon
Web Servers only act as a proxy computer and are not affected by encryption.
If encryption is activated on a computer, it always applies for the projects of this computer with
the Network active property active.
Information
AES 192 from Microsoft
(https://msdn.microsoft.com/en-us/magazine/cc164055.aspx) is used as the
encryption algorithm for network communication.
COMPATIBILITY
Encryption is not compatible with versions prior to zenon 7.00 SP0. That means:
System 1 System 2 Communicatio
n
EXAMPLE
The following illustration shows an example of a network with Primary Server, Standby Server, two
clients, one zenon Web Server and two Web Clients. All devices are running zenon 7.00 SP0. The
devices are configured as follows:
Encryption is activated on the Primary Server using the Startup Tool (on page 34).
Encryption is also activated on the Standby Server and client A via Remote Transport (on page
35) when Runtime files are transferred.
Client B and Web Client B still communicate without encryption.
On Web Client A, encryption is activated on the server using the Startup Tool (on page 34).
32 | 42
Protect zenon
Because the zenon Web Server does not evaluate the data packets, but instead forwards these
on immediately, it does not require encryption. In theory, it can also have an older version, and
the Web Clients can nevertheless create encrypted connections.
33 | 42
Protect zenon
As soon as encryption via Remote Transport or the Startup Tool configuration on client B and via
Encrypt network communication on Web Client B is activated, these connections can also make
connections to the Primary Server.
Hint
For quick, easy activation of the encryption, it is recommended that the
configuration is carried our on a computer using Remote Transport (on page
35).
34 | 42
Protect zenon
CONNECTOR ENCRYPTION
In order to activate the encryption for the SCADA Runtime Connector zenon or zenon Analyzer, the
HTML web engine or for the Runtime remote driver, configure the Encrypt Runtime connector
communication group of properties.
35 | 42
Protect zenon
2. Enter the connection password or create one, if none has been set
3. Activate the Configure encryption of network communication checkbox
4. Click on OK.
The dialog for encryption of network communication is opened
Note: zenon does not support DCOM. For this reason, a remote access to the API is not possible.
36 | 42
Protect zenon
Information
With the key combination Ctrl+Pause (BREAK) running code can be interrupted
and the VBA editor accessed this way. If you use VBA or VSTA in the project
disable the function BREAK.
Attention
There is no encryption available for VoIP. This type of dispatch should therefore
not be used if there is a need for security.
37 | 42
Protect zenon
ACCESSOPCUA
Ensure the following when using the AccessOPCUA process gateway:
In the configuration, only safe connections are permitted, and integrated user authentication
should be used.
OPC UA clients should use MessageMode Security Sign&Encrypt.
An authenticated and authorized OPC UA client should not place increased load on the
AccessOPCUA server, by sending many (invalid) queries for example.
4.3 Editor
The concept of zenon allows the operation of Runtime and the Editor on separate computers. Often,
the security of systems on which Runtime is running is rated as more important than that of Editor
systems. However both must be rated as equally important.
Background: An attacker who has managed to get into a production network and discover, for
example, a PLC with Modbus, cannot detect which processes and values are behind it using the Coils,
Holding Registers or Inputs. A PLC program, technical illustrations or even also the HMI/SCADA software
offer attackers the required information under certain circumstances.
4.3.1 Encryption
The zenon Editor can - just like zenon Runtime - transmit the data in the network in encrypted form.
Activate this encryption. You can find details in the section Encryption in the network (on page 31).
38 | 42
Protect zenon
Deactivate the SQL browser service on computers with the zenon Editor, if this is not
needed by other SQL server instances on this computer.
Deactivate the remote access to the SQL server.
Note: Systems with distributed engineering need remote access.
Limit the execution of the Editor and Runtime to precisely-defined users.
In addition to the backup of the zenon projects using the user administration, it is also possible
to use the Windows security settings to determine which users can execute the zenon Editor.
Do not close the required ports (on page 17).
Activate network encryption and set the password according to your Runtime systems,
provided you use Remote Transport.
Check the firewall exceptions (on page 16) that are added during installation.
Remove exceptions for applications that are not used.
Dual-Homed or Multi-Homed computers are a popular target for attackers. They can very often easily
be configured to a bridge and then allow direct access from one network to another network. Existing
firewalls are thus easily circumvented. Because a computer with the Editor is not always assigned to
production, it may happen that such a computer is both connected to the company network and also to
the production network. This configuration is unsafe and must be avoided.
Encrypt copies of project backups or workspace backups before transport or storage at a central
location. If necessary, use the additional functions or additional software. Before restoring to the Editor,
the backup must be restored from the encrypted copy.
39 | 42
Protect zenon
You can read about the roles and authorizations that are needed for the Editor on the SQL Server in the
Roles and authorizations for databases (on page 21) chapter.
You should therefore use, if possible, offline import or an Editor computer that is a fixed part of the
production network. Otherwise use a test environment for online import and check the PLC before this
is integrated into the production network again.
A SCADA system or a PLC thus has no possibility to check whether communication is actually taking
place directly or if there is a compromised computer between them (man in the middle), which an
attacker can use to view and also modify the data if they know the protocol.
For communication via Ethernet, use Switches, that have Port Security if possible, thus preventing the
diversion of communication via a compromised computer or making it more difficult. Intrusion
Detection systems can also monitor ARP or NDP and report attempts to divert communication.
40 | 42
Protect zenon
The SNMP_NG driver can read data from SNMP-compatible devices. It can use the ping status to
establish whether the end device can be reached using the ICMP protocol and receive SNMP traps.
The SNMP_NG driver can be used not just to read devices via SNMP, but also to cyclically ping devices
connected to the network that are not SNMP agents. The result can be evaluated in Runtime and an
alarm can be triggered if a device no longer responds.
The ping status can also be used for negative tests. If a networked computer is used together with
zenon Runtime in an environment in which no connection to other security zones, the DMZ, the
company network or to the Internet is to be possible, the ping status of the SNMP_NG driver can also
be monitored cyclically. In the case the ping should always fail. If there is nevertheless a response to a
ping, an alarm can be triggered accordingly.
The Windows event logs log much information about the local system. Messages that may be relevant
to security are also logged there. However, if these messages are not collected and checked centrally,
important notices and early warnings may be lost under certain circumstances. Events from the
Windows event logs cannot be read into zenon directly. However this is possible with the Windows
standard function and the SNMP_NG driver.
Windows offers an SNMP agent that can be activated as configured as a service using the Control Panel.
With this service, the local computer can be configured as a trap recipient. The evntwin.exe (Event to
Trap Translator) program can then be used to generate an SNMP trap for any desired Windows events.
The SNMP traps can then be created in zenon as a trap variable. The reading of an initial value is not
possible for this trap, however it is possible to set an alarm in Runtime if a certain Windows event is
generated and a corresponding trap is received.
Non-networked computers can also be monitored this way. It is not just the local computer that can be
configured as a trap, but also other computers in the network. The central monitoring of networked
computers is thus possible via zenon Runtime and the SNMP_NG driver, even for Windows computers
on which zenon Runtime is not installed.
41 | 42
Further information and consulting
Additional information:
Security check and attack detection: https://msdn.microsoft.com/en-us/library/cc875806.aspx
(https://msdn.microsoft.com/en-us/library/cc875806.aspx)
Event log monitoring:
http://www.redblue.team/2015/09/spotting-adversary-with-windows-event.html
(http://www.redblue.team/2015/09/spotting-adversary-with-windows-event.html)
In principle, it is possible to connect a web client at a certain location to a Runtime at another location
using a web server. In doing so, the design of the network architecture must be solid. The web server
should be configured this way in a DMZ. Communication between the networks of the web server and
the client is ideally implemented by means of a VPN tunnel.
For questions regarding the security in zenon please contact the COPA-DATA Consulting, either via the
phone number stated in your service contract or via e-mail to [email protected].
42 | 42