Basic steps – Network

Use secure and trusted networks connection

Network communications must be secure, whether or not you are on a closed network. By default, secure communications should be used when accessing the VMS. For example:

Otherwise, credentials may be compromised and intruders might use them to access the VMS.

Configure the network to allow client computers to establish secure HTTPS sessions or VPN tunnels between the client devices and the VMS servers.

Learn more

The following control(s) provide additional guidance:

  • NIST SP 800-53 SI-2 Flaw remediation
  • NIST SP 800-53 CM-6 Configuration Settings
  • NIST SP 800-53 SC-23 Session Authenticity

Use firewalls to limit IP access to servers and computers

Milestone recommends that you use secure connections, and the following additional steps:

  • Use secure device authentication
  • Use TLS
  • Use device whitelisting to authenticate devices
  • Use firewalls to limit network communication between servers and client computers and programs.

All XProtect components and the ports needed by them are listed in individual sections below. To ensure, for example, that the firewall blocks only unwanted traffic, you need to specify the ports that the XProtect VMS uses. You should only enable these ports. The lists also include the ports used for local processes.

They are arranged in two groups:

  • Server components (services)—Offer their service on particular ports which is why they need to listen for client requests on these ports. Therefore, these ports need to be opened in the Windows Firewall for inbound connections.
  • Client components (clients)—Initiate connections to particular ports on server components. Therefore, these ports need to be opened for outbound connections. Outbound connections are typically open by default in the Windows Firewall.

If nothing else is mentioned, ports for server components must be opened for inbound connections, and ports for client components must be opened for outbound connections.

Do keep in mind that server components can act as clients to other server components as well.

The port numbers are the default numbers, but this can be changed. Contact Milestone Support, if you need to change ports that are not configurable through the Management Client.

Server components (inbound connections)

Each of the following sections list the ports which need to be opened for a particular service. In order to figure out which ports need to be opened on a particular computer, you need to consider all services running on this computer.

Restrict remote access to the Management Server by adding firewall rules to only allow Recording Servers to connect to TCP port 9000.

Management Server service and related processes

Port number

Protocol

Process

Connections from...

Purpose

80

HTTP

IIS

All servers and the XProtect Smart Client and the Management Client

The purpose of port 80 and port 443 is the same. However, which port the VMS uses depends on whether you have used certificates to secure the communication.

  • When you have not secured the communication with certificates, the VMS uses port 80.

  • When you have secured the communication with certificates, the VMS uses port 443 except for communication from the event server to the management server. The communication from the event server to the management server uses Windows Secured Framework (WCF) and Windows authentication on port 80.

443

HTTPS

IIS

6473

TCP

Management Server service

Management Server Manager tray icon, local connection only.

Showing status and managing the service.

8080

TCP

Management server

Local connection only.

Communication between internal processes on the server.

9000 HTTP Management server Recording Server services Web service for internal communication between servers.
12345

TCP

Management Server service

XProtect Smart Client

Communication between the system and Matrix recipients.

You can change the port number in the Management Client.

12974

TCP

Management Server service

Windows SNMP Service

Communication with the SNMP extension agent.

Do not use the port for other purposes even if your system does not apply SNMP.

In XProtect 2014 systems or older, the port number was 6475.

In XProtect 2019 R2 systems and older, the port number was 7475.

SQL Server service

Port number

Protocol

Process

Connections from...

Purpose

1433

TCP

SQL Server

Management Server service

Storing and retrieving configurations via the Identity Provider.

1433

TCP

SQL Server

Event Server service

Storing and retrieving events via the Identity Provider.

1433

TCP

SQL Server

Log Server service

Storing and retrieving log entries via the Identity Provider.

Data Collector service

Port number

Protocol

Process

Connections from...

Purpose

7609

HTTP

IIS

On the management server computer: Data Collector services on all other servers.

On other computers: Data Collector service on the Management Server.

System Monitor.

Event Server service

Port number

Protocol

Process

Connections from...

Purpose

1234

TCP/UDP

Event Server Service

Any server sending generic events to your XProtect system.

Listening for generic events from external systems or devices.

Only if the relevant data source is enabled.

1235

TCP

Event Server service

Any server sending generic events to your XProtect system.

Listening for generic events from external systems or devices.

Only if the relevant data source is enabled.

9090

TCP

Event Server service

Any system or device that sends analytics events to your XProtect system.

Listening for analytics events from external systems or devices.

Only relevant if the Analytics Events feature is enabled.

22331

TCP

Event Server service

XProtect Smart Client and the Management Client

Configuration, events, alarms, and map data.

22332

WS/WSS

HTTP/HTTPS*

Event Server service

API Gateway and the Management Client

Event/State Subscription, Events REST API, Websockets Messaging API, and Alarms REST API.

22333

TCP

Event Server service

MIP Plug-ins and applications.

MIP messaging.

*A 403 error will be returned when accessing HTTP to access an HTTPS-only endpoint.

Recording Server service

Port number

Protocol

Process

Connections from...

Purpose

25

SMTP

Recording Server Service

Cameras, encoders, and I/O devices.

Listening for event messages from devices.

The port is disabled by default.

(Deprecated) Enabling this will open a port for non-encrypted connections and is not recommended.

5210

TCP

Recording Server Service

Failover recording servers.

Merging of databases after a failover recording server had been running.

5432

TCP

Recording Server Service

Cameras, encoders, and I/O devices.

Listening for event messages from devices.

The port is disabled by default.

7563

TCP

Recording Server Service

XProtect Smart Client, Management Client

Retrieving video and audio streams, PTZ commands.

8966

TCP

Recording Server Service

Recording Server Manager tray icon, local connection only.

Showing status and managing the service.

9001 HTTP Recording Server Service Management server

Web service for internal communication between servers.

If multiple Recording Server instances are in use, every instance needs its own port. Additional ports will be 9002, 9003, etc.

11000

TCP

Recording Server Service

Failover recording servers

Polling the state of recording servers.

12975

TCP

Recording Server Service

Windows SNMP service

Communication with the SNMP extension agent.

Do not use the port for other purposes even if your system does not apply SNMP.

In XProtect 2014 systems or older, the port number was 6474.

In XProtect 2019 R2 systems and older, the port number was 7474.

65101

UDP

Recording Server service

Local connection only

Listening for event notifications from the drivers.

In addition to the inbound connections to the Recording Server service listed above, the Recording Server service establishes outbound connections to:

  • Cameras
  • NVRs
  • Remote interconnected sites (Milestone Interconnect ICP)

Failover Server service and Failover Recording Server service

Port number

Protocol

Process

Connections from...

Purpose

25

SMTP

Failover Recording Server Service

Cameras, encoders, and I/O devices.

Listening for event messages from devices.

The port is disabled by default.

(Deprecated) Enabling this will open a port for non-encrypted connections and is not recommended.

5210

TCP

Failover Recording Server Service

Failover recording servers

Merging of databases after a failover recording server had been running.

5432

TCP

Failover Recording Server Service

Cameras, encoders, and I/O devices.

Listening for event messages from devices.

The port is disabled by default.

7474

TCP

Failover Recording Server Service

Windows SNMP service

Communication with the SNMP extension agent.

Do not use the port for other purposes even if your system does not apply SNMP.

7563

TCP

Failover Recording Server Service

XProtect Smart Client

Retrieving video and audio streams, PTZ commands.

8844

UDP

Failover Recording Server Service

Communication between failover recording server services.

Communication between the servers.

8966

TCP

Failover Recording Server Service

Failover Recording Server Manager tray icon, local connection only.

Showing status and managing the service.

8967

TCP

Failover Server Service

Failover Server Manager tray icon, local connection only.

Showing status and managing the service.

8990

HTTP

Failover Server Service

Management Server service

Monitoring the status of the Failover Server service.

9001 HTTP Failover Server Service Management server Web service for internal communication between servers.

In addition to the inbound connections to the Failover Server / Failover Recording Server service listed above, the Failover Server / Failover Recording Server service establishes outbound connections to the regular recorders, cameras, and for Video Push.

Log Server service

Port number

Protocol

Process

Connections from...

Purpose

22337

HTTP

Log Server service

All XProtect components except for the recording server.

Write to, read from, and configure the log server.

This port uses HTTP, but the communication is encrypted with message security which uses the WS-Security specification to secure messages. For more information, see Message Security in WCF.

Mobile Server service

Port number

Protocol

Process

Connections from...

Purpose

8000

TCP

Mobile Server service

Mobile Server Manager tray icon, local connection only.

SysTray application.

8081

HTTP

Mobile Server service

Mobile clients, Web clients, and Management Client.

Sending data streams; video and audio.

8082

HTTPS

Mobile Server service

Mobile clients and Web clients.

Sending data streams; video and audio.

40001 - 40099 HTTP Mobile Server service Recording server service

Mobile Server Video Push.

This port range is disabled by default.

LPR Server service

Port number

Protocol

Process

Connections from...

Purpose

22334

TCP

LPR Server Service

Event server

Retrieving recognized license plates and server status.

In order to connect, the Event server must have the LPR plug-in installed.

22334

TCP

LPR Server Service

LPR Server Manager tray icon, local connection only.

SysTray application

Milestone Open Network Bridge service

Port number

Protocol

Process

Connections from...

Purpose

580

TCP

Milestone Open Network Bridge Service

ONVIF clients

Authentication and requests for video stream configuration.

554

RTSP

RTSP Service

ONVIF clients

Streaming of requested video to ONVIF clients.

XProtect DLNA Server service

Port number

Protocol

Process

Connections from...

Purpose

9100

HTTP

DLNA Server Service

DLNA device

Device discovery and providing DLNA channels configuration. Requests for video streams.

9200

HTTP

DLNA Server Service

DLNA device

Streaming of requested video to DLNA devices.

XProtect Screen Recorder service

Port number

Protocol

Process

Connections from...

Purpose

52111

TCP

XProtect Screen Recorder

Recording Server Service

Provides video from a monitor. It appears and acts in the same way as a camera on the recording server.

You can change the port number in the Management Client.

XProtect Incident Manager service

Port number

Protocol

Process

Connections from...

Purpose

80

HTTP

IIS

XProtect Smart Client and the Management Client

The purpose of port 80 and port 443 is the same. However, which port the VMS uses depends on whether you have used certificates to secure the communication.

  • When you have not secured the communication with certificates, the VMS uses port 80.

  • When you have secured the communication with certificates, the VMS uses port 443.

443

HTTPS

IIS

Learn more

The following control(s) provide additional guidance:

  • NIST SP 800-53 CA-3 System Interconnections
  • NIST SP 800-53 CM-6 Configuration Settings
  • NIST SP 800-53 SC-7 Boundary Protection

Use a firewall between the VMS and the Internet

The VMS should not connect directly to the Internet. If you expose parts of the VMS to the Internet, Milestone recommends that you use an appropriately configured firewall between the VMS and the Internet.

If possible, expose only the XProtect Mobile server component to the Internet, and locate it in a demilitarize zone (DMZ) with firewalls on both sides. This is illustrated in the following figure.

Learn more

The following control(s) provide additional guidance:

  • NIST SP 800-53 CA-3 System Interconnections

Connect the camera subnet to the recording server subnet only

Milestone recommends that you connect the camera subnet only to the recording server subnet. The cameras and other devices need to communicate only with the recording servers. For more information, see Recording Server.

Learn more

The following control(s) provide additional guidance:

  • NIST 800-53 SC-7 Boundary Protection