Ignition Security Hardening Guide
Ignition Security Hardening Guide
(800) 266-7798
www.inductiveautomation.com
Table of Contents Security Hardening Guide
rev 06-02-2020
Introduction........................................................................................................................................... 3
OPC-UA Communication........................................................................................................... 5
MQTT............................................................................................................................................. 6
Internal Authentication.......................................................................................... 7
Database Authentication...................................................................................... 7
Badge Authentication........................................................................................... 7
User Accounts........................................................................................................ 8
Authorization................................................................................................................................ 8
Role-Based Security......................................................................................................... 8
Location-Based Security................................................................................................. 8
800.266.7798
www.inductiveautomation.com 1 of 14
Security Hardening Guide
rev 06-02-2020
Designer Security....................................................................................................................... 10
Tag Security.................................................................................................................................. 10
Named Queries........................................................................................................................... 11
Remote Services......................................................................................................................... 12
Ports.................................................................................................................................... 12
Redundant Servers..................................................................................................................... 14
DMZ Architecture........................................................................................................................ 14
800.266.7798
www.inductiveautomation.com 2 of 14
Security Hardening Guide
rev 06-02-2020
Introduction
Welcome to Inductive Automation’s Ignition Security Hardening Guide. Inductive Automation is committed to security and
strives to make the product as secure as possible. This document is intended to provide general guidance on how to set
up and secure your Ignition installation.
Included in this document are guidelines specifically for the Ignition software, as well as general suggestions regarding
the hardware and network where Ignition is installed. The steps provided are recommendations rather than requirements
and should be reviewed for relevance in each implementation.
This guide is best used by reading and following the steps in its entirety. Security is a complex topic and no guide can
cover the complete tapestry of the subject; however, this guide should provide good information toward protecting
your Ignition installation, as well as covering the basics of securing your overall device architecture. To ensure you are
completely covered from a security standpoint, please consult a security firm or security experts in the field.
Technically, SSL is the predecessor to Transport Layer Security (TLS). For historical reasons, “SSL” now colloquially refers
to TLS encryption. Through the rest of this document, when we refer to SSL, know that the underpinning technology
employed is TLS.
800.266.7798
www.inductiveautomation.com 3 of 14
Security Hardening Guide
rev 06-02-2020
2. Choose Networking > Web Server from the menu on the left.
3. Select the checkbox for Force Secure Redirect and click on Save Changes at the very bottom of the page.
Force Secure Redirect, when enabled, will redirect all unsecure http traffic to its https counterpart.
After SSL is enabled, all Clients, Designers, and web browsers are redirected to the SSL port if they try to use the
standard HTTP port. By default, the SSL port is 8043. You can change it to the standard SSL port of 443. (Note: In past
versions, both the non-SSL and the SSL port needed to be open even when intending to communicate exclusively with
SSL. In Ignition 8.0, only the SSL port needs to be opened.)
The suites currently considered strong are ever-changing as security researchers discover flaws and create new
algorithms. One source for information on the currently accepted list of strong suites is maintained by SSL Labs. SSL
Labs provides a free online test if your Ignition server is accessible from the Internet. Even if it is not, their current list of
strong cipher suites can be found in their “SSL/TLS Deployment Best Practices” guide under 2.3 User Secure Cipher
Suites. Please use this source or another to stay up to date with industry recommendations on current best practices for
cipher suites support.
800.266.7798
www.inductiveautomation.com 4 of 14
Security Hardening Guide
rev 06-02-2020
In 8.0.10, we added support for strengthening the security of the Gateway’s HTTP session cookies using the SameSite
attribute. Details can be found in the Ignition 8.0.10 release notes.
More information on the HTTP headers and their default values can be found at support.inductiveautomation.com article,
Gateway Security HTTP Headers and Configuration.
Role-based user authentication can be used to lock down Gateway webpage sections as well as the Designer to prevent
users from changing the configuration. Each of the Status, Home, and Configure pages can be restricted by roles
independently.
2. Choose Configuration > Gateway Settings from the menu on the left.
3. Enter the roles the user must have in order to access the Gateway Config Roles, Status Page Roles, Home
Page Roles, and Designer Roles.
Note: Each option can accept any number of roles as long as they are separated by commas. If an option is left
blank, any user with any role can log in (generally not recommended).
Direct connections from Ignition to OPC-UA and MQTT devices are generally the most easily-secured connections,
although any connection can be secured, given the right configuration and network security.
OPC-UA Communication
OPC-UA provides built-in security whether at the server level or embedded directly on a device. One of the ways that
this can be done is to encrypt all communication. Different devices/servers support different encryption levels, but when
setting up endpoints, be sure to choose the signed and encrypted option. This ensures all data sent over OPC-UA will
be encrypted.
800.266.7798
www.inductiveautomation.com 5 of 14
Security Hardening Guide
rev 06-02-2020
Also, when configuring the Ignition OPC Server, trusting remote certificates is required for all secured inbound and
outbound connections. Under OPC UA > Security trusted certificates can be imported and quarantined certificates can
be marked as trusted. Some third-party OPC Servers may require additional steps such as manually adding the client
certificate.
OPC-UA connections also support user authentication. We recommend using a strong password and changing it
periodically as defined by IT standards.
MQTT
MQTT provides a handful of built-in security features. Data transferred between the Publisher and Broker, as well as
between the Broker and Subscriber, should be sent over SSL. In addition to this encryption, Username/Password
Authentication is supported and should be utilized to protect the data. MQTT also supports Access Control Lists (ACLs)
which limit user access based on topic name space. These security measures should be implemented whether the
broker is local or hosted in the cloud. For more information on securing MQTT communication, see the MQTT modules
user manual.
We recommend consulting with a network security professional to help identify which option is best for you.
• Authorization - Role-Based Access Control, Location-Based Access Control through Security Zones
• Security Levels - a hierarchical, inheritance-based access control model which builds off of Roles,
Security Levels, and other attribute sources
800.266.7798
www.inductiveautomation.com 6 of 14
Security Hardening Guide
rev 06-02-2020
Internal Authentication
From the Gateway Web Page, users can be managed directly within Ignition. These users are local to the Ignition
Gateway where they are defined.
Database Authentication
The Database Authentication type uses an external database instead of storing data inside Ignition. Managing users is
done via direct interaction with the database.
The Active Directory Authentication profile uses Microsoft’s Active Directory over LDAP (Lightweight Directory Access
Protocol) to store all the users, roles, and more that make up an Authentication profile. Active Directory Groups are used
for Ignition’s roles and user-role mappings.
While using an Active Directory User Source, administration of users and roles is through Active Directory itself, and not
manageable within Ignition. Thus, adding new users to an Active Directory User Source or modifying pre-existing users
requires the modifications be made from Active Directory, usually through an AD Administrator.
In Vision, if a seamless experience is desired with no login prompt, SSO (Single Sign-On) can be enabled in conjunction
with Active Directory. This allows the window’s username to be automatically used as credentials in Ignition. User groups
should be given minimum access to the application and then additional roles added as needed. This prevents users from
having unintended access in the application.
In Perspective, if a seamless experience is desired with no login prompt, consider using ADFS or another IdP instead of
Ignition’s internal IdP. See the Third-Party Identity Provider (Perspective) section below.
The active directory User Source communicates with a Microsoft Active Directory server through the LDAP protocol.
To prevent snooping on authentication, encryption should be implemented. In the advanced options for a new Active
Directory User Source, Ignition has a setting to force LDAPS.
Badge Authentication
Another secure method is RFID authentication support for the Ignition Identity Provider (requires Ignition 8.0.5+) allowing
you to associate badges with users. Entering your credentials on a screen allows others to see your username and
therefore weakens your security. With RFID enabled, users do not have to enter their username and password, and
instead must have a physical badge in order to log in to the Session. If your organization makes use of RFID badges, it is
recommended that Badge Authentication Method is enabled and set to default and Badge Secret is also enabled. Badge
Secret will require the user to type in their password after scanning their badge. This added layer of security is useful in
numerous situations. For example, in the event that a user’s badge is stolen and used by another individual, the added
layer of a required password would keep the thief from accessing the Session, since a password will still be required for
access.
More information on the Badge Authentication Method can be found on our website.
800.266.7798
www.inductiveautomation.com 7 of 14
Security Hardening Guide
rev 06-02-2020
Currently, third-party IdPs are only supported by Perspective Clients. In the future we intend to include support for Vision
Clients, the Designer, and the Gateway Webpage.
Authorization
Once a user is authenticated, authorization determines what they have access to. Authorization can be determined by a
variety of conditions including roles and location.
Role-Based Security
Each user is granted privileges by assigning one or many roles. Roles are not default types but rather created custom
during development. Roles can be defined inside Ignition or mapped to Active Directory groups or an IdP’s attributes.
The level of access granted by a given role is determined in “Step 5: Define Application Security”.
Location-Based Security
A Security Zone is a list of Gateways, Computers, or IP addresses that are defined and grouped together. This group now
becomes a zone which can have additional policies and restrictions placed on it. While Users and Roles restrict access
to specific functions within the Gateway, such as making certain controls read-only for certain users and read/write
for others, Security Zones provide this functionality to the Gateway Network, location-based access control in Vision,
Perspective, Alarm Notifications and Status, and History Provider and Tag Access. Security Zones allow the application
to restrict access based on where the client connects from in addition to a user’s role-based privileges. This allows for
greater control over the type of information that is passing over the network, improving security and helping to keep
different areas of the business separate, while still allowing them to interconnect.
800.266.7798
www.inductiveautomation.com 8 of 14
Security Hardening Guide
rev 06-02-2020
Sometimes, in addition to knowing who the user is, it is important to know where they are sending a command from. An
operator may have permissions to turn on a machine from an HMI, but if they were to log in to a project on a different
Gateway in the network that had remote access to those Tags, it might not be a good idea to let the operator write to
those Tags from a remote location where they can’t see if the physical machine is clear to run.
This is where Security Zones come in. Security Zones themselves don’t define the security, they instead define an area
of the Gateway Network, breaking up Gateways and network locations into manageable zones that can then have a
security policy set on them. Once there are zones defined, a security policy can be assigned to each zone, and a priority
of zones can be set in the event that more than one zone applies in a given situation.
When working with the Gateway, it is important that all users are able to get the information or control they need in order
for operations to run smoothly. An operator may need to be able to read and write to Tags, and view the status of each
plant. However, a manager may need to view the status of the plant and read the Tag values, but should not be able to
write to the Tag values. Making sure that each user has the correct permissions is vital to the security of the operation.
With security levels, roles can be defined in order to allow certain users more or less control of the Gateway. Once
the roles are defined, the security level rules can be defined on the Gateway in order to allow users access to specific
security zones, projects, and various other attributes. These roles can also be used in the Designer in order to limit a
role’s viewing access and/or read/write capabilities.
800.266.7798
www.inductiveautomation.com 9 of 14
Security Hardening Guide
rev 06-02-2020
Information on how to set up Perspective Session Security can be found on our website.
Information on how to set up Perspective Views Security can be found on our website.
More information on Vision and Perspective component scripting can be found on our website.
Designer Security
When several users are all working on the same project, managing changes to the project can become cumbersome.
By default, all users with Designer access can modify, delete, save, and publish all resources available in the Designer.
In some situations, it is desirable to limit what each user can do in the Designer. Ignition has several built-in Designer
restriction methods to help in these scenarios.
Our website contains instructions for restricting editing, creating, and protecting project resources and global resources.
Tag Security
Tag security is often the best way to configure security for data access. By defining security on a tag, you are applying
those rules for that tag across all windows and components that use the specified tag in the project. This is opposed to
configuring security on each component that controls the tag.
If a user opens a window that has components that are bound to a tag that the user doesn’t have clearance to read or
write to, the component will get a forbidden overlay.
You can add read/write security to individual tags through the Designer. Custom Access Rights must be set to use the
Role-based permissions.
800.266.7798
www.inductiveautomation.com 10 of 14
Security Hardening Guide
rev 06-02-2020
Named Queries
One of Ignition’s key features is the ability to easily log, edit and retrieve data from SQL databases. By default, all
database interaction is limited to defined queries on the Ignition Gateway, which may be called from clients based on the
credentials of the user. These queries can be parameterized to allow for dynamic database interaction while ensuring
only relevant data is accessible. It is recommended to only use parameters for individual variables rather than allowing
longer SQL chunks to prevent SQL injection.
This feature can be turned off to allow any SQL query to be run directly from an open client. While this can be powerful
for adding flexibility to the platform, it also leaves the data potentially exposed. If client-authored queries are enabled, be
sure to use SSL and not use auto-login or any shared accounts.
Access to these named queries can be limited using the normal Ignition permission model including roles and security
zones.
If upgrading from a previous version (Ignition 7.9.3 and before), unrestricted client queries will not be disabled by default
for existing projects. Secure the system by either converting existing queries to named queries or limit client queries to
appropriate roles and security zones.
Once some changes have been made to a tag or a database table, Ignition will begin recording.
Most modern databases also support SSL encryption of the connection between Ignition and the database. If the
database is running on a different server, SSL can be enabled by following information available for your database’s
JDBC driver and internal security settings. Refer to the documentation for your database for more information on
enabling SSL JDBC connections from Ignition.
800.266.7798
www.inductiveautomation.com 11 of 14
Security Hardening Guide
rev 06-02-2020
Remote Services
On Windows, Remote Registry and Windows Remote Management should be disabled.
On Linux and Mac OS, disable root for everything but ‘physical’ console.
Ports
8088 Listening tcp Yes Default port setting to access the Ignition Gateway
8043 Listening tcp Yes Default SSL port setting to access the Ignition Gateway
800.266.7798
www.inductiveautomation.com 12 of 14
Security Hardening Guide
rev 06-02-2020
4096 Listening tcp Yes Default port for Ignition OPC UA server
5500 Listening tcp Yes Default port for OPC browse of external tags
135 Outgoing tcp No Default port for DCOM communication (old OPC DA servers)
389 Outgoing tcp Yes Default port for Active directory if this is being used
1433 Outgoing tcp Yes Default MSSQL port used for connection
1521 Outgoing tcp Yes Default Oracle port used for connection
3050 Outgoing tcp Yes Default Firebirdsql port used for connection
3306 Outgoing tcp Yes Default MySQL port used for connection
800.266.7798
www.inductiveautomation.com 13 of 14
Security Hardening Guide
rev 06-02-2020
Redundant Servers
Firewalls must be set up on any server doing redundancy in order to protect the redundancy system from external
attacks. The firewall on the main server should only accept incoming connections on port 8750 from the back-up server
IP address on Ignition 7.9, and should only accept connections on the Gateway Network port from the back-up server IP
address on Ignition 8.0.
DMZ Architecture
A DMZ Architecture (referred to as a “demilitarized zone”) contains a subnetwork that accommodates the organization’s
exposed, outward connecting services. In general, it acts as a point of contact between the organization’s internal
network and untrusted networks, such as the internet.
The goal of this architecture is to add an extra layer of security to the local area’s network, allowing the local network to
access what is exposed in the DMZ and keeping the rest of the network protected behind a firewall.
We recommend consulting with a network security professional to help identify the best network options for your
organization.
PLCs
Gateway
Site B
Critical Asset
Clients
Database
Inject to the
PLCs Cloud
Database
Gateway
Clients
Site A
w/ Critical Asset Central Ignition �
Gateway
Clients
Database
Remote
Site Corporate
Clients Site
800.266.7798
www.inductiveautomation.com 14 of 14