| Word | Definition |
|---|---|
| Impex | The family name of USB Protect, ICC, Repo and DataLock |
| ICC | The server which controls the Stations |
| USB Protect | The kiosk computer used to scan mass storage devices |
| Repo | The server that has the updates and definitions |
| DataLock | Server used for network flows that will scan files before transferring them onwards |
| Xtransfer | Kiosk computer used to scan mass storage devices and transfer them to a CIFS share |
| Network flows | This is the description of data being scanned and transferred through the DataLock to a remote destination. A DataLock can have multiple remote destinations configured |
| Operators | The users who will use the administrative interface on the ICC server |
This document explains the preparations that are needed before the installation and configuration of an Impex system can be done. These steps and the information collected should be documented and kept ready at the time of the installation to ensure proper configuration.
USB Protect needs the following documented:
USB Protect needs the following configuration prepared:
Xtransfer need the following configuration prepared:
USB Protect and Xtransfer need port TCP/443 to be open outwards to be able to communicate with the ICC server. USB Protect and Xtransfer will synchronise time and obtain software updates over this port. It also uses this connection to upload scanning reports and system logs. All traffic between the USB Protect station and the ICC server is encrypted with TLS. If USB Protect and Xtransfer cannot validate the server certificate, this is likely with a self-signed certificate or a certificate from an internal CA, the Trust On First Use (TOFU) method will be used. If USB Protect and Xtransfer use a proxy, the proxy must allow connections from the USB Protect to the ICC server. USB Protect is configured with the fully qualified domain name of the ICC server, and normally needs a DNS server to translate this name into an IP-address before it can connect. This lookup can be avoided by adding an entry to the hosts file on the USB Protect station itself, a local file that tells the station which IP-address belongs to the ICC server’s name, so it does not need to ask a DNS server. If a hosts file entry is set up this way, USB Protect does not need any DNS access. If it is not set up, USB Protect needs port TCP/53 and UDP/53 to be open outwards to a DNS server so it can resolve the ICC server’s name. Xtransfer needs port UDP/88 and TCP/88 to be open outwards to the KDC server. Xtransfer needs port TCP/445 to be open outwards to the CIFS server. Xtransfer needs port TCP/53 and UDP/53 to be open outwards to the DNS resolver.
The server can be a virtual appliance or a physical server. The server should have the following minimum specification:
Note: The system should only have one disk.
The DataLock server needs the following information before installation can be completed:
If firewall openings are required, the following should be allowed:
DataLock needs port TCP/443 to be open outwards to be able to communicate with the ICC server. DataLock will synchronise time and obtain software updates over this port. It also uses this connection to upload scanning reports and system logs. All traffic between DataLock and the ICC server is encrypted with TLS. If DataLock cannot validate the server certificate, this is likely with a self-signed certificate or a certificate from an internal CA, the Trust On First Use (TOFU) method will be used. If DataLock uses a proxy, the proxy must allow connections from DataLock to the ICC server.
The DataLock needs TCP/22 to be open for incoming and outgoing SFTP connections.
The server can be a virtual appliance or a physical server. It is also possible to have the Repo services installed in the ICC server. The server should have the following minimum specification:
Note: The system should only have one disk.
The Repo server needs the following information before installation can be completed:
If firewall openings are required, the following should be allowed:
The server can be a virtual appliance or a physical server. The server should have the following minimum specification:
Note: The system should only have one disk.
The ICC server needs the following information before installation can be completed:
If firewall openings are required, the following must be allowed:
If the Repo server, DataLock or the ICC server is installed as a virtual server we recommend the options below. Other options might be possible but would require additional testing.
The Impex solution is designed to fit into architectures based on IEC62443 and similar zone-based network designs, as well as other network topologies. These are two examples of how Impex can fit in a network. The ICC and the Repo can be on the same machine and do not need to be separate servers. The solution supports a proxy, but a proxy is not required.
+-------------------+ +--------------+
| updates.sysctl.se | | Lets Encrypt |
+------^------------+ +-----^--------+
Internet | |
| +----------------+
| |
+------------------------------------------------------------+
| |
DMZ +---+-----+---+
| Firewall <------+
+-------------+ |
|
+-----+----+
+-------------> Proxy |
| | if used |
| +----------+
|
|
+----+--------------------+
| |
| ICC and optional Repo <------+
| | |
+-------^-----------------+ +----^----+
| | Proxy |
| | if used |
| +-+-------+
| |
+------------------------+---------------------+-------------+
| |
Peripheral Network | |
| |
+------+-------+ +-------+------+
| USB Protect | | USB Protect |
+--------------+ +--------------+
+-------------------+ +--------------+
| updates.sysctl.se | | Lets Encrypt |
+------^------------+ +-----^--------+
Internet | |
| +----------------+
| |
+------------------------------------------------------------+
| |
DMZ +---+-----+---+
| Firewall <------+
+-------------+ |
|
+-----+----+
+------------------> Proxy |
| | if used |
| +----------+
+----+-------------+
| |
| Repo, if used |
| |
+----+-------------+
|
+------------------------------------------------------------+
|
Internal network |
|
+----+--------------------+
| |
| ICC and optional Repo <------+
| | |
+-------^-----------------+ +----^----+
| | Proxy |
| | if used |
| +-+-------+
| |
+------------------------+---------------------+-------------+
| |
Peripheral Network | |
| |
+------+-------+ +-------+------+
| USB Protect | | USB Protect |
+--------------+ +--------------+
+-------------------+ +--------------+
| updates.sysctl.se | | Lets Encrypt |
+------^------------+ +-----^--------+
Internet | |
| +----------------+
| |
+---------------------------------------------------------------------+
| |
DMZ +---+-----+---+
| Firewall <------+
+-------------+ |
|
+-----+----+
+-------------> Proxy |
| | if used |
| +----------+
|
|
+----+--------------------+
| |
| ICC and optional Repo <------+
| | |
+-------^-----------------+ +----^----+
| | Proxy |
| | if used |
| +-+-------+
| |
+------------------------+---------------------+-----------------------+
| |
Office Network | |
| |
| |
+--------+ +----+-----+ +-----+----+ +--------+
| Sender |-------> DataLock | | DataLock <------| Sender |
+--------+ +----------+ +----------+ +--------+
| |
| |
+------------------------+---------------------+------------------------+
| |
Protected Network | |
+-----v----+ +----v-----+
| Receiver | | Receiver |
+----------+ +----------+
The Repo server requires internet connectivity to be able to access updates.sysctl.se for updates. All updates for operating system, ICC server, USB Protect, DataLock and AV-signatures are downloaded from updates.sysctl.se over a TLS-connection.
The ICC server supports the use of Let’s Encrypt1 to get a trusted certificate. Let’s Encrypt is not required and certificates can be installed manually to the ICC and Repo. Using the Let’s Encrypt feature ensures that certificates are updated automatically. This greatly reduces administrative overhead, but as with all public CAs, the certificate will be published in the CT log.
The Repo server is the only device that requires an internet connection, and it only communicates with a clearly defined destination.
The Repo server could be placed in a DMZ network segment. The Repo needs an outbound connection to the internet and specifically to updates.sysctl.se. This could be through a proxy.
As a suggestion, the ICC server can be placed in an internal network, and access to the ICC should be restricted by an external firewall. The ICC needs an outbound connection to the Internet and specifically to Let’s Encrypt when the module is used. This can be through a proxy.
The ICC server needs access to a time server to get the correct time and a DNS server to resolve DNS names. If email notifications are enabled, the ICC server must have access to a mail relay.
The ICC server requires inbound connections from the Impex stations to be able to receive scanning reports. It should also allow inbound access from administrators and operators so that they can access the web interface.
It should also allow inbound access from administrators to the SSH console.
In the peripheral network or where the USB Protect is placed, the only network access needed from the USB Protect is to the ICC server over TCP/443.
USB Protect is not listening on any network port, so it is not possible to connect to a station. It is possible to ping the devices; they allow ICMP echo and can send ICMP echo replies.
The protected network is where the only way to transfer files in is through DataLock.
The firewalls should limit access to the Stations and the ICC server and only allow the defined ports and protocols that are needed by the service.
| Source | Destination | Port | Protocol | Optional |
|---|---|---|---|---|
| Repo server | updates.sysctl.se | TCP/443 | SSL/TLS | No |
| ICC server | Repo server | TCP/443 | SSL/TLS | No |
| ICC server | acme-v02.api.letsencrypt.org | TCP/80 | HTTP or Acme protocol | Yes |
| ICC server | acme-v02.api.letsencrypt.org | TCP/443 | SSL/TLS or Acme protocol | Yes |
| ICC server | Mail relay | TCP/25 | SMTP | Yes |
| ICC server | DNS servers | TCP/53 | DNS | No |
| ICC server | DNS servers | UDP/53 | DNS | No |
| ICC server | NTP server | UDP/123 | NTP | No |
| ICC server | Proxy server | TCP/XXX | HTTP/HTTPS/SOCKS | Yes |
| Repo server | Proxy server | TCP/XXX | HTTP/HTTPS/SOCKS | Yes |
| USB Protect | Proxy server | TCP/XXX | HTTP/HTTPS/SOCKS | Yes |
| USB Protect | ICC server | TCP/443 | SSL/TLS | No |
| USB Protect | DNS resolver | TCP/53 | DNS | Yes |
| USB Protect | DNS resolver | UDP/53 | DNS | Yes |
| Xtransfer | Proxy server | TCP/XXX | HTTP/HTTPS/SOCKS | Yes |
| Xtransfer | ICC server | TCP/443 | SSL/TLS | No |
| Xtransfer | KDC server | UDP/88 | Kerberos | No |
| Xtransfer | KDC server | TCP/88 | Kerberos | No |
| Xtransfer | CIFS server | TCP/445 | CIFS | No |
| Xtransfer | DNS resolver | TCP/53 | DNS | No |
| Xtransfer | DNS resolver | UDP/53 | DNS | No |
| DataLock | Proxy server | TCP/XXX | HTTP/HTTPS/SOCKS | Yes |
| DataLock | ICC server | TCP/443 | SSL/TLS | No |
| DataLock | Receiver server | TCP/22 | SFTP | No |
| Sender server | DataLock | TCP/22 | SFTP | No |
| Remote Access | ICC server | TCP/22 | SSH | Yes |
| Operators | ICC server | TCP/443 | SSL/TLS | Yes |
| .letsencrypt.org | ICC server | TCP/80 | SSL/TLS or Acme protocol | Yes |
| .letsencrypt.org | ICC server | TCP/443 | SSL/TLS or Acme protocol | Yes |
| Source | Destination | Port | Protocol | Optional |
|---|---|---|---|---|
| ICC server | updates.sysctl.se | TCP/443 | SSL/TLS | No |
| ICC server | acme-v02.api.letsencrypt.org | TCP/80 | HTTP or Acme protocol | Yes |
| ICC server | acme-v02.api.letsencrypt.org | TCP/443 | SSL/TLS or Acme protocol | Yes |
| ICC server | Mail relay | TCP/25 | SMTP | Yes |
| ICC server | DNS resolver | TCP/53 | DNS | No |
| ICC server | DNS resolver | UDP/53 | DNS | No |
| ICC server | NTP server | UDP/123 | NTP | No |
| ICC server | Proxy server | TCP/XXX | HTTP/HTTPS/SOCKS | Yes |
| USB Protect | Proxy server | TCP/XXX | HTTP/HTTPS/SOCKS | Yes |
| USB Protect | ICC server | TCP/443 | SSL/TLS | No |
| USB Protect | DNS resolver | TCP/53 | DNS | Yes |
| USB Protect | DNS resolver | UDP/53 | DNS | Yes |
| Xtransfer | Proxy server | TCP/XXX | HTTP/HTTPS/SOCKS | Yes |
| Xtransfer | ICC server | TCP/443 | SSL/TLS | No |
| Xtransfer | KDC server | UDP/88 | Kerberos | No |
| Xtransfer | KDC server | TCP/88 | Kerberos | No |
| Xtransfer | CIFS server | TCP/445 | CIFS | No |
| Xtransfer | DNS resolver | TCP/53 | DNS | No |
| Xtransfer | DNS resolver | UDP/53 | DNS | No |
| DataLock | Proxy server | TCP/XXX | HTTP/HTTPS/SOCKS | Yes |
| DataLock | ICC server | TCP/443 | SSL/TLS | No |
| DataLock | Receiver server | TCP/22 | SFTP | No |
| Remote Access | ICC server | TCP/22 | SSH | Yes |
| Operators | ICC server | TCP/443 | SSL/TLS | Yes |
| .letsencrypt.org | ICC server | TCP/80 | SSL/TLS or Acme protocol | Yes |
| .letsencrypt.org | ICC server | TCP/443 | SSL/TLS or Acme protocol | Yes |
The ICC server, Repo server, DataLock, Xtransfer and USB Protect can use a proxy, but it is optional; if no proxy is used, it is still possible to use the services.
The ICC server, Repo server, DataLock and USB Protect have support for the most common proxies, and the proxy should be configured to limit the server to only access the required domains.
If there are any transparent proxies that try to inspect the traffic, the connection will fail due to strong encryption and certificate validation enforcements. It is recommended to use syslog to get audit logs from the systems.
The information below should be filled in before the installation date.
Signature:
Name:
Sysctl would like to have email and optional mobile numbers to contact persons.
Email address to receivers of new release information emails:
Email and number to system owner:
The ICC and Repo server could be either on the same machine or on separate servers.
Physical machine exists
Physical machine exists
https://letsencrypt.org/ ↩