Select any two versions of this STIG to compare the individual requirements
Select any old version/release of this STIG to view the previous requirements
Verify that SSMC utilizes FIPS 140-2 approved mode of encryption for authenticating users by doing the following: 1. Log on to SSMC Administrator Console on web GUI as ssmcadmin. 2. Click the information icon on top right corner and verify "FIPS mode enabled" displays "true". 3. Log on to SSMC appliance as ssmcadmin via SSH, press "X" to escape to general bash shell from the TUI menu, and issue the following command: $ sudo /ssmc/bin/config_security.sh -o fips_mode -a status The output of the command must read "FIPS mode is enabled". If the observations do not indicate FIPS mode as enabled in both steps 1 and 2, this is a finding.
Configure SSMC to utilize FIPS 140-2 approved mode of encryption for authenticating users by doing the following: 1. Log on to the SSMC administrator console as "ssmcadmin" and enable FIPS 140-2 mode. a. Navigate to Actions >> Preferences >> FIPS 140-2 Enabled setting and toggle the switch to "yes". Select "OK". 2. Log on as "ssmcadmin" on the appliance and enable FIPS 140-2 approved mode by doing the following: a. Press "X" to escape to general bash shell. b. Execute the following command: $ sudo /ssmc/bin/config_security.sh -o fips_mode -a enable c. Reboot the appliance when prompted.
Verify that SSMC limits the number of concurrent sessions by doing the following: 1. Log on to SSMC TUI via SSH as ssmcadmin. Press "X" to escape to general bash shell. 2. Execute the following commands: $ grep ^security.max.active.ui.sessions /opt/hpe/ssmc/ssmcbase/resources/ssmc.properties security.max.active.ui.sessions=10 $ grep ^security.max.active.ui.per.user.sessions /opt/hpe/ssmc/ssmcbase/resources/ssmc.properties security.max.active.ui.per.user.sessions=1 If the output of the above commands does not show the values for "security.max.active.ui.sessions" and "security.max.active.ui.per.user.sessions" properties with values set as "10" and "1" respectively, this is a finding.
Configure SSMC to limit the number of allowed simultaneous web session requests by doing the following: 1. Log on to SSMC TUI via SSH as ssmcadmin. Press "X" to escape to general bash shell. 2. Edit /opt/hpe/ssmc/ssmcbase/resources/ssmc.properties (Use vi to edit). 3. Locate (or add a fresh entry) property security.max.active.ui.sessions. Set the value to "10". 4. Locate (or add a fresh entry) property security.max.active.ui.per.user.sessions. Set the value to "1". 5. Save the file and exit. 6. Type "config_appliance" to return to TUI. Restart (stop and start) SSMC services using TUI menu option 2.
Verify that SSMC uses encryption strength equal to the categorization of data hosted by doing the following: 1. Log on to SSH as ssmcadmin. Press "X" to escape to general bash shell. 2. Execute the following: $ grep ^ssmc.secure.tls.only /opt/hpe/ssmc/ssmcbase/resources/ssmc.properties ssmc.secure.tls.only = true If the command output does not read "ssmc.secure.tls.only = true", this is a finding.
Configure SSMC to use encryption strength equal to the categorization of data hosted by doing the following: 1. Log on to SSH as ssmcadmin. Press "X" to escape to general bash shell. 2. Using vi edit ssmc.properties and set "ssmc.secure.tls.only=true". Save and exit. 3. Type "config_appliance" to return to TUI. Restart (stop and start) SSMC services using TUI menu option 2.
Verify that SSMC encrypts log exports to a remote syslog server with the following command: $ sudo /ssmc/bin/config_security.sh -o remote_syslog_appliance -a status | grep tls ssmc.rsyslog.server.tls-enabled=1 If "ssmc.rsyslog.server.tls-enabled" does not equal "1", this is a finding.
Configure SSMC to encrypt log exports to a remote syslog server: 1. Configure rsyslog parameters in /ssmc/conf/security_config.properties like below (use vi editor): ssmc.rsyslog.server.tls-enabled=1 2. Execute "sudo /ssmc/bin/config_security.sh -o remote_syslog_appliance -a set -f" to commit the configuration and enable the service.
Verify that SSMC monitors remote access by doing the following: 1. Log on to SSH as ssmcadmin. Press "X" to escape to general bash shell. 2. Execute the following command to enable HTTP access logs: $ sudo /ssmc/bin/config_security.sh -o http_access_log -a status HTTP access logging is enabled. If the command output does not read "HTTP access logging is enabled", this is a finding.
Configure SSMC to be monitored for remote access by doing the following: 1. Log on to SSH as ssmcadmin. Press "X" to escape to general bash shell. 2. Execute the following command to enable HTTP access logs: $ sudo /ssmc/bin/config_security.sh -o http_access_log -a enable -f
Verify that SSMC monitors remote access by doing the following: 1. Log on to SSH as ssmcadmin. Press "X" to escape to general bash shell. 2. Execute the following command to enable TCP access logs: $ sudo /ssmc/bin/config_security.sh -o tcp_access_log -a status TCP access logging is enabled If the command output does not read "TCP access logging is enabled", this is a finding.
Configure SSMC to be monitored for remote access by doing the following: 1. Log on to SSH as ssmcadmin. Press "X" to escape to general bash shell. 2. Execute the following command to enable TCP access logs: $ sudo /ssmc/bin/config_security.sh -o tcp_access_log -a enable -f
Verify that SSMC monitors remote access by enabling exports to a remote syslog server with the following command: $ sudo /ssmc/bin/config_security.sh -o remote_syslog_appliance -a status | sed 1q Remote syslog service status is OK If the output does not read "Remote syslog service status is OK", this is a finding.
Configure SSMC to be monitored for remote access by enabling exports to a remote syslog server: 1. Configure rsyslog parameters in /ssmc/conf/security_config.properties like below (use vi editor): ssmc.rsyslog.server.host=<rsyslog_server> ssmc.rsyslog.server.port=<rsyslog_port> ssmc.rsyslog.server.protocol=tcp ssmc.rsyslog.server.tls-enabled=1 ssmc.rsyslog.cert.caroot=<ca_root_cert_pem> ssmc.rsyslog.cert.clientcert=<ssmc_client_cert_pem> ssmc.rsyslog.cert.clientkey=<ssmc_client_key_pem> ssmc.rsyslog.server.authMode=<x509/name | x509/certvalid> ssmc.rsyslog.server.permittedPeers=<cn_of_rsyslog_server> ssmc.rsyslog.server.device=<ens160|ens192|eth0|eth1> ssmc.rsyslog.queue.maxdiskspace=6 ssmc.rsyslog.smtp.alert=true ssmc.rsyslog.smtp.server=<smtp_server_ip> ssmc.rsyslog.smtp.port=<smtp_port> ssmc.rsyslog.smtp.recipient=["id1@domain","id2@domain"] ssmc.rsyslog.smtp.notify-interval=300 ssmc.rsyslog.smtp.mailFrom=id@domain 2. Execute "sudo /ssmc/bin/config_security.sh -o remote_syslog_appliance -a set -f" to commit the configuration and enable the service.
Verify that SSMC web server is configured to listen on a specific network IP address, by doing the following: 1. Log on to ssmc appliance as ssmcadmin. Press "X" to escape to general bash shell. 2. Execute the command: $ sudo /ssmc/bin/config_security.sh -o webserver_service_network -a status Webserver service is listening on <ip_address> If the command output does not display a specific IP address assigned to the SSMC host but reads "default IP address", this is a finding.
Configure SSMC web server to listen on a specified network IP address by doing the following: 1. Log on to ssmc appliance as ssmcadmin; escape to general bash shell. 2. Edit (using vi editor) file /ssmc/conf/security_config.properties and set the property ssmc.webserver.service.network=<interface_name> The property value can be any of ens160 or ens192 in an ESX environment; eth0 or eth1 in a Hyper-V environment. 3. Execute the command: $ sudo /ssmc/bin/config_security.sh -o webserver_service_network -a set -f
To verify SSMC always validates PKI certificates of all remote hosts that it connects to, in accordance with RFC 5280, do the following: 1. Log on to ssmc appliance as ssmcadmin and escape to general bash shell. 2. Execute the following command: $ grep ^ssmc.tls.trustManager.enabled /opt/hpe/ssmc/ssmcbase/resources/ssmc.properties ssmc.tls.trustManager.enabled=true If the command output does not show the property ssmc.tls.trustManager.enabled as set to "true", this is a finding.
Configure SSMC to always validate PKI certificates in accordance with RFC 5280 for all connections to remote hosts (as a client) by doing the following: 1. Log on to ssmc appliance as ssmcadmin and escape to general bash shell. 2. Edit (using vi editor) file /opt/hpe/ssmc/ssmcbase/resources/ssmc.properties and set the property: ssmc.tls.trustManager.enabled=true 3. Save the file and exit. 4. Type "config_appliance" to return to TUI. Restart (stop and start) SSMC services using TUI menu option 2.
Verify that SSMC is configured to close web sessions after an absolute period of time by doing the following: 1. Log on to SSMC appliance as ssmcadmin. Press "X" to escape to general bash shell. 2. Execute the following command: $ grep ^server.absolute.session.timeout /opt/hpe/ssmc/ssmcbase/resources/ssmc.properties server.absolute.session.timeout=60 If the command output does not read "server.absolute.session.timeout=60", this is a finding.
Configure SSMC to close web sessions after an absolute period of time by doing the following: 1. Log on to SSMC appliance as ssmcadmin. Press "X" to escape to general bash shell. 2. Use vi editor to locate and set the value of property "server.absolute.session.timeout" to 60 in /opt/hpe/ssmc/ssmcbase/resources/ssmc.properties. Uncomment it if required. Save and exit. 3. Type "config_appliance" to return to TUI. Restart (stop and start) SSMC services using TUI menu option 2.
Verify that idle session timeout is set by doing the following: 1. Log on to SSMC administrator console as ssmcadmin. 2. Navigate to Actions >> Preferences. 3. Locate Session timeout property and check if it is set to 10 minutes. If the value is not set to 10 minutes, this is a finding.
Configure idle session timeouts on the web GUI by doing the following: 1. Log on to SSMC administrator console as ssmcadmin. 2. Navigate to Actions >> Preferences. 3. Locate Session timeout property and update the value to 10 minutes. 4. Restart SSMC services from appliance TUI menu option 2.
Verify that SSMC web server is configured to close inactive sessions after 10 minutes by doing the following: 1. Log on to the SSMC appliance as ssmcadmin. Press "X" to escape to general bash shell. 2. Execute the command: $ sudo /ssmc/bin/config_security.sh -o shell_session_idle_timeout -a status Shell session idle timeout is configured to 600 seconds If the shell session idle timeout status does not read as "configured to 600 seconds", this is a finding.
Configure SSMC web server to close inactive shell sessions after 10 minutes by doing the following: 1. Log on to the SSMC appliance as ssmcadmin. Press "X" to escape to general bash shell. 2. Use vi to edit /ssmc/conf/security_config.properties file. 3. Uncomment and update "ssmc.shell.session.inactivity.timeout property" to "600 seconds". Save and exit. 4. Execute the following command: $ sudo /ssmc/bin/config_security.sh -o shell_session_idle_timeout -a set 5. Terminate all open ssh sessions to SSMC appliance.
Verify that SSMC is configured to block DOD-defined nonsecure zones using remote host access controls by doing the following: 1. Log on to SSMC appliance as ssmcadmin. Press "X" to escape to general bash shell. 2. Execute the following command: $ sudo /ssmc/bin/config_security.sh -o host_access -a status Host access is configured If the command output does not read "Host access is configured", this is a finding. 3. Review the inbound and outbound allow lists by executing the following command: $ grep ^ssmc.*.hosts.allow /ssmc/conf/security_config.properties ssmc.inbound.hosts.allow=<comma separated list or range of hosts> ssmc.outbound.hosts.allow=<comma separated list or range of hosts> If the inbound and outbound allow lists do not restrict connections from nonsecure zones, this is a finding.
Configure SSMC to block access from DOD-defined nonsecure zones by enabling remote host access control by doing the following: 1. Log on to SSMC appliance as ssmcadmin. Press "X" to escape to general bash shell. 2. Configure all hosts to which network traffic needs to be allowed by setting these two properties in /ssmc/conf/security_config.properties. ssmc.inbound.hosts.allow=<comma separated list or range of hosts; cidr and range notations are supported> ssmc.outbound.hosts.allow=<comma separated list or range of hosts; cidr and range notations are supported> 3. Execute the following command: $ sudo /ssmc/bin/config_security.sh -o host_access -a set
Verify that SSMC is configured to protect web server configuration files and logs from unauthorized access by executing command that enables stricter file permission: $ sudo /ssmc/bin/config_security.sh -o strict_file_permission -a status Strict file permission is set If the output does not read "Strict file permission is set", this is a finding.
Configure SSMC to protect web server configuration files and logs from unauthorized access by executing command that enables stricter file permission (cannot be undone): $ sudo /ssmc/bin/config_security.sh -f -o strict_file_permission -a set
Verify that SSMC is configured to enforce strict two-factor authentication by doing the following: 1. Log on to SSMC appliance as ssmcadmin. 2. Navigate to the Advanced Features section of the TUI by pressing "9" then "2". If the Advanced Features sections displays "Enable strict two-factor authentication", this is a finding. 3. Escape to the bash shell by pressing "X". 4. Check the two-factor authentication property values in the /opt/hpe/ssmc/ssmcbase/resources/ssmc.properties file with the following command: $ grep ^security.twofactor /opt/hpe/ssmc/ssmcbase/resources/ssmc.properties security.twofactor.strict = true security.twofactor.enabled = true If the properties for "security.twofactor.strict" and "security.twofactor.enabled" are not set to "true" or are missing, this is a finding.
Configure SSMC to enforce strict two-factor authentication by doing the following: 1. Log on to SSMC appliance as ssmcadmin. 2. Navigate to the Advanced Features section of the TUI by pressing "9" then "2". Press "1" to "Enable strict two-factor authentication" and "Y" to confirm. 3. Escape to the bash shell by pressing "X". 4. Enable and enforce strict two-factor authentication by setting these two properties in /opt/hpe/ssmc/ssmcbase/resources/ssmc.properties: security.twofactor.enabled = true security.twofactor.strict = true
Verify that the SSMC web process writes the web app and audit log files at the right location on the filesystem for log exports to work correctly: 1. Log on to SSMC appliance via SSH as ssmcadmin. Press "X" to escape to general bash shell. 2. Check the following property values in /opt/hpe/ssmc/ssmcbase/resources/log4j2.json file: a. File name for SSMCRollingFile Appender: $ grep "\"name\" : \"SSMCRollingFile\"" -A13 /opt/hpe/ssmc/ssmcbase/resources/log4j2.json | grep "fileName" "fileName" : "${logpath}/ssmc.log", If the output does not read ' "fileName" : "${logpath}/ssmc.log", ' , this is a finding. b. File name for LocalAuditRollingFile Appender: $ grep "\"name\" : \"LocalAuditRollingFile\"" -A13 /opt/hpe/ssmc/ssmcbase/resources/log4j2.json | grep "fileName" "fileName" : "${logpath}/audit.log", If the output does not read ' "fileName" : "${logpath}/audit.log", ' , this is a finding.
Configure SSMC web process to write the web application and audit log files at the right location on the filesystem for log exports to work correctly: 1. Log on to SSMC appliance via SSH as ssmcadmin. Press "X" to escape to general bash shell. 2. Locate and update the following property values in /opt/hpe/ssmc/ssmcbase/resources/log4j2.json file: a. File name for SSMCRollingFile Appender: Locate the line to update with the following command: $ grep -n "\"name\" : \"SSMCRollingFile\"" -A13 /opt/hpe/ssmc/ssmcbase/resources/log4j2.json | grep "fileName" 21- "fileName" : "${logpath}/ssmc.log", Update: set the value for "fileName" property to "${logpath}/ssmc.log", if different, using vi editor. b. File name for LocalAuditRollingFile Appender: Locate the line to update with the following command: $ grep -n "\"name\" : \"LocalAuditRollingFile\"" -A13 /opt/hpe/ssmc/ssmcbase/resources/log4j2.json | grep "fileName" 51- "fileName" : "${logpath}/audit.log", Update: set the value for "fileName" property to "${logpath}/audit.log", if different, using vi editor.
Verify that SSMC generates log records for system access by doing the following: 1. Log on to SSH as ssmcadmin. Press "X" to escape to general bash shell. 2. Execute the following commands: a. $ sudo /ssmc/bin/config_security.sh -o tcp_access_log -a status TCP access logging is enabled If the command output does not read "TCP access logging is enabled", this is a finding. b. $ sudo /ssmc/bin/config_security.sh -o http_access_log -f -a status HTTP access logging is enabled If the command output does not read "HTTP access logging is enabled", this is a finding.
Configure SSMC to generate log records for system access by doing the following: 1. Log on to SSH as ssmcadmin. Press "X" to escape to general bash shell. 2. Execute the following commands: $ sudo /ssmc/bin/config_security.sh -f -o tcp_access_log -a enable $ sudo /ssmc/bin/config_security.sh -f -o http_access_log -f -a enable
Verify that SSMC is configured to generate log records for system startup and shutdown, system access, and system authentication events. To do so, check if auditd facility (session_log) is enabled: 1. Log on as ssmcadmin to ssmc appliance via SSH. Press "X" to escape to general bash shell. 2. Execute the following command: $ sudo /ssmc/bin/config_security.sh -o session_log -a status Session log is enabled If the console output does not show the session log function as enabled, this is a finding.
Configure SSMC to generate log records for system startup and shutdown, system access, and system authentication events. To do so, enable auditd facility (session_log): 1. Log on to SSMC appliance as ssmcadmin. Press "X" to escape to general bash shell from the TUI menu. 2. Execute the following command to enable session logging: $ sudo /ssmc/bin/config_security.sh -o session_log -a enable
Verify that SSMC is configured to provide an alert to the ISSO and SA when log processing failures occur by doing the following: Execute status check on remote_syslog_appliance security control: $ sudo /ssmc/bin/config_security.sh -o remote_syslog_appliance -a status | grep smtp ssmc.rsyslog.smtp.alert=true ssmc.rsyslog.smtp.mailFrom=id@domain ssmc.rsyslog.smtp.recipient=["id1@domain","id2@domain"] ssmc.rsyslog.smtp.notify-interval=<failure_notify_interval> ssmc.rsyslog.smtp.server=<smtp_server_ip> ssmc.rsyslog.smtp.port=<smtp_port> If the "smtp.alert" is not equal to "true" and the remaining smtp configuration is not established per the site requirements, this is a finding.
Configure SSMC to provide an alert to the ISSO and SA when log processing failures occur by doing the following: 1. Configure rsyslog parameters in /ssmc/conf/security_config.properties like below (use vi editor) - ssmc.rsyslog.smtp.alert=true ssmc.rsyslog.smtp.server=<smtp_server_ip> ssmc.rsyslog.smtp.port=<smtp_port> ssmc.rsyslog.smtp.recipient=["id1@domain","id2@domain"] ssmc.rsyslog.smtp.notify-interval=300 ssmc.rsyslog.smtp.mailFrom=id@domain 2. Execute "sudo /ssmc/bin/config_security.sh -o remote_syslog_appliance -a set -f" to commit the configuration and enable the service.