Nutanix Acropolis GPOS Security Technical Implementation Guide
Pick two releases to diff their requirements.
Open a previous version of this STIG.
Supporting documents 4 PDFs
Bundled by DISA alongside this STIG release: overview, revision history, and readme files. Download the full archive or open an individual PDF.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- NXAC-OS-000011
- Vuln IDs
-
- V-279527
- Rule IDs
-
- SV-279527r1192379_rule
Checks: C-84080r1192038_chk
1. Confirm Nutanix AOS is configured to disable nonessential capabilities using the following command. $ sudo yum list installed ypserv If the "ypserv" package is installed, this is a finding.
Fix: F-83985r1192378_fix
Remove any finding using the following command. $ sudo yum remove ypserv
- RMF Control
- AC-10
- Severity
- L
- CCI
- CCI-000054
- Version
- NXAC-OS-000001
- Vuln IDs
-
- V-279528
- Rule IDs
-
- SV-279528r1192544_rule
Checks: C-84081r1192372_chk
For AHV, this requirement is Inherently Met. For AOS, Prism Central, and Files, run the following command to verify Nutanix OS instances limit concurrent logins to 10 or fewer: $ sudo grep "maxlogins" /etc/security/limits.conf If the line "* hard maxlogins 10" is missing, commented out, or set to a number more than 10, this is a finding.
Fix: F-83986r1192543_fix
Configure Nutanix OS instances to limit concurrent logins to 10. 1. For AHV, the value of "* hard maxlogins" is set to 10 by the vendor and must not be altered by customers. If the value is not set to the 10, this is an unauthorized modification which may indicate the security settings for the build has been modified. Rebuild the system from source to correct this issue. 2. For AOS, Prism Central, and Files, run the following command. $ configure_dod_mode.sh enter_dod_mode
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000057
- Version
- NXAC-OS-000003
- Vuln IDs
-
- V-279529
- Rule IDs
-
- SV-279529r1192546_rule
Checks: C-84082r1192024_chk
Verify Nutanix TMUX shell is enabled, which sets the user session lock for the Admin account of last resort. 1. For AOS, Prism Central, and Files, log in to the CVM as the Admin user. 2. For AHV, verify the value of "locl-after-time" is set to "890" using the following command. $ sudo grep -i "lock-after-time" /etc/tmux.conf set -g lock-after-time 890 If the Nutanix TMUX shell is not enabled or if "lock-after-time" is not configured, this is a finding.
Fix: F-83987r1192545_fix
1. For AOS, Prism Central, and Files, log in as Admin and run the following command to set the Nutanix TMUX and configure options for the Admin account of last resort. $ configure_dod_mode.sh enter_dod_mode 2. For AHV, this is set by default in the OS. The value of "lock-after-time" is set to "890" by the vendor and must not be altered by customers. If the value is not set to the default, this is an unauthorized modification which may indicate the security settings for the build has been modified. Rebuild the system from source to correct this issue.
- RMF Control
- AC-12
- Severity
- M
- CCI
- CCI-002361
- Version
- NXAC-OS-000006
- Vuln IDs
-
- V-279530
- Rule IDs
-
- SV-279530r1192590_rule
Checks: C-84083r1192589_chk
Verify Nutanix OS is configured to terminate all network sessions to meet the more stringent session requirement of privileged sessions using the following command. $ sudo grep -i clientalive /etc/ssh/sshd_config ClientAliveInterval 600 ClientAliveCountMax 1 If ClientAliveInterval is not "600" and ClientAliveCountMax is not "1" (or "0" for AHV), this is a finding.
Fix: F-83988r1192278_fix
Configure SSH. 1. For AOS, configure SSH then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/CVM/sshdCVM $ sudo systemctl restart sshd 2. For Prism Central, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/PCVM/sshdPCVM $ sudo systemctl restart sshd 3. For Files, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/AFS/sshdAFS $ sudo systemctl restart sshd 4. For AHV, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/KVM/sshdKVM $ sudo systemctl restart sshd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000067
- Version
- NXAC-OS-000007
- Vuln IDs
-
- V-279531
- Rule IDs
-
- SV-279531r1192591_rule
Checks: C-84084r1192376_chk
Verify SSH access is monitored using the following command. $ sudo grep -i loglevel /etc/ssh/sshd_config If the LogLevel is not set to "VERBOSE", this is a finding.
Fix: F-83989r1192280_fix
Configure SSH. 1. For AOS, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/CVM/sshdCVM $ sudo systemctl restart sshd 2. For Prism Central, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/PCVM/sshdPCVM $ sudo systemctl restart sshd 3. For Files, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/AFS/sshdAFS $ sudo systemctl restart sshd 4. For AHV, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/KVM/sshdKVM $ sudo systemctl restart sshd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-002314
- Version
- NXAC-OS-000008
- Vuln IDs
-
- V-279532
- Rule IDs
-
- SV-279532r1192283_rule
Checks: C-84085r1192282_chk
Verify using remote access methods are prohibited or restricted. 1. Verify IPv4 configuration using the following command. $ sudo systemctl status iptables.service iptables.service - IPv4 firewall with iptables Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled) Active: active (exited) since Thu 2024-10-10 20:05:33 UTC; 1 day 7h ago 2. If IPv6 is in use, use the following command to verify IPv6 configuration. $ sudo systemctl status ip6tables.service ip6tables.service - IPv6 firewall with ip6tables Loaded: loaded (/usr/lib/systemd/system/ip6tables.service; enabled; vendor preset: disabled) Active: active (exited) since Thu 2024-10-10 20:05:36 UTC; 1 day 7h ago Main PID: 6641 (code=exited, status=0/SUCCESS) If there are no iptables services "Loaded" and "Active", this is a finding.
Fix: F-83990r1191559_fix
Restrict using functions, ports, protocols, and/or services as defined in the Ports, Protocols, and Services Management (PPSM) Category Assurance List (CAL) and vulnerability assessments. 1. For AOS, run the following command. $ sudo salt-call state.sls security/CVM/iptables/init 2. For Prism Central, run the following command. $ sudo salt-call state.sls security/PVCM/iptables/init 3. For Files, run the following command. $ sudo salt-call state.sls security/AFS/iptables/init 4. For AHV, run the following command. $ sudo salt-call state.sls security/KVM/iptablesKVM
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-000068
- Version
- NXAC-OS-000009
- Vuln IDs
-
- V-279533
- Rule IDs
-
- SV-279533r1192035_rule
Checks: C-84086r1192034_chk
Verify Nutanix implements DOD-approved encryption to protect the confidentiality of remote access sessions. 1. Verify FIPS mode is enabled using the following command. $ fips-mode-setup --check FIPS mode is enabled. 2. If FIPS mode is "enabled", check if the kernel boot parameter is configured for FIPS mode using the following command. $ grub2-editenv list | grep fips kernelopts=crashkernel=1G-4G:192M,4G-64G:256M,64G-4096G:512M,4096G-:1G nomodeset biosdevname=0 rhgb quiet intel_iommu=on iommu=pt fips=1 audit=1 split_lock_detect=off audit_backlog_limit=8192 net.ifnames=0 systemd.unified_cgroup_hierarchy=1 boot=/dev/disk/by-label/boot ahv.platform=onprem l1tf=flush,nowarn retbleed=off page_poison=0 slub_debug=- spec_rstack_overflow=microcode 3. If the kernel command line is configured to use FIPS mode, check if the system is in FIPS mode using the following command. $ sudo cat /proc/sys/crypto/fips_enabled 1 If FIPS mode is not "enabled", the kernel boot parameter is not configured for FIPS mode, or the system does not have a value of "1" for "fips_enabled" in "/proc/sys/crypto", this is a finding.
Fix: F-83991r1191562_fix
Configure the system to run in FIPS mode. 1. For AOS, configure FIPS mode. $ sudo salt-call state.sls security/CVM/fipsCVM 2. For Prism Central, configure FIPS mode. $ sudo salt-call state.sls security/PCVM/fipsPCVM 3. For Files, configure FIPS mode. $ sudo salt-call state.sls security/AFS/fipsAFS 4. For AHV, configure FIPS mode. $ sudo salt-call state.sls security/KVM/fipsKVM
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001453
- Version
- NXAC-OS-000010
- Vuln IDs
-
- V-279534
- Rule IDs
-
- SV-279534r1192285_rule
Checks: C-84087r1192036_chk
Verify Nutanix OS is configured to use approved ciphers. 1. Configure AOS, Prism Central, and Files OS VMs to use only HMACs employing FIPS 140-3-approved algorithms for remote access using the following command. $ sudo grep -i macs /etc/crypto-policies/back-ends/opensshserver.config MACS=hmac-sha2-512,hmac-sha2-256,hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com 2. Verify AHV "Ciphers" configuration using the following command. $ sudo grep -i ciphers /etc/ssh/sshd_config Ciphers aes256-ctr If unapproved ciphers are listed, the "Ciphers" keyword is missing, or the returned line is commented out, this is a finding.
Fix: F-83992r1192284_fix
Configure SSH. 1. For AOS, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/CVM/sshdCVM $ sudo systemctl restart sshd 2. For Prism Central, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/PCVM/sshdPCVM $ sudo systemctl restart sshd 3. For Files, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/AFS/sshdAFS $ sudo systemctl restart sshd 4. For AHV, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/KVM/sshdKVM $ sudo systemctl restart sshd
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001453
- Version
- NXAC-OS-000012
- Vuln IDs
-
- V-279535
- Rule IDs
-
- SV-279535r1192593_rule
Checks: C-84088r1192592_chk
Note: For AHV, this requirement is Not Applicable. Verify AOS, Prism Central, and Files OS VMs are configured to only use ciphers employing FIPS 140-3-approved algorithms. 1. Verify the "opensslcnf.config" is defined in the "/etc/pki/tls/openssl.cnf" file. sudo grep -i opensslcnf.config /etc/pki/tls/openssl.cnf .include /etc/crypto-policies/back-ends/opensslcnf.config 2. Verify the systemwide crypto policy is set to "FIPS". $ sudo update-crypto-policies --show FIPS If the systemwide crypto policy is not set to "FIPS" or the "opensslcnf.config" is not defined in the "/etc/pki/tls/openssl.cnf", this is a finding.
Fix: F-83993r1192287_fix
Configure SSH. 1. For AOS, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/CVM/sshdCVM $ sudo systemctl restart sshd 2. For Prism Central, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/PCVM/sshdPCVM $ sudo systemctl restart sshd 3. For Files, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/AFS/sshdAFS $ sudo systemctl restart sshd 4. For AHV, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/KVM/sshdKVM $ sudo systemctl restart sshd
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001453
- Version
- NXAC-OS-000013
- Vuln IDs
-
- V-279536
- Rule IDs
-
- SV-279536r1192381_rule
Checks: C-84089r1192380_chk
Note: For AHV, this requirement is Not Applicable. Verify AOS, Prism Central, and Files OS VMs are configured to only use DOD-approved TLS encryption using the following command. $ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config TLS.MinProtocol = TLSv1.2 DTLS.MinProtocol = DTLSv1.2 If the "TLS.MinProtocol" is not set to "TLVSv1.2" (or later) or the "DTLS.Min.Protocol" is not set to "DTLSv1.2", this is a finding.
Fix: F-83994r1192289_fix
Configure SSH. 1. For AOS, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/CVM/sshdCVM $ sudo systemctl restart sshd 2. For Prism Central, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/PCVM/sshdPCVM $ sudo systemctl restart sshd 3. For Files, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/AFS/sshdAFS $ sudo systemctl restart sshd
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001453
- Version
- NXAC-OS-000014
- Vuln IDs
-
- V-279537
- Rule IDs
-
- SV-279537r1192383_rule
Checks: C-84090r1192382_chk
Note: For AHV, this requirement is Not Applicable. Verify AOS, Prism Central, and Files OS VMs are configured to use only FIPS-validated key exchange algorithms using the following command. $ sudo grep -i kexalgorithms /etc/crypto-policies/back-ends/opensshserver.config CRYPTO_POLICY='-oKexAlgorithms=ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512' If the entries following "KexAlgorithms" are not "ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512", appear in a different order than shown, or are missing or commented out, this is a finding.
Fix: F-83995r1192291_fix
Configure SSH. 1. For AOS, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/CVM/sshdCVM $ sudo systemctl restart sshd 2. For Prism Central, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/PCVM/sshdPCVM $ sudo systemctl restart sshd 3. For Files, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/AFS/sshdAFS $ sudo systemctl restart sshd
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001453
- Version
- NXAC-OS-000015
- Vuln IDs
-
- V-279538
- Rule IDs
-
- SV-279538r1192550_rule
Checks: C-84091r1192549_chk
Note: For AHV, this requirement is Not Applicable. Verify AOS, Prism Central, and Files OS VMs are configured to have systemwide crypto policies using the following command. $ sudo grep -i crypto_policy /etc/sysconfig/sshd # CRYPTO_POLICY= If "CRYPTO_POLICY" is uncommented, this is a finding.
Fix: F-83996r1192294_fix
Configure SSH. 1. For AOS, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/CVM/sshdCVM $ sudo systemctl restart sshd 2. For Prism Central, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/PCVM/sshdPCVM $ sudo systemctl restart sshd 3. For Files, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/AFS/sshdAFS $ sudo systemctl restart sshd
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000016
- Version
- NXAC-OS-000016
- Vuln IDs
-
- V-279539
- Rule IDs
-
- SV-279539r1192552_rule
Checks: C-84092r1192551_chk
Verify temporary accounts have been provisioned with an expiration date of 72 hours. 1. For every existing temporary account, run the following command to obtain its account expiration information: $ sudo chage -l system_account_name 2. Verify each account has an expiration date set within 72 hours. If any temporary accounts have no expiration date set or do not expire within 72 hours, this is a finding.
Fix: F-83997r1192047_fix
If a temporary account must be created, configure the system to terminate the account after a 72-hour time period using the following command. sudo chage -E `date -d "+3 days" +%Y-%m-%d` system_account_name
- RMF Control
- Severity
- M
- CCI
- CCI-003627
- Version
- NXAC-OS-000017
- Vuln IDs
-
- V-279540
- Rule IDs
-
- SV-279540r1192387_rule
Checks: C-84093r1192386_chk
Verify Nutanix OS is configured to disable user accounts after the password expires using the following command. $ sudo grep -i inactive /etc/default/useradd INACTIVE=0 If the "INACTIVE" value is set to "-1", a value greater than "35", or is commented out, this is a finding.
Fix: F-83998r1192296_fix
Configure Nutanix OS to use complex password. 1. For AOS, enter the following command. $ sudo salt-call state.sls security/CVM/pamCVM.sls 2. For Prism Central, enter the following command. $ sudo salt-call state.sls security/PCVM/pamPCVM.sls 3. For Files, enter the following command. $ sudo salt-call state.sls security/AFS/pamAFS.sls 4. For AHV AOS CVM, enter the following command. $ ncli cluster edit-hypervisor-security-params enable-high-strength-password=true
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000018
- Version
- NXAC-OS-000018
- Vuln IDs
-
- V-279541
- Rule IDs
-
- SV-279541r1192389_rule
Checks: C-84094r1192388_chk
Verify the OS is configured to audit all account change actions. Run the following command to verify account creation and modification is audited: $ sudo auditctl -l | grep "audit_account_changes" If the command does not return the following output, this is a finding. -w /etc/group -p wa -k audit_account_changes -w /etc/passwd -p wa -k audit_account_changes -w /etc/gshadow -p wa -k audit_account_changes -w /etc/shadow -p wa -k audit_account_changes -w /etc/security/opasswd -p wa -k audit_account_changes
Fix: F-83999r1191586_fix
Configure Nutanix OS to audit all account change actions. 1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- NXAC-OS-000023
- Vuln IDs
-
- V-279542
- Rule IDs
-
- SV-279542r1192391_rule
Checks: C-84095r1192390_chk
Verify the Nutanix OS VMs encrypt the boot password for root using the following command. $ sudo grep -iw grub2_password /boot/grub2/user.cfg GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.D5A1D797EFCF694E49691FED9FC586FB5 $ sudo grep -i execstart /usr/lib/systemd/system/rescue.service | grep -i sulogin ExecStart=-/usr/lib/systemd/systemd-sulogin-shell rescue If the root password entry does not begin with "grub2_password" or "ExecStart" line is configured for anything other than "/usr/lib/systemd/systemd-sulogin-shell rescue", this is a finding.
Fix: F-84000r1191589_fix
1. Configure the Nutanix OS VMs to encrypt the boot password for root using the following command. $ fix_bootloader_pw 2. Follow the prompts to set the password.
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-002165
- Version
- NXAC-OS-000024
- Vuln IDs
-
- V-279543
- Rule IDs
-
- SV-279543r1192595_rule
Checks: C-84096r1192594_chk
1. Verify "fs.protected_hardlinks" is set to "1" using the following command. $ sudo sysctl fs.protected_hardlinks fs.protected_hardlinks = 1 2. Verify the configuration files are present to enable this kernel parameter using the following command. $ sudo grep -r fs.protected_hardlinks /run/sysctl.d/*.conf /usr/local/lib/sysctl.d/*.conf /usr/lib/sysctl.d/*.conf /lib/sysctl.d/*.conf /etc.sysctl.conf /usr/lib/sysctl.d/50-default.conf:fs.protected_hardlinks = 1 /lib/sysctl.d/50-default.conf:fs.protected_hardlinks = 1 If "fs.protected_hardlinks" is not set to "1" or is commented out or missing, this is a finding.
Fix: F-84001r1192053_fix
Nutanix AOS, Prism Central, and Files OS VMs are designed and engineered to have DAC-enabled hardlinks by default. If the DAC hardlinks setting is missing or not active and running, then some corruption has occurred and the OS must be rebuilt. 1. Configure Nutanix AHV to allow operating system admins to pass information to other operating system admins or users by adding or modifying the following line in the system configuration file /etc/syscrl.d/: fs.protected_hardlinks = 1 2. After adding the changes, load settings from all system configuration files using the following command. $ sudo sysctl --system
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-002165
- Version
- NXAC-OS-000027
- Vuln IDs
-
- V-279544
- Rule IDs
-
- SV-279544r1192057_rule
Checks: C-84097r1192055_chk
1. Verify Nutanix AOS enables DAC on symlinks using the following command. $ sudo sysctl fs.protected_symlinks fs.protected_symlinks = 1 2. Verify that the configuration files are present to enable this kernel parameter using the following command. $ sudo grep -r fs.protected_symlinks /run/sysctl.d/*.conf /usr/local/lib/sysctl.d/*.conf /usr/lib/sysctl.d/*.conf /lib/sysctl.d/*.conf /etc.sysctl.conf /usr/lib/sysctl.d/50-default.conf:fs.protected_symlinks = 1 /lib/sysctl.d/50-default.conf:fs.protected_symlinks = 1 If "fs.protected_symlinks" is not set to "1", is missing or commented out, this is a finding.
Fix: F-84002r1192056_fix
1. Nutanix AOS, Prism Central, and Files OS VMs are designed and engineered to have DAC-enabled symlinks by default. If the DAC symlinks setting is missing or not active and running, then some corruption has occurred and the OS must be rebuilt. 2. Configure Nutanix AHV to allow operating system admins to pass information to other operating system admins or users adding or modifying the following line in the system configuration file /etc/syscrl.d/: fs.protected_symlinks = 1 3. After adding the changes, load settings from all system configuration files using the following command. $ sudo sysctl --system
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-002234
- Version
- NXAC-OS-000033
- Vuln IDs
-
- V-279545
- Rule IDs
-
- SV-279545r1192393_rule
Checks: C-84098r1192392_chk
Verify Nutanix OS is configured to audit the misuse of privileged commands using the following command. $ sudo grep -iw execve /etc/audit/audit.rules -a always,exit -F arch=b32 -S execve -C uid!=euid -F euid=0 -k setuid -a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -k setuid -a always,exit -F arch=b32 -S execve -C gid!=egid -F egid=0 -k setgid -a always,exit -F arch=b64 -S execve -C gid!=egid -F egid=0 -k setgid -a always,exit -F arch=b64 -S execve -F auid>2000 -F auid!=4294967295 -k audit_execve -a always,exit -F arch=b32 -S execve -F auid>2000 -F auid!=4294967295 -k audit_execve If both the "b32" and "b64" audit rules for "UID" and "GID" files are not defined, this is a finding.
Fix: F-84003r1191598_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-000044
- Version
- NXAC-OS-000034
- Vuln IDs
-
- V-279546
- Rule IDs
-
- SV-279546r1192554_rule
Checks: C-84099r1192553_chk
Verify accounts are locked for a minimum of 15 minutes after three unsuccessful logon attempts within a period of 15 minutes. 1. For AOS OS, Prism Central OS and Files OS, enter the following commands. Verify the deny option is set to "3" or less (but not "0") and the "fail_interval" option is not set to "900" or more. $ sudo grep -i deny /etc/security/faillock.conf deny = 3 even_deny_root $ sudo grep -i fail_interval /etc/security/faillock.conf fail_interval = 900 2. For AHV OS, verify by entering the following commands for pam.d. $ sudo grep pam_faillock.so /etc/pam.d/password-auth auth required pam_faillock.so preauth silent audit deny=3 even_deny_root unlock_time=900 root_unlock_time=900 fail_interval=900 auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=900 root_unlock_time=900 fail_interval=900 3. Verify the following settings are explicitly configured. - The "deny" parameter is set to "0" or a value greater than "3" on both "auth" lines with the "pam_faillock.so" module. - The "even_deny_root" parameter is not set on both "auth" lines with the "pam_faillock.so" module. - The "fail_interval" parameter is set to "0" or is set to a value less than "900" on both "auth" lines with the "pam_faillock.so" module. - The "unlock_time" parameter is not set to "0", "never", or is set to a value less than "900" on both "auth" lines with the "pam_faillock.so" module. - Any line referencing the "pam_faillock.so" module is commented out. $ sudo grep pam_faillock.so /etc/pam.d/system-auth auth required pam_faillock.so preauth silent audit deny=3 even_deny_root fail_interval=900 unlock_time=900 auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root fail_interval=900 unlock_time=900 account required pam_faillock.so 4. Verify the following settings are explicitly set. - The "deny" parameter is set to "0" or a value greater than "3" on both "auth" lines with the "pam_faillock.so" module. - The "even_deny_root" parameter is not set on both "auth" lines with the "pam_faillock.so" module. - The "fail_interval" parameter is set to "0" or is set to a value less than "900" on both "auth" lines with the "pam_faillock.so" module. - The "unlock_time" parameter is not set to "0", "never", or is set to a value less than "900" on both "auth" lines with the "pam_faillock.so" module. - Any line referencing the "pam_faillock.so" module is commented out. If all required configuration settings are not met or if any settings are missing, this is a finding.
Fix: F-84004r1192059_fix
Configure Nutanix OS to use complex password. 1. For AOS, enter the following command. $ sudo salt-call state.sls security/CVM/pamCVM.sls 2. For Prism Central, enter the following command. $ sudo salt-call state.sls security/PCVM/pamPCVM.sls 3. For Files, enter the following command. $ sudo salt-call state.sls security/AFS/pamAFS.sls 4. For AHV OS CVM, enter the following command. $ ncli cluster edit-hypervisor-security-params enable-high-strength-password=true
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- NXAC-OS-000038
- Vuln IDs
-
- V-279547
- Rule IDs
-
- SV-279547r1192395_rule
Checks: C-84100r1192394_chk
Verify SSH is configured to display the Standard Mandatory DOD Notice Consent Banner using the following command. $ sudo grep -i banner /etc/ssh/sshd_config banner /etc/issue If the SSH banner is not enabled and set to display the DOD Consent Banner, this is a finding.
Fix: F-84005r1191604_fix
Configure the Standard Mandatory DOD Notice and Consent Banner. 1. For AOS, Prism Central, and AHV, enter the following commands, then add the banner below. $ ncli cluster edit-cvm-security-params enable-banner=true' 2. For Nutanix Files, enter the following commands, then add the banner below. $ afs security.edit_security_config enable_banner=enable For all operating systems, enter the banner exactly, including the syntax. You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details.
- RMF Control
- AC-8
- Severity
- L
- CCI
- CCI-000050
- Version
- NXAC-OS-000039
- Vuln IDs
-
- V-279548
- Rule IDs
-
- SV-279548r1192062_rule
Checks: C-84101r1191606_chk
Verify the banner is enabled and configured to display the Standard Mandatory DOD Notice Consent Banner upon local login. 1. For Files only, verify the value of the Enable Banner is not "true". $ afs security.get_security_config Enable Aide : true Enable Core : false Enable High Strength P... : true Enable Banner : true 2. For all OS configurations, verify the banner displays the Standard Mandatory DOD Notice Consent Banner. $ sudo more /etc/issue If the banner is not set to display the DOD Consent Banner, this is a finding.
Fix: F-84006r1191607_fix
1. For Nutanix Files only, enable the banner using the following command. $ afs security.edit_security_config enable_banner=enable 2. For AOS, AHV, and Prism Central, configure the Standard Mandatory DOD Notice and Consent Banner using the following command. $ ncli cluster edit-cvm-security-params enable-banner=true' 3. Enter the following banner for all OS components: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details."
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- NXAC-OS-000043
- Vuln IDs
-
- V-279549
- Rule IDs
-
- SV-279549r1192397_rule
Checks: C-84102r1192396_chk
Verify Nutanix OS generates full-text recording of privileged commands by running the following commands. $ sudo grep -iw "postdrop" /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid=nutanix -F auid!=4294967295 -k privileged -a always,exit -F path=/usr/sbin/postdrop -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -iw "unix_update" /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid=nutanix -F auid!=unset -k privileged-unix-update -a always,exit -F path=/usr/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=unset -k privileged-unix-update $ sudo grep -w "postqueue" /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid=nutanix -F auid!=4294967295 -k privileged -a always,exit -F path=/usr/sbin/postqueue -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -w "semanage" /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid=nutanix -F auid!=4294967295 -k secobjects -a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=4294967295 -k secobjects $ sudo grep -w "setfiles" /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid=nutanix -F auid!=4294967295 -k privileged-priv_change -a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged-priv_change $ sudo grep -w "userhelper" /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid=nutanix -F auid!=4294967295 -k privileged-passwd -a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged-passwd $ sudo grep -w "setsebool" /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid=nutanix -F auid!=4294967295 -k secobjects -a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=4294967295 -k secobjects $ sudo grep -w "unix_chkpwd" /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid=nutanix -F auid!=4294967295 -k privileged -a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged If any of the audit rule commands does not return a line or the line is commented out, this is a finding.
Fix: F-84007r1191610_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- NXAC-OS-000044
- Vuln IDs
-
- V-279550
- Rule IDs
-
- SV-279550r1192399_rule
Checks: C-84103r1192398_chk
Verify Nutanix OS auditing is configured to generate audit records for all access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system. $ sudo grep -w chcon /etc/audit/audit.rules -a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=4294967295 -k secobjects $ sudo grep ssh-agent /etc/audit/audit.rules -a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -w /usr/bin/mount /etc/audit/audit.rules -a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -w /usr/bin/umount /etc/audit/audit.rules -a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep ssh-keysign /etc/audit/audit.rules -a always,exit -F path=/usr/libexec/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -w pam_timestamp_check /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -w crontab /etc/audit/audit.rules -a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -w chsh /etc/audit/audit.rules -a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged If the commands do not return the appropriate response line, as indicated above, or if the lines are commented out, this is a finding.
Fix: F-84008r1191613_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- NXAC-OS-000045
- Vuln IDs
-
- V-279551
- Rule IDs
-
- SV-279551r1192401_rule
Checks: C-84104r1192400_chk
Verify Nutanix OS auditing is configured to generate audit records for all Access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system using the following commands. $ sudo grep -w lremovexattr /etc/audit/audit.rules -a always,exit -F arch=b64 -S lremovexattr -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S lremovexattr -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S lremovexattr -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S lremovexattr -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w removexattr /etc/audit/audit.rules -a always,exit -F arch=b64 -S removexattr -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S removexattr -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S removexattr -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S removexattr -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w lsetxattr /etc/audit/audit.rules -a always,exit -F arch=b64 -S lsetxattr -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S lsetxattr-F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S lsetxattr -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S lsetxattr -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w fsetxattr /etc/audit/audit.rules -a always,exit -F arch=b64 -S fsetxattr -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S fsetxattr-F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S fsetxattr -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S fsetxattr -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w fremovexattr /etc/audit/audit.rules -a always,exit -F arch=b64 -S fremovexattr -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S fremovexattr -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S fremovexattr -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S fremovexattr -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w setxattr /etc/audit/audit.rules -a always,exit -F arch=b64 -S setxattr -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S setxattr -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S setxattr -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S setxattr -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete If the command(s) does not return the appropriate response line, as indicated above, or if the line(s) is commented out, this is a finding.
Fix: F-84009r1191616_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- NXAC-OS-000046
- Vuln IDs
-
- V-279552
- Rule IDs
-
- SV-279552r1192403_rule
Checks: C-84105r1192402_chk
Verify Nutanix OS auditing is configured to generate audit records for all access actions, such as successful and unsuccessful logon attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system. $ sudo grep -w "init_module" /etc/audit/audit.rules -a always,exit -F arch=b64 -S init_module -k audit_network_modifications_modules -a always,exit -F arch=b32 -S init_module -k audit_network_modifications_modules -a always,exit -F arch=b64 -S init_module -S delete_module -k modules -a always,exit -F arch=b32 -S init_module -S delete_module -k modules $ sudo grep -w "finit_module" /etc/audit/audit.rules -a always,exit -F arch=b32 -S finit_module -k module-change -a always,exit -F arch=b64 -S finit_module -k module-change $ sudo grep -w "delete_module" /etc/audit/audit.rules -a always,exit -F arch=b64 -S delete_module -k audit_network_modifications_modules -a always,exit -F arch=b32 -S delete_module -k audit_network_modifications_modules -a always,exit -F arch=b64 -S delete_module -k modules -a always,exit -F arch=b32 -S delete_module -k modules If the command(s) does not return the appropriate response line, as indicated above, or if the line(s) is commented out, this is a finding.
Fix: F-84010r1191619_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- NXAC-OS-000047
- Vuln IDs
-
- V-279553
- Rule IDs
-
- SV-279553r1192405_rule
Checks: C-84106r1192404_chk
Verify Nutanix OS generates an audit record upon successful/unsuccessful attempts to use the "rename", "unlink", "rmdir", "renameat", and "unlinkat" system calls by using the following commands to check the file system rules in "/etc/audit/audit.rules" using the following commands. $ sudo grep -w "\-S mount" /etc/audit/audit.rules -a always,exit -F arch=b64 -S mount -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S mount -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S mount -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S mount -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w "rename" /etc/audit/audit.rules -a always,exit -F arch=b64 -S rename -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S rename -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S rename -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S rename -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w "renameat" /etc/audit/audit.rules -a always,exit -F arch=b64 -S renameat -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S renameat -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S renameat -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S renameat -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w "rmdir" /etc/audit/audit.rules -a always,exit -F arch=b64 -S rmdir -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S rmdir -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S rmdir -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S rmdir -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w "unlink" /etc/audit/audit.rules -a always,exit -F arch=b64 -S unlink -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S unlink -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S unlink -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S unlink -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w "unlinkat" /etc/audit/audit.rules -a always,exit -F arch=b64 -S unlinkat -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S unlinkat -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S unlinkat -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S unlinkat -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w chown /etc/audit/audit.rules -a always,exit -F arch=b64 -S chown -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S chown -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S chown -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S chown -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w chmod /etc/audit/audit.rules -a always,exit -F arch=b64 -S chmod -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S chmod -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S chmod -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w lchown /etc/audit/audit.rules -a always,exit -F arch=b64 -S lchown -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S lchown -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S lchown -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S lchown -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w fchownat /etc/audit/audit.rules -a always,exit -F arch=b64 -S fchownat -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S fchownat -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S fchownat -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S fchownat -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w fchown /etc/audit/audit.rules -a always,exit -F arch=b64 -S fchown -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S fchown -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S fchown -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S fchown -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w fchmodat /etc/audit/audit.rules -a always,exit -F arch=b64 -S fchmodat -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S fchmodat -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S fchmodat -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S fchmodat -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete $ sudo grep -w fchmod /etc/audit/audit.rules -a always,exit -F arch=b64 -S fchmod -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b64 -S fchmod -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S fchmod -F auid=0 -k audit_time_perm_mod_export_delete -a always,exit -F arch=b32 -S fchmod -F auid>=1000 -F auid!=4294967295 -k audit_time_perm_mod_export_delete If the commands do not return the appropriate response line as indicated above, or if the lines are commented out, this is a finding.
Fix: F-84011r1191622_fix
Configure the OS to generate audit records for successful/unsuccessful attempts to use the "rename", "unlink", "rmdir", "renameat", and "unlinkat" system calls by using the following command to check the file system rules in "/etc/audit/audit.rules". 1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- NXAC-OS-000048
- Vuln IDs
-
- V-279554
- Rule IDs
-
- SV-279554r1192407_rule
Checks: C-84107r1192406_chk
Verify Nutanix OS auditing is configured to generate audit records for all successful and unsuccessful system changes using the following commands. $ sudo grep -iw truncate /etc/audit/audit.rules -a always,exit -F arch=b64 -S truncate -F exit=-EACCES -F auid=0 -k access -a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid=0 -k access -a always,exit -F arch=b64 -S truncate -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b64 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b32 -S truncate -F exit=-EACCES -F auid=0 -k access -a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid=0 -k access -a always,exit -F arch=b32 -S truncate -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b32 -S truncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access $ sudo grep -iw openat /etc/audit/audit.rules -a always,exit -F arch=b64 -S openat -F exit=-EACCES -F auid=0 -k access -a always,exit -F arch=b64 -S openat-F exit=-EPERM -F auid=0 -k access -a always,exit -F arch=b64 -S openat -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b64 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b32 -S openat -F exit=-EACCES -F auid=0 -k access -a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid=0 -k access -a always,exit -F arch=b32 -S openat -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b32 -S openat -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access $ sudo grep -iw open /etc/audit/audit.rules -a always,exit -F arch=b64 -S open -F exit=-EACCES -F auid=0 -k access -a always,exit -F arch=b64 -S open-F exit=-EPERM -F auid=0 -k access -a always,exit -F arch=b64 -S open -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b64 -S open -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b32 -S open -F exit=-EACCES -F auid=0 -k access -a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid=0 -k access -a always,exit -F arch=b32 -S open -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b32 -S open -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access $ sudo grep -iw open_by_handle_at /etc/audit/audit.rules -a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EACCES -F auid=0 -k access -a always,exit -F arch=b64 -S open_by_handle_at-F exit=-EPERM -F auid=0 -k access -a always,exit -F arch=b64 -S open_by_handle_at -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b64 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EACCES -F auid=0 -k access -a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid=0 -k access -a always,exit -F arch=b32 -S open_by_handle_at -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b32 -S open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access $ sudo grep -iw ftruncate /etc/audit/audit.rules -a always,exit -F arch=b64 -S ftruncate -F exit=-EACCES -F auid=0 -k access -a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid=0 -k access -a always,exit -F arch=b64 -S ftruncate -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b64 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b32 -S ftruncate -F exit=-EACCES -F auid=0 -k access -a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid=0 -k access -a always,exit -F arch=b32 -S ftruncate -F auid>=1000 -F auid!=4294967295 -k access -a always,exit -F arch=b32 -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access If the commands do not return the appropriate response line, as indicated above, or if the lines are commented out, this is a finding.
Fix: F-84012r1191625_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- NXAC-OS-000049
- Vuln IDs
-
- V-279555
- Rule IDs
-
- SV-279555r1192409_rule
Checks: C-84108r1192408_chk
Verify Nutanix OS auditing is configured to generate audit records for all account creations, modifications, disabling, and terminations using the following commands. $ sudo grep /etc/shadow /etc/audit/audit.rules -w /etc/shadow -p wa -k audit_account_changes $ sudo grep /etc/security/opasswd /etc/audit/audit.rules -w /etc/security/opasswd -p wa -k audit_account_changes $ sudo grep /etc/passwd /etc/audit/audit.rules -w /etc/passwd -p wa -k audit_account_changes $ sudo grep /etc/gshadow /etc/audit/audit.rules -w /etc/gshadow -p wa -k audit_account_changes $ sudo grep /etc/group /etc/audit/audit.rules -w /etc/group -p wa -k audit_account_changes $ sudo grep /etc/sudoers /etc/audit/audit.rules -w /etc/sudoers -p wa -k actions $ sudo grep /etc/sudoers.d/ /etc/audit/audit.rules -w /etc/sudoers.d/ -p wa -k actions $ sudo grep -w /usr/bin/su /etc/audit/audit.rules -a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -w sudo /etc/audit/audit.rules -a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -w gpasswd /etc/audit/audit.rules -a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -w passwd /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged-passwd $ sudo grep -w chage /etc/audit/audit.rules -a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -w newgrp /etc/audit/audit.rules -a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged If the commands do not return the appropriate response line, as indicated above, or if the lines are commented out, this is a finding.
Fix: F-84013r1191628_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- NXAC-OS-000050
- Vuln IDs
-
- V-279556
- Rule IDs
-
- SV-279556r1192411_rule
Checks: C-84109r1192410_chk
Verify Nutanix OS is configured to generate audit records on all kernel module load, unload, and restart actions using the following command. $ sudo grep "/usr/bin/kmod" /etc/audit/audit.rules -w /usr/bin/kmod -p x -F auid!=unset -k module-change $ sudo cat /boot/grub/grub.conf | grep audit kernel /boot/vmlinuz-3.10.0-1160.24.1.el7.nutanix.20210425.cvm.x86_64 ro root=UUID=71a1fe8c-812f-4403-80ed-894f554b061c rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us audit=1 audit_backlog_limit=8192 nousb fips=1 nomodeset biosdevname=0 net.ifnames=0 scsi_mod.use_blk_mq=y panic=30 console=ttyS0,115200n8 console=tty0 clocksource=tsc kvm_nopvspin=1 xen_nopvspin=1 hv_netvsc.ring_size=512 mds=off mitigations=off If the commands do not return the appropriate response line, as indicated above, or if the lines are commented out, this is a finding.
Fix: F-84014r1191631_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000171
- Version
- NXAC-OS-000051
- Vuln IDs
-
- V-279557
- Rule IDs
-
- SV-279557r1192413_rule
Checks: C-84110r1192412_chk
Verify Nutanix OS must allow only the ISSM (or individuals or roles appointed by the ISSM) to select which auditable events are to be audited using the following command. Note: Nutanix OS audit facility is locked down so that only root has access to browse below the /etc/audit/ directory. $ sudo ls -al /etc/audit/rules.d/audit.rules -rw-r-----. 1 root root 21587 Oct 11 03:16 /etc/audit/rules.d/audit.rules $ sudo ls -l /etc/audit/auditd.conf -rw-r-----. 1 root root 908 Oct 10 20:00 /etc/audit/auditd.conf If the files in the "/etc/audit/rules.d/" directory or the "/etc/audit/auditd.conf" file have a mode more permissive than "0640", this is a finding.
Fix: F-84015r1191634_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- NXAC-OS-000062
- Vuln IDs
-
- V-279558
- Rule IDs
-
- SV-279558r1192415_rule
Checks: C-84111r1192414_chk
Verify Nutanix OS generates audit records for successful/unsuccessful attempts to modify security objects occur using the following commands. $ sudo grep -i /usr/sbin/semanage /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=4294967295 -k secobjects $ sudo grep -i /usr/sbin/setsebool /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=4294967295 -k secobjects $ sudo grep -i /usr/bin/chcon /etc/audit/audit.rules -a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=4294967295 -k secobjects $ sudo grep -iw /usr/sbin/setfiles /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged-priv_change If the commands do not return any output, this is a finding.
Fix: F-84016r1191637_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- NXAC-OS-000067
- Vuln IDs
-
- V-279559
- Rule IDs
-
- SV-279559r1192597_rule
Checks: C-84112r1192596_chk
Verify Nutanix OS generates audit records when concurrent logons to the same account occur using the following commands. $ sudo grep -i /var/run/faillock /etc/audit/audit.rules -w /var/run/faillock -p wa -k logins $ sudo grep -i /var/log/lastlog /etc/audit/audit.rules -w /var/log/lastlog -p wa -k logins If the commands listed do not return any output, this is a finding.
Fix: F-84017r1191640_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- NXAC-OS-000069
- Vuln IDs
-
- V-279560
- Rule IDs
-
- SV-279560r1192419_rule
Checks: C-84113r1192418_chk
Verify Nutanix OS generates audit records for privileged activities or other system-level access using the following commands. $ sudo grep -w chage /etc/audit/audit.rules -a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -w newgrp /etc/audit/audit.rules -a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -i /usr/bin/chsh /etc/audit/audit.rules -a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -w "userhelper" /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/userhelper -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged-passwd $ sudo grep -w "unix_chkpwd" /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/unix_chkpwd -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged $ sudo grep -w faillock /etc/audit/audit.rules -w /var/run/faillock/ -p wa -k logins $ sudo grep -w lastlog /etc/audit/audit.rules -w /var/log/lastlog -p wa -k logins $ sudo grep -iw "/usr/sbin/pam_timestamp_check" /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged If the privileged activities access listed does not return any output, this is a finding.
Fix: F-84018r1191643_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- NXAC-OS-000070
- Vuln IDs
-
- V-279561
- Rule IDs
-
- SV-279561r1192421_rule
Checks: C-84114r1192420_chk
Verify Nutanix OS generates audit records for all kernel module load, unload, restart actions, and initiations using the following commands. $ sudo grep -iw create_module /etc/audit/audit.rules -a always,exit -F arch=b32 -S create_module -k module-change -a always,exit -F arch=b64 -S create_module -k module-change $ sudo grep -iw init_module /etc/audit/audit.rules -a always,exit -F arch=b64 -S init_module -S delete_module -k modules -a always,exit -F arch=b32 -S init_module -S delete_module -k modules $ sudo grep -iw finit_module /etc/audit/audit.rules -a always,exit -F arch=b32 -S finit_module -k module-change -a always,exit -F arch=b64 -S finit_module -k module-change $ sudo grep -iw delete_module /etc/audit/audit.rules -a always,exit -F arch=b64 -S init_module -S delete_module -k modules -a always,exit -F arch=b32 -S init_module -S delete_module -k modules $ sudo grep -iw kmod /etc/audit/audit.rules -w /usr/bin/kmod -p x -F auid!=unset -k module-change If both the "b32" and "b64" audit rules are not defined for the module(s) listed syscall or does not produce an output, this is a finding.
Fix: F-84019r1191646_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- NXAC-OS-000072
- Vuln IDs
-
- V-279562
- Rule IDs
-
- SV-279562r1192301_rule
Checks: C-84115r1192300_chk
1. Verify Nutanix AOS generates audit records when concurrent logons to the same account occur using the following command. $ sudo grep dir /etc/security/faillock.conf # The directory where the user files with the failure records are kept. dir = /var/log/faillock 2. Using the location of the faillock log file, check that the following calls are being audited by performing the following command to check the file system rules in "/etc/audit/audit.rules". $ sudo grep -w faillock /etc/audit/audit.rules -w /var/log/faillock -p wa -k logins If the commands do not return a line, or the lines are commented out, this is a finding.
Fix: F-84020r1191649_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- NXAC-OS-000075
- Vuln IDs
-
- V-279563
- Rule IDs
-
- SV-279563r1192423_rule
Checks: C-84116r1192422_chk
Verify Nutanix OS generates audit records for all account creation, modifications, disabling and terminations using the following command. $ sudo grep /etc/passwd /etc/audit/audit.rules -w /etc/passwd -p wa -k audit_account_changes If the command does not return a line, or the line is commented out, this is a finding.
Fix: F-84021r1191652_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- NXAC-OS-000076
- Vuln IDs
-
- V-279564
- Rule IDs
-
- SV-279564r1192080_rule
Checks: C-84117r1191654_chk
1. Verify Nutanix OS generates audit records for all kernel module load, unload, restart actions, and initiations using the following commands. $ sudo grep -iw create_module /etc/audit/audit.rules -a always,exit -F arch=b32 -S create_module -k module-change -a always,exit -F arch=b64 -S create_module -k module-change $ sudo grep -iw init_module /etc/audit/audit.rules -a always,exit -F arch=b64 -S init_module -S delete_module -k modules -a always,exit -F arch=b32 -S init_module -S delete_module -k modules $ sudo grep -iw finit_module /etc/audit/audit.rules -a always,exit -F arch=b32 -S finit_module -k module-change -a always,exit -F arch=b64 -S finit_module -k module-change $ sudo grep -iw delete_module /etc/audit/audit.rules -a always,exit -F arch=b64 -S init_module -S delete_module -k modules -a always,exit -F arch=b32 -S init_module -S delete_module -k modules If both the "b32" and "b64" audit rules are not defined for the module(s) listed syscall, this is a finding. 2. Run the command: $ sudo grep -iw kmod /etc/audit/audit.rules -w /usr/bin/kmod -p x -F auid!=unset -k module-change If the command does not return any output, this is a finding.
Fix: F-84022r1191655_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-14
- Severity
- M
- CCI
- CCI-001464
- Version
- NXAC-OS-000077
- Vuln IDs
-
- V-279565
- Rule IDs
-
- SV-279565r1192081_rule
Checks: C-84118r1191657_chk
1. Verify Nutanix OS is configured with the ausearch tool using the following command. The ausearch tool is a feature of the audit rpm. $ sudo yum list installed audit Installed Packages audit.x86_64 2. Verify the package has not been removed using the following command. $ sudo yum list installed audit Installed Packages audit.x86_64 3. Verify the package has not been disabled using the following command. $ sudo systemctl status auditd.service auditd.service - Security Auditing Service Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2024-10-11 03:16:33 UTC; 21h ago If audit.x86_64 is not installed or is not active, this is a finding.
Fix: F-84023r1191658_fix
1. For AOS, Files, and Prism Central, this setting is configured by default to have ownership and permission levels set correctly to meet this requirement. If these are found to be out of compliance, some corruption has taken place and the OS must be rebuilt. 2. For AHV, configure the audit service to be active and start automatically with the system at startup. The audit service is protected and restricted to allow access or modifications only from the root account. $ sudo su - # systemctl start auditd.service
- RMF Control
- AU-4
- Severity
- L
- CCI
- CCI-001849
- Version
- NXAC-OS-000088
- Vuln IDs
-
- V-279566
- Rule IDs
-
- SV-279566r1192425_rule
Checks: C-84119r1192424_chk
Verify Nutanix OS preconfigures storage for one week's worth of audit records when audit records are not immediately sent to a central audit record facility using the following command. $ sudo cat /boot/grub/grub.conf | grep audit_backlog_limit audit_backlog_limit=8192 If the "audit_backlog_limit" entry does not equal "8192", is missing, or the line is commented out, this is a finding.
Fix: F-84024r1191661_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-4
- Severity
- L
- CCI
- CCI-001851
- Version
- NXAC-OS-000089
- Vuln IDs
-
- V-279567
- Rule IDs
-
- SV-279567r1192427_rule
Checks: C-84120r1192426_chk
Verify there are lines in the "/etc/rsyslog.d/rsyslog-nutanix.conf" files that contain the "@" or "@@" symbol(s) and also lines with the correct symbol(s) to send output a remote log. $ sudo grep @ /etc/rsyslog.d/rsyslog-nutanix.conf local0.*; @remote-log-host:514 If the lines are commented out or there is no evidence that the audit logs are being sent to another system, this is a finding.
Fix: F-84025r1191664_fix
1. Configure the OS to off-load audit records to a site-specific syslog server by running the following command. ncli rsyslog-config add-server name=[alias_of_central_host] ip-address=[IP_of_central_host] port=[port_of_central_host] network-protocol=tcp|udp|relp relp-enabled=yes|no; ncli rsyslog-config add-module module-name=syslog_module level=info server-name=[alias_of_central_host] 2. Configure the remote syslog server to perform the following: - Notify designated personnel if baseline configurations are changed in an unauthorized manner. - Notify the system administrator (SA) and information system security officer (ISSO) (at a minimum) when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity. - Notify designated personnel if baseline configurations are changed in an unauthorized manner. - Notify system administrators and ISSOs when accounts are created. - Notify system administrators and ISSOs when accounts are modified. - Notify system administrators and ISSOs when accounts are removed. - Notify system administrators and ISSOs when accounts are disabled. - Notify SAs and ISSOs of account enabling actions.
- RMF Control
- AU-5
- Severity
- L
- CCI
- CCI-001855
- Version
- NXAC-OS-000091
- Vuln IDs
-
- V-279568
- Rule IDs
-
- SV-279568r1192085_rule
Checks: C-84121r1192084_chk
1. Verify Nutanix OS is configured to act when allocated audit record storage volume reaches 75 percent utilization using the following command. $ sudo grep -w space_left /etc/audit/auditd.conf space_left = 25% If the value of the "space_left" keyword is not set to "25%", or is commented out, this is a finding. 2. Run the following command. $ sudo grep -w space_left_action /etc/audit/auditd.conf space_left_action = SYSLOG If the value of the "space_left_action" is not set to "SYSLOG" or is commented out, this is a finding.
Fix: F-84026r1191667_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-000139
- Version
- NXAC-OS-000092
- Vuln IDs
-
- V-279569
- Rule IDs
-
- SV-279569r1192086_rule
Checks: C-84122r1191669_chk
1. Verify Nutanix OS is set to notify the SA and ISSO in the event of an audit processing failure using the following command. $ sudo grep action_mail_acct /etc/audit/auditd.conf action_mail_acct = root If "action_mail_acct" is not set to "root" or the keyword is missing, this is a finding. 2. Verify Nutanix OS is set to notify administrators in the event of an auditing processing failure using the following command. $ sudo grep -i "postmaster:\s*root$" /etc/aliases postmaster: root If the command does not return a line, or is commented out, this is a finding.
Fix: F-84027r1191670_fix
1. For AOS, configure the audit rules. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- NXAC-OS-000101
- Vuln IDs
-
- V-279570
- Rule IDs
-
- SV-279570r1192430_rule
Checks: C-84123r1192428_chk
For AOS, Prism Central, or Files, this is not a finding. Verify Nutanix AHV disables network management of the chrony daemon using the following command. $ sudo grep -w 'cmdport' /etc/chrony.conf cmdport 0 If the "cmdport" option is not set to "0", is commented out, or missing, this is a finding.
Fix: F-84028r1192429_fix
Configure the AHV to disable network management of the chrony daemon by adding or modifying the following line in the "/etc/chrony.conf" file: cmdport 0
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- NXAC-OS-000102
- Vuln IDs
-
- V-279571
- Rule IDs
-
- SV-279571r1192432_rule
Checks: C-84124r1192089_chk
For AOS, Prism Central, or Files, this is not a finding. 1. Verify Nutanix AHV disables the chrony daemon from acting as a server using the following command. $ sudo grep -w 'port' /etc/chrony.conf port 0 If the "port" option is not set to "0", is commented out, or missing, this is a finding. 2. Verify the OS disables the ability to use the cramfs kernel module. Check if the cramfs kernel module is disabled using the following command. $ sudo grep -r cramfs /etc/modprobe.d/* | grep "blacklist" blacklist cramfs If the command does not return any output or the output is not "blacklist cramfs", and using the cramfs kernel module is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.
Fix: F-84029r1192431_fix
Configure the operating system to disable the chrony daemon from acting as a server by adding or modifying the following line in the "/etc/chrony.conf" file: port 0
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- NXAC-OS-000103
- Vuln IDs
-
- V-279572
- Rule IDs
-
- SV-279572r1192092_rule
Checks: C-84125r1192091_chk
For AOS, Prism Central, or Files, this is not a finding. 1. Verify Nutanix AHV disables the ability to load the cramfs kernel module using the following command. $ sudo grep -r cramfs /etc/modprobe.d/* | grep "/bin/false" install cramfs /bin/false If the command does not return any output, or the line is commented out, and using the cramfs protocol is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding. 2. Verify the operating system disables the ability to use the cramfs kernel module. Check if the cramfs kernel module is disabled using the following command. $ sudo grep -r cramfs /etc/modprobe.d/* | grep "blacklist" blacklist cramfs If the command does not return any output or the output is not "blacklist cramfs", and using the cramfs kernel module is not documented with the ISSO as an operational requirement, this is a finding.
Fix: F-84030r1191679_fix
Configure the AOS to disable the ability to use the cramfs kernel module. 1. Add or update the following lines in the file "/etc/modprobe.d/blacklist.conf": install cramfs /bin/false blacklist cramfs 2. Reboot the system for the settings to take effect.
- RMF Control
- AU-8
- Severity
- L
- CCI
- CCI-001890
- Version
- NXAC-OS-000113
- Vuln IDs
-
- V-279573
- Rule IDs
-
- SV-279573r1192434_rule
Checks: C-84126r1191681_chk
Verify Nutanix OS is using Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT). 1. Verify the "maxpoll" option is set to 16 or fewer and is not commented out using the following command. $ sudo grep maxpoll /etc/chrony.conf server 0.us.pool.ntp.mil maxpoll 10 iburst 2. Verify the "chrony.conf" file is configured to an authoritative DOD time source using the following command. $ sudo grep -i server /etc/chrony.conf server 0.us.pool.ntp.mil If the parameter "server" is not set to an authoritative DOD time source, this is a finding.
Fix: F-84031r1192433_fix
Run the following command to add a list of DOD-approved NTP servers. $ ncli cluster add-to-ntp-servers servers=IP_1,IP_2,IP_3
- RMF Control
- AU-9
- Severity
- H
- CCI
- CCI-001496
- Version
- NXAC-OS-000116
- Vuln IDs
-
- V-279574
- Rule IDs
-
- SV-279574r1192094_rule
Checks: C-84127r1191684_chk
Verify AIDE is enabled and configured. 1. For AOS, verify AIDE is enabled and configured using the following command. $ ncli cluster get-cvm-security-config Enable Aide : true 2. For Prism Central, verify AIDE is enabled and configured using the following command. $ ncli cluster get-pvcm-security-config Enable Aide : true 3. For Files, verify AIDE is enabled and configured using the following command. $ ncli cluster get-afs-security-config Enable Aide : true 4. For AHV, verify AIDE is enabled and configured using the following command. $ ncli cluster get-hypervisor-security-config | egrep "Aide" Enable Aide : true If value for "Enable AIDE" is not "true", this is a finding.
Fix: F-84032r1191685_fix
Enable AIDE for each OS VM. 1. For AOS, configure Aide using the following command. $ ncli cluster edit-CVM-security-params enable-aide=true 2. For Prism Central, configure AIDE using the following command. $ ncli cluster edit-PCVM-security-params enable-aide=true 3. For Files, configure AIDE using the following command. $ ncli cluster edit-AFS-security-params enable-aide=true 4. For AHV, configure AIDE using the following command. $ ncli cluster edit-hypervisor-security-params enable-aide=true
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- NXAC-OS-000117
- Vuln IDs
-
- V-279575
- Rule IDs
-
- SV-279575r1192436_rule
Checks: C-84128r1192435_chk
Verify Nutanix OS audit log permissions are 0600 or less permissive using the following command. $ sudo ls -al /home/log/audit/ total 17902 -rw-------. 1 root root 5721316 Oct 11 22:31 audit.log -r--------. 1 root root 6291469 Oct 11 13:41 audit.log.1 -r--------. 1 root root 6291562 Oct 11 04:00 audit.log.2 If the audit.log file(s) are more permissive than 0600, this is a finding.
Fix: F-84033r1191688_fix
Nutanix OS VMs are configured by default to have ownership and permission levels set to meet this requirement. If these are found to be out of compliance, some corruption has taken place and a rebuild of the OS is required.
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-001493
- Version
- NXAC-OS-000120
- Vuln IDs
-
- V-279576
- Rule IDs
-
- SV-279576r1192616_rule
Checks: C-84129r1192616_chk
Verify access to /etc/audit/auditd.conf directory access permissions are set for only authorized users using the following command. $ sudo ls -al /home/log/audit/audit.log -rw-------. 1 root root 1630962 Oct 12 02:08 /home/log/audit/audit.log If the audit log is not owned by "root", this is a finding.
Fix: F-84034r1191691_fix
Nutanix OS VMs are configured by default to have ownership and permission levels set correctly to meet this requirement. If these are found to be out of compliance, some corruption has taken place and a rebuild of the OS is required.
- RMF Control
- Severity
- H
- CCI
- CCI-003992
- Version
- NXAC-OS-000121
- Vuln IDs
-
- V-279577
- Rule IDs
-
- SV-279577r1192601_rule
Checks: C-84130r1192600_chk
Nutanix OS is a vendor-supported appliance; no connection to any upstream repos is configured or allowed. All patches, service packs, device drivers, and operating system components are solely provided by the vendor. The vendor ensures that all installation packages are properly signed prior to distribution to customer(s). Verify Nutanix AOS is configured to require "gpgcheck" and "localpkg_gpgcheck" for all installation packages provided by the vendor using the following commands: $ sudo grep gpgcheck /etc/yum.conf gpgcheck=1 $ sudo grep localpkg_gpgcheck /etc/yum.conf localpkg_gpgcheck=1 $ sudo grep repo_gpgcheck /etc/yum.conf repo_gpgcheck=1 If any output is not set to "1", this is a finding.
Fix: F-84035r1191694_fix
Configure Yum settings to remove all software components after an updated version is installed. 1. Configure AOS Yum settings using the following command. $ sudo salt-call state.sls security/CVM/yumCVM 2. Configure Prism Central Yum settings using the following command. $ sudo salt-call state.sls security/PCVM/yumPCVM 3. Configure Files Yum settings using the following command. $ sudo salt-call state.sls security/AFS/yumAFS 4. Configure AHV Yum settings using the following command. $ sudo salt-call state.sls security/KVM/yumKVM
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001813
- Version
- NXAC-OS-000124
- Vuln IDs
-
- V-279578
- Rule IDs
-
- SV-279578r1192443_rule
Checks: C-84131r1192441_chk
Verify Nutanix OS enforces access restrictions. Check that the SSH daemon does not permit GSSAPI authentication using the following command. $ sudo grep -i gssapiauth /etc/ssh/sshd_config GSSAPIAuthentication no If the "GSSAPIAuthentication" keyword is missing, is set to "yes" and is not documented with the information system security officer (ISSO), or the returned line is commented out, this is a finding.
Fix: F-84036r1192442_fix
Configure SSH to not permit GSSAPI authentication using the following command. $ sudo salt-call state.sls security/CVM/sshdCVM $ sudo systemctl restart sshd
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001813
- Version
- NXAC-OS-000125
- Vuln IDs
-
- V-279579
- Rule IDs
-
- SV-279579r1192445_rule
Checks: C-84132r1192444_chk
If this is not AHV OS, this requirement is Not Applicable. Verify Nutanix AHV enforces access restrictions. Check that the SSH daemon does not permit Kerberos to authenticate passwords using the following command. $ sudo grep -i kerberosauth /etc/ssh/sshd_config KerberosAuthentication no If the "KerberosAuthentication" keyword is missing or is set to "yes" and is not documented with the information system security officer (ISSO), or the returned line is commented out, this is a finding.
Fix: F-84037r1192306_fix
Configure SSH. 1. For AOS, configure SSH, then restart the SSH for the changes to take effect using the following commands. $ sudo salt-call state.sls security/CVM/sshdCVM $ sudo systemctl restart sshd 2. For Prism Central, configure SSH, then restart the SSH for the changes to take effect using the following commands. $ sudo salt-call state.sls security/PCVM/sshdPCVM $ sudo systemctl restart sshd 3. For Files, configure SSH, then restart the SSH for the changes to take effect using the following commands. $ sudo salt-call state.sls security/AFS/sshdAFS $ sudo systemctl restart sshd 4. For AHV configure SSH, then restart the SSH for the changes to take effect using the following commands. $ sudo salt-call state.sls security/KVM/sshdKVM $ sudo systemctl restart sshd
- RMF Control
- Severity
- M
- CCI
- CCI-004061
- Version
- NXAC-OS-000127
- Vuln IDs
-
- V-279580
- Rule IDs
-
- SV-279580r1192309_rule
Checks: C-84133r1192308_chk
Verify Nutanix OS prevents dictionary attacks. 1. For AOS, Prism Central, and Files, verify the "dictcheck" parameter is set to "1", or is commented out using the following command. $ sudo grep -i dictcheck /etc/security/pwquality.conf dictcheck = 1 2. For AHV, verify the output contains "pam_pwquality.so" with the option of "required" or "requisite" using the following commands. $ sudo grep pwquality.so /etc/pam.d/password-auth password requisite pam_pwquality.so try_first_pass local_users_only enforce_for_root retry=3 authtok_type= If Nutanix OS VMs are not configured to prevent dictionary attacks, this is a finding.
Fix: F-84038r1191703_fix
Configure the use of complex passwords for Nutanix OS VMs. 1. For AOS, configure the use of complex passwords using the following command. $ sudo salt-call state.sls security/CVM/pamCVM.sls 2. For Prism Central, configure the use of complex passwords using the following command. $ sudo salt-call state.sls security/PCVM/pamPCVM.sls 3. For Files, configure the use of complex passwords using the following command. $ sudo salt-call state.sls security/AFS/pamAFS.sls 4. For Prism Central, configure the use of complex passwords using the following command. $ ncli cluster edit-hypervisor-security-params enable-high-strength-password=true
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-000044
- Version
- NXAC-OS-000128
- Vuln IDs
-
- V-279581
- Rule IDs
-
- SV-279581r1192447_rule
Checks: C-84134r1192446_chk
Verify Nutanix OS enforces a delay of at least four seconds between console logon prompts following a failed logon attempt using the following command. $ sudo grep -i fail_delay /etc/login.defs FAIL_DELAY 4 If the value of "FAIL_DELAY" is not set to "4" or greater, or the line is commented out, this is a finding.
Fix: F-84039r1191706_fix
Configure the use of complex passwords for Nutanix OS VMs. 1. For AOS, configure the use of complex passwords using the following command. $ sudo salt-call state.sls security/CVM/pamCVM.sls 2. For Prism Central, configure the use of complex passwords using the following command. $ sudo salt-call state.sls security/PCVM/pamPCVM.sls 3. For Files, configure the use of complex passwords using the following command. $ sudo salt-call state.sls security/AFS/pamAFS.sls 4. For Prism Central, configure the use of complex passwords using the following command. $ ncli cluster edit-hypervisor-security-params enable-high-strength-password=true
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001764
- Version
- NXAC-OS-000129
- Vuln IDs
-
- V-279582
- Rule IDs
-
- SV-279582r1192311_rule
Checks: C-84135r1192310_chk
1. For AOS, Prism Central, and Files, verify the SCMA framework is set to check the baseline daily using the following command. $ ncli cluster get-cvm-security-config | egrep 'Schedule' Schedule : DAILY 2. For AHV, verify the SCMA framework is set to check the baseline daily using the following command. $ ncli cluster get-hypervisor-security-config | egrep 'Schedule' Schedule : DAILY If the SCMA framework "Schedule" is not set to "DAILY", this is a finding.
Fix: F-84040r1191709_fix
1. For AOS, Prism Central, and Files, set the SCMA framework to check the baseline daily using the following command. $ sudo ncli cluster edit-cvm-security-params schedule=daily 2. For AHV, set the SCMA framework to check the baseline daily using the following command. $ sudo ncli cluster edit-hypervisor-security-params schedule=hourly
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- NXAC-OS-000130
- Vuln IDs
-
- V-279583
- Rule IDs
-
- SV-279583r1192449_rule
Checks: C-84136r1192448_chk
Verify Nutanix AOS defines default permissions for all authenticated users in such a way that the user can only read and modify their own files using the following command. $ sudo grep -i umask /etc/login.defs UMASK 077 If the value for the "UMASK" parameter is not "077", or the "UMASK" parameter is missing, or commented out, this is a finding.
Fix: F-84041r1191712_fix
1. For AOS, configure the default permissions "UMASK" to "077" using the following command. salt-call state.sls security/CVM/shellCVM 2. For Prism Central, configure the default permissions "UMASK" to "077" using the following command. salt-call state.sls security/PCVM/shellPCVM 3. For Files, configure the default permissions "UMASK" to "077" using the following command. salt-call state.sls security/AFS/shellAFS 4. For AHV, configure the default permissions "UMASK" to "077" using the following command. salt-call state.sls security/KVM/shellKVM
- RMF Control
- AC-7
- Severity
- H
- CCI
- CCI-000044
- Version
- NXAC-OS-000131
- Vuln IDs
-
- V-279584
- Rule IDs
-
- SV-279584r1192313_rule
Checks: C-84137r1192108_chk
Verify Nutanix OS does not allow users to override environment variables to the SSH daemon. 1. Check for the value of the "PermitUserEnvironment" keyword using the following command. Verify the "PermitUserEnvironment" keyword is not set to "no", is missing, or is commented out. $ sudo grep -i permituserenvironment /etc/ssh/sshd_config PermitUserEnvironment no 2. Verify "HostbasedAuthentication" keyword is not set to "no", is missing, or is commented out. $ sudo grep -i hostbasedauthentication /etc/ssh/sshd_config HostbasedAuthentication no If Nutanix OS does allows users to override environment variables to the SSH daemon, this is a finding.
Fix: F-84042r1192312_fix
Configure SSH. 1. For AOS, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/CVM/sshdCVM $ sudo systemctl restart sshd 2. For Prism Central, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/PCVM/sshdPCVM $ sudo systemctl restart sshd 3. For Files, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/AFS/sshdAFS $ sudo systemctl restart sshd 4. For AHV configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/KVM/sshdKVM $ sudo systemctl restart sshd
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-002165
- Version
- NXAC-OS-000132
- Vuln IDs
-
- V-279585
- Rule IDs
-
- SV-279585r1192452_rule
Checks: C-84138r1192450_chk
Verify Nutanix OS has assigned home directory of all local interactive users has a mode of "0750" or less permissive using the following command. $ ls -ld $(awk -F: '($3>=1000)&&($7 !~ /nologin/){print $6}' /etc/passwd) drwxr-x---. 3 admin admin 4096 Nov 6 2020 /home/admin drwxr-x---. 26 nutanix nutanix 4096 Aug 17 08:02 /home/nutanix If home directories referenced in "/etc/passwd" do not have a mode of "0750" or less, this is a finding.
Fix: F-84043r1192451_fix
For AOS, Prism Central, and Files, configure any interactive users home directory to have a mode of 0750 or less using the following command. $ sudo chmod 0750 [path to interactive user's home directory] For AHV, this setting is a default setting set by the vendor and is not supported to be changed in the field. If any interactive user accounts exist then something has been modified and the hypervisor OS VM must be rebuilt from source.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001764
- Version
- NXAC-OS-000133
- Vuln IDs
-
- V-279586
- Rule IDs
-
- SV-279586r1192556_rule
Checks: C-84139r1192314_chk
1. Verify AOS, Prism Central, and Files has "fapolicyd" installed and is configured for deny-all, permit by exception policy using the following command. $ sudo systemctl status fapolicyd.service fapolicyd.service - File Access Policy Daemon Loaded: loaded (/usr/lib/systemd/system/fapolicyd.service; enabled; vendor preset: disabled) Active: active (running) $ sudo grep permissive /etc/fapolicyd/fapolicyd.conf permissive = 0 $sudo tail /etc/fapolicyd/compiled.rules deny_audit perm=any pattern=ld_so : all deny_audit perm=any all : ftype=application/x-bad-elf allow perm=open all : ftype=application/x-sharedlib trust=1 deny perm=any all : all 2. For AHV, verify iptables services are "Loaded" and "Active". $ sudo service iptables status iptables.service - IPv4 firewall with iptables Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled) Active: active (exited) since Mon 2021-08-02 15:02:12 CDT; 2 weeks 6 days ago Main PID: 1250 (code=exited, status=0/SUCCESS) CGroup: /system.slice/iptables.service 3. If IPv6 is in use, run the following command. $ sudo service ip6tables status ip6tables.service - IPv6 firewall with ip6tables Loaded: loaded (/usr/lib/systemd/system/ip6tables.service; enabled; vendor preset: disabled) Active: active (exited) since Mon 2021-08-02 15:02:12 CDT; 2 weeks 6 days ago Main PID: 1313 (code=exited, status=0/SUCCESS) CGroup: /system.slice/ip6tables.service If an application firewall is not configured or is not installed or enabled, this is a finding.
Fix: F-84044r1192555_fix
1. For AOS, configure fapolicyd.service using the following command. $ sudo salt-call state.sls security/CVM/fapolicydCVM.sls 2. For Prism Central, configure fapolicyd.service using the following command. $ sudo salt-call state.sls security/PCVM/fapolicydPCVM.sls 3. For Files, configure fapolicyd.service using the following command. $ sudo salt-call state.sls security/AFS/fapolicydAFS.sls 4. Configure AHV to restrict using SSH using the following command. $ sudo salt-call state.sls security/KVM/iptables/init
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001764
- Version
- NXAC-OS-000136
- Vuln IDs
-
- V-279587
- Rule IDs
-
- SV-279587r1192454_rule
Checks: C-84140r1192453_chk
Verify in Nutanix OS that the "nodev","nosuid", and "noexec" options are configured for /dev/shm using the following command. $ cat /etc/fstab | grep /dev/shm tmpfs /dev/shm tmpfs defaults,size=512m,noexec,rw,seclabel,nosuid,nodev 0 0 If /dev/shm is mounted without secure options "nodev", "nosuid", and "noexec", this is a finding.
Fix: F-84045r1191724_fix
Nutanix OS is designed and engineered to have mount option preconfigured by default and changes are not supported. If any mount options are found, then some corruption has occurred and the OS must be rebuilt.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001764
- Version
- NXAC-OS-000137
- Vuln IDs
-
- V-279588
- Rule IDs
-
- SV-279588r1192456_rule
Checks: C-84141r1192455_chk
For AHV, this requirement is Not Applicable. Verify in Nutanix OS that the "nodev","nosuid", and "noexec" options are configured for /tmp using the following command. $ sudo cat /etc/fstab | grep /tmp /tmp ext4 loop,rw,seclabel,nodev,nosuid,noexec,noatime 0 0 If /tmp is mounted without secure options "nodev", "nosuid", and "noexec", this is a finding.
Fix: F-84046r1191727_fix
Nutanix OS is designed and engineered to have mount option preconfigured by default and changes are not supported. If any mount options are found, then some corruption has occurred and the OS must be rebuilt.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001764
- Version
- NXAC-OS-000138
- Vuln IDs
-
- V-279589
- Rule IDs
-
- SV-279589r1192458_rule
Checks: C-84142r1192457_chk
For AHV, this requirement is Not Applicable. Verify in Nutanix OS that the "nodev","nosuid", and "noexec" options are configured for /var/log/audit using the following command. $ sudo cat /etc/fstab | grep /var/log/audit /home/log/audit /var/log/audit none defaults,noexec,rw,seclabel,nosuid,noatime,nodev,bind 0 2 If /var/log/audit is mounted without secure options "nodev", "nosuid", and "noexec", this is a finding.
Fix: F-84047r1191730_fix
Nutanix OS is designed and engineered to have mount option preconfigured by default and changes are not supported. If any mount options are found, then some corruption has occurred and a rebuild of the OS is required.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001764
- Version
- NXAC-OS-000139
- Vuln IDs
-
- V-279590
- Rule IDs
-
- SV-279590r1192460_rule
Checks: C-84143r1192459_chk
For AHV, this requirement is Not Applicable. Verify in Nutanix OS that the "nodev","nosuid", and "noexec" options are configured for /var/tmp using the following command. $ sudo cat /etc/fstab | grep /var/tmp /tmp /var/tmp none bind,noatime,nodev,noexec,nosuid,rw,seclabel 0 0 If /var/tmp is mounted without secure options "nodev", "nosuid", and "noexec", this is a finding.
Fix: F-84048r1191733_fix
Nutanix OS is designed and engineered to have mount option preconfigured by default and changes are not supported. If any mount options are found, then some corruption has occurred and the OS must be rebuilt.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001764
- Version
- NXAC-OS-000140
- Vuln IDs
-
- V-279591
- Rule IDs
-
- SV-279591r1192462_rule
Checks: C-84144r1192461_chk
For AHV, this requirement is Not Applicable. Verify in Nutanix OS that the "nodev","nosuid", and "noexec" options are configured for /var/log using the following command. $ sudo cat /etc/fstab | grep /var/log /root/filesystems/varlog.bin /var/log ext4 defaults,nodev,nosuid,noexec 0 2 If /var/log is mounted without secure options "nodev", "nosuid", and "noexec", this is a finding.
Fix: F-84049r1191736_fix
Nutanix AOS is designed and engineered to have mount option preconfigured by default and changes are not supported. If any mount options are found, then some corruption has occurred and the CVM must be rebuilt.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001764
- Version
- NXAC-OS-000141
- Vuln IDs
-
- V-279592
- Rule IDs
-
- SV-279592r1192602_rule
Checks: C-84145r1192463_chk
Verify in Nutanix OS that fapolicyd is installed and active using the following command. $ sudo yum list installed fapolicyd Installed Packages fapolicyd.x86_64 $ sudo systemctl status fapolicyd.service fapolicyd.service - File Access Policy Daemon Loaded: loaded (/usr/lib/systemd/system/fapolicyd.service; enabled; vendor preset: disabled) Active: active (running) If fapolicyd is not installed and active, this is a finding.
Fix: F-84050r1192126_fix
1. For AOS, configure fapolicyd.service using the following command. $ sudo salt-call state.sls security/CVM/fapolicydCVM.sls 2. For Prism Central, configure fapolicyd.service using the following command. $ sudo salt-call state.sls security/PCVM/fapolicydPCVM.sls 3. For Files, configure fapolicyd.service using the following command. $ sudo salt-call state.sls security/AFS/fapolicydAFS.sls 4. Configure AHV to restrict the use of SSH using the following command. $ sudo salt-call state.sls security/KVM/iptables/init
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- NXAC-OS-000146
- Vuln IDs
-
- V-279593
- Rule IDs
-
- SV-279593r1192467_rule
Checks: C-84146r1192465_chk
Verify Nutanix AOS is configured to disable nonessential capabilities using the following command. $ sudo yum list installed rsh-server If the rsh-server package is installed, this is a finding.
Fix: F-84051r1192466_fix
Remove any finding identified using the following command. $ sudo yum remove rsh-server
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- NXAC-OS-000148
- Vuln IDs
-
- V-279594
- Rule IDs
-
- SV-279594r1192470_rule
Checks: C-84147r1192468_chk
Verify Nutanix AOS is configured to disable nonessential capabilities using the following command. $ sudo yum list installed telnet-server If the telnet-server package is installed, this is a finding.
Fix: F-84052r1192469_fix
Remove any finding identified using the following command. $ sudo yum remove telnet-server
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- NXAC-OS-000149
- Vuln IDs
-
- V-279595
- Rule IDs
-
- SV-279595r1192473_rule
Checks: C-84148r1192471_chk
For Nutanix AHV, this requirement is Not Applicable. For AOS, Prism Central, and Files, verify the OS is configured to disable nonessential capabilities using the following command. $ sudo yum list installed abrt* If any automated bug reporting package is installed, this is a finding.
Fix: F-84053r1192472_fix
Remove any finding identified using the following command. $ sudo yum remove abrt*
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- NXAC-OS-000150
- Vuln IDs
-
- V-279596
- Rule IDs
-
- SV-279596r1192475_rule
Checks: C-84149r1192137_chk
For AHV, this requirement is Not Applicable. For AOS, Prism Central, and Files, verify the OS is configured to disable nonessential capabilities using the following command. $ sudo yum list installed sendmail If the sendmail package is installed, this is a finding.
Fix: F-84054r1192474_fix
For AOS, Prism Central, and Files, remove any finding identified using the following command. $ sudo yum remove sendmail
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- NXAC-OS-000151
- Vuln IDs
-
- V-279597
- Rule IDs
-
- SV-279597r1192559_rule
Checks: C-84150r1192557_chk
1. Verify Nutanix OS prohibits or restricts using functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments using the following command. $ sudo iptables -S 2. If IPv6 is in use, run the following command. $ sudo ip6tables -S 3. Review the site or program PPSM CAL; Verify the services allowed by the firewall match the PPSM Component Local Service Assessment (CLSA). If there are additional ports, protocols, or services that are not in the PPSM CLSA, or there are ports, protocols, or services that are prohibited by the PPSM CAL, this is a finding.
Fix: F-84055r1192558_fix
Restrict using functions, ports, protocols, and/or services as defined in the PPSM CAL and vulnerability assessments. 1. For AOS, run the following command. $ sudo salt-call state.sls security/CVM/iptables/init 2. For Prism Central, run the following command. $ sudo salt-call state.sls security/PVCM/iptables/init 3. For Files, run the following command. $ sudo salt-call state.sls security/AFS/iptables/init 4. For AHV, run the following command. $ sudo salt-call state.sls security/KVM/iptablesKVM
- RMF Control
- IA-11
- Severity
- M
- CCI
- CCI-002038
- Version
- NXAC-OS-000152
- Vuln IDs
-
- V-279598
- Rule IDs
-
- SV-279598r1192561_rule
Checks: C-84151r1192476_chk
For AHV, this requirement is Not Applicable. Confirm Nutanix OS is configured as shown for reauthentication in the sudoers file: $ grep -i nopasswd /etc/sudoers /etc/sudoers.d/* If any occurrences of "NOPASSWD" are returned from the command and have not been documented with the information system security officer (ISSO) as an organizationally defined administrative group using multifactor authentication (MFA), this is a finding.
Fix: F-84056r1192560_fix
Remove occurrences of "NOPASSWD". 1. For AOS, use the following command. salt-call state.sls security/CVM/manualCVM 2. For Prism Central, use the following command. salt-call state.sls security/PCVM/manualPCVM 3. For Files, use the following command. salt-call state.sls security/AFS/manualAFS 4. The AHV hypervisor does not support local interactive user accounts. AHV has been designed and configured to run essentially headless. The only accounts allowed on AHV are the preconfigured system accounts.
- RMF Control
- IA-11
- Severity
- M
- CCI
- CCI-002038
- Version
- NXAC-OS-000153
- Vuln IDs
-
- V-279599
- Rule IDs
-
- SV-279599r1192563_rule
Checks: C-84152r1192478_chk
For AHV, this requirement is Not Applicable. Confirm Nutanix OS is configured as shown for reauthentication in the sudoers file: $ grep -i nopasswd /etc/sudoers /etc/sudoers.d/* If any occurrences of "NOPASSWD" are returned from the command and have not been documented with the information system security officer (ISSO) as an organizationally defined administrative group using multifactor authentication (MFA), this is a finding.
Fix: F-84057r1192562_fix
Remove occurrences of "NOPASSWD" found. 1. For AOS, use the following command. salt-call state.sls security/CVM/manualCVM 2. For Prism Central, use the following command. salt-call state.sls security/PCVM/manualPCVM 3. For Files, use the following command. salt-call state.sls security/AFS/manualAFS 4. The AHV hypervisor does not support local interactive user accounts. AHV has been designed and configured to run essentially headless. The only accounts allowed on AHV are the pre-configured system accounts.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000764
- Version
- NXAC-OS-000154
- Vuln IDs
-
- V-279600
- Rule IDs
-
- SV-279600r1192481_rule
Checks: C-84153r1192480_chk
Verify Nutanix OS contains no duplicate User IDs (UIDs) for interactive users using the following command. awk -F ":" 'list[$3]++{print $1, $3}' /etc/passwd If any output is returned, this is a finding.
Fix: F-84058r1191763_fix
Nutanix OS is a purpose-built OS that comes with the account of last resort and system accounts needed. All user accounts required for the proper functionality of the OS are present. If any additional accounts are found on the system, corruption may have occurred and the OS must be rebuilt.
- RMF Control
- IA-3
- Severity
- M
- CCI
- CCI-000778
- Version
- NXAC-OS-000157
- Vuln IDs
-
- V-279601
- Rule IDs
-
- SV-279601r1192483_rule
Checks: C-84154r1192482_chk
Verify Nutanix OS is configured to not automount devices using the following command. $ sudo systemctl status autofs If "autofs.sevice" is installed and or enabled, this is a finding.
Fix: F-84059r1191766_fix
Nutanix OS does not support the autofs.service by design. If autofs.service is enabled, some type of corruption has occurred and the OS must be rebuilt.
- RMF Control
- IA-3
- Severity
- M
- CCI
- CCI-000778
- Version
- NXAC-OS-000158
- Vuln IDs
-
- V-279602
- Rule IDs
-
- SV-279602r1192485_rule
Checks: C-84155r1192484_chk
Verify Nutanix OS is set to disable the ability to use USB mass storage devices using the following command. $ sudo grep -i usb-storage /etc/modprobe.d/stig-reqs.conf install usb-storage /bin/false $ sudo grep -i usb-storage /etc/modprobe.d/blacklist.conf blacklist usb-storage If the command does not return any output or the output is not "blacklist usb-storage", and use of USB storage devices is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding.
Fix: F-84060r1192150_fix
1. For AOS, disable USB mass storage and blacklist from executing using the following command. $ sudo salt-call state.sls security/CVM/modprobeCVM 2. For Prism Central, disable USB mass storage and blacklist from executing using the following command. $ sudo salt-call state.sls security/PCVM/modprobePCVM 3. For Files, disable USB mass storage and blacklist from executing using the following command. $ sudo salt-call state.sls security/AFS/modprobeAFS 4. Configure AHV to disable USB mass storage and blacklist from executing using the following command. $ sudo salt-call state.sls security/KVM/modprobeKVM
- RMF Control
- Severity
- M
- CCI
- CCI-004061
- Version
- NXAC-OS-000159
- Vuln IDs
-
- V-279603
- Rule IDs
-
- SV-279603r1192618_rule
Checks: C-84156r1192486_chk
Verify Nutanix OS prevents using dictionary words for passwords. Determine if the field "dictcheck" is set using the following command. $ sudo grep -r dictcheck /etc/security/pwquality.conf* /etc/security/pwquality.conf:dictcheck=1 If the "dictcheck" parameter is not set to "1", is commented out, or if conflicting results are returned, this is a finding.
Fix: F-84061r1192487_fix
Configure the operating system to enforce password complexity by requiring that at least one special character be used by setting the "ocredit" option using the following command. $ ncli cluster edit-cvm-security-params enable-high-strength-password=true
- RMF Control
- Severity
- H
- CCI
- CCI-004062
- Version
- NXAC-OS-000161
- Vuln IDs
-
- V-279604
- Rule IDs
-
- SV-279604r1192604_rule
Checks: C-84157r1192603_chk
1. Verify Nutanix OS is configured to store encrypted representation of passwords and that the encryption meets required standards using the following command. $ sudo grep -i encrypt /etc/login.defs ENCRYPT_METHOD SHA512 If the /etc/login.defs file does not contain the required output, this is a finding. 2. Confirm that the interactive user account passwords are using a strong password hash using the following command. $ sudo cut -d: -f2 /etc/shadow $6$hMKOdbToveIPcp$ybbhyd/bY/.nbce5H1Qc8Ji7ECmTZvs50ASDFHSY9XEW/TkK7Xer5xUYp7AHYzrk815rkJecsCDIMIgYXBQ9C/ Password hashes "!" or "*" indicate inactive accounts not available for logon and are not evaluated. If any interactive user passwords do not begin with "$6$", this is a finding. 3. Check that a minimum number of hash rounds is configured using the following command. $ sudo grep -iE "^SHA_CRYPT_" /etc/login.defs SHA_CRYPT_MAX_ROUNDS 5000 If the value of "SHA_CRYPT_MAX_ROUNDS" is not set to 5000 or more, this is a finding.
Fix: F-84062r1192564_fix
Configure Nutanix OS to use complex password using the following command. 1. For AOS, enter the following command. $ sudo salt-call state.sls security/CVM/pamCVM.sls 2. For Prism Central, enter the following command. $ sudo salt-call state.sls security/PCVM/pamPCVM.sls 3. For Files, enter the following command. $ sudo salt-call state.sls security/AFS/pamAFS.sls
- RMF Control
- Severity
- M
- CCI
- CCI-004066
- Version
- NXAC-OS-000162
- Vuln IDs
-
- V-279605
- Rule IDs
-
- SV-279605r1192605_rule
Checks: C-84158r1192158_chk
1. Verify Nutanix OS uses "pwquality" to enforce password complexity rules using the following command. $ sudo cat /etc/pam.d/password-auth | grep pam_pwquality password requisite pam_pwquality.so try_first_pass … If the command does not return a line containing the value "pam_pwquality.so" as shown, or the line is commented out, this is a finding. 2. Verify Nutanix AOS is configured to require complex passwords. Note: The value to require a number of uppercase characters to be set is expressed as a negative number in "/etc/security/pwquality.conf". 3. Check the value for "ucredit" in "/etc/security/pwquality.conf" using the following command. $ sudo grep ucredit /etc/security/pwquality.conf ucredit = -1 If the value of "ucredit" is not set to a negative value, this is a finding.
Fix: F-84063r1192566_fix
Configure Nutanix OS to use complex passwords. 1. For AOS, enter the following command. $ sudo salt-call state.sls security/CVM/pamCVM.sls 2. For Prism Central, enter the following command. $ sudo salt-call state.sls security/PCVM/pamPCVM.sls 3. For Files, enter the following command. $ sudo salt-call state.sls security/AFS/pamAFS.sls 4. For AHV OS CVM, enter the following command. $ ncli cluster edit-hypervisor-security-params enable-high-strength-password=true
- RMF Control
- Severity
- M
- CCI
- CCI-004066
- Version
- NXAC-OS-000163
- Vuln IDs
-
- V-279606
- Rule IDs
-
- SV-279606r1192492_rule
Checks: C-84159r1192491_chk
Verify Nutanix AOS is configured to require complex passwords. Note: The value to require a number of lowercase characters to be set is expressed as a negative number in "/etc/security/pwquality.conf". Check the value for "lcredit" in "/etc/security/pwquality.conf" using the following command. $ sudo grep lcredit /etc/security/pwquality.conf lcredit = -1 If the value of "lcredit" is not set to a negative value, this is a finding.
Fix: F-84064r1192317_fix
Configure Nutanix OS to use complex passwords. 1. For AOS, enter the following command. $ sudo salt-call state.sls security/CVM/pamCVM.sls 2. For Prism Central, enter the following command. $ sudo salt-call state.sls security/PCVM/pamPCVM.sls 3. For Files, enter the following command. $ sudo salt-call state.sls security/AFS/pamAFS.sls 4. For AHV OS CVM, enter the following command. $ ncli cluster edit-hypervisor-security-params enable-high-strength-password=true
- RMF Control
- Severity
- M
- CCI
- CCI-004066
- Version
- NXAC-OS-000164
- Vuln IDs
-
- V-279607
- Rule IDs
-
- SV-279607r1192494_rule
Checks: C-84160r1192493_chk
Verify Nutanix AOS is configured to require complex passwords. Note: The value to require a number of numeric characters to be set is expressed as a negative number in "/etc/security/pwquality.conf". Check the value for "dcredit" in "/etc/security/pwquality.conf" using the following command. $ sudo grep dcredit /etc/security/pwquality.conf dcredit = -1 If the value of "dcredit" is not set to a negative value, this is a finding.
Fix: F-84065r1192319_fix
Configure Nutanix OS to use complex passwords. 1. For AOS, enter the following command. $ sudo salt-call state.sls security/CVM/pamCVM.sls 2. For Prism Central, enter the following command. $ sudo salt-call state.sls security/PCVM/pamPCVM.sls 3. For Files, enter the following command. $ sudo salt-call state.sls security/AFS/pamAFS.sls 4. For AHV OS CVM, enter the following command. $ ncli cluster edit-hypervisor-security-params enable-high-strength-password=true
- RMF Control
- Severity
- M
- CCI
- CCI-004066
- Version
- NXAC-OS-000165
- Vuln IDs
-
- V-279608
- Rule IDs
-
- SV-279608r1192322_rule
Checks: C-84161r1192166_chk
1. Verify Nutanix AOS is configured to require complex passwords using the following command. Note: The values to require for complex passwords is located in "/etc/security/pwquality.conf". $ sudo grep difok /etc/security/pwquality.conf difok = 8 If the value of "difok" is set to less than "8", this is a finding. 2. Verify Nutanix AOS is configured to require complex passwords using the following command. $ sudo grep minclass /etc/security/pwquality.conf minclass = 4 If the value of "minclass" is set to less than "4", this is a finding. 3. Verify Nutanix AOS is configured to require complex passwords using the following command. $ sudo grep maxrepeat /etc/security/pwquality.conf maxrepeat = 2 If the value of "maxrepeat" is set to more than "2", this is a finding. 4. Verify Nutanix AOS is configured to require complex passwords using the following command. $ sudo grep maxclassrepeat /etc/security/pwquality.conf maxclassrepeat = 4 If the value of "maxclassrepeat" is set to more than "4", this is a finding.
Fix: F-84066r1192321_fix
Configure Nutanix OS to use complex password by running the following command. 1. For AOS, enter the following command. $ sudo salt-call state.sls security/CVM/pamCVM.sls 2. For Prism Central, enter the following command. $ sudo salt-call state.sls security/PCVM/pamPCVM.sls 3. For Files, enter the following command. $ sudo salt-call state.sls security/AFS/pamAFS.sls 4. For AHV OS CVM, enter the following command. $ ncli cluster edit-hypervisor-security-params enable-high-strength-password=true
- RMF Control
- Severity
- M
- CCI
- CCI-004066
- Version
- NXAC-OS-000166
- Vuln IDs
-
- V-279609
- Rule IDs
-
- SV-279609r1192569_rule
Checks: C-84162r1192568_chk
1. Verify Nutanix AOS is configured to enforce 24hour/1day minimum password lifetime using the following command. $ sudo grep -i pass_min_days /etc/login.defs PASS_MIN_DAYS 1 If the "PASS_MIN_DAYS" parameter value is not "1" or greater, or is commented out, this is a finding. 2. Run the following command. $ sudo awk -F: '$4 < 1 {print $1 " " $4}' /etc/shadow If any results are returned that are not associated with a system account, this is a finding.
Fix: F-84067r1192323_fix
Configure Nutanix OS to use complex password. 1. For AOS, enter the following command. $ sudo salt-call state.sls security/CVM/pamCVM.sls 2. For Prism Central, enter the following command. $ sudo salt-call state.sls security/PCVM/pamPCVM.sls 3. For Files, enter the following command. $ sudo salt-call state.sls security/AFS/pamAFS.sls 4. For AHV OS CVM, enter the following command. $ ncli cluster edit-hypervisor-security-params enable-high-strength-password=true
- RMF Control
- Severity
- M
- CCI
- CCI-004066
- Version
- NXAC-OS-000167
- Vuln IDs
-
- V-279610
- Rule IDs
-
- SV-279610r1192571_rule
Checks: C-84163r1192570_chk
1. Verify Nutanix AOS is configured to enforce a 60-day maximum password lifetime using the following command. $ sudo grep -i pass_max_days /etc/login.defs PASS_MAX_DAYS 60 If the "PASS_MAX_DAYS" parameter value is not 60 or less, or is commented out, this is a finding. 2. Run the following command. $ sudo awk -F: '$5 > 60 {print $1 " " $5}' /etc/shadow If any results are returned that are not associated with a system account, this is a finding.
Fix: F-84068r1192325_fix
Configure Nutanix OS to use complex password. 1. For AOS, enter the following command. $ sudo salt-call state.sls security/CVM/pamCVM.sls 2. For Prism Central, enter the following command. $ sudo salt-call state.sls security/PCVM/pamPCVM.sls 3. For Files, enter the following command. $ sudo salt-call state.sls security/AFS/pamAFS.sls 4. For AHV OS CVM, enter the following command. $ ncli cluster edit-hypervisor-security-params enable-high-strength-password=true
- RMF Control
- Severity
- M
- CCI
- CCI-004066
- Version
- NXAC-OS-000168
- Vuln IDs
-
- V-279611
- Rule IDs
-
- SV-279611r1192328_rule
Checks: C-84164r1192173_chk
Verify Nutanix OS is configured to enforce a minimum 15-character password length using the following command. $ sudo grep minlen /etc/security/pwquality.conf minlen = 15 If the command does not return a "minlen" value of 15 or greater, this is a finding.
Fix: F-84069r1192327_fix
Configure Nutanix OS to use complex password. 1. For AOS, enter the following command. $ sudo salt-call state.sls security/CVM/pamCVM.sls 2. For Prism Central, enter the following command. $ sudo salt-call state.sls security/PCVM/pamPCVM.sls 3. For Files, enter the following command. $ sudo salt-call state.sls security/AFS/pamAFS.sls 4. For AHV OS CVM, enter the following command. $ ncli cluster edit-hypervisor-security-params enable-high-strength-password=true
- RMF Control
- Severity
- M
- CCI
- CCI-004066
- Version
- NXAC-OS-000169
- Vuln IDs
-
- V-279612
- Rule IDs
-
- SV-279612r1192607_rule
Checks: C-84165r1192495_chk
Verify Nutanix AOS enforces password complexity by requiring that at least one special character be used. Note: The value to require a number of special characters to be set is expressed as a negative number in "/etc/security/pwquality.conf". Check the value for "ocredit" in "/etc/security/pwquality.conf" using the following command. $ sudo grep ocredit /etc/security/pwquality.conf ocredit=-1 If the value of "ocredit" is not set to a negative value, this is a finding.
Fix: F-84070r1192606_fix
Configure the operating system to enforce password complexity by requiring that at least one special character be used by setting the "ocredit" option. Log in to Nutanix CVM and run the following command. $ ncli cluster edit-cvm-security-params enable-high-strength-password=true
- RMF Control
- IA-7
- Severity
- M
- CCI
- CCI-000803
- Version
- NXAC-OS-000170
- Vuln IDs
-
- V-279613
- Rule IDs
-
- SV-279613r1192499_rule
Checks: C-84166r1192498_chk
Verify pam_uni.so module is configured to use SHA-512 using the following command. $ sudo grep password /etc/pam.d/password-auth | grep pam_unix password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok If "sha512" is missing or commented out, this is a finding.
Fix: F-84071r1192179_fix
1. For AOS, disable inactive user accounts after the password expires using the following command. $ sudo salt-call state.sls security/CVM/pamCVM 2. For Prism Central, disable inactive user accounts after the password expires using the following command. $ sudo salt-call state.sls security/PCVM/pamPCVM 3. For Files, disable inactive user accounts after the password expires using the following command. $ sudo salt-call state.sls security/AFS/pamAFS 4. Configure AHV to disable inactive user accounts after the password expires using the following command. $ sudo salt-call state.sls security/KVM/pamKVM
- RMF Control
- MA-4
- Severity
- M
- CCI
- CCI-002884
- Version
- NXAC-OS-000172
- Vuln IDs
-
- V-279614
- Rule IDs
-
- SV-279614r1192501_rule
Checks: C-84167r1192500_chk
Verify Nutanix OS audits all required activities performed during nonlocal maintenance and diagnostic sessions using the following commands. $ sudo grep -i /usr/sbin/semanage /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/semanage -F perm=x -F auid>=1000 -F auid!=4294967295 -k secobjects $ sudo grep -i /usr/sbin/setsebool /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/setsebool -F perm=x -F auid>=1000 -F auid!=4294967295 -k secobjects $ sudo grep -i /usr/bin/chcon /etc/audit/audit.rules -a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=4294967295 -k secobjects $ sudo grep -iw /usr/sbin/setfiles /etc/audit/audit.rules -a always,exit -F path=/usr/sbin/setfiles -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged-priv_change $ sudo grep -i /var/run/faillock /etc/audit/audit.rules -w /var/run/faillock/ -p wa -k logins $ sudo grep -i /var/log/lastlog /etc/audit/audit.rules -w /var/log/lastlog -p wa -k logins If any of the commands listed do not return any output, this is a finding.
Fix: F-84072r1192181_fix
1. For AOS, configure the audit rules using the following command. $ sudo salt-call state.sls security/CVM/auditCVM 2. For Prism Central, configure the audit rules using the following command. $ sudo salt-call state.sls security/PCVM/auditPCVM 3. For Files, configure the audit rules using the following command. $ sudo salt-call state.sls security/AFS/auditAFS 4. For AHV, configure the audit rules using the following command. $ sudo salt-call state.sls security/KVM/auditKVM
- RMF Control
- MA-4
- Severity
- H
- CCI
- CCI-002890
- Version
- NXAC-OS-000176
- Vuln IDs
-
- V-279619
- Rule IDs
-
- SV-279619r1192185_rule
Checks: C-84172r1192183_chk
Confirm that the Nutanix OS OpenSSL library is configured to only use DOD-approved TLS encryption using the following command. $ sudo grep -i MinProtocol /etc/crypto-policies/back-ends/opensslcnf.config TLS.MinProtocol = TLSv1.2 DTLS.MinProtocol = DTLSv1.2 If the "TLS.MinProtocol" is set to anything older than "TLVSv1.2" or the "DTLS.Min.Protocol" is set to anything older than DTLSv1.2, this is a finding.
Fix: F-84077r1192184_fix
Configure the system to run in FIPS mode. 1. For AOS, configure FIPS mode using the following command. $ sudo salt-call state.sls security/CVM/fipsCVM 2. For Prism Central, configure FIPS mode using the following command. $ sudo salt-call state.sls security/PCVM/fipsPCVM 3. For Files, configure FIPS mode using the following command. $ sudo salt-call state.sls security/AFS/fipsAFS 4. For AHV, configure FIPS mode using the following command. $ sudo salt-call state.sls security/KVM/fipsKVM
- RMF Control
- MA-4
- Severity
- H
- CCI
- CCI-000877
- Version
- NXAC-OS-000184
- Vuln IDs
-
- V-279620
- Rule IDs
-
- SV-279620r1192503_rule
Checks: C-84173r1192502_chk
Verify Nutanix OS is configured to use only MACs employing FIPS 140-3-approved algorithms using the following command. $ sudo grep -i ciphers /etc/crypto-policies/back-ends/opensshserver.config CRYPTO_POLICY=Ciphers=aes256-ctr,aes192-ctr,aes128-ctr,aes256-gcm@openssh.com,aes128-gcm@openssh.com If the cipher entries in the "opensshserver.config" file have any hashes other than shown here, the order differs from the example above, or they are missing or commented out, this is a finding.
Fix: F-84078r1192333_fix
Configure SSH. 1. For AOS, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/CVM/sshdCVM $ sudo systemctl restart sshd 2. For Prism Central, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/PCVM/sshdPCVM $ sudo systemctl restart sshd 3. For Files, configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/AFS/sshdAFS $ sudo systemctl restart sshd 4. For AHV configure SSH, then restart the SSH for the changes to take effect. $ sudo salt-call state.sls security/KVM/sshdKVM $ sudo systemctl restart sshd
- RMF Control
- SC-28
- Severity
- H
- CCI
- CCI-001199
- Version
- NXAC-OS-000188
- Vuln IDs
-
- V-279621
- Rule IDs
-
- SV-279621r1192336_rule
Checks: C-84174r1192188_chk
1. For AOS, Prism Central, and Files, verify every persistent disk partition present is the type "crytpo_LUKS" using the following command. $ sudo blkid /dev/sdb4: UUID="990b15e8-64b1-4720-bc63-57d1ffdfef96" TYPE="crypto_LUKS" PARTLABEL="primary" PARTUUID="860391ab-f6dd-4315-915c-9bf3f5aec840" /dev/sdc1: UUID="a61e3060-a330-420f-be2e-dd25f4a4d5cc" TYPE="crypto_LUKS" PARTLABEL="primary" PARTUUID="c685393a-1bea-4831-9058-7baadc5f5bfb" /dev/sdd1: UUID="4a45d2a9-1022-4f12-b547-df565f21c10d" TYPE="crypto_LUKS" PARTLABEL="primary" PARTUUID="7ec91c7a-211d-43cf-8766-1f976d1a2ee6" /dev/sde1: UUID="7932a4d3-4e6b-44cc-a91b-2163e1a2ae08" TYPE="crypto_LUKS" PARTLABEL="primary" PARTUUID="eea7b909-f533-47cf-af9a-fbe6547f1a81" /dev/sdf1: UUID="fb191583-434d-4efe-af42-649b0a8d8d7e" TYPE="crypto_LUKS" PARTLABEL="primary" PARTUUID="8db3b9f9-db7e-4e23-b13a-813cdd9fcac5" /dev/md2: UUID="8f9f9b65-feeb-4008-8e6a-0fab3bc3b0cc" TYPE="crypto_LUKS" /dev/md1: UUID="c159835d-96de-4711-9090-4a2f3fa47b0c" TYPE="crypto_LUKS" /dev/md0: UUID="b3eaf528-eb28-4afd-b7c8-8e2d03fe4a5e" TYPE="crypto_LUKS" /dev/loop0: UUID="517f3cfa-1912-4ff0-94bb-c17d953947dc" BLOCK_SIZE="4096" TYPE="ext4" /dev/loop1: UUID="e2fb344c-991b-4f50-ac8c-76b7a369737f" BLOCK_SIZE="4096" TYPE="ext4" /dev/loop2: UUID="f9ca379d-74cb-49f4-9737-10852b04717d" BLOCK_SIZE="4096" TYPE="ext4" /dev/loop3: UUID="f9521269-ad69-4ac1-98c1-989d258bb996" BLOCK_SIZE="1024" TYPE="ext4" /dev/mapper/luks-b3eaf528-eb28-4afd-b7c8-8e2d03fe4a5e: UUID="90d4d623-919e-4d21-b4a3-66f10d23b76c" B 2. Verify that AHV is configured for data-at-rest encryption using LUKS Crypto modules using the following command. Note: A TPM hardware module is required on each AHV node. $ sudo blkid /dev/mapper/AHV-root: UUID="67b7d7fe-de60-6fd0-befb-e6748cf97743" TYPE="crypto_LUKS" Every persistent disk partition present must be of type "crypto_LUKS". If any partitions other than the boot partition or pseudo file systems (such as /proc or /sys) are not type "crypto_LUKS", ask the administrator to indicate how the partitions are encrypted. If partitions are not encrypted, this is a finding.
Fix: F-84079r1192335_fix
1. For AOS, Prism Central, and Files, file partition encryption is done during installation. During foundation, there is an installation option box to enable "crypto_LUKS", this must be ticked before proceeding with installation. If data-at-rest encryption is not enabled during installation, the system must be re-installed with the proper options selected. 2. For AHV, configure data-at-rest encryption on partitions using Luks Crypto modules. Enabling partition encryption must be done during imaging using Foundation VM. On the foundation VM in the imaging deployment screen, select tick the option, then enter the following command. enable_luks=true
- RMF Control
- Severity
- M
- CCI
- CCI-004910
- Version
- NXAC-OS-000191
- Vuln IDs
-
- V-279622
- Rule IDs
-
- SV-279622r1192573_rule
Checks: C-84175r1192504_chk
Verify that the Nutanix OS hardware consists of a hardware TPM module installed and loaded using the following command. $ sudo lsmod | grep -i tpm tpm 77824 1 trusted rng_core 16384 1 tpm If no lines are returned or if the TPM does not indicate "trusted", this is a finding.
Fix: F-84080r1192572_fix
Hardware TPM modules consist of a hardware chip that is built into the motherboard of the physical server. If no TPM module exists, then a new physical server is required. For AHV, if the TPM module exists but is not "trusted' then something has been modified within AHV and the system must be rebuilt from source to correct this issue.
- RMF Control
- SC-3
- Severity
- M
- CCI
- CCI-001084
- Version
- NXAC-OS-000192
- Vuln IDs
-
- V-279623
- Rule IDs
-
- SV-279623r1192507_rule
Checks: C-84176r1192506_chk
Nutanix OS is configured by default to run SELinux Policies. Verify Nutanix OS SELinux is set to Enforcing Mode using the following command. $ sudo getenforce Enforcing If "SELinux" is not active and not in "Enforcing" mode, this is a finding.
Fix: F-84081r1191832_fix
1. For AOS, Prism Central, and Files, note that the Nutanix OS is designed and engineered to have SELinux preinstalled and set as active. If the package is missing or not active and running, then some corruption has occurred and the OS must be rebuilt. 2. For AHV, verify correct operation of all security functions by setting the "SELinux" status and the "Enforcing" mode by modifying the "/etc/selinux/config" file to have the following line. A reboot is required for the changes to take effect. SELINUX=enforcing
- RMF Control
- SC-4
- Severity
- M
- CCI
- CCI-001090
- Version
- NXAC-OS-000194
- Vuln IDs
-
- V-279624
- Rule IDs
-
- SV-279624r1192609_rule
Checks: C-84177r1192194_chk
1. For AOS, Prism Central, and Files, verify Nutanix OS provides that all public directories are owned by root using the following command. $ sudo find / -type d \( -perm -0002 -a ! -perm -1000 \) -print 2>/dev/null drwxrwxrwxt 7 root root 4096 Jul 26 11:19 /tmp 2. Verify AHV is configured so all public directories are owned by root (or a system account) and all world-writable directories have the sticky bit set using the following command. $ sudo find / -type d -perm -0002 -exec ls -lLd {} \; drwxrwxrwt. 2 root root 40 Jun 4 15:21 /dev/mqueue drwxrwxrwt. 2 root root 40 Jun 4 15:21 /dev/shm drwxrwxrwt. 7 root root 4096 Jul 28 15:37 /tmp $ sudo find / -type d \( -perm -0002 -a ! -perm -1000 \) -print 2>/dev/null drwxrwxrwxt 7 root root 4096 Jul 26 11:19 /tmp If any of the public directories are not owned by root (or a system account) or are not world-writable and do not have the sticky bit set, this is a finding.
Fix: F-84082r1192608_fix
1. For AOS, Prism Central, and Files, note that the Nutanix OS is designed and engineered to have all world-writable directories set correctly with the sticky bit set. If the package is missing or not active and running, then some corruption has occurred and the OS must be rebuilt. 2. For AHV, configure all public directories to be owned by root or a system account to prevent unauthorized and unintended information transferred via shared system resources. Set the owner of all public directories as root or a system account by replacing "[Public Directory]" with any directory path not owned by root or a system account. Set the sticky bit on all world-writable directories by replacing "[World-Writable Directory]" with any directory path missing the sticky bit. Example command: $ sudo chown root [Public Directory] $ sudo chmod 1777 [World-Writable Directory]
- RMF Control
- SC-5
- Severity
- M
- CCI
- CCI-001095
- Version
- NXAC-OS-000198
- Vuln IDs
-
- V-279625
- Rule IDs
-
- SV-279625r1192338_rule
Checks: C-84178r1192196_chk
Verify Nutanix OS is configured to use syncookies. 1. For AOS, Prism Central, and Files, verify the saved value of TCP syncookies using the following command. $ sudo grep -i net.ipv4.tcp_syncookies /etc/sysctl.conf /etc/sysctl.d/* | grep -v '#' /etc/sysctl.d/99-salt.conf:net.ipv4.tcp_syncookies = 1 2. Verify AHV is configured to use syncookies using the following command. $ sysctl net.ipv4.tcp_syncookies net.ipv4.tcp_syncookies = 1 $ sudo grep -i net.ipv4.tcp_syncookies /etc/sysctl.conf /etc/sysctl.d/* | grep -v '#' If the value of syncookies is not set to "1", this is a finding.
Fix: F-84083r1192337_fix
Set the value of syncookies to 1. 1. For AOS, run the following command. $ sudo salt-call state.sls security/CVM/iptables/init 2. For Prism Central, run the following command. $ sudo salt-call state.sls security/PCVM/iptables/init 3. For Files, run the following command. $ sudo salt-call state.sls security/AFS/iptables/init 4. For AHV, configure Nutanix AHV to use TCP syncookies using the following command. $ sudo sysctl -w net.ipv4.tcp_syncookies=1 If "1" is not the system's default value, add or update the following line in "/etc/sysctl.conf": net.ipv4.tcp_syncookies = 1
- RMF Control
- SC-5
- Severity
- M
- CCI
- CCI-002385
- Version
- NXAC-OS-000199
- Vuln IDs
-
- V-279626
- Rule IDs
-
- SV-279626r1192509_rule
Checks: C-84179r1192508_chk
For AHV, this requirement is Not Applicable. Verify Nutanix OS protects against or limits the effects of DoS attacks by ensuring that a rate-limiting measures are enabled using the following command. $ /sbin/sysctl -a | grep 'net.ipv4.tcp_invalid_ratelimit' net.ipv4.tcp_invalid_ratelimit = 500 If "net.ipv4.tcp_invalid_ratelimit" has a value greater than "1000" or equal to "0", this is a finding.
Fix: F-84084r1192340_fix
Restrict using functions, ports, protocols, and/or services as defined in the Ports, Protocols, and Services Management (PPSM) Category Assurance List (CAL) and vulnerability assessments. 1. For AOS, use the following command. $ sudo salt-call state.sls security/CVM/iptables/init 2. For Prism Central, use the following command. $ sudo salt-call state.sls security/PVCM/iptables/init 3. For Files, use the following command. $ sudo salt-call state.sls security/AFS/iptables/init
- RMF Control
- SC-8
- Severity
- H
- CCI
- CCI-002418
- Version
- NXAC-OS-000201
- Vuln IDs
-
- V-279627
- Rule IDs
-
- SV-279627r1192610_rule
Checks: C-84180r1192510_chk
Note: This requirement is Not Applicable for systems that do not have physical wireless network radios. Verify Nutanix OS has no wireless interfaces configured on the system using the following command. $ sudo nmcli device status -bash: nmcli: command not found If a wireless interface is listed or if the nmcli has any output other than "command not found", this is a finding.
Fix: F-84085r1191844_fix
This is a default setting and is not supported to be changed in the field. If any wireless interfaces exist, then something has been modified and the system must be rebuilt from source to correct this issue.
- RMF Control
- SC-8
- Severity
- M
- CCI
- CCI-002420
- Version
- NXAC-OS-000203
- Vuln IDs
-
- V-279628
- Rule IDs
-
- SV-279628r1192513_rule
Checks: C-84181r1192512_chk
Verify Nutanix OS has SSH loaded and active using the following command. Note: The default Protocol version of the ssh daemon is 2, which provides the necessary mitigations to prevent replay attacks. $ sudo systemctl status sshd sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled) Active: active (running) since Tue 2015-11-17 15:17:22 EST; 4 weeks 0 days ago Main PID: 1348 (sshd) CGroup: /system.slice/sshd.service 1053 /usr/sbin/sshd -D If "sshd" does not show a status of "active" and "running", this is a finding. If the "SSH server" package is not installed, this is a finding.
Fix: F-84086r1192342_fix
However, Nutanix AOS has the OpenSSH-Server package preinstalled as part of its base package set. If the package is not installed, some corruption has taken place and the CVM must be rebuilt. Configure SSH to meet DOD standard, if already installed on the OS instance. 1. For AOS, configure SSH, then restart the SSH for the changes to take effect using the following command. $ sudo salt-call state.sls security/CVM/sshdCVM $ sudo systemctl restart sshd 2. For Prism Central, configure SSH, then restart the SSH for the changes to take effect using the following command. $ sudo salt-call state.sls security/PCVM/sshdPCVM $ sudo systemctl restart sshd 3. For Files, configure SSH, then restart the SSH for the changes to take effect using the following command. $ sudo salt-call state.sls security/AFS/sshdAFS $ sudo systemctl restart sshd 4. For AHV configure SSH, then restart the SSH for the changes to take effect using the following command. $ sudo salt-call state.sls security/KVM/sshdKVM $ sudo systemctl restart sshd
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- NXAC-OS-000207
- Vuln IDs
-
- V-279629
- Rule IDs
-
- SV-279629r1192207_rule
Checks: C-84182r1192206_chk
1. For AOS, Prism Central, and Files, verify the file permissions of /home/log/messages is greater than "600" and the ownership is "root" using the following command. $ sudo stat -c "%a %n" /home/log/messages 600 /home/log/messages $ sudo stat -c "%U" /home/log/messages root $ sudo stat -c "%G" /home/log/messages root 2. For AHV, remove accounts that do not support approved system activities. List all interactive user accounts using the following command. $ sudo awk -F: '$3 >= 1000 {print $1 " " $5}' /etc/passwd If accounts exist on the system that are unauthorized or if the message log is not restricted as required, this is a finding.
Fix: F-84087r1191850_fix
1. AOS, Prism Central, and Files OS VMs are configured by default to have ownership and permission levels set correctly to meet this requirement. If these are found to be out of compliance, some corruption has taken place and the OS must be rebuilt. 2. For AHV, remove accounts that do not support approved system activities.
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- NXAC-OS-000208
- Vuln IDs
-
- V-279630
- Rule IDs
-
- SV-279630r1192515_rule
Checks: C-84183r1192514_chk
Verify the /var/log directory access permissions are set to "755" or less and restricted to "root" using the following command. $ sudo stat -c "%a %n" /var/log 755 /var/log $ sudo stat -c "%U" /var/log root $ sudo stat -c "%G" /var/log root If group ownership of /home/log/messages is anything other than "root", this is a finding.
Fix: F-84088r1191853_fix
Nutanix OS VMs are configured by default to have ownership and permission levels set correctly to meet this requirement. If these are found to be out of compliance, some corruption has taken place and the OS must be rebuilt.
- RMF Control
- SI-16
- Severity
- M
- CCI
- CCI-002824
- Version
- NXAC-OS-000210
- Vuln IDs
-
- V-279631
- Rule IDs
-
- SV-279631r1192517_rule
Checks: C-84184r1192516_chk
Verify Nutanix OS is configured to implement nonexecutable data to protect its memory from unauthorized code execution using the following command. $ sudo grep flags /proc/cpuinfo | grep -w nx flags. : fpu vme de …. nx pdpe1gb rdtscp... If "flags" does not contain the "nx" flag, this is a finding.
Fix: F-84089r1191856_fix
1. Nutanix AOS, Prism Central, and Files OS VMs have the OpenSSH-Server package preinstalled as part of its base package set. If the package is not installed, some corruption has taken place and the CVM must be rebuilt. 2. For Nutanix AHV, if the system's BIOS setup configuration permits toggling the No Execution bit, then set "/proc/cpuinfo" to "enable".
- RMF Control
- SI-16
- Severity
- M
- CCI
- CCI-002824
- Version
- NXAC-OS-000211
- Vuln IDs
-
- V-279632
- Rule IDs
-
- SV-279632r1192612_rule
Checks: C-84185r1192518_chk
Verify Nutanix OS is configured to implement address space layout randomization using the following command. $ sudo sysctl kernel.randomize_va_space kernel.randomize_va_space = 2 If the value of "kernel.randomize_va_space" is anything other than "2", this is a finding.
Fix: F-84090r1192611_fix
Configure Nutanix AOS to implement address space layout randomization using the following command. $ sudo sysctl kernel.randomize_va_space=2
- RMF Control
- SI-2
- Severity
- M
- CCI
- CCI-002617
- Version
- NXAC-OS-000212
- Vuln IDs
-
- V-279633
- Rule IDs
-
- SV-279633r1192521_rule
Checks: C-84186r1192520_chk
Verify Nutanix OS removes all software components after updated versions have been installed using the following command. $ sudo grep -i clean_requirements_on_remove /etc/yum.conf clean_requirements_on_remove=1 If "clean_requirements_on_remove" is not set to "1", "True", or "yes", or is not set in "/etc/yum.conf", this is a finding.
Fix: F-84091r1192216_fix
Configure Yum settings to remove all software components after an updated version is installed. 1. Configure AOS Yum settings using the following command. $ sudo salt-call state.sls security/CVM/yumCVM 2. Configure Prism Central Yum settings using the following command. $ sudo salt-call state.sls security/PCVM/yumPCVM 3. Configure Files Yum settings using the following command. $ sudo salt-call state.sls security/AFS/yumAFS 4. Configure AHV Yum settings using the following command. $ sudo salt-call state.sls security/KVM/yumKVM
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001312
- Version
- NXAC-OS-000251
- Vuln IDs
-
- V-279667
- Rule IDs
-
- SV-279667r1192524_rule
Checks: C-84220r1192522_chk
For AOS, Prism Central, and Files, this requirement is Inherently Met. Confirm Nutanix AHV has all system log files under the "/var/log" directory with a permission of "600" using the following command. $ sudo find /var/log -perm /137 -type f -exec stat -c "%n %a" {} \; If command displays any output, this is a finding.
Fix: F-84125r1192523_fix
Configure Nutanix AHV to set permissions of all log files under the "/home/log" directory to "600" or more restricted using the following command. $ sudo find /var/log -perm /137 -type f -exec chmod 600 '{}' \;
- RMF Control
- SC-5
- Severity
- M
- CCI
- CCI-002385
- Version
- NXAC-OS-000272
- Vuln IDs
-
- V-279685
- Rule IDs
-
- SV-279685r1192527_rule
Checks: C-84238r1192525_chk
For AOS, Prism Central, and Files, this requirement is Not Applicable. Verify "firewalld" has "nftables" set as the default backend using the following command. $ sudo grep -i firewallbackend /etc/firewalld/firewalld.conf # FirewallBackend FirewallBackend=nftables If the "nftables" is not set as the "firewallbackend" default, this is a finding.
Fix: F-84143r1192526_fix
Configure Nutanix AHV firewall services using the following command. $ sudo salt-call state.sls security/KVM/iptablesKVM
- RMF Control
- Severity
- H
- CCI
- CCI-004062
- Version
- NXAC-OS-000273
- Vuln IDs
-
- V-279686
- Rule IDs
-
- SV-279686r1192615_rule
Checks: C-84239r1192614_chk
1. Verify Nutanix AHV is configured to store encrypted representation of passwords and that the encryption meets required standards using the following command. $ sudo grep password /etc/pam.d/system-auth /etc/pam.d/password-auth /etc/pam.d/system-auth-ac:password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok /etc/pam.d/password-auth:password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok Output should match the example; if it does not this is a finding. $ sudo grep -i encrypt /etc/login.defs ENCRYPT_METHOD SHA512 If the "/etc/login.defs" file does not contain the required output, this is a finding. 2. Run the command: $ sudo grep -i sha512 /etc/libuser.conf crypt_style = sha512 If the "/etc/libuser.conf" file does not contain the required output, this is a finding.
Fix: F-84144r1192529_fix
Configure the high-strength password requirements using the following command. $ ncli cluster edit-hypervisor-security-params enable-high-strength-password=true