ACC Architecture and Best Practices
ACC Architecture and Best Practices
Contents
Servers & Storage ................................................................................................................................................. 2
Avigilon Server & Storage Hardware ................................................................................................................. 2
3rd Party Hardware .............................................................................................................................................. 2
Virtualization ...................................................................................................................................................... 2
Storage ................................................................................................................................................................ 3
Failover ............................................................................................................................................................... 3
Clients..................................................................................................................................................................... 5
Avigilon Clients .................................................................................................................................................. 5
3rd party Clients ................................................................................................................................................... 5
Networking ............................................................................................................................................................ 6
Network Requirements and Best Practices ......................................................................................................... 6
Active Directory.................................................................................................................................................. 7
Time Synchronization ......................................................................................................................................... 7
Redundant Recording.......................................................................................................................................... 8
Communications and Encryption ........................................................................................................................ 9
Avigilon Control Center Ports ............................................................................................................................ 9
ACC Encryption and Security ............................................................................................................................ 9
ACM Ports ........................................................................................................................................................ 11
Virtualization
Avigilon will take support requests for ACC running in a VM environment in order to assist with any issues that may
arise regarding the software only. Although currently, Avigilon is not officially certified with Avigilon Control Center
(ACC) software running in a Virtual Machine (VM) environment. If an issue is related to the performance of the
environment Avigilon expects the party responsible for support of the environment to correct the issue. Since any
manufacturer’s HD video surveillance applications require near real-time access to disk and network input/output
(I/O) resources, among other things, performance is a concern. See the system requirements for physical server
systems above, as this is what would need to be dedicated per ACC VM, plus some additional CPU and for overhead
management of the VM layer.
Maximum incoming bandwidth in a virtual environment should be designed around 256mbps with the above
specifications. Solutions above 256mbps are possible, but each environment would need to be tested and accepted
by the end-user.
Potential Issues
Connectivity between the server and the external storage unit must be constant. Due to this requirement, there are
several potential issues to be aware of when planning for external storage drives:
The Primary Data Volume and Config Volume data should be stored in the same location
Ensure the connecting cables cannot be kicked or jarred loose
Ensure there will be no packet loss or significant latency for IP-based connectivity to the external storage
units
The Primary and all Secondary storage volumes should be similar in size. (or additional RAM included for
increase in utilization of larger arrays)
Failover
1. Failover in ACC is an N+1 or N+many environment for primary camera connections. Cameras can be
connected to failover servers as secondary or tertiary connections, where the secondary is monitoring the
primary and the tertiary is monitoring the secondary. This failover architecture provides two layers of
resiliency at the hardware level. In addition to the failover on the hardware level, ACC also supports stream
prioritization with 5 levels of priority, and 1 being the highest. The stream priority is only available on
secondary and tertiary connections and the software will ensure the highest priority cameras are connected
first if there are not enough camera licenses on the failover server to support all failed cameras.
2. Failover Pre-requisites
a. ACC Enterprise edition on all ACC servers
Active Directory
1. Avigilon Control Center (Enterprise) does support integration with active directory
2. The basic functionality of the integration is as follows:
a. An ACC site is configured to join one domain and attach to specific AD group(s), and the group and
all associated users will populate within the ACC Users list.
i. AD users must be in a global group, local and universal groups are not supported
ii. Users must be in the top level of a group as nesting is not supported
b. Synchronization will occur daily at 2:00am system time. The synchronization will refresh the user’s
database in ACC by adding/removing users to match any AD group modifications that were made
before 2:00am.
c. If new users are added to an AD group between synchronizations, the new users will be able to
login to ACC with their AD credentials even though their user account may not appear in the ACC
users tab until the 2:00am sync.
d. If users are removed from an AD group between synchronizations, the removed users will not be
able to login to ACC even though their user account may still appear in ACC Users tab until the
2:00am sync.
i. Note: If a user is removed from an AD group while they are logged into ACC, they will
maintain access until they next log out or the AD sync occurs. Enforcing the auto-log out
feature within ACC will help strengthen the security of the solution and will prohibit users
from staying logged into the application while not using it
Time Synchronization
1. It is critical to have all components within the Avigilon solution time synchronized
2. In applications where the surveillance network can see the internet, NTP settings can be configured to point
to public NTP servers
a. Additionally, Avigilon recommends time synchronization via a common NTP server/source on all
windows appliances to ensure all devices are synched together and at a more frequent interval, or
modify the registry to update the polling interval to at least every 2 hours. One method of
accomplishing this would be to use a program like Nettime, or something similar. Nettime will ensure
Redundant Recording
Avigilon Control Center supports redundant recording of cameras to multiple servers, and the network
connectivity between the camera and server can be configured as unicast or multicast. In redundant recording
applications, it would be recommended to utilize multicast in order to reduce the load across the network and to
not overtax the CPU of the camera. Multicasting does require additional camera configurations to enable the
multicast stream, and will require the network switch infrastructure to be configured to manage multicast traffic
appropriately.
The following link provides details on the configuration of multicast on Avigilon devices, and best practices for
the management of multicast traffic across the network.
https://avigilon.box.com/s/on7k2jy0qnl6sovbuejtisjvn2k2zib9
In the past SHA1 or SHA256 digital file hash checking was previously used as a method to check for
Authenticity and Integrity for firmware and software files. The developer of the software would create a hash
code of the installer, then after a download the user would need to manually confirm that the file that was
downloaded matches the hash code from the developer. This is no longer a preferred method but it can still
be found as a method for checking open software or packages provided in source code form.
The latest file security method is done by using a certificate authority. Windows has a built in mechanism
(Microsoft Authenticode) to address both the Authenticity and Integrity concerns. The mechanism makes
use of certificates, public key infrastructure and a chain of trust back to certificate authorities that issue the
certificates to companies, organizations, or individuals (This is similar to how web traffic is secured over
HTTPS using SSL/TLS).
All of the Avigilon video application installers are signed using a code signing certificate that Avigilon has
purchased from a certificate authority. When the installers are run, this allows Windows to report that the
installer was indeed created by Avigilon and that it hasn’t been modified or corrupted.
In the case of the Avigilon user friendly “remote upgrade” feature, It goes a step further to check that the
installer is valid and untampered both before the client pushes it to the server (it won’t push a random
installer not signed by Avigilon) and when the server unpacks and tries to install it (allowing a further option
to revoke the signing authority, should the signing key become compromised.) A second aspect is that this
provides deeper security: if someone were to create a malicious installer, and obtain ACC admin credentials,
the system would prevent them from uploading their new binaries and taking control of the system, since
they would have no way to “sign” the package and prove it comes from Avigilon.
Avigilon has also secured most of the camera firmware with the same mechanism. Recent firmware images
from Avigilon (including all currently shipping H3A and H4A cameras) are signed, and will reject any updates
that are not themselves also validly signed. This makes it that much harder for an attacker to “take control”
of an Avigilon camera.
10
ACM Ports
Source Destination Port(s) Transport Comments
Web Browser ACM server 443 - configurable HTTPS ACM web client
Mercury Controller ACM Server 6050 TCP Event service port
Mercury Controller ACM Server Configurable TCP Edge Listening
ACM/ACC Gateway ACM Server 443 – match web HTTPS Web server port
client port above
ACM/ACC Gateway ACM Server 6050 TCP Diagnostic service
port
ACM/ACC Gateway ACC Site 38880 HTTP SDK communication
for alarm mapping
into ACC
ACM Server ACC Server 80 – Configurable HTTP Vidproxy – video
streaming from ACC
to ACM
11