MG - SR - 3 Series Control Systems
MG - SR - 3 Series Control Systems
MG - SR - 3 Series Control Systems
Crestron product development software is licensed to Crestron dealers and Crestron Service Providers (CSPs) under a
limited nonexclusive, nontransferable Software Development Tools License Agreement. Crestron product operating
system software is licensed to Crestron dealers, CSPs, and end-users under a separate End-User License Agreement.
Both of these Agreements can be found on the Crestron website at www.crestron.com/legal/software_license_
agreement.
The specific patents that cover Crestron products are listed at www.crestron.com/legal/patents.
Certain Crestron products contain open source software. For specific information, visit www.crestron.com/opensource.
Crestron, the Crestron logo, 3-Series, infiNET EX, and SmartObjects are either trademarks or registered trademarks of
Crestron Electronics, Inc. in the United States and/or other countries. Linux is either a trademark or a registered
trademark of Linus Torvalds in the United States and/or other countries. Active Directory and Windows are either
trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries. Other
trademarks, registered trademarks, and trade names may be used in this document to refer to either the entities
claiming the marks and names or their products. Crestron disclaims any proprietary interest in the marks and names of
others. Crestron is not responsible for errors in typography or photography.
Prerequisites 4
Operating Environment 4
Firmware Version 4
Device Access 4
Default Configuration Settings 5
Required Configuration 6
Configure the Network 6
DHCP or Static IP Address Configuration 6
802.1X Authentication 6
Set Password Policy 10
Set Date and Time 10
Control Subnet 11
Control Subnet Architecture 12
Control Subnet Configuration 12
Disable Auto Discovery 14
Disable Cloud Features 14
Disable Wireless Communications 15
Enable User Account Locking 15
Change Login Failure Count 15
Change Lockout Time 15
Display Last Logged-In Information 16
Enable Session Inactivity Timeout 16
Enable Audit Logging 16
Set Logon Banner 17
Initial Login Process 18
Enable All Certificate Verifications 18
Load Default Server Certificates 18
Optional Configuration 19
Enable or Disable Web Server 19
Enable User Login IP Blocking 19
Change Login IP Failure Count 19
Change IP Blocked Time 19
Configure SNMP 20
Add or Remove an SNMP Manager 20
Enable or Disable Unrestricted SNMP Access 20
Management Functions 24
Firmware Update 24
User and Group Management 24
User Group Rights 24
Add Local User 25
Delete Local User 25
Add Local Group 26
Delete Local Group 26
List Local Groups 26
Add Active Directory Group 27
Remove Active Directory Group 27
List Active Directory Groups 28
List Users 28
List Group Users 28
Show User Information 28
Add User to Group 29
Remove User from Group 29
Update Local Password 29
Reset User Password 29
User Login IP Blocking Management 30
List Blocked IP Addresses 30
Add IP Address to Blocked List 30
Remove IP Address from Blocked List 30
User Account Locking Management 31
Add User to Locked List 31
Remove User from Locked List 31
List Locked User 31
Certificate Management 32
Certificate Requirements 33
Certificate Commands 33
Default Server Certificate 36
Additional Instructions 39
Use OpenSSL to Create a Certificate Signing Request (CSR) 39
Create a Configuration File 39
Generate the Private Key 41
Create the CSR 41
Create and Sign the Certificate 41
NOTE: The term "device" is used in this document to refer to all applicable 3-series control
system models unless specified otherwise.
Model Description
Common Ports
HTTPS 443/TCP Device XiO Cloud® For XiO Cloud services only
Service and not required for device
functionality. A persistent
connection is made via
AMQP over WebSockets.
HTTPS services such as
routing lookups and file
transfers may be used.
Operating Environment
Crestron assumes the following about the operating environment of its systems:
l The system is not capable of Multi-Factor Authentication (MFA). If your organization's
policy requires MFA, you cannot use the system.
l Physical security is commensurate with the value of the system and the data it contains
and is assumed to be provided by the environment.
l Administrators are trusted to follow and provide all administrator guidance.
Firmware Version
3-Series control systems must be running firmware version 1.8001.0176 or later.
Device Access
The administrator can access and configure the device by using a web browser or an SSH client.
This document describes device configuration using an SSH client, which provides access to
console commands. Some configuration capabilities can only be performed by issuing console
commands. Additionally, some aspects of configuration can be performed via Crestron Toolbox™
software, or the XiO Cloud® service.
NOTE: The SSH client that is used must be capable of connecting to the device using SSHv2
and must be compatible with FIPS 140-2 validated algorithms.
As an alternative to using an SSH client, the same console commands can be executed through
the USB port (if available on the device).
RESTORE
If you do not have access to the console (for example, the password has been lost), a factory
reset may be performed as follows:
1. Press and release the HW-R button on the front panel of the control system.
2. Quickly press the SW-R button on the front panel of the control system 5 times, with less
than a one-second gap between each press.
3. Wait 5 to 10 minutes for the self-recovery process to complete.
4. Proceed with the network configuration.
NOTE: If the control system model does not have HW-R and SW-R buttons, refer to the
documentation for the control system model for information on performing a factory reset.
dhcp 0 off
Turns off DHCP so that the manually configured network information is used.
ipaddress 0 192.168.1.2
Sets the IP address of the device to the specified address.
ipmask 0 255.255.255.0
Sets the IP mask of the device to the specified mask.
defrouter 0 192.168.1.1
Sets the default network gateway to the specified IP address.
adddns 192.168.1.10
Sets the DNS server to use for DNS name lookups.
802.1X Authentication
802.1X is an IEEE network standard designed to enhance the security of both wireless and wired
Ethernet networks. This device supports 802.1X on its primary wired Ethernet interface only. If
the network requires 802.1X, the device must be configured for 802.1X before being put on the
network. This configuration can be done through the USB port console (if available) or by
attaching it to a temporary network which does not require 802.1X.
Once 802.1X configuration is complete, restart the device to activate those settings. The device
will try to connect to the 802.1X network when it starts up.
802.1X Configuration
In order to configure and use 802.1X, various aspects of 802.1X will need to be configured,
including enabling it, setting up server authentication, and selecting a client authentication
method. The following commands are used for this configuration:
Enable 802.1X
To enable 802.1X, issue the following command:
8021xauthenticate [on/off]
l on - 802.1X is enabled
l off - 802.1X is disabled
l No parameter - Displays the current setting
Example: 8021xauthenticate on
The following commands can be used to list, add, and remove certificates from the list of
certificates that will be used by 802.1X.
8021xtrustedcas [list|listn|listu]
l list - Shows all Root and Intermediate certificates for the device
l listn - Shows all Root and Intermediate certificates for the device and also includes
identification number of each certificate
l listu - Shows Root and Intermediate certificates that are used by 802.1X
Only one identifier (number, name, or UID) is needed. These identifiers can be determined by
listing the certificates using the 8021xtrustedcas list or 8021xtrustedcas listn described
above. Only the listn command will show the certificate number.
Remove Certificate from 802.1X Trust List
To remove a certificate from the list of trusted certificates to be used by 802.1X, issue the
following command:
Only one identifier (number, name, or UID) is needed. These identifiers can be determined by
listing the certificates using the 8021xtrustedcas list or 8021xtrustedcas listn described
above. Only the listn command will show the certificate number.
Removing a certificate from 802.1X does not remove the certificate from the device. The
certificate will still be present in the Root or Intermediate store.
Example: 8021xvalidateserver on
To select the 802.1X client authentication method, issue the following command:
8021xmethod [password/certificate]
l password - Uses PEAPv0/EAP-MSCHAPv2 authentication
l certificate - Uses EAP-TLS authentication
If PEAPv0/EAP-MSCHAPv2 is selected, the user name and password to use for authentication
must be entered with the following commands:
8021xusername [username]
8021xpassword [password]
setpasswordrule{-all|-none}|{-length:minpasswordlength}{-mixed}{-digit}{-
special}
l -all - All password rules are applied.
l -none - No password rules are applied.
l -length: - Specifies the minimum password length. By default, the minimum password
length is six characters.
l -mixed - Specifies that the password must contain a lower and upper case character.
l -digit - Specifies that the password must contain a numeric character.
l -special - Specifies that the password must contain a special character.
NOTE: The -length, -mixed, -digit, and -special parameters cannot be combined with -
none.
NOTE: The following special characters are permitted: ` ~ ! @ $ % ^ & * ( ) _ + = { } [ ] | ; " < > ,
.
All passwords that are created, updated, or reset for local users must follow the password rules
set by this command to be considered valid.
As a security best practice, Crestron recommends setting the password policy to the following:
sntp stop
timedate hh:mm:ss mm-dd-yyyy
NOTE: Enter the current time (24-hour clock format, including minutes and seconds) and
date.
By default, the time zone is set to EST (code 014). This is never changed automatically and must
be changed manually if desired. To set the time zone, issue the following command:
Control Subnet
Certain 3-Series control system models provide support for a separate network called a Control
Subnet and have one or more network ports specifically for connecting devices to the Control
Subnet. If your device has a Control Subnet, it must be configured.
The Crestron AV3, CP3N, and PRO3 have a dedicated Control Subnet, which allows for dedicated
communication between the control system and Crestron Ethernet devices without interference
from other network traffic on the LAN.
CAUTION: Do not connect the CONTROL SUBNET port to the LAN. The CONTROL SUBNET
port must only be connected to Crestron Ethernet devices.
NOTE: If the control system is running in isolation mode, Crestron Ethernet devices requiring
internet access should not be connected to the CONTROL SUBNET port (directly or
indirectly) and should be instead connected to the LAN.
This design is in place to ensure that the Crestron CPU and optional expansion cards are
protected from malicious packets on the LAN. Refer to the diagram below for more information
on how these components work together.
Public LAN/Control Subnet Diagram
The firewall rules permit entry to only the traffic that is listened to by the CPU. As a result, a port
scan will only show ports that are listened to by the CPU. Users can set up manual port
forwarding rules to make custom connections to the devices on the Control Subnet.
isolatenetworks [state]
l state - {ON | OFF}
l No parameter - Displays the current setting
Example: isolatenetworks on
As a security best practice, the device should have its Control Subnet in isolation mode.
If the control system will use a specific network address, that address can be configured using
the following command:
CSRouterPrefix [IP_Address/Prefix_Size]
l IP_Address - The desired IP address
l Prefix_Size - The number of leading bits of the routing prefix
l No parameter - Displays the current Control Subnet configuration
The DHCPLeases command will return a list of IP address that have been issued and information
about them.
In addition, specific IP addresses can be assigned to specific devices on the Control Subnet. This
can be done by issuing the following command:
Inbound from User defined Blocked In isolation mode, no port forwarding can be
LAN managed by the user
autodiscovery off
rfgateway off
setuserloginattempts [number]
l number - Number of login attempts a user can have before the console is blocked. A value
of 0 indicates an infinite number of login attempts. A value of -1 restores the default
value.
l No parameter - Displays the current setting
Example: setuserloginattempts 3
setuserlockouttime [number]
l number - Number of hours (suffix h) or minutes (suffix m) to block a user. A value of 0
specifies an indefinite amount of time. The maximum amount of time is 750h (hours) or
45000m (minutes). A value of -1 restores the default value.
l No parameter - Displays the current setting
showlogininfo on
Devices do not terminate a user session due to inactivity by default. Configure the device to
terminate inactive user sessions by issuing the following command:
setlogoffidletime 10
The number set with the setlogoffidletime command is the number of minutes after which
the session will be terminated. The number can range from 1 to 9999.
auditlogging[on|off]{[all]|[none]|{[admin][prog][oper][user]}[remotesyslog]}
l on - Enables audit logging
l -off - Disables audit logging
l No parameter - Displays the current audit logging setting
l The following parameters are optional and are used to log commands by access level:
o admin - Logs administrator-level commands
o prog - Logs programmer-level commands
o oper - Logs operator-level commands
o user - Logs user-level commands
o all - Logs all commands
o none - Logs no commands
l remotesyslog - Writes to the remote syslog server only
auditlogging on all
NOTE: Do not lose this information. The system cannot be accessed without it.
sslverify all
webserver off
To enable the web server, issue the following command:
webserver on
setloginattempts [number]
l number - Number of login attempts allowed before the console is blocked. A value of 0
enables unlimited attempts. The default value is 3.
l No parameter - Displays the current setting
Example: setloginattempts 3
setlockouttime [number]
l number - Number of hours to block an IP address. A value of 0 blocks the IP address
indefinitely. The maximum value is 255. The default value is 24.
l No parameter - Displays the current setting
Example: setlockouttime 24
Examples:
The string passed to the -p and -k options must be at least 8 characters long.
The MD5 authentication type and DES privacy types are not available when the device is in FIPS
140-2 operation.
snmptrap [on|off]
l on - Enables traps
l off - Disables traps
l No parameter- Displays the current setting
Example: snmptrap on
Firmware Update
To perform a firmware update:
1. SFTP the .puf firmware file to the /firmware location on the device.
2. Enter the puf <filename> command in the console, where <filename> is the complete
filename of the .puf file, including the filename extension.
The following sections describe how to manage users and groups on the device.
1 2 3 4 5 6
User No Yes No No No No
By default, the device has five groups available (one for each access level): Administrator,
Programmer, Operator, User, and Connection Only. The initial user is added to the Administrator
group. The default groups may be used, or custom groups can be created with the appropriate
access level permissions as needed.
deleteuser username
l username - Specifies the name of the local user who is to be removed
When a local user is removed, the user is also removed from any local groups.
When a user is added to a group, the user inherits the access level set for the group. Certain
device functions and console commands are accessible only to users with corresponding access
levels.
If a user belongs to multiple groups, the user's access level is the combined access level of all
groups that contain the user.
deletegroup groupname
l groupname - Specifies the name of the local group
When a local user group is removed, users in the group are not removed from the device.
However, the user will lose the access rights associated with the removed group.
To view a list of all local groups added to the device, issue the following command:
Example:listgroups p
NOTE: Use the adlogin command to log in to the Active Directory server.
NOTE: The device cannot create or remove a group from the Active Directory service, but it
can grant an access level to an existing Active Directory group.
All users of the Active Directory group inherit the access level set for the group. Certain device
functions and console commands are accessible only to users with corresponding access levels.
deletedomaingroup groupname
l groupname - Specifies the name of the Active Directory group
When an Active Directory group is removed from the device, it is not deleted from the Active
Directory service. Once the group is removed from the device, all members of that group lose
access to the device.
Example:listdomaingroups p
List Users
To view all users (local and domain) that have been added to local groups, issue the following
command:
listusers
l No parameter - Lists all users that have been added to local groups
listgroupusers groupname
l groupname - Specifies the group name that should be queried
Example:listgroupusers cresprogs
userinformation username
l username - Specifies the user name that should be queried
Example:userinformation jsmith1
NOTE: The device cannot create or remove a user from the Active Directory service, but it
can grant an access level to an existing Active Directory user. This may be accomplished
either by adding the Active Directory user to a local group on the device or by adding the
Active Directory group(s) of which the user is a member to the device.
updatepassword
Users may update their password. The user is prompted to enter the current password once and
the new password twice. If the old password does not match the current password, the
operation fails and the password is not changed.
listblockedip
l No parameter - Lists all blocked IP addresses
addblockedip [ipaddress]
l ipaddress - Enter the IP address that is to be blocked
l No parameter - Lists all blocked IP addresses
Example:addblockedip 255.255.255.255
remblockedip [ALL|ipaddress]
l ipaddress - Enter the IP address that will be removed from the blocked list
l ALL - Remove all blocked IP addresses
l No parameter - Lists all blocked IP addresses
Example:remblockedip 255.255.255.255
addlockeduser [name]
l name - Specifies the user account that is to be locked.
l No parameter - Lists all locked user accounts
Example:addlockeduser jsmith1
remlockeduser [name]
l name - Specifies the user account that is to be removed from the locked list.
l No parameter - Lists all locked user accounts
Example:remlockeduser jsmith1
listlockeduser
l No parameter - Lists all locked user accounts
NOTE: There are some certificates that can be both a server and client certificate and,
therefore, can be used for either purpose.
The device stores certificates by category based upon how they are used:
l Root: These are the default Trust Certificates to which the device will verify server
certificates against when acting as a TLS client. Root certificates are the start of a
certificate chain and can be identified by the Issuer and Subject fields of the certificate
being the same. The device may use an alternate list of trusted certificates for certain
protocols or use cases but, unless specifically indicated, this Root store will be used.
l Intermediate: This is identical to the Root category, except that this store contains only
intermediate certificates, which are Trust Certificates that were signed by another
certificate (the Issuer field will be different than the Subject field). The default list of
trusted certificates is the combination of all the Root and Intermediate certificates.
l Default Server: This category contains a single server certificate and is the default server
certificate. This must include a private key. If a server certificate is needed by the device,
and none is specifically loaded for a particular purpose, then this one will be used. This
certificate cannot be loaded by the standard certificate management commands, but is
instead loaded by special commands and is required as part of activating full
authentication on the device. Refer to the Default Server Certificate (on page 36) section
for more information.
Certificate Requirements
The device supports standard X.509v3 certificates. The following algorithms are supported for
the public key and signatures:
l RSA: Key lengths of 2048 or 3072 bits
l ECC: secp256r1 and secp384r1
l Hash: SHA-1, SHA-256, or SHA-384
Certificate Signing Request (CSR) generation for the default server certificate can only generate
a 2048 bit RSA key and can only use a SHA-256 hash for its signature.
Certificate Commands
The following sections provide information about commands that allow the user to add, remove,
and show certificates. These commands do not apply to the default server certificate.
Certificates are stored by category, which must be specified when using any of the standard
certificate management commands.
View a Certificate
To view additional details about a certificate, issue the following command:
List Certificates
To show the list of certificates loaded in the device for a specific category, issue the following
command:
Make sure to load the default server certificate’s signing chain into the Root and Intermediate
Trust stores before loading the default server certificate itself. If the signing chain is not present,
loading of the default server certificate will fail. If the signing chain is not available, or loading it
into the device is not desired, disable the verification check prior to loading the default server
certificate by issuing the sslverify -s:off command.
Prior to a default server certificate being loaded, a certificate that is self-signed and self-
generated by the device will be used as the default server certificate.
Example:ssl ca
As a security best practice, a default server certificate should be loaded by issuing the ssl ca
command.
After issuing the SSL command, the device must be rebooted in order for the changes to take
effect.
If the private key is protected by a password and the -p option is not provided, the command will
ask for the password interactively.
To replace the existing default server certificate with a new one, issue the ssl ca command
again.
When the ssl ca command is executed, the default server certificate information must be in a
specific location in specific file names. Some information may also need to be installed using the
standard certificate management commands. The following requirements for this information
must be met before executing the ssl ca command:
l All information related to the default server certificate must be broken up into separate
files. This means one file for the server certificate, one file for the private key, one file for
the root certificate, and one file for each intermediate certificate. If a CSR was generated
on the device (see instructions below), no private key file will be needed because it is
already on the device.
The ssl CA command can then be issued and the device can be rebooted.
Only the ou and e fields may be left blank and not included in the CSR by specifying the -i:true
option. Other fields are not affected by the -i option and will always be included in the CSR. If
the -i:true option is not specified, the ou and e fields will also always be included in the CSR,
even if left blank. Fields that are left blank, but still in the CSR, will be set to default values.
Because these default values are not likely to be accurate for most environments, it is
recommended to always fill in all fields except ou and e, use the -i:true option, and fill in ou and
e if needed.
Once generated, the CSR can be retrieved using SFTP. The CSR will be stored in a file named
request.csr in the /sys directory of the device. Because the /sys directory is not directly accessible
via SFTP, move the file to the /user directory and transfer the file from there (for example, move
/sys/request.csr /user/request.csr). It is recommended to use the delete command to
delete any existing file with that name in the /user directory (for example, delete
/user/request.csr).
This process can be accomplished by following these instructions on any Windows® or Linux® OS-
based computer with OpenSSL version 1.0.2 or newer installed. As a security best practice,
ensure that the version of OpenSSL installed is FIPS 140-2 certified.
NOTE: In the following instructions, the example file names include a generic
name descriptor. It is recommended to replace name with a string that identifies the device
that will receive the requested certificate so you can more easily match the certificate files
with the appropriate device.
Modify the text file to include the information specific to the device and the network site. This
information will be put into the Subject field of the certificate and is specified in the [ req_
distinguished_name ] section of the text file. The commonName entry must be filled in and
should be the FQDN of the device.
All other fields are optional and should be filled in or commented out (if not commented out, the
certificate will contain “optional” as the value of that field). Note that the countryName field is
only allowed to be 2 characters.
The following example shows a sample of this section containing filled and empty fields:
[ req_distinguished_name ]
commonName = deviceName.crestron.com
countryName = US
stateOrProvinceName = NJ
localityName = Rockleigh
0.organizationName = Crestron Electronics
#organizationalUnitName = optional
#emailAddress = optional
The following example shows a sample of this section filled out for a device with three names
and two IP addresses:
[ alt_names ]
DNS.1 = deviceName.crestron.com
DNS.2 = alternateName.crestron.com
DNS.3 = thirdname.crestron.com
IP.1 = 192.168.0.10
IP.2 = 10.0.0.5
Finally, if your certificate signing authority requires the CSR to be signed with a stronger hash
than SHA256, the default_md field in the [ req ] section can be changed. Change sha256 to
sha384 as needed.
If you wish to load the certificate as the Web Server certificate, the certificate and key must be
placed into a PKCS #12 file. Ensure that the certificate provided by the signing authority is in
PEM format, and then issue the following command, where name.cert.pem is the file from the
signing authority with the certificate in PEM format.:
Next, follow the instructions in Required Configuration (on page 6) for loading a Web Server
certificate. Make sure to provide the Export Password that was entered above when loading the
certificate file into the device.
Clean Up
Once successfully loaded onto the device, wipe the local copy of the private key (in the file
name.key.pem) on the computer used to generate the CSR, as this contains the secret
information specific to that certificate for that device.