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
Determine when the last update occurred, by entering the following command: cli% showpatch -hist The output fields are InstallTime Id Package Version Examine the InstallTime of the last entry in the output. If the last update occurred more than 3 months ago, verify on the vendor's website what the latest version is. If the current installation is not at the latest release, this is a finding.
The software update process must be performed by the vendor's support organization. Contact the vendor's support organization to determine if an update is available. Note: it is possible no update is currently available for the specific product model being evaluated. This is not an error. If an update is available, the support organization will use this process to install the software. Acquire the system update image on DVD media from the vendor's support organization. Power on the Service Processor, and apply its software update first. Perform an Attach operation between the Service Processor and the disk array. Then apply the software update to the 3PAR system. Perform a Detach operation between the Service Processor and the disk array, and power off the Service Processor.
Verify the Remote Copy feature is not running via the following command: cli% showrcopy Remote Copy is not configured on this system. Review the requirements by the Information Owner to determine whether the site requires the Remote Copy feature in order to meet mission objectives. If the Status is "Started" and there is no documented requirement for this usage, this is a finding. Any other response is not a finding.
Determine whether Remote Copy operation was permitted under an exception. If this feature was not permitted, then disable the Remote Copy feature with the following command: cli% stoprcopy
Verify that CIM is not running with the following command: cli% showcim Review the requirements by the Information Owner to determine whether the site requires a CIM management client in order to meet mission objectives. If the output does not report the CIM "Service" is "Disabled" and there is no documented requirement for this usage, this is a finding. If the output does not report the CIM service "State" is "Inactive" and there is no documented requirement for this usage, this is a finding.
Disable the non-essential CIM feature and remove the associated account with the following commands: cli% stopcim -f CIM server stopped successfully. cli% removeuser 3parcimuser Confirm the operation with "y".
Verify the remote session timeout is set to 10 minutes or less with the following command: cli% showsys -param If the output does not contain the information below, this is a finding. SessionTimeout : 00:10:00
Configure the remote session timeout period (in minutes) with the following command: cli% setsys SessionTimeout 10m
Determine if the CIM service is running with proper encryption via the following command: cli% showcim If the CIM service is "Disabled" and the CIM service "State" is "Inactive", this requirement is not applicable. If the output does not report the CIM HTTP value is "Disabled", this is a finding. If the output does not report the CIM HPPTSPort value is "5989", this is a finding.
Disable unsecured CIM ports and enable secured CIM ports with the following command: cli% setcim -http disable -https enable Confirm the operation with "y"
Verify that insecure ports are disabled. cli% setnet disableports yes Confirm the operation by entering "y" and pressing "Enter". If an error is reported, this is a finding. If available, a remote port scan can also verify that only secure ports are open. From a command shell on a Linux workstation in the operational environment, enter the following command: cli% nmap -sT -sU -sV --version-all -vv -p1 -65535 <ip address of storage system> If any port other than 22 (ssh), 123 (ntp), 161 and 162 (snmp), and 5783 (ssl manageability) report as open, this is a finding.
Disable insecure ports via this command by entering the following command: cli% setnet disableports yes Confirm the operation by entering "y" and pressing "Enter".
Review the requirements by the Information Owner to discover whether the system stores sensitive or classified information. If the system does not store sensitive or classified information, this is not applicable. Verify that data at rest encryption is enabled by entering the following command: cli% controlencryption status Licensed | Enabled | BackupSaved | State | SeqNum | Keystore yes | Yes | no | normal | 0 | --- If the "Enabled" flag is not set to "Yes" as shown in the output above, this is a finding.
Contact an authorized installer to enable the data-at-rest encryption feature. The data at rest encryption feature has hardware and licensing pre-requisites which must be verified by an authorized installer prior to enabling the feature.
Verify a SNMPv3 user account is configured. Run the following command: cli% showsnmpuser Username | AuthProtocol | PrivProtocol 3parsnmpuser | HMAC SHA 96 | CFB128 AES 128 If the output is not displayed in the above format, this is a finding. Identify the SNMP trap recipient and report SNMP configuration with the following command: cli% showsnmpmgr HostIP | Port | SNMPVersion | User <snmp trap recipient IP> | 162 | 3 | 3parsnmpuser If the SNMP trap recipient IP address is incorrect, this is a finding. If the SNMP port is not "162", this is a finding. If the SNMP version is not "3", this is a finding. If the SNMP user ID is incorrect, this is a finding. Generate a test trap: cli% checksnmp Trap sent to the following managers: < IP address of trap recipient> If the response does not indicate a trap was successfully sent, this is a finding.
To configure SNMPv3 alert notifications, use this sequence of operations to create and enable an SNMPv3 user, and create associated keys for authentication and privacy: First, create the "3parsnmpuser" on the host with the following command: cli% createuser 3parsnmpuser all browse Enter the password and retype the password to confirm. Next, create the snmp user and associate that with the "3parsnmpuser" account on the host. cli% createsnmpuser 3parsnmpuser Enter the password and retype the password to confirm. Finally, add the IP address of the SNMPv3 trap recipient, where the permissions of the account are used: cli% addsnmpmgr -pw <password> -version 3 -snmpuser 3parsnmpuser <ip address>
Verify that SNMPv3 is enabled by entering the command: cli% showsnmpmgr HostIP Port SNMPVersion User <IP address of SNMP manager> 162 3 <username> If the SNMPVersion is not 3, this is a finding.
Configure the OS to use SNMPv3 by entering the command: cli% setsnmpmgr -snmpuser 3parsnmpuser -pw <password> -version 3 <IP address of SNMP manager>
Verify that SNMP encryption uses AES by entering the following command: cli% showsnmpuser Username AuthProtocol PrivProtocol 3parsnmpuser HMAC-SHA-96 CFB128-AES-128 If the PrivProtocol in the result is not AES, this is a finding.
Configure the storage system to use AES encryption for SNMPv3 by entering the command: cli% setsnmpmgr -snmpuser 3parsnmpuser -pw <password> -version 3 <IP address of SNMP manager>
Verify NTP is operational by entering the following command: cli% shownet < multiple lines of heading, and node network information> NTP server : <ip address of ntp server> If one of the lines of the output does not show the correct NTP server IP address, this is a finding.
Enable NTP on the system by entering the following command: cli% setnet ntp <server_addr>
Verify that only essential local accounts are configured. Enter the following command: cli% showuser If the output shows users other than the four accounts below, this is a finding: 3paradm 3parsvc 3parsnmpuser 3parcimuser
Display users with the following command: cli% showuser If the accounts "3parbrowse", "3paredit", or "3parservice" exist, see HP3P-32-001504 for removal instructions specific to these accounts. If the account "3parcimuser" exists see HP3P-32-001002 for removal instructions specific to that account. Otherwise, remove all accounts except "3paradm", "3parsvc", "3parsnmpuser", and "3parcimuser" using the following command: cli% removeuser <username> Confirm the operation with "y".
Determine if the system is configured for LDAP. Enter the following command: cli% showauthparam If the output indicates an error, this is a finding. If the resulting output does not include group parameters "groups-dn", "group-obj", or "group-name-attr" then the host is configured to use Active Directory and this requirement is not applicable. If the host is using LDAP and the following fields of the output are not configured, this is a finding. ldap-server <ip address of LDAP server> ldap-server-hn <host name of LDAP server> Next, verify that the LDAP authentication is operational by entering the following command: cli% checkpassword <username> password: <Enter the password for username> If the username and password used in "checkpassword" are known to be valid LDAP credentials, and the following text is NOT displayed at the end of the resulting output, this is a finding. user <username> is authenticated and authorized Note: The "checkpassword" command will not display authenticated information even if LDAP is properly configured, if the username and password are not entered correctly.
Use this series of commands to configure LDAP. cli% setauthparam -f ldap-server <ldap server IP address> cli% setauthparam -f ldap-server-hn <fully qualified domain name of ldap server, such as ldapserver.thisdomain.com> cli% setauthparam -f binding simple cli% setauthparam -f ldap-StartTLS require cli% setauthparam -f groups-dn ou=Groups,dc=thisdomain,dc=com cli% setauthparam -f user-dn-base ou=People,dc=thisdomain,dc=com cli% setauthparam -f user-attr uid cli% setauthparam -f group-obj groupofuniquenames cli% setauthparam -f group-name-attr cn cli% setauthparam -f member-attr uniqueMember cli% setauthparam -f browse-map "*" cli% setauthparam -f edit-map <customer-assigned name of edit role> <customer-assigned name of "edit" group> cli% setauthparam -f service-map <customer-assigned name of service role> <customer-assigned name of "service" group> cli% setauthparam -f super-map <customer-assigned name of super role> <customer-assigned name of "super" group>
Verify Service Processor credentials are not present. cli% showuser If any of the users, "3parbrowse", "3paredit", or "3parservice" exist, this is a finding
Remove the Service Processor credentials from the storage system. Enter the following command: cli% removespcredential Note: This removes the "3paredit", "3parbrowse", and "3parservice" users, and sets the "3parsvc" password to a new random value.
Determine if the system is configured for Active Directory (AD). Enter the following command: cli% showauthparam If the result returns an error, this is a finding. If the resulting output does include the parameters "groups-dn", "group-obj", or "group-name-attr" then the host is setup for LDAP, this requirement is not applicable. If the host is setup for Active Directory and these fields in the output are not configured, this is a finding. ldap-server <ip address of AD server> ldap-server-hn <host name of AD server> Next, verify that the AD authentication is operational by entering the following command: cli% checkpassword <username>: password: <Enter the password for username> If the username and password used in checkpassword are known to be valid AD credentials, and the following text is NOT displayed at the end of the resulting output, this is a finding. user <username> is authenticated and authorized Note: The "checkpassword" command will not display authenticated information even if AD is properly configured, if the username and password are not entered correctly.
Use this series of commands to configure the host to use Active Directory: cli% setauthparam -f ldap-server <AD server IP address> cli% setauthparam -f binding simple cli% setauthparam -f ldap-StartTLS require cli% setauthparam -f Kerberos-realm <Kerberos realm, such as WIN2K12FOREST.THISDOMAIN.COM> cli% setauthparam -f ldap-server-hn <fully qualified domain name of AD server, such as adserver.thisdomain.com> cli% setauthparam -f accounts-dn CN=Users,DC=win2k12forest,DC=thisdomain,DC=com cli% setauthparam -f user-dn-base CN=Users,DC=win2k12forest,DC=thisdomain,DC=com cli% setauthparam -f user-attr WIN2K12FOREST\\ cli% setauthparam -f account-obj user cli% setauthparam -f account-name-attr sAMAccountName cli% setauthparam -f memberof-attr memberOf cli% setauthparam -f browse-map "CN=<customer-assigned name of browse role>,CN=Users,DC=win2k12forest,DC=thisdomain,DC=com" cli% setauthparam -f edit-map "CN=<customer-assigned name of edit role>,CN=Users,DC=win2k12forest,DC=thisdomain,DC=com" cli% setauthparam -f service-map "CN=<customer-assigned name of service role>,CN=Users,DC=win2k12forest,DC=thisdomain,DC=com" cli% setauthparam -f super-map "CN=<customer-assigned name of super role>,CN=Users,DC=win2k12forest,DC=thisdomain,DC=com"
Verify that the minimum password length is set to a value of "15". Check the current password configuration: cli% setpassword -minlen 15 If an error is reported, this is a finding. Note: You must have super-admin privileges to perform this action.
Configure the minimum password length for a value of "15" using the following command: cli% setpassword -minlen 15 Note: You must have super-admin privileges to perform this action.
Verify that the SSH login banner is properly configured. Enter the following command: cli% showsshbanner I've read & consent to terms in IS user agreem't If the output is not: "I've read & consent to terms in IS user agreem't" this is a finding. Alternatively: To inspect the banner, login via SSH from a remote host. If the output shown above is not displayed during SSH authentication, this is a finding.
To configure the SSH login banner, enter the command: cli% setsshbanner Enter the following text: I've read & consent to terms in IS user agreem't Then press enter twice to conclude setting the SSH banner text.
Verify the logging capacity is set to the maximum value of "4", with the following command: cli% showsys -param If the resulting list of configured parameters and values, does not contain "EventLogSize : 4M", this is a finding.
Configure the audit logging capacity for the maximum storage value by entering the command: cli% setsys EventLogSize 4M
Verify the "Timezone" field is configured by entering the following command: cli% showdate Node Date 0 2016-05-18 23:46:29 UTC (Etc/UTC) 1 2016-05-18 23:46:37 UTC (Etc/UTC) If the output does not match the required time zone, this is a finding.
Configure the "Timezone" field by first identifying the time zone identifier. Enter the command to list available time zone settings: cli% setdate -tzlist If UTC is to be set, then use the following command: cli% setdate -tz Etc/UTC