AIX 5.3 SECURITY TECHNICAL IMPLEMENTATION GUIDE
Pick two releases to diff their requirements.
Open a previous version of this STIG.
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- GEN000020
- Vuln IDs
-
- V-756
- Rule IDs
-
- SV-27039r1_rule
Checks: C-27960r1_chk
Ensure the root account for any bootable partitions has a password assigned in the /etc/security/passwd file.
Fix: F-24305r1_fix
Assign a root account password for any bootable partition.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- GEN000280
- Vuln IDs
-
- V-760
- Rule IDs
-
- SV-38668r1_rule
Checks: C-36649r1_chk
Use the last command to check for multiple accesses to an account from different workstations/IP addresses. If users log directly onto accounts, rather than using the su command from their own named account to access them, this is a finding (such as logging directly on to Oracle). Also, ask the SA or the IAO if shared accounts are logged into directly or if users log on to an individual account and switch user to the shared account. # last <unix account> Shared or Application accounts can have direct login disabled by setting the rlogin parameter to false in the users stanza of the /etc/security/user file. #lsuser -a rlogin < user_id > If users log directly on to shared accounts, this is a finding.
Fix: F-31623r1_fix
Use the switch user (su) command from a named account login to access shared accounts. Maintain audit trails to identify the actual user of that account name. Document requirements and procedures for users/administrators to log into their own accounts first and then switch user (su) to the account that must be shared. Direct login to shared or application accounts can be prevented by setting the rlogin = false in the accounts stanza of the /etc/security/user file. Additional hardening of the shared/application accounts can be done with the sugroups = in the accounts stanza of the /etc/security/user file. #chuser rlogin=false < user id >
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000764
- Version
- GEN000300
- Vuln IDs
-
- V-761
- Rule IDs
-
- SV-27064r1_rule
Checks: C-27980r1_chk
Perform the following to ensure there are no duplicate account names: # usrck -n ALL If any duplicate account names are found, this is a finding.
Fix: F-24342r1_fix
Change user account names, or delete accounts, so each account has a unique name.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000764
- Version
- GEN000320
- Vuln IDs
-
- V-762
- Rule IDs
-
- SV-27067r1_rule
Checks: C-27984r1_chk
Perform the following to ensure there are no duplicate UIDs: # usrck -n ALL If any duplicate UIDs are found, this is a finding.
Fix: F-24344r1_fix
Edit user accounts to provide unique UIDs for each account.
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- GEN000400
- Vuln IDs
-
- V-763
- Rule IDs
-
- SV-38932r1_rule
Checks: C-28845r1_chk
Access the system console and make a logon attempt. Check for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding. "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. " OR "I've read & consent to terms in IS user agreem't."
Fix: F-31626r1_fix
Edit /etc/security/login.cfg and assign the herald value for the default and /dev/console stanzas to one of the DoD login banners (based on the character limitations imposed by the system). # chsec -f /etc/security/login.cfg -s default -a herald="<DoD Login Banner>" OR # vi /etc/security/login.cfg and add a herald = <DoD Login Banner> statement to the default stanza DoD Login Banners: "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. " OR "I've read & consent to terms in IS user agreem't."
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN000440
- Vuln IDs
-
- V-765
- Rule IDs
-
- SV-38935r1_rule
Checks: C-27996r1_chk
Determine if successful logons are being logged. # last | more Determine if unsuccessful logons are being logged. # last -f /etc/security/failedlogin | more If the commands do not return successful and unsuccessful logins, this is a finding.
Fix: F-31630r1_fix
Edit /etc/syslog.conf and add local log destinations for auth.* or both auth.notice and auth.info. "auth.info /var/log/authlog" Verify service startup scripts for syslog and utmp (if present) are enabled. # vi /etc/rc.tcpip Check the syslogd service is not commented out. Refresh syslogd. #refresh -s syslogd
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-000044
- Version
- GEN000460
- Vuln IDs
-
- V-766
- Rule IDs
-
- SV-38671r1_rule
Checks: C-36678r1_chk
# /usr/sbin/lsuser -a loginretries ALL | more Check all active accounts on the system for the maximum number of tries before the system will lock the account. If a user has values set to 0 or greater then 3, this is a finding.
Fix: F-31633r1_fix
Use the chsec command to configure the number of unsuccessful logins resulting in account lockout. # chsec -f /etc/security/user -s default -a loginretries=3 # chsec -f /etc/security/user -s <user id> -a loginretries=3
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-000043
- Version
- GEN000480
- Vuln IDs
-
- V-768
- Rule IDs
-
- SV-38839r1_rule
Checks: C-37832r1_chk
Check the logindelay parameter. # more /etc/security/login.cfg OR #grep logindelay /etc/security/login.cfg | grep -v \* Verify the value of the logindelay variable is 4 or more in each stanza. If the value of logindelay is not 4 or more, this is a finding.
Fix: F-33091r1_fix
Use vi or the chsec command to change the login delay time period. #chsec -f /etc/security/login.cfg -s default -a logindelay=4 OR # vi /etc/security/login.cfg Add logindelay = 4 to the default stanza.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000520
- Vuln IDs
-
- V-769
- Rule IDs
-
- SV-769r2_rule
Checks: C-229r2_chk
If there is an application running on the system continuously in use (such as a network monitoring application), ask the SA what the name of the application is. Execute the following to determine which user owns the process(es) associated with the application. If the owner is root, this is a finding. # ps -ef | more
Fix: F-923r2_fix
Configure the system so the owner of a session requiring a continuous screen display, such as a network management display, is not root. Ensure the display is also located in a secure, controlled access area. Document and justify this requirement. Ensure the terminal and keyboard for the display (or workstation) are secure from all but authorized personnel by maintaining them in a secure area, in a locked cabinet where a swipe card, or other positive forms of identification, must be used to gain entry.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN000560
- Vuln IDs
-
- V-770
- Rule IDs
-
- SV-27107r1_rule
Checks: C-28022r1_chk
Verify no accounts have blank passwords. # pwdck -n ALL If any account with a blank password is found, this is a finding.
Fix: F-33344r1_fix
Remove or configure a password for any account with a blank password. # passwd <user id> # smitty passwd To remove an account with a blank password. # smitty rmuser
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000880
- Vuln IDs
-
- V-773
- Rule IDs
-
- SV-773r2_rule
Checks: C-28053r1_chk
Check the system for duplicate UID 0 assignments by listing all accounts assigned UID 0. Procedure: # grep ":0:" /etc/passwd | awk -F":" '{print$1":"$3":"}' | grep ":0:" If any accounts other than root are assigned UID 0, this is a finding.
Fix: F-24403r1_fix
Remove or change the UID of accounts other than root that have UID 0.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN000900
- Vuln IDs
-
- V-774
- Rule IDs
-
- SV-38940r1_rule
Checks: C-28062r1_chk
Determine if root is assigned a home directory other than / by listing its home directory. Procedure: # grep "^root" /etc/passwd | awk -F":" '{print $6}' If the root user home directory is /, this is a finding.
Fix: F-32113r1_fix
The root home directory should be something other than / (such as /root). Procedure: # mkdir /root # chown root /root # chgrp sys /root # chmod 700 /root # cp -r /.??* /root/. Then, edit the passwd file and change the root home directory to /root. The cp -r /.??* command copies all files and subdirectories of file names that begin with "." into the new root directory, which preserves the previous root environment. Must be in the "/" directory when executing the "cp" command.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000920
- Vuln IDs
-
- V-775
- Rule IDs
-
- SV-38941r1_rule
Checks: C-28063r1_chk
Check the mode of the root home directory. Procedure: # grep "^root" /etc/passwd | awk -F":" '{print $6}' # ls -ld <root home directory> If the mode of the directory is not equal to 0700, this is a finding. If the home directory is /, this is not applicable.
Fix: F-32119r1_fix
The root home directory will have permissions of 0700. Do not change the protections of the / directory. Use the following command to change protections for the root home directory. # chmod 0700 /root.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000940
- Vuln IDs
-
- V-776
- Rule IDs
-
- SV-40085r1_rule
Checks: C-236r2_chk
To view the root user's PATH, log in as the root user, and execute the following. # env | grep PATH This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon or two consecutive colons, this is a finding. If an entry starts with a character other than a slash (/), this is a finding. If directories beyond those in the vendor's default root path are present, this is a finding.
Fix: F-34156r1_fix
Edit the root user's local initialization files. Change any found PATH variable settings to the vendor's default path for the root user. Remove any empty path entries or references to relative paths. # cd <root's home directory> # vi .profile .cshrc If the bash shell is installed, edit these additional files. # vi .bashrc .bash_profile
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000960
- Vuln IDs
-
- V-777
- Rule IDs
-
- SV-777r2_rule
Checks: C-28064r1_chk
Check for world-writable permissions on all directories in the root user's executable search path. Procedure: # ls -ld `echo $PATH | sed "s/:/ /g"` If any of the directories in the PATH variable are world-writable, this is a finding.
Fix: F-24415r1_fix
For each world-writable path in root's executable search path, perform one of the following. 1. Remove the world-writable permission on the directory. Procedure: # chmod o-w <path> 2. Remove the world-writable directory from the executable search path. Procedure: Identify and edit the initialization file referencing the world-writable directory and remove it from the PATH variable.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- GEN000980
- Vuln IDs
-
- V-778
- Rule IDs
-
- SV-38683r1_rule
Checks: C-36930r1_chk
Check the remote login ability of the root account. Procedure: # lsuser -a rlogin root If the rlogin value is not false, this is a finding.
Fix: F-32196r1_fix
The root account can be protected from non-console device logins by setting rlogin = false in the root: stanza of the /etc/security/user file. #chsec -f /etc/security/user -s root -a rlogin=false
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000360
- Vuln IDs
-
- V-780
- Rule IDs
-
- SV-39094r1_rule
Checks: C-280r2_chk
# more /etc/passwd Confirm all accounts with a GID of 99 and below (499 and below for Linux) are used by a system account. If a GID reserved for system accounts, 0 - 99 (0 - 499 for Linux), is used by a non-system account, this is a finding.
Fix: F-33336r1_fix
Change the primary group GID numbers for non-system accounts with reserved primary group GIDs (those less or equal to 99 in general, or 499 for Linux). # smitty chuser
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN000380
- Vuln IDs
-
- V-781
- Rule IDs
-
- SV-27071r1_rule
Checks: C-27988r1_chk
Perform the following to ensure there are no GIDs referenced in /etc/passwd not defined in /etc/group: # usrck -n ALL If GIDs referenced in /etc/passwd are not defined in /etc/group are returned, this is a finding.
Fix: F-33340r1_fix
Add a group to the system for each GID referenced without a corresponding group. # smitty mkgroup
- RMF Control
- SI-4
- Severity
- M
- CCI
- CCI-001259
- Version
- GEN006480
- Vuln IDs
-
- V-782
- Rule IDs
-
- SV-41526r2_rule
Checks: C-285r3_chk
Ask the SA or IAO if a host-based intrusion detection application is loaded on the system. Determine if the application is loaded on the system. Procedure: # find / -name <daemon name> -print Determine if the application is active on the system. Procedure: # ps -ef | grep <daemon name> If no host-based intrusion detection system is installed on the system, this is a finding.
Fix: F-936r3_fix
Install a host-based intrusion detection tool.
- RMF Control
- SI-2
- Severity
- M
- CCI
- CCI-001227
- Version
- GEN000120
- Vuln IDs
-
- V-783
- Rule IDs
-
- SV-27060r2_rule
Checks: C-36595r2_chk
Obtain the list of available security patches from IBM. Verify the available patches and service packs have been installed on the system. Check the currently running TL (Technology Levels and Service Packs). #oslevel -s Perform the following to obtain a list of installed patches. # /usr/sbin/instfix -i If there are security patches available and applicable for the system that have not been installed, this is a finding.
Fix: F-31604r1_fix
Use a web browser to access the vendor's support web site. Download the service packs and patches. Use SMIT to apply the updates. #smitty update_all
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001140
- Vuln IDs
-
- V-784
- Rule IDs
-
- SV-784r2_rule
Checks: C-289r2_chk
Check system directories for uneven file permissions. Procedure: # ls -lL /etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin Uneven file permissions exist if the file owner has less permissions than the group or other user classes. If any of the files in the above listed directories contain uneven file permissions, this is a finding.
Fix: F-24427r1_fix
Change the mode of files with uneven permissions so owners do not have less permission than group or world users.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001160
- Vuln IDs
-
- V-785
- Rule IDs
-
- SV-38942r1_rule
Checks: C-290r2_chk
Check the system for files with no assigned owner. Procedure: # find / -nouser -print If any files have no assigned owner, this is a finding.
Fix: F-32206r1_fix
All directories and files (executable and data) will have an identifiable owner and group name. Either trace files to an authorized user, change the file's owner to root, or delete them. Determine the legitimate owner of the files and use the chown command to set the owner and group to the correct value. If the legitimate owner cannot be determined, change the owner to root (but make sure none of the changed files remain executable because they could be Trojan horses or other malicious code). Examine the files to determine their origin and the reason for their lack of an owner/group. #chown <a-valid-user> <directory>/<file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001180
- Vuln IDs
-
- V-786
- Rule IDs
-
- SV-38774r1_rule
Checks: C-36945r1_chk
Check the mode of network services daemons. # ls -la /usr/sbin /usr/bin If the mode of a network services daemon is more permissive than 0755, this is a finding. NOTE: Network daemons that may not reside in these directories (such as httpd or sshd) must also be checked for the correct permissions.
Fix: F-940r2_fix
Change the mode of the network services daemon. # chmod 0755 <path>
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- GEN001260
- Vuln IDs
-
- V-787
- Rule IDs
-
- SV-787r2_rule
Checks: C-292r2_chk
Check the mode of log files. Procedure: # ls -lL /var/log /var/log/syslog /var/adm If any of the log files have modes more permissive than 0640, this is a finding.
Fix: F-941r2_fix
Change the mode of the system log file(s) to 0640 or less permissive. Procedure: # chmod 0640 /path/to/system-log-file NOTE: Do not confuse system log files with audit logs. Any subsystems that require less stringent permissions must be documented.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001800
- Vuln IDs
-
- V-788
- Rule IDs
-
- SV-38735r1_rule
Checks: C-37165r1_chk
Check skeleton files permissions. Procedure: # ls -l /etc/security/.profile If a skeleton file has a mode more permissive than 0644, this is a finding. Check the mkuser.sys file. The /etc/security/mkuser.sys is a script containing items used in creation of users' ~/.profile files. This script needs to be both protected from unauthorized modification, but also needs to be executable, therefore the permissions need to be at the mode of 755. #ls -l /etc/security/mkuser.sys If the mkuser.sys file has a mode more permissive than 0755, this is a finding.
Fix: F-32450r1_fix
Change the mode of skeleton files with incorrect mode. # chmod 0644 /etc/security/.profile #chmod 0755 /etc/security/mkuser.sys
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001320
- Vuln IDs
-
- V-789
- Rule IDs
-
- SV-38775r1_rule
Checks: C-36963r1_chk
Perform the following to check NIS file ownership. # ls -lRa /var/nis /var/yp /usr/lib/nis /usr/lib/netsvc/yp If the file ownership is not root, sys, or bin, this is a finding.
Fix: F-35060r1_fix
Change the owner of the NIS files to root, sys, or bin. Procedure (example): # chown root < directory>/< file >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001340
- Vuln IDs
-
- V-790
- Rule IDs
-
- SV-38776r1_rule
Checks: C-36964r1_chk
Check the group ownership of the NIS files. Procedure: # ls -lRa /var/nis /var/yp /usr/lib/nis /usr/lib/netsvc/yp If the file group owner is not sys, bin, or system, this is a finding.
Fix: F-33349r1_fix
Change the group owner of the NIS files to sys, bin, system, or other. Procedure: # chgrp system < directory>/< file >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001360
- Vuln IDs
-
- V-791
- Rule IDs
-
- SV-38781r1_rule
Checks: C-37004r1_chk
Perform the following to check NIS file mode # ls -lRa /var/nis /var/yp /usr/lib/nis /usr/lib/netsvc/yp If the file's mode is more permissive than 0755, this is a finding.
Fix: F-945r2_fix
Change the mode of NIS/NIS+/yp files to 0755 or less permissive. Procedure (example): # chmod 0755 <filename>
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001280
- Vuln IDs
-
- V-792
- Rule IDs
-
- SV-792r2_rule
Checks: C-295r2_chk
Check the mode of the manual page files. Procedure: # ls -lLR /usr/share/man /usr/share/info /usr/share/infopage If any of the manual page files have a mode more permissive than 0644, this is a finding.
Fix: F-946r2_fix
Change the mode of manual page files to 0644 or less permissive. Procedure (example): # chmod 0644 <path>/<manpage>
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001300
- Vuln IDs
-
- V-793
- Rule IDs
-
- SV-38943r1_rule
Checks: C-296r2_chk
Check the mode of library files. Procedure: # ls -lLR /usr/lib /lib If any of the library files have a mode more permissive than 0755, this is a finding.
Fix: F-32227r1_fix
Change the mode of library files to 0755 or less permissive. Procedure (example): # chmod 0755 <path>/<library-file> NOTE: Library files should have an extension of .a or .so (a=archive, so=shared object) extension, possibly followed by a version.
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001200
- Vuln IDs
-
- V-794
- Rule IDs
-
- SV-794r3_rule
Checks: C-298r4_chk
Check the permissions for files in /etc, /bin, /usr/bin, /usr/lbin, /usr/ucb, /sbin, and /usr/sbin. Procedure: # ls -lL /etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin If any command file is listed and has a mode more permissive than 0755, this is a finding. NOTE: Elevate to Severity Code I if any command file listed is world-writable.
Fix: F-948r2_fix
Change the mode for system command files to 0755 or less permissive. Procedure: # chmod 0755 <filename>
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001220
- Vuln IDs
-
- V-795
- Rule IDs
-
- SV-40783r1_rule
Checks: C-39522r1_chk
Check the ownership of system files, programs, and directories. Procedure: # ls -lLa /etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin If any of the system files, programs, or directories are not owned by a system account, this is a finding. For this check, the system-provided "ipsec" user is considered to be a system account.
Fix: F-949r2_fix
Change the owner of system files, programs, and directories to a system account. Procedure: # chown root /some/system/file (A different system user may be used in place of root.)
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001240
- Vuln IDs
-
- V-796
- Rule IDs
-
- SV-39098r1_rule
Checks: C-39523r1_chk
Check the group ownership of system files, programs, and directories. Procedure: # ls -lLa /etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin If any system file, program, or directory is not group-owned by a system group, this is a finding. For this check, the system-provided "ipsec" group is also acceptable.
Fix: F-33348r1_fix
Change the group owner of system files to a system group. Procedure: # chgrp sys /path/to/system/file (System groups other than sys may be used.)
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001400
- Vuln IDs
-
- V-797
- Rule IDs
-
- SV-38944r1_rule
Checks: C-28148r1_chk
Check the ownership of the /etc/security/passwd file. Procedure: # ls -lL /etc/security/passwd If the owner of this file is not root, this is a finding.
Fix: F-32285r1_fix
Change the ownership of the /etc/security/passwd file. # chown root /etc/security/passwd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001380
- Vuln IDs
-
- V-798
- Rule IDs
-
- SV-798r2_rule
Checks: C-8016r2_chk
Check the mode of the /etc/passwd file. Procedure: # ls -lL /etc/passwd If /etc/passwd has a mode more permissive than 0644, this is a finding.
Fix: F-952r2_fix
Change the mode of the passwd file to 0644. Procedure: # chmod 0644 /etc/passwd Document all changes.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001420
- Vuln IDs
-
- V-800
- Rule IDs
-
- SV-38728r1_rule
Checks: C-37036r1_chk
Check the mode of the /etc/security/passwd file. Procedure: # ls -lL /etc/security/passwd If the mode of this file is more permissive than 0400, this is a finding.
Fix: F-32304r2_fix
Change the mode of the /etc/security/passwd file. # chmod 0400 /etc/security/passwd
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000368
- Version
- GEN002380
- Vuln IDs
-
- V-801
- Rule IDs
-
- SV-801r2_rule
Checks: C-527r2_chk
Files with the setuid bit set will allow anyone running these files to be temporarily assigned the user or group ID of the file. If an executable with setuid allows shell escapes, the user can operate on the system with the effective permission rights of the user or group owner. List all setuid files on the system. Procedure: # find / -perm -4000 -exec ls -l {} \; | more NOTE: Executing these commands may result in large listings of files; the output may be redirected to a file for easier analysis. Ask the SA or IAO if files with the setuid bit set have been documented. If any undocumented file has its setuid bit set, this is a finding.
Fix: F-955r2_fix
Document the files with the setuid bit set or unset the setuid bit on the executable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000368
- Version
- GEN002440
- Vuln IDs
-
- V-802
- Rule IDs
-
- SV-38945r1_rule
Checks: C-8026r2_chk
Locate all setgid files on the system. Procedure: # find / -perm -2000 If the ownership, permissions, location, and ACLs of all files with the setgid bit set are not documented, this is a finding.
Fix: F-32464r1_fix
All files with the sgid bit set will be documented in the system baseline and authorized by the Information Systems Security Officer. Locate all sgid files with the following command: #find / -perm -2000 -exec ls -lL {} \; # find / -perm -2000 -exec aclget {} \; Ensure sgid files are part of the operating system software, documented application software, documented utility software, or documented locally developed software. Ensure none are text files or shell programs.
- RMF Control
- CM-3
- Severity
- M
- CCI
- CCI-000318
- Version
- GEN002400
- Vuln IDs
-
- V-803
- Rule IDs
-
- SV-803r2_rule
Checks: C-528r2_chk
Determine if a weekly automated or manual process is used to generate a list of setuid files on the system and compare it with the prior list. If no such process is in place, this is a finding.
Fix: F-957r2_fix
Establish a weekly automated or manual process to generate a list of setuid files on the system and compare it with the prior list. To create a list of setuid files use the following command. # find / -perm -4000 > setuid-file-list
- RMF Control
- CM-3
- Severity
- M
- CCI
- CCI-000318
- Version
- GEN002460
- Vuln IDs
-
- V-804
- Rule IDs
-
- SV-804r2_rule
Checks: C-8027r2_chk
Determine if a weekly automated or manual process is used to generate a list of setgid files on the system and compare it with the prior list. If no such process is in place, this is a finding.
Fix: F-958r2_fix
Establish a weekly automated or manual process to generate a list of setgid files on the system and compare it with the prior list. To create a list of setgid files use the following command. # find / -perm -2000 > setgid-file-list
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002420
- Vuln IDs
-
- V-805
- Rule IDs
-
- SV-38746r1_rule
Checks: C-37185r1_chk
Check /etc/filesystems and verify the nosuid mount option is used on file systems mounted from removable media, network shares, or any other file system not containing approved setuid or setgid files. Each file system stanza must contain a device special file and may additionally contain all of the following fields type = , options = , and check = . # more /etc/filesystems # lsfs If any of these files systems do not mount with the nosuid option, it is a finding.
Fix: F-32462r1_fix
Edit /etc/filesystems and add the options = nosuid to the stanza of file system mounted from removable media or network shares, and any file system not containing approved setuid or setgid files. OR Add the nosuid option with the chfs command. # chfs -a options=nosuid <filesystem>
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN002500
- Vuln IDs
-
- V-806
- Rule IDs
-
- SV-806r2_rule
Checks: C-30901r1_chk
Verify all world-writable directories have the sticky bit set. Procedure: # find / -type d -perm -002 ! -perm -1000 > wwlist If the sticky bit is not set on a world-writable directory, this is a finding.
Fix: F-960r2_fix
Set the sticky bit on all public directories. Procedure: # chmod 1777 /tmp (Replace /tmp with the public directory missing the sticky bit, if necessary.)
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002520
- Vuln IDs
-
- V-807
- Rule IDs
-
- SV-807r2_rule
Checks: C-8028r2_chk
Check the ownership of all public directories. Procedure: # find / -type d -perm -1002 -exec ls -ld {} \; If any public directory is not owned by root or an application user, this is a finding.
Fix: F-961r2_fix
Change the owner of public directories to root or an application account. Procedure: # chown root /tmp (Replace root with an application user and/or /tmp with another public directory as necessary.)
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002560
- Vuln IDs
-
- V-808
- Rule IDs
-
- SV-39501r1_rule
Checks: C-550r2_chk
Check global initialization files for the configured umask value. Procedure: # grep umask /etc/* Check local initialization files for the configured umask value. Procedure: # grep umask /userhomedirectory/.* If the system and user default umask is not 077, this is a finding. NOTE: If the default umask is 000 or allows for the creation of world-writable files, this becomes a Severity Code I (CAT I) finding.
Fix: F-962r2_fix
Edit local and global initialization files that contain "umask" and change them to use 077 instead of the current value.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000178
- Version
- GEN002640
- Vuln IDs
-
- V-810
- Rule IDs
-
- SV-38897r1_rule
Checks: C-37188r1_chk
Determine if default system accounts (such as those for guest, sys, bin, uucp, nuucp, daemon, smtp, and lpd) have been disabled. Procedure: # lsuser -a account_locked ALL If there are any unlocked default system accounts, this is a finding.
Fix: F-24500r1_fix
Lock the default system account(s). # chuser account_locked=true <user>
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- GEN002660
- Vuln IDs
-
- V-811
- Rule IDs
-
- SV-38946r1_rule
Checks: C-28347r1_chk
Determine if auditing is enabled. # /usr/sbin/audit query | head -1 If the response Auditing On is not returned, this is a finding.
Fix: F-32465r1_fix
Use SMIT or command line to enable auditing on the system. #audit start Additionally, make sure auditing subsystem starts on system startup. #mkitab -i cron "audit:2:once:/usr/sbin/audit start 2>&1 > /dev/console"
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- GEN002680
- Vuln IDs
-
- V-812
- Rule IDs
-
- SV-38900r1_rule
Checks: C-37189r1_chk
Perform the following to determine the location of audit logs and then check the ownership. Procedure: # grep -p bin: /etc/security/audit/config Directories to search will be listed under the bin stanza. # ls -la <audit directories> If any audit log file is not owned by root, this is a finding.
Fix: F-966r2_fix
Change the ownership of the audit log file(s). Procedure: # chown root <audit log file>
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000163
- Version
- GEN002700
- Vuln IDs
-
- V-813
- Rule IDs
-
- SV-38904r1_rule
Checks: C-37247r1_chk
Perform the following to determine the location of audit logs and then check the mode of the files. Procedure: # grep -p bin: /etc/security/audit/config Directories to search will be listed under the bin stanza. # ls -la <audit directories> If any audit log file has a mode more permissive than 0640, this is a finding.
Fix: F-967r2_fix
Change the mode of the audit log directories/files. # chmod 0750 <audit directory> # chmod 0640 <audit file>
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002720
- Vuln IDs
-
- V-814
- Rule IDs
-
- SV-38850r1_rule
Checks: C-37842r1_chk
Check the system audit configuration to determine if failed attempts to access files and programs are audited. Check system activities (events) to audit are listed in the /etc/security/audit/events file. Procedure: # more /etc/security/audit/events If the FILE_Open event is not configured, this is a finding. Check the FILE_Open audit event is defined in the audit classes' stanza classes: of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config Make note of the audit class(es) that the FILE_Open event is associated with. If the FILE_Open event is not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config If the class(es) the FILE_Open event is(/are) not associated with the default user and all the system users in the users: stanza, this is a finding. Supplementary Information: Successful setup of AIX auditing requires several files and stanza's to be correctly configured. 1. The /etc/security/audit/events must have the system call defined. 2. The /etc/security/audit/config has 2 stanzas that need to be configured a. "classes:" stanza. Each entry in this stanza defines two things. The first is the name of a class to group the events to be audited on. The class is linked to users of the system for auditing. The second is the event(s) to be audited in this class: stanza. Example: classes: DISA_CLASS = FILE_Open, File_Unlink, FS_Rmdir b. "users:" stanza. There are two options of specifying what users audit on. The first is to explicitly spell out user names. EXAMPLE: users: root = DISA_CLASS The second is to specify a default catching all users not listed elsewhere in the users: stanza EXAMPLE users: root = DISA_CLASS default = DISA_CLASS 3. An approach to setup auditing to meet STIG requirements would be to create class stanza with all audit events that are required. The users: stanza would then be populated with the root user, any other user ids with special requirements and finally a default user. 4. The /usr/lib/security/mkuser.default file can have under the users: stanza an entry auditclasses = class(es) of events to be audited for each new user added to the system.
Fix: F-33105r1_fix
Edit /etc/security/audit/events and add the FILE_Open event to the list of audited events. Edit /etc/security/audit/config and add the FILE_Open audit event to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes that have the FILE_Open event to the users listed in the users: stanza.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002740
- Vuln IDs
-
- V-815
- Rule IDs
-
- SV-27294r1_rule
Checks: C-37843r1_chk
Check the system audit configuration to determine if failed attempts to access files and programs are audited. # more /etc/security/audit/events If auditing of the FILE_Unlink or FS_Rmdir events is not configured, this is a finding. If no results are returned, this is a finding. Check the FILE_Unlink and FS_Rmdir audit event(s) are defined in the audit classes' stanza classes: of the /etc/security/audit/config file. #more /etc/security/audit/config Make note of the audit class(es) that the File_Unlink and FS_Rmdir events are associated with. If the FILE_Unlink and FS_Rmdir events are not associated with any audit classes in the classes: stanza this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. #more /etc/security/audit/config If the class(es) that the FILE_Unlink and FS_Rmdir events are not associated with the default user and all the system users in the users: stanza, this is a finding.
Fix: F-33106r1_fix
Edit /etc/security/audit/events and add the FILE_Unlink or FS_Rmdir events to the list of audited events. Edit /etc/security/audit/config and add the FILE_Unlink and FS_Rmdir audit events to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes containing the FILE_Unlink and FS_Rmdir events to the all users listed in the users: stanza.
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-000347
- Version
- GEN002760
- Vuln IDs
-
- V-816
- Rule IDs
-
- SV-40138r1_rule
Checks: C-28415r1_chk
Check the auditing configuration of the system. # more /etc/security/audit/events Verify the following events are configured. ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv If any of these events are missing from the configuration, this is a finding. Check the ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv audit events are defined in the audit classes' stanza 'classes:' of the /etc/security/audit/config file. #more /etc/security/audit/config Make note of the audit class(es) that the ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv events are associated with. If the ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv events are not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. #more /etc/security/audit/config If the class(es) that the ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime,PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIds, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv events are not associated with the default user and all the system users in the 'users:' stanza, this is a finding.
Fix: F-24542r1_fix
Edit /etc/security/audit/events and add the following events to the list of audited events: ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv. Edit /etc/security/audit/config and add the ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv audit events to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes with the ACCT_Disable, ACCT_Enable, AUD_it, BACKUP_Export, DEV_Change, DEV_Configure, DEV_Create, FILE_Chpriv, FILE_Fchpriv, FILE_Mknod, FILE_Owner, FS_Chroot, FS_Mount, FS_Umount, PASSWORD_Check, PROC_Adjtime, PROC_Kill, PROC_Privilege, PROC_Setpgid, PROC_SetUserIDs, RESTORE_Import, TCBCK_Delete, USER_Change, USER_Create, USER_Reboot, USER_Remove, and USER_SetEnv events to the all users listed in the users: stanza.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002800
- Vuln IDs
-
- V-818
- Rule IDs
-
- SV-38856r1_rule
Checks: C-37848r1_chk
Check the system's audit configuration. # more /etc/security/audit/events Confirm the following events are configured: USER_Login, USER_Logout, INIT_Start, INIT_End and USER_SU. If any of these events are not present, this is a finding. Check the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU audit events are defined in the audit classes' stanza 'classes:' of the /etc/security/audit/config file. #more /etc/security/audit/config Make note of the audit class(es) the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU events are associated with. If the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU events are not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. #more /etc/security/audit/config If the class(es) the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU events are not associated with the default user and all the system users in the users: stanza, this is a finding.
Fix: F-33111r1_fix
Edit /etc/security/audit/events and add the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU events to the list of audited events. Edit /etc/security/audit/config and add the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU audit events to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes with the USER_Login, USER_Logout, INIT_Start, INIT_End, and USER_SU events to the all users listed in the users: stanza.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820
- Vuln IDs
-
- V-819
- Rule IDs
-
- SV-38857r1_rule
Checks: C-37849r1_chk
Check the system's audit configuration. # more /etc/security/audit/events Confirm the following events are configured: FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner. If any of these events are not configured, this is a finding. Check the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner audit events are defined in the audit classes' stanza classes: of the /etc/security/audit/config file. #more /etc/security/audit/config Make note of the audit class(es) the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner events are associated with. If the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner events are not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. If the class(es) the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner events are not associated with the default user and all the system users in the users: stanza, this is a finding.
Fix: F-33112r1_fix
Edit /etc/security/audit/events and add the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner events to the list of audited events. Edit /etc/security/audit/config and add the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner audit events to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes with the FILE_Acl, FILE_Fchmod, FILE_Fchown, FILE_Mode, and FILE_Owner events to the all users listed in the users: stanza.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003720
- Vuln IDs
-
- V-821
- Rule IDs
-
- SV-821r2_rule
Checks: C-567r2_chk
Check the ownership of inetd.conf file. Procedure: # ls -lL /etc/inetd.conf This is a finding if any of the above files or directories are not owned by root or bin.
Fix: F-975r2_fix
Change the ownership of the inetd.conf file to root or bin. Procedure: # chown root /etc/inetd.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003740
- Vuln IDs
-
- V-822
- Rule IDs
-
- SV-822r2_rule
Checks: C-8029r2_chk
Check the mode of inetd.conf file. # ls -lL /etc/inetd.conf If the mode of the file(s) is more permissive than 0440, this is a finding.
Fix: F-976r2_fix
Change the mode of the inetd.conf file. # chmod 0440 /etc/inetd.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003760
- Vuln IDs
-
- V-823
- Rule IDs
-
- SV-823r2_rule
Checks: C-28612r1_chk
Check the ownership of the services file. Procedure: # ls -lL /etc/services If the services file is not owned by root or bin, this is a finding.
Fix: F-977r2_fix
Change the ownership of the services file to root or bin. Procedure: # chown root /etc/services
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003780
- Vuln IDs
-
- V-824
- Rule IDs
-
- SV-824r2_rule
Checks: C-8030r2_chk
Check the mode of the services file. Procedure: # ls -lL /etc/services If the services file has a mode more permissive than 0444, this is a finding.
Fix: F-978r2_fix
Change the mode of the services file to 0444 or less permissive. Procedure: # chmod 0444 /etc/services
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN001780
- Vuln IDs
-
- V-825
- Rule IDs
-
- SV-38893r1_rule
Checks: C-37164r1_chk
Check global initialization files for the presence of mesg -n or mesg n. Procedure: # grep "mesg" /etc/.login /etc/profile /etc/bashrc /etc/environment /etc/security/environ /etc/security/.profile /etc/csh.login /etc/csh.cshrc If no global initialization files contain mesg -n or mesg n, this is a finding.
Fix: F-979r2_fix
Edit /etc/profile or another global initialization script and add the mesg -n command.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN003900
- Vuln IDs
-
- V-827
- Rule IDs
-
- SV-38883r1_rule
Checks: C-37885r1_chk
Look for the presence of a print service configuration file. Procedure: # find /etc -name hosts.lpd -print # find /etc -name Systems -print # find /etc -name printers.conf If none of the files are found, this check should be marked not applicable. Otherwise, examine the configuration file. Procedure: # more <print service file> Check for entries containing a "+" character by itself on any line. If any are found, this is a finding.
Fix: F-33132r1_fix
Remove the "+" entries from the hosts.lpd (or equivalent) file.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003920
- Vuln IDs
-
- V-828
- Rule IDs
-
- SV-828r2_rule
Checks: C-612r2_chk
Locate any print service configuration file on the system. Consult vendor documentation to verify the names and locations of print service configuration files on the system. Procedure: # find /etc -name hosts.lpd -print # find /etc -name Systems -print If no print service configuration file is found, this is not applicable. Check the ownership of the print service configuration file(s). Procedure: # ls -lL <print service file> If the owner of the file is not root, sys, bin, or lp, this is a finding.
Fix: F-982r2_fix
Change the owner of the /etc/hosts.lpd file (or equivalent, such as /etc/lp/Systems) to root, lp, or another privileged UID. Consult vendor documentation to determine the name and location of print service configuration files. Procedure: # chown root /etc/hosts.lpd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003940
- Vuln IDs
-
- V-829
- Rule IDs
-
- SV-829r2_rule
Checks: C-8031r2_chk
Locate any print service configuration file on the system. Consult vendor documentation for the name and location of print service configuration files. Procedure: # find /etc -name hosts.lpd -print # find /etc -name Systems -print If no print service configuration file is found, this is not applicable. Check the mode of the print service configuration file. Procedure: # ls -lL <print service file> If the mode of the print service configuration file is more permissive than 0644, this is a finding.
Fix: F-983r2_fix
Change the mode of the /etc/hosts.lpd file (or equivalent, such as /etc/lp/Systems) to 0644 or less permissive. Consult vendor documentation for the name and location of print service configuration files. Procedure: # chmod 0644 /etc/hosts.lpd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004360
- Vuln IDs
-
- V-831
- Rule IDs
-
- SV-40836r1_rule
Checks: C-39548r1_chk
Check the ownership of the alias file. Procedure: # ls -lL /etc/mail/aliases If the file is not owned by root, this is a finding.
Fix: F-985r2_fix
Change the owner of the /etc/mail/aliases file (or equivalent, such as /usr/lib/aliases) to root. Procedure: # chown root /etc/mail/aliases
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004380
- Vuln IDs
-
- V-832
- Rule IDs
-
- SV-40684r1_rule
Checks: C-39414r1_chk
Check the mode of the alias file. Procedure: # ls -lL /etc/mail/aliases If the alias file has a mode more permissive than 0644, this is a finding.
Fix: F-34539r1_fix
Change the mode of the /etc/mail/aliases file. Procedure: # chmod 0644 /etc/mail/aliases
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN004400
- Vuln IDs
-
- V-833
- Rule IDs
-
- SV-39506r1_rule
Checks: C-615r2_chk
Find the aliases file on the system. Procedure: # find / -name aliases -depth -print # more < aliases file location > Examine the aliases file for any directories or paths that may be utilized. Procedure: # ls -lL < path > Check if the file or parent directory is owned by root. If not, this is a finding.
Fix: F-987r2_fix
Edit the /etc/mail/aliases file (alternatively, /usr/lib/sendmail.cf). Locate the entries executing a program. They will appear similar to the following line. Aliasname: : /usr/local/bin/ls (or some other program name) Ensure root owns the programs and the directory(ies) they reside in by using the chown command to change owner to root. Procedure: # chown root filename
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004420
- Vuln IDs
-
- V-834
- Rule IDs
-
- SV-834r2_rule
Checks: C-8033r2_chk
Find the aliases file on the system. Procedure: # find / -name aliases -depth -print Examine the aliases file for any directories or paths that may be utilized. Procedure: # more <aliases file location> Check the permissions for any paths referenced. Procedure: # ls -lL <path> If any file referenced from the aliases file has a mode more permissive than 0755, this is a finding.
Fix: F-988r2_fix
Use the chmod command to change the access permissions for files executed from the alias file. For example: # chmod 0755 < filename >
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004440
- Vuln IDs
-
- V-835
- Rule IDs
-
- SV-38916r1_rule
Checks: C-616r2_chk
Check if Sendmail logging is set to level 9. Procedure: # grep "O L" /etc/mail/sendmail.cf OR # grep LogLevel /etc/mail/sendmail.cf If logging is set to less than 9, this is a finding.
Fix: F-989r2_fix
Edit the sendmail.conf file, locate the "O L" or LogLevel entry and change it to 9.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN004460
- Vuln IDs
-
- V-836
- Rule IDs
-
- SV-39155r1_rule
Checks: C-38139r1_chk
Check the syslog configuration file for mail.crit logging configuration. The syslog.conf file critical mail logging option line will typically appear as one of the following examples: mail.crit /var/log/syslog *.crit /var/log/syslog mail.* /var/log/syslog Procedure: # more /etc/syslog.conf If syslog is not configured to log critical Sendmail messages, this is a finding.
Fix: F-33411r1_fix
Edit the syslog.conf file and add a configuration line specifying an appropriate destination for mail.crit syslogs.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004480
- Vuln IDs
-
- V-837
- Rule IDs
-
- SV-837r2_rule
Checks: C-8034r2_chk
Locate any mail log files by checking the syslog configuration file. Procedure: # more /etc/syslog.conf Identify any log files configured for the mail service at any severity level, or those configured for all services. Check the ownership of these log files. Procedure: # ls -lL <file location> If any mail log file is not owned by root, this is a finding.
Fix: F-991r2_fix
Change the ownership of the Sendmail log file. # chown root <sendmail log file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004500
- Vuln IDs
-
- V-838
- Rule IDs
-
- SV-838r2_rule
Checks: C-8035r2_chk
Check the mode of the SMTP service log file. Procedure: # more /etc/syslog.conf Check the configuration to determine which log files contain logs for mail.crit, mail.debug, or *.crit. Procedure: # ls -lL <file location> If the log file permissions are greater than 0644, this is a finding.
Fix: F-992r2_fix
Change the mode of the SMTP service log file. Procedure: # chmod 0644 <sendmail log file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004880
- Vuln IDs
-
- V-840
- Rule IDs
-
- SV-28403r1_rule
Checks: C-28645r1_chk
Check for the existence of the ftpusers file. # ls -l /etc/ftpusers If the ftpusers file does not exist, this is a finding.
Fix: F-25674r1_fix
Create a /etc/ftpusers file containing a list of accounts not authorized for FTP.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004900
- Vuln IDs
-
- V-841
- Rule IDs
-
- SV-28406r1_rule
Checks: C-28656r1_chk
Check the contents of the ftpusers file. If the system has accounts not allowed to use FTP and are not listed in the ftpusers file, this is a finding. # more /etc/ftpusers
Fix: F-25682r1_fix
Add accounts not allowed to use FTP to the /etc/ftpusers file.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004920
- Vuln IDs
-
- V-842
- Rule IDs
-
- SV-28409r1_rule
Checks: C-28664r1_chk
Check the ownership of the ftpusers file. # ls -l /etc/ftpusers If the ftpusers file is not owned by root, this is a finding.
Fix: F-25694r1_fix
Change the owner of the ftpusers file to root. # chown root /etc/ftpusers
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004940
- Vuln IDs
-
- V-843
- Rule IDs
-
- SV-28412r1_rule
Checks: C-28668r1_chk
Check the permissions of the ftpusers file. # ls -l /etc/ftpusers If the ftpusers file has a mode more permissive than 0640, this is a finding.
Fix: F-25697r1_fix
Change the mode of the ftpusers file to 0640. # chmod 0640 /etc/ftpusers
- RMF Control
- AU-3
- Severity
- L
- CCI
- CCI-000130
- Version
- GEN004980
- Vuln IDs
-
- V-845
- Rule IDs
-
- SV-38991r1_rule
Checks: C-37953r1_chk
Perform: # grep ftpd /etc/inetd.conf, Check the line for ftpd to check if the -l argument. If the ftpd is invoked without the -l argument, this is a finding. Check the /etc/syslog.conf file for daemon.info or *.info. # more /etc/syslog.conf If daemon.info or *.info is not being logged, this is a finding.
Fix: F-33206r1_fix
Edit the /etc/inetd.conf file and add the -l argument to the ftpd service line. # vi /etc/inetd.conf Restart inetd.conf # refresh -s inetd Add daemon.info or *.info to the /etc/syslog.conf file. #vi /etc/syslog.conf *.info /var/log/syslog Restart the syslog daemon. # refresh -s syslogd
- RMF Control
- AC-22
- Severity
- M
- CCI
- CCI-001475
- Version
- GEN004820
- Vuln IDs
-
- V-846
- Rule IDs
-
- SV-40086r1_rule
Checks: C-711r2_chk
Attempt to log into this host with a user name of anonymous and a password of guest (also try the password of guest@mail.com). If the logon is successful, this is a finding. Procedure: # ftp localhost Name: anonymous 530 Guest login not allowed on this machine.
Fix: F-34157r1_fix
Remove user "anonymous" from /etc/passwd.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN005080
- Vuln IDs
-
- V-847
- Rule IDs
-
- SV-28420r1_rule
Checks: C-28685r2_chk
If the system is not running tftp, this is not applicable. Determine if tftpd is running in secure mode. # more /etc/tftpaccess.ctl If the file does not exist, this is a finding. If the file does not contain an entry restricting access to the tftp user home directory, this is a finding. If other configuration is in the file, this is a finding.
Fix: F-25711r1_fix
Edit /etc/tftpaccess.ctl to only contain an entry restricting access to the tftp user home directory.
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN005100
- Vuln IDs
-
- V-848
- Rule IDs
-
- SV-848r2_rule
Checks: C-714r2_chk
Check the mode of the TFTP daemon. Procedure: # find / -name "*tftpd" -print # ls -lL <file location> If the mode of the file is more permissive than 0755, this is a finding.
Fix: F-1002r2_fix
Change the mode of the TFTP daemon. Procedure: # chmod 0755 <tftp server>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005120
- Vuln IDs
-
- V-849
- Rule IDs
-
- SV-849r2_rule
Checks: C-715r2_chk
Check the /etc/passwd file to determine if TFTP is configured properly. Procedure: # grep tftp /etc/passwd If a TFTP user account does not exist and TFTP is active, this is a finding. Check the user shell for the TFTP user. If it is not /bin/false or equivalent, this is a finding. Check the home directory assigned to the TFTP user. If no home directory is set, or the directory specified is not dedicated to the use of the TFTP service, this is a finding.
Fix: F-1003r2_fix
Create a TFTP user account if none exists. Assign a non-login shell to the TFTP user account, such as /bin/false. Assign a home directory to the TFTP user account.
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000297
- Version
- GEN005160
- Vuln IDs
-
- V-850
- Rule IDs
-
- SV-850r2_rule
Checks: C-718r2_chk
Check for .Xauthority files being utilized by looking for such files in the home directory of a user that uses X. Procedure: # cd ~someuser # ls -la .Xauthority If the .Xauthority file does not exist, ask the SA if the user is using X Windows. If the user is utilizing X Windows and the .Xauthority file does not exist, this is a finding.
Fix: F-1004r2_fix
Ensure the X Windows host is configured to write .Xauthority files into user home directories. Edit the Xaccess file. Ensure the line that writes the .Xauthority file is uncommented.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001435
- Version
- GEN006400
- Vuln IDs
-
- V-867
- Rule IDs
-
- SV-867r2_rule
Checks: C-851r2_chk
Perform the following to determine if NIS is active on the system. # ps -ef | egrep '(ypbind|ypserv)' If NIS is found active on the system, this is a finding.
Fix: F-1021r2_fix
Disable the use of NIS. Possible replacements are NIS+ and LDAP.
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001440
- Vuln IDs
-
- V-899
- Rule IDs
-
- SV-27186r1_rule
Checks: C-28161r1_chk
Use usrck to verify home directory assignments are present. Procedure: # usrck -n ALL If any user is not assigned a home directory, this is a finding.
Fix: F-1053r3_fix
Assign a home directory to any user without one.
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001460
- Vuln IDs
-
- V-900
- Rule IDs
-
- SV-27194r1_rule
Checks: C-28170r1_chk
Use pwck to check that assigned home directories exist. Procedure: # usrck -n ALL If any user's assigned home directory does not exist, this is a finding.
Fix: F-1054r2_fix
If a user has no home directory, determine why. If possible, delete accounts with no home directory. If the account is valid, then create the home directory using the appropriate system administration utility or manually create, i.e., mkdir <directory name>; copy the skeleton files into the directory; chown <user name> <directory name> for the new directory and the skeleton files. Document all changes.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001480
- Vuln IDs
-
- V-901
- Rule IDs
-
- SV-901r2_rule
Checks: C-8017r3_chk
Check the home directory mode of each user in /etc/passwd. Procedure: # cut -d : -f 6 /etc/passwd | xargs -n1 ls -ld | more If a user's home directory's mode is more permissive than 0750, this is a finding. NOTE: Application directories are allowed and may need 0755 permissions (or greater) for correct operation.
Fix: F-1055r2_fix
Change the mode of users' home directories to 0750 or less permissive. Procedure (example): # chmod 0750 <home directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001500
- Vuln IDs
-
- V-902
- Rule IDs
-
- SV-902r2_rule
Checks: C-8018r2_chk
Check the ownership of each user's home directory listed in the /etc/passwd file. Procedure: # ls -lLd <user home directory> If any user's home directory is not owned by the assigned user, this is a finding.
Fix: F-1056r2_fix
Change the owner of a user's home directory to its assigned user. Procedure: # chown <user> <home directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001520
- Vuln IDs
-
- V-903
- Rule IDs
-
- SV-903r2_rule
Checks: C-8019r3_chk
Check the group ownership for each user in the /etc/passwd file. Procedure: # ls -lLd <user home directory> If any user's home directory is not group-owned by the assigned user's primary group, this is a finding. Home directories for application accounts requiring different group ownership must be documented using site-defined procedures.
Fix: F-1057r3_fix
Change the group owner for user's home directories to the primary group of the assigned user. Procedure: # chgrp groupname directoryname (Replace examples with appropriate group and home directory.) Document all changes.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001860
- Vuln IDs
-
- V-904
- Rule IDs
-
- SV-904r3_rule
Checks: C-395r4_chk
NOTE: The following commands must be run in the BASH shell. Check the ownership of local initialization files. Procedure (using a shell that supports ~USER as USER's home directory): # cut -d : -f 1 /etc/passwd | xargs -n1 -IUSER sh -c "ls -l ~USER/.[a-z]*" # cut -d : -f 1 /etc/passwd | xargs -n1 -IUSER find ~USER/.dt ! -fstype nfs ! -user USER -exec ls -ld {} \; If local initialization files are not owned by the home directory's user, this is a finding.
Fix: F-1058r3_fix
Change the ownership of the startup and login files in the user's directory to the user or root, as appropriate. Examine each user's home directory and verify all file names beginning with "." are owned by the owner of the directory or root. If they are not, use the chown command to change the owner to the user and research the reasons why the owners were not assigned as required. Procedure: # chown username .filename Document all changes.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001880
- Vuln IDs
-
- V-905
- Rule IDs
-
- SV-905r2_rule
Checks: C-8020r2_chk
Check the modes of local initialization files. Procedure: # ls -al /<usershomedirectory>/.login # ls -al /<usershomedirectory>/.cshrc # ls -al /<usershomedirectory>/.logout # ls -al /<usershomedirectory>/.profile # ls -al /<usershomedirectory>/.bash_profile # ls -al /<usershomedirectory>/.bashrc # ls -al /<usershomedirectory>/.bash_logout # ls -al /<usershomedirectory>/.env # ls -al /<usershomedirectory>/.dtprofile (permissions should be 0755) # ls -al /<usershomedirectory>/.dispatch # ls -al /<usershomedirectory>/.emacs # ls -al /<usershomedirectory>/.exrc # find /<usershomedirectory>/.dt ! -fstype nfs \( -perm -0002 -o -perm -0020 \) -exec ls -ld {} \; (permissions not to be more permissive than 0755) If local initialization files are more permissive than 0740, the .dt directory or the .dtprofile file is more permissive than 0755, this is a finding.
Fix: F-1059r3_fix
Ensure user startup files have permissions of 0740 or more restrictive. Examine each user's home directory and verify all file names beginning with "." have access permissions of 0740 or more restrictive. If they do not, use the chmod command to correct the vulnerability. Procedure: # chmod 0740 .filename NOTE: The period is part of the file name and is required.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001580
- Vuln IDs
-
- V-906
- Rule IDs
-
- SV-38732r1_rule
Checks: C-37149r1_chk
Check run control script modes. # cd /etc # find rc* -ls If any run control script has a mode more permissive than 0755, this is a finding.
Fix: F-32414r1_fix
Ensure all system startup files have mode 0755 or less permissive. Examine the rc files, all files in the rc1.d (rc2.d, and so on) directories, and in the /etc/init.d directory to ensure they are not world-writable. If the files are world-writable, use the chmod command to correct the vulnerability and research why they are world-writable. Procedure: # chmod 755 startupfile Document all changes.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001600
- Vuln IDs
-
- V-907
- Rule IDs
-
- SV-41074r1_rule
Checks: C-39526r1_chk
Verify run control scripts' library search paths. Procedure: # grep -r PATH /etc/rc* This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), this is a relative path, and this is a finding.
Fix: F-1061r2_fix
Edit the run control script and remove the relative path entry from the executable search path variable.
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN001640
- Vuln IDs
-
- V-910
- Rule IDs
-
- SV-910r2_rule
Checks: C-402r8_chk
Check the permissions on the files or scripts executed from system startup scripts to see if they are world-writable. Create a list of all potential run command level scripts. ls -l /etc/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " " Create a list of world writeable files. # find / -perm -002 -type f >> worldWriteableFileList Determine if any of the world writeable files in worldWriteableFileList are called from the run command level scripts. Note: Depending upon the number of scripts vs world writeable files, it may be easier to inspect the scripts manually. # more `ls -l /etc/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d "` If any system startup script executes any file or script that is world-writable, this is a finding.
Fix: F-1064r2_fix
Remove the world-writable permission from programs or scripts executed by run control scripts. Procedure: # chmod o-w <program or script executed from run control script>
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000196
- Version
- GEN002000
- Vuln IDs
-
- V-913
- Rule IDs
-
- SV-913r2_rule
Checks: C-404r2_chk
Check the system for the existence of any .netrc files. Procedure: # find / -name .netrc If any .netrc file exists, this is a finding.
Fix: F-1067r3_fix
Remove the .netrc file(s). Procedure: # rm .netrc
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001540
- Vuln IDs
-
- V-914
- Rule IDs
-
- SV-914r2_rule
Checks: C-405r3_chk
For each user in the /etc/passwd file, check for the presence of files and directories within the user's home directory not owned by the home directory owner. Procedure: # find /<usershomedirectory> ! -fstype nfs ! -user <username> ! \( -name .login -o -name .cshrc -o -name .logout -o -name .profile -o -name .bash_profile -o -name .bashrc -o -name .env -o -name .dtprofile -o -name .dispatch -o -name .emacs -o -name .exrc \) -exec ls -ld {} \; If user's home directories contain files or directories not owned by the home directory owner, this is a finding.
Fix: F-1068r2_fix
Change the ownership of files and directories in user's home directories to the owner of the home directory. Procedure: # chown accountowner filename OR # find /<usershomedirectory> ! -fstype nfs ! -user <username> ! /( -name .login -o -name .cshrc -o -name .logout -o -name .profile -o -name .bash_profile -o -name .bashrc -o -name .env -o -name .dtprofile -o -name .dispatch -o -name .emacs -o -name .exrc \) -exec chown <username> {} \;
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001560
- Vuln IDs
-
- V-915
- Rule IDs
-
- SV-915r2_rule
Checks: C-431r3_chk
For each user in the /etc/passwd file, check for files and directories with a mode more permissive than 0750. Procedure: # find /<usershomedirectory> ! -fstype nfs ! \( -name .login -o -name .cshrc -o -name .logout -o -name .profile -o -name .bash_profile -o -name .bashrc -o -name .env -o -name .dtprofile -o -name .dispatch -o -name .emacs -o -name .exrc \) \( -perm -0001 -o -perm -0002 -o -perm -0004 -o -perm -0020 -o -perm -2000 -o -perm -4000 \) -exec ls -ld {} \; If user's home directories contain files or directories more permissive than 0750, this is a finding.
Fix: F-1069r2_fix
Change the mode of files and directories within user's home directories to 0750. Procedure: # chmod 0750 filename Document all changes.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002120
- Vuln IDs
-
- V-916
- Rule IDs
-
- SV-38741r1_rule
Checks: C-37242r1_chk
Check /etc/security/login.cfg for a shells stanza. Procedure: # grep -p usw: /etc/security/login.cfg | grep "shells =" If no such stanza exists, this is a finding. Check the /etc/shells file. Procedure: # more /etc/shells If the /etc/shells file does not exist, this is a finding.
Fix: F-32456r1_fix
Edit the /etc/security/login.cfg file and add a shells stanza containing a list of valid shells. #chsec -f /etc/security/login.cfg -s usw -a shells=<list of approved shells> Create the /etc/shells file. #vi /etc/shells
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002140
- Vuln IDs
-
- V-917
- Rule IDs
-
- SV-38742r1_rule
Checks: C-37177r1_chk
Confirm the login shells referenced in the /etc/passwd file are listed in the /etc/security/login.cfg file's shells =variable in the usw stanza. # more /etc/security/login.cfg # more /etc/shells The /usr/bin/false, /bin/false, /dev/null, /sbin/nologin, (and equivalents), and sdshell will be considered valid shells for use in the /etc/passwd file, but will not be listed in the shells stanza. If a shell referenced in /etc/passwd is not listed in the shells stanza, excluding the above mentioned shells, then this is a finding.
Fix: F-32457r1_fix
Use the chsh utility or edit the /etc/passwd file and correct the error by changing the default shell of the account in error to an acceptable shell name contained in the /etc/shells file. Alternatively, use the SMIT to change the /etc/passwd shell entry.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000017
- Version
- GEN000760
- Vuln IDs
-
- V-918
- Rule IDs
-
- SV-38840r1_rule
Checks: C-37833r1_chk
Indications of inactive accounts are those without entries in the last log. Check the date in the last log to verify it is within the last 35 days. If an inactive account is not disabled via an invalid login shell /bin/false entry in the shell field of the /etc/passwd file or account_locked = true in /etc/security/user file, this is a finding.
Fix: F-33093r1_fix
All inactive accounts will have /bin/false, /usr/bin/false, or /dev/null as the default shell in the /etc/passwd file and have the password disabled. Disable the inactive accounts. Examine the inactive accounts using the last command. Note the date of last login for each account. If any (other than system and application accounts) exceed 35 days, then disable them by placing a shell of /bin/false or /dev/null in the shell field of the passwd file entry for that account. An alternative, and preferable method, is to disable the account using SMIT or the chsec command. Change the accounts login shell. #chsh <account> /bin/false Lock the account in /etc/security/user file. #chuser account_locked=true < user id > OR # smitty chuser
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002200
- Vuln IDs
-
- V-921
- Rule IDs
-
- SV-38847r1_rule
Checks: C-37840r1_chk
Obtain a list of system shells from /etc/security/login.cfg and check the ownership of these shells. Procedure: #grep shells /etc/security/login.cfg | grep -v \* | cut -f 2 -d = | sed s/,/\ /g | xargs -n1 ls -l If any shell is not owned by root or bin, this is a finding. Obtain a list of system shells from /etc/shells and check the ownership of these shells. Procedure: #cat /etc/shells | xargs -n1 ls -l If any shell is not owned by root or bin, this is a finding.
Fix: F-33103r1_fix
Change the ownership of the shell with incorrect ownership. # chown root < shell >
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN002220
- Vuln IDs
-
- V-922
- Rule IDs
-
- SV-38846r1_rule
Checks: C-37839r1_chk
Obtain a list of system shells from /etc/security/login.cfg and check the permissions of these shells. Procedure: #grep shells /etc/security/login.cfg | grep -v \* | cut -f 2 -d = | sed s/,/\ /g | xargs -n1 ls -l If any shell has a mode more permissive than 0755, this is a finding. Obtain a list of system shells from /etc/shells and check the ownership of these shells. Procedure: #cat /etc/shells | xargs -n1 ls -l If any shell has a mode more permissive than 0755, this is a finding.
Fix: F-33102r1_fix
Change the mode of the shell. # chmod 0755 < shell >
- RMF Control
- CM-3
- Severity
- L
- CCI
- CCI-000318
- Version
- GEN002260
- Vuln IDs
-
- V-923
- Rule IDs
-
- SV-923r2_rule
Checks: C-464r2_chk
Check the system for an automated job, or check with the SA, to determine if the system is checked for extraneous device files on a weekly basis. If no automated or manual process is in place, this is a finding.
Fix: F-1077r2_fix
Establish a weekly automated or manual process to create a list of device files on the system and determine if any files have been added, moved, or deleted since the last list was generated. Generate a list of device files. # find / -type b -o -type c > device-file-list
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002280
- Vuln IDs
-
- V-924
- Rule IDs
-
- SV-924r2_rule
Checks: C-465r2_chk
Find all device files existing anywhere on the system. Procedure: # find / -type b -print > devicelist # find / -type c -print >> devicelist Check the permissions on the directories above subdirectories containing device files. If any of the device files or their parent directories is world-writable, excepting device files specifically intended to be world-writable, such as /dev/null, this is a finding.
Fix: F-1078r3_fix
Remove the world-writable permission from the device file(s). Procedure: # chmod o-w <device file> Document all changes.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002300
- Vuln IDs
-
- V-925
- Rule IDs
-
- SV-38745r1_rule
Checks: C-37183r1_chk
Check the system for world-writable device files. Procedure: # find / -perm -2 -a \( -type b -o -type c \) -exec ls -ld {} \; If any device file(s) used for backup are writable by users other than root, this is a finding (Typical backup devices for tape are/dev/rmt* and cd/dvd writers are /dev/cd*).
Fix: F-32459r1_fix
Use the chmod command to remove the world-writable bit from the backup device files. Procedure: # chmod o-w <back device filename> Document all changes.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001435
- Version
- GEN006460
- Vuln IDs
-
- V-926
- Rule IDs
-
- SV-926r2_rule
Checks: C-852r2_chk
If the system is not using NIS+, this is not applicable. Check the system to determine if NIS+ security level 2 is implemented. Procedure: # niscat cred.org_dir If the second column does not contain DES, the system is not using NIS+ security level 2, and this is a finding.
Fix: F-25778r1_fix
Configure the NIS+ server to use security level 2.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005740
- Vuln IDs
-
- V-928
- Rule IDs
-
- SV-28445r1_rule
Checks: C-28739r1_chk
Check the owner of the exports file. Example: # ls -lL /etc/exports If the export configuration file is not owned by root, this is a finding.
Fix: F-25756r1_fix
Change the owner of the exports file to root. Example: # chown root /etc/exports
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN005760
- Vuln IDs
-
- V-929
- Rule IDs
-
- SV-28447r1_rule
Checks: C-28742r1_chk
# ls -lL /etc/exports If the file has a mode more permissive than 0644, this is a finding.
Fix: F-25760r1_fix
# chmod 0644 /etc/exports
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005800
- Vuln IDs
-
- V-931
- Rule IDs
-
- SV-931r2_rule
Checks: C-862r2_chk
Check for NFS exported file systems. Procedure: # exportfs -v This will display all of the exported file systems. For each file system displayed, check the ownership. Procedure: # ls -lLa <exported file system path> If the files and directories are not owned by root, this is a finding.
Fix: F-1085r2_fix
Change the ownership of exported file systems not owned by root. Procedure: # chown root <path>
- RMF Control
- AC-14
- Severity
- M
- CCI
- CCI-000062
- Version
- GEN005820
- Vuln IDs
-
- V-932
- Rule IDs
-
- SV-38956r1_rule
Checks: C-863r2_chk
Check if the anon option is set correctly for exported file systems. List exported file systems. # exportfs -v Each of the exported file systems should include an entry for the 'anon=' option set to -1 or an equivalent (60001, 60002, 65534, or 65535). If an appropriate 'anon=' setting is not present for an exported file system, this is a finding.
Fix: F-32338r1_fix
Edit /etc/exports and set the anon=-1 option for exported file systems without it. Re-export the file systems. # exportfs -a
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005840
- Vuln IDs
-
- V-933
- Rule IDs
-
- SV-41524r1_rule
Checks: C-864r2_chk
Check the permissions on exported NFS file systems. Procedure: # exportfs -v If the exported file systems do not contain the rw or ro options specifying a list of hosts or networks, this is a finding.
Fix: F-1087r2_fix
Edit /etc/exports and add ro and/or rw options (as appropriate) specifying a list of hosts or networks which are permitted access. Re-export the file systems.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005880
- Vuln IDs
-
- V-935
- Rule IDs
-
- SV-935r2_rule
Checks: C-867r2_chk
Determine if the NFS server is exporting with the root access option. Procedure: # exportfs -v | grep "root=" If an export with the root option is found, this is a finding.
Fix: F-1089r2_fix
Edit /etc/exports and remove the root= option for all exports. Re-export the file systems.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005900
- Vuln IDs
-
- V-936
- Rule IDs
-
- SV-38957r1_rule
Checks: C-38202r1_chk
Check the system for NFS mounts not using the nosuid option. Procedure: # lsfs -v nfs If the mounted file systems do not have the nosuid option, this is a finding.
Fix: F-32339r1_fix
Edit /etc/filesystems and add the nosuid option for all NFS file systems. Remount the NFS file systems to make the change take effect.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006580
- Vuln IDs
-
- V-940
- Rule IDs
-
- SV-38959r1_rule
Checks: C-28781r1_chk
Determine if TCP_WRAPPERS is being used. # grep tcpd /etc/inetd.conf If no services are listed, this is a finding.
Fix: F-32344r1_fix
Edit /etc/inetd.conf and use tcpd to wrap services. Use SMIT to install TCP Wrappers from the AIX Expansion pack media as fileset netsec.options.tcpwrappers.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN006600
- Vuln IDs
-
- V-941
- Rule IDs
-
- SV-941r2_rule
Checks: C-888r2_chk
Normally, TCPD logs to the mail facility in /etc/syslog.conf. Determine if syslog is configured to log events by TCPD. Procedure: # more /etc/syslog.conf Look for entries similar to the following: mail.debug /var/adm/maillog mail.none /var/adm/maillog mail.* /var/log/mail auth.info /var/log/messages The above entries would indicate mail alerts are being logged. If no entries for mail exist, then TCPD is not logging and this is a finding.
Fix: F-1095r2_fix
Configure the access restriction program to log every access attempt. Ensure the implementation instructions for TCP_WRAPPERS are followed, so system access attempts are logged into the system log files. If an alternate application is used, it must support this function.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-AIX00020
- Vuln IDs
-
- V-969
- Rule IDs
-
- SV-969r2_rule
Checks: C-2321r2_chk
Perform: # /bin/tcbck If TCB is not installed, the output will show an error code of 3001-101 and/or a text message indicating TCB is not installed, this is a finding.
Fix: F-31368r1_fix
Ensure the Trusted Computing Base (TCB) software is implemented. TCB can only be installed at OS installation time.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002960
- Vuln IDs
-
- V-974
- Rule IDs
-
- SV-27318r1_rule
Checks: C-28455r1_chk
Check for the existence of the cron.allow and cron.deny files. # ls -lL /var/adm/cron/cron.allow # ls -lL /var/adm/cron/cron.deny If neither file exists, this is a finding.
Fix: F-24558r1_fix
Create /var/adm/cron/cron.allow and/or /var/adm/cron/cron.deny with appropriate content.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002980
- Vuln IDs
-
- V-975
- Rule IDs
-
- SV-39872r1_rule
Checks: C-38875r1_chk
Check mode of the cron.allow file. Procedure: # ls -lL /var/adm/cron/cron.allow If the file has a mode more permissive than 0640, this is a finding.
Fix: F-34019r1_fix
Change the mode of the cron.allow file to 0640. Procedure: # chmod 0640 /var/adm/cron/cron.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003000
- Vuln IDs
-
- V-976
- Rule IDs
-
- SV-27329r1_rule
Checks: C-28464r1_chk
List all cronjobs on the system. Procedure: # ls /var/spool/cron/crontabs/ If cron jobs exist under any of the above directories search for programs executed by cron. Procedure: # more <cron job file> Determine if the file is group-writable or world-writable. Procedure: # ls -la <cron program file> If cron executes group-writable or world-writable files, this is a finding.
Fix: F-1130r2_fix
Remove the world-writable and group-writable permissions from the cron program file(s) identified. # chmod go-w <cron program file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003020
- Vuln IDs
-
- V-977
- Rule IDs
-
- SV-38947r1_rule
Checks: C-28466r1_chk
List all cronjobs on the system. Procedure: # ls /var/spool/cron/crontabs/ If cron jobs exist under any of the above directories search for programs executed by cron. Procedure: # more <cron job file> Determine if the directory containing programs executed from cron is world-writable. Procedure: # ls -ld <cron program directory> If cron executes programs in world-writable directories, this is a finding.
Fix: F-32473r1_fix
Remove the world-writable permission from the cron program directories identified. Procedure: # chmod o-w <cron program directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003080
- Vuln IDs
-
- V-978
- Rule IDs
-
- SV-39873r1_rule
Checks: C-790r2_chk
Check the modes of the crontab and cron job script files. If the mode is more permissive than 0600 for crontab files or 0700 for cron job script files, this is a finding.
Fix: F-1132r2_fix
Change the modes of crontab files to 0600 and cron job script files to 0700.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003100
- Vuln IDs
-
- V-979
- Rule IDs
-
- SV-27342r1_rule
Checks: C-28478r1_chk
Check the mode of the crontab directory. # ls -ld /var/spool/cron/crontabs If the mode of the crontab directory is more permissive than 0755, this is a finding.
Fix: F-24581r1_fix
Change the mode of the crontab directory. # chmod 0755 /var/spool/cron/crontabs
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003120
- Vuln IDs
-
- V-980
- Rule IDs
-
- SV-27345r1_rule
Checks: C-28480r1_chk
Check the owner of the crontab directory. # ls -ld /var/spool/cron/crontabs If the owner of the crontab directory is not root or bin, this is a finding.
Fix: F-24583r1_fix
Change the owner of the crontab directory. # chown root /var/spool/cron/crontabs
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003140
- Vuln IDs
-
- V-981
- Rule IDs
-
- SV-39104r1_rule
Checks: C-38095r1_chk
Check the group owner of cron and crontab directories. Procedure: # ls -ld /var/spool/cron/crontabs If a cron or crontab directory is not group-owned by sys, system, bin, or cron, this is a finding.
Fix: F-33357r1_fix
Change the group owner of the crontab directories to sys, system, bin, or cron. Procedure: # chown cron /var/spool/cron/crontabs
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN003160
- Vuln IDs
-
- V-982
- Rule IDs
-
- SV-27350r1_rule
Checks: C-28491r1_chk
# ls -lL /var/adm/cron/log If this file does not exist or is older than the last cron job, this is a finding.
Fix: F-1136r2_fix
Enable cron logging on the system.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003180
- Vuln IDs
-
- V-983
- Rule IDs
-
- SV-27355r1_rule
Checks: C-28498r1_chk
Check the mode of the cron log file. # ls -lL /var/adm/cron/log If the mode is more permissive than 0600, this is a finding.
Fix: F-24600r1_fix
Change the mode of the cron log file. # chmod 0600 /var/adm/cron/log
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003280
- Vuln IDs
-
- V-984
- Rule IDs
-
- SV-27377r1_rule
Checks: C-28531r1_chk
Check for the existence of at.allow and at.deny files. # ls -lL /var/adm/cron/at.allow # ls -lL /var/adm/cron/at.deny If neither file exists, this is a finding.
Fix: F-11346r2_fix
Create at.allow and/or at.deny files containing appropriate lists of users to be allowed or denied access to the "at" daemon.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003300
- Vuln IDs
-
- V-985
- Rule IDs
-
- SV-27381r1_rule
Checks: C-28535r1_chk
# more /var/adm/cron/at.deny If the at.deny file exists and is empty, this is a finding.
Fix: F-1139r2_fix
Add appropriate users to the at.deny file, or remove the empty at.deny file if an at.allow file exists.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003320
- Vuln IDs
-
- V-986
- Rule IDs
-
- SV-27385r1_rule
Checks: C-28541r1_chk
# more /var/adm/cron/at.allow If default accounts (such as bin, sys, adm, and others) are listed in the at.allow file, this is a finding.
Fix: F-1140r2_fix
Remove the default accounts (such as bin, sys, adm, and others) from the at.allow file.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003340
- Vuln IDs
-
- V-987
- Rule IDs
-
- SV-39871r1_rule
Checks: C-38874r1_chk
Check the mode of the at.allow file. # ls -lL /var/adm/cron/at.allow If the at.allow file has a mode more permissive than 0640, this is a finding.
Fix: F-34018r1_fix
Change the mode of the at.allow file. # chmod 0640 /var/adm/cron/at.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003360
- Vuln IDs
-
- V-988
- Rule IDs
-
- SV-988r2_rule
Checks: C-801r2_chk
List the "at" jobs on the system. Procedure: # ls -la /var/spool/cron/atjobs /var/spool/atjobs For each "at" job file, determine which programs are executed. Procedure: # more <at job file> Check each program executed by "at" for group- or world-writable permissions. Procedure: # ls -la <at program file> If "at" executes group- or world-writable programs, this is a finding.
Fix: F-1142r2_fix
Remove group-write and world-write permissions from files executed by "at" jobs. Procedure: # chmod go-w <file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003380
- Vuln IDs
-
- V-989
- Rule IDs
-
- SV-989r2_rule
Checks: C-802r2_chk
List any "at" jobs on the system. Procedure: # ls /var/spool/cron/atjobs /var/spool/atjobs For each "at" job, determine which programs are executed. Procedure: # more <at job file> Check the directory containing each program executed by "at" for world-writable permissions. Procedure: # ls -la <at program file directory> If "at" executes programs in world-writable directories, this is a finding.
Fix: F-1143r2_fix
Remove the world-writable permission from directories containing programs executed by "at". Procedure: # chmod o-w <at program directory>
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000178
- Version
- GEN005300
- Vuln IDs
-
- V-993
- Rule IDs
-
- SV-38889r1_rule
Checks: C-37055r1_chk
Check the SNMP configuration for default passwords. Locate and examine the SNMP configuration. Procedure: # find / -name "snmp*.conf" -print # more <snmpd.conf> Identify any community names or user password configuration. If any community name or password is set to a default value such as public, private, snmp-trap, or password, or any value which does not meet DISA password requirements, this is a finding.
Fix: F-33134r1_fix
Change the default passwords. To change them, locate the file /etc/snmpd.conf or the file /etc/snmpd3.conf. Edit the file. Locate the line system-group-read-community which has a default password of public and make the password something more random (less guessable). Do the same for the lines that read system-group-write-community, read-community, write-community, trap, and trap-community. Read the information in the file carefully. The trap is defining who to send traps to, for instance, by default. It is not a password, but the name of a host.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005320
- Vuln IDs
-
- V-994
- Rule IDs
-
- SV-38817r1_rule
Checks: C-37058r1_chk
Check the mode of the SNMP daemon configuration file. Locate the SNMP daemon configuration file. Consult vendor documentation to verify the name and location of the file. Procedure: # find / -name "snmpd*.conf" Check the mode of the SNMP daemon configuration file. Procedure: # ls -lL <snmpd conf>
Fix: F-32326r1_fix
Change the mode of the SNMP daemon configuration file to 0600. Procedure: # chmod 0600 /etc/snmpd.conf # chmod 0600 /etc/snmpdv3.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005340
- Vuln IDs
-
- V-995
- Rule IDs
-
- SV-995r2_rule
Checks: C-818r2_chk
Check the modes for all Management Information Base (MIB) files on the system. Procedure: # find / -name *.mib -print # ls -lL <mib file> If any file is returned that does not have mode 0640 or less permissive, this is a finding.
Fix: F-1149r2_fix
Change the mode of MIB files to 0640. Procedure: # chmod 0640 <mib file>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002480
- Vuln IDs
-
- V-1010
- Rule IDs
-
- SV-1010r3_rule
Checks: C-467r3_chk
Check the system for world-writable files and directories. Procedure: # find / -perm -2 -a \( -type d -o -type f \) -exec ls -ld {} \; If any world-writable files or directories are located, except those required for proper system or application operation, such as /tmp and /dev/null, this is a finding.
Fix: F-1164r2_fix
Remove or change the mode for any world-writable file or directory on the system that is not required to be world-writable. Procedure: # chmod o-w <file/directory> Document all changes.
- RMF Control
- AU-3
- Severity
- L
- CCI
- CCI-000134
- Version
- GEN003800
- Vuln IDs
-
- V-1011
- Rule IDs
-
- SV-38951r1_rule
Checks: C-38287r2_chk
Determine if inetd or xinetd has logging or tracing enabled. # ps -ef |grep inetd |grep -e "-d" If no results are returned, this is a finding.
Fix: F-31831r1_fix
Edit the inetd startup script to contain the "-d" parameter for the inetd process. #vi /etc/rc.tcpip # chssys -s inetd -a '-d'
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN008600
- Vuln IDs
-
- V-1013
- Rule IDs
-
- SV-38835r1_rule
Checks: C-37096r1_chk
Determine if the system is configured to boot from devices other than the system startup media. # bootlist -m normal -o The returned values should be hdisk{x}. If the system is setup to boot from a non-hard disk device, this is a finding. Additionally, ask the SA if the machine is setup for multi-boot in the SMS application. If multi-boot is enabled, the firmware will stop at boot time and request which image to boot from the user. If multi-boot is enabled, this is a finding.
Fix: F-32367r1_fix
Configure the system to only boot from system startup media. # bootlist -m normal hdisk< x > Set multi-boot to off in the SMS application.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- GEN006240
- Vuln IDs
-
- V-1023
- Rule IDs
-
- SV-1023r2_rule
Checks: C-2043r2_chk
# ps -ef | egrep "innd|nntpd" If an INN server is running, this is a finding.
Fix: F-1177r2_fix
Disable the INN server.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN006080
- Vuln IDs
-
- V-1026
- Rule IDs
-
- SV-1026r2_rule
Checks: C-2047r3_chk
Check the system for an enabled SWAT service. # grep -i swat /etc/inetd.conf If SWAT is found enabled, it must be utilized with SSL to ensure a secure connection between the client and the server. Ask the SA to identify the method used to provide SSL protection for the SWAT service. Verify (or ask the SA to demonstrate) this configuration is effective by accessing SWAT using an HTTPS connection from a web browser. If SWAT is found enabled and has no SSL protection, this is a finding.
Fix: F-1180r3_fix
Disable SWAT (e.g., remove the "swat" line from inetd.conf or equivalent, and restart the service) or configure SSL protection for the SWAT service.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006100
- Vuln IDs
-
- V-1027
- Rule IDs
-
- SV-40724r1_rule
Checks: C-39455r1_chk
Check the ownership of the /usr/lib/smb.conf file. Procedure: # ls -l /usr/lib/smb.conf If an smb.conf file is not owned by root, this is a finding.
Fix: F-34583r1_fix
Change the ownership of the smb.conf file. Procedure: # chown root /usr/lib/smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006140
- Vuln IDs
-
- V-1028
- Rule IDs
-
- SV-39229r1_rule
Checks: C-39456r1_chk
Check the mode of the smb.conf file. Procedure: # ls -lL /usr/lib/smb.conf If the smb.conf has a mode more permissive than 0644, this is a finding.
Fix: F-34584r1_fix
Change the mode of the smb.conf file to 0644 or less permissive. Procedure: # chmod 0644 /usr/lib/smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006160
- Vuln IDs
-
- V-1029
- Rule IDs
-
- SV-40379r1_rule
Checks: C-39245r1_chk
Check the ownership of the smbpasswd file. # ls -l /var/private/smbpasswd If an smbpasswd file is not owned by root, this is a finding.
Fix: F-34347r1_fix
Change the owner of the smbpasswd file to root. # chown root /var/private/smbpasswd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006220
- Vuln IDs
-
- V-1030
- Rule IDs
-
- SV-39237r1_rule
Checks: C-38211r1_chk
Examine the smb.conf file. # more /usr/lib/smb.conf If the hosts option is not present to restrict access to a list of authorized hosts and networks, this is a finding.
Fix: F-1184r2_fix
Edit the smb.conf file and set the hosts option to permit only authorized hosts to access Samba.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000198
- Version
- GEN000540
- Vuln IDs
-
- V-1032
- Rule IDs
-
- SV-38768r1_rule
Checks: C-36689r1_chk
Check the minage field for each user. # /usr/sbin/lsuser -a minage ALL If the minage field is less than 1 for any user, this is a finding.
Fix: F-33201r1_fix
Use SMIT or the chsec command to set the minimum password age to 1 week. # chsec -f /etc/security/user -s default -a minage=1 # chsec -f /etc/security/user -s <user id> -a minage=1 OR # smitty chuser
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000197
- Version
- GEN001100
- Vuln IDs
-
- V-1046
- Rule IDs
-
- SV-39097r1_rule
Checks: C-891r2_chk
Determine if root has logged in over an unencrypted network connection. First, determine if root has logged in over a network. Procedure: # last | grep "^root " | egrep -v "reboot|console" | more Next, determine if the SSH daemon is running. Procedure: # ps -ef |grep sshd If root has logged in over the network and SSHD is not running, this is a finding.
Fix: F-33347r1_fix
Install OpenSSH from AIX installation media or AIX Expansion Pack. #smitty installp Enable SSH on the system and use it for all remote connections used to attain root access. Disable direct root login. # chsec -f /etc/security/user -s root -a rlogin=false
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- GEN001120
- Vuln IDs
-
- V-1047
- Rule IDs
-
- SV-38684r1_rule
Checks: C-36938r1_chk
Determine if the SSH daemon is configured to permit root logins. Procedure: # find / -name sshd_config -ls # grep -v "^#" <sshd_config path and file> | grep -i permitrootlogin If the PermitRootLogin entry is not found or is not set to no, this is a finding.
Fix: F-32204r1_fix
Edit the /etc/ssh/sshd_config file and set the PermitRootLogin option to no and refresh sshd. #kill -1 <pid of sshd>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002320
- Vuln IDs
-
- V-1048
- Rule IDs
-
- SV-27243r1_rule
Checks: C-28267r1_chk
Check the mode of audio devices. # /usr/sbin/lsdev -C | grep -i audio # ls -lL /dev/*aud0 If the mode of audio devices are more permissive than 0660, this is a finding.
Fix: F-24491r1_fix
Change the mode of audio devices. # chmod o-w <audio device>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002340
- Vuln IDs
-
- V-1049
- Rule IDs
-
- SV-27248r1_rule
Checks: C-28273r1_chk
Check the owner of audio devices. Procedure: # /usr/sbin/lsdev -C | grep -i audio # ls -lL /dev/*aud0 If the owner of any audio device file is not root, this is a finding.
Fix: F-1203r2_fix
Change the owner of the audio device. # chown root <audio device>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006120
- Vuln IDs
-
- V-1056
- Rule IDs
-
- SV-39231r1_rule
Checks: C-39457r1_chk
Check the group ownership of the smb.conf file. Procedure: # ls -l /usr/lib/smb.conf If an smb.conf file is not group-owned by bin, sys, or system, this is a finding.
Fix: F-33481r1_fix
Change the group owner of the smb.conf file. Procedure: # chgrp system /usr/lib/smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006180
- Vuln IDs
-
- V-1058
- Rule IDs
-
- SV-39235r1_rule
Checks: C-38209r1_chk
Check smbpasswd ownership. # ls -lL /var/private/smbpasswd If smbpasswd is not group-owned by sys, or system, this is a finding.
Fix: F-33485r1_fix
Use the chgrp command to change the group owner of the smbpasswd file to system. # chgrp system /var/private/smbpasswd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006200
- Vuln IDs
-
- V-1059
- Rule IDs
-
- SV-40725r1_rule
Checks: C-39458r1_chk
Check smbpasswd mode. Procedure: # ls -lL /var/private/smbpasswd If smbpasswd has a mode more permissive than 0600, this is a finding.
Fix: F-34585r1_fix
Change the mode of the smbpasswd file to 0600. Procedure: # chmod 0600 /var/private/smbpasswd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002360
- Vuln IDs
-
- V-1061
- Rule IDs
-
- SV-27253r1_rule
Checks: C-28285r1_chk
Check the group owner of audio devices. Procedure: # /usr/sbin/lsdev -C | grep -i audio # ls -lL /dev/*aud0 If the group owner of an audio device is not root, sys, bin, or system, this is a finding.
Fix: F-1215r2_fix
Change the group owner of the audio device. Procedure: # chgrp system <audio device>
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000057
- Version
- GEN000500
- Vuln IDs
-
- V-4083
- Rule IDs
-
- SV-39096r1_rule
Checks: C-8205r2_chk
Log into a graphical desktop environment provided by the system. Allow the session to remain idle for 15 minutes. If the desktop session is not automatically locked after 15 minutes, or does not require re-authentication to resume operations, this is a finding.
Fix: F-4016r2_fix
Consult vendor documentation to determine the settings required for the system to lock graphical desktop environments. Configure the system to lock graphical desktop environments after 15 minutes of inactivity and require re-authentication to resume operations.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000200
- Version
- GEN000800
- Vuln IDs
-
- V-4084
- Rule IDs
-
- SV-38679r1_rule
Checks: C-36911r1_chk
Procedure: #lsuser -a histsize ALL If the returned histsize for any user is less than 5, this is a finding.
Fix: F-32090r1_fix
Use the chsec command to configure the system to prohibit the reuse of passwords within five iterations. # chsec -f /etc/security/user -s default -a histsize=5 # chuser histsize=5 < user id >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001940
- Vuln IDs
-
- V-4087
- Rule IDs
-
- SV-4087r2_rule
Checks: C-8206r2_chk
Check local initialization files for any executed world-writable programs or scripts. Procedure: # more /<usershomedirectory>/.* # ls -al <program or script> If any local initialization file executes a world-writable program or script, this is a finding.
Fix: F-4020r2_fix
Remove the world-writable permission of files referenced by local initialization scripts, or remove the references to these files in the local initialization scripts.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001660
- Vuln IDs
-
- V-4089
- Rule IDs
-
- SV-27209r1_rule
Checks: C-28187r1_chk
Check the run control scripts' ownership. Procedure: # ls -lL /etc/rc* If any run control script is not owned by root or bin, this is a finding.
Fix: F-4022r2_fix
Change the ownership of the run control script(s) with incorrect ownership. # chown root <run control script>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001680
- Vuln IDs
-
- V-4090
- Rule IDs
-
- SV-27216r1_rule
Checks: C-28193r1_chk
Check run control scripts' group ownership. Procedure: # ls -lL /etc/rc* If any run control script is not group-owned by sys, bin, other, or system, this is a finding.
Fix: F-34013r1_fix
Change the group ownership of the run control script(s) with incorrect group ownership. Procedure: # chgrp sys <run control script>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001700
- Vuln IDs
-
- V-4091
- Rule IDs
-
- SV-27221r1_rule
Checks: C-28190r1_chk
Check the ownership of any files executed from system startup scripts. If any of these files are not owned by root, bin, sys, or other, this is a finding.
Fix: F-24458r1_fix
Change the ownership of the file executed from system startup scripts to root, bin, sys, or other. # chown root <executed file>
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- GEN008620
- Vuln IDs
-
- V-4246
- Rule IDs
-
- SV-38836r1_rule
Checks: C-37097r1_chk
Ask the SA if a password has been given to the Service processors ADMIN account. If a password has not been assigned to the service processor, this is a finding.
Fix: F-33090r1_fix
Access the system's service processor. Set a supervisor/administrator password if one has not been set. Disable a user-level password if one has been set.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN008640
- Vuln IDs
-
- V-4247
- Rule IDs
-
- SV-38837r1_rule
Checks: C-37099r1_chk
Check the servers boot lists for the normal, service, both, or prevboot modes. # bootlist -m <mode> -o Ensure hdisk{x} is the only devices listed. If boot devices, such as cd{x}, fd{x}. rmt{x}, ent{x} are used, this is a finding.
Fix: F-32369r1_fix
Configure the system to use a bootloader installed on fixed media. # bootlist -m normal hdisk0 # bootlist -m service hdisk0
- RMF Control
- SC-32
- Severity
- H
- CCI
- CCI-001208
- Version
- GEN008680
- Vuln IDs
-
- V-4255
- Rule IDs
-
- SV-4255r2_rule
Checks: C-2079r2_chk
Ask the SA if the system boots from removable media. If so, ask if the boot media is stored in a secure container when not in use. If it is not, this is a finding.
Fix: F-4166r2_fix
Store the system boot media in a secure container when not in use.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000012
- Version
- GEN000290
- Vuln IDs
-
- V-4269
- Rule IDs
-
- SV-38767r1_rule
Checks: C-36656r1_chk
Check the system for unnecessary user accounts. Procedure: # more /etc/passwd Some examples of unnecessary accounts includes guest, uucp, games, news, gopher, ftp, and lp. If any unnecessary accounts are found, this is a finding.
Fix: F-34155r1_fix
Remove all unnecessary accounts, such as games, from the /etc/passwd file before connecting a system to the network. Other accounts, such as news and gopher, that are associated with a service not in use should also be removed. # rmuser -p <username>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006260
- Vuln IDs
-
- V-4273
- Rule IDs
-
- SV-39250r1_rule
Checks: C-38224r1_chk
Check /etc/news/hosts.nntp permissions. # find / -name hosts.nntp # ls -lL < hosts.nntp file > If /etc/news/hosts.nntp has a mode more permissive than 0600, this is a finding.
Fix: F-33499r1_fix
Change the mode of the hosts.nntp file to 0600. # chmod 0600 < hosts.nntp file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006280
- Vuln IDs
-
- V-4274
- Rule IDs
-
- SV-39252r1_rule
Checks: C-38226r1_chk
Check /etc/news/hosts.nntp.nolimit permissions. # find / -name hosts.nntp.nolimit # ls -lL < hosts.nntp.nolimit file > If hosts.nntp.nolimit has a mode more permissive than 0600, this is a finding.
Fix: F-33501r1_fix
Change the mode of hosts.nntp.nolimit to 0600. # chmod 0600 < hosts.nntp.nolimit file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006300
- Vuln IDs
-
- V-4275
- Rule IDs
-
- SV-39255r1_rule
Checks: C-38229r1_chk
Check /etc/news/nnrp.access permissions. # find / -name nnrp.access # ls -lL < nnrp.access > If /etc/news/nnrp.access has a mode more permissive than 0600, this is a finding.
Fix: F-33504r1_fix
Change the mode of the nnrp.access file to 0600. # chmod 0600 < nnrp.access >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006320
- Vuln IDs
-
- V-4276
- Rule IDs
-
- SV-39260r1_rule
Checks: C-38235r1_chk
Check /etc/news/passwd.nntp permissions. # find / -name passwd.nntp # ls -lL < passwd.nntp > If passwd.nntp has a mode more permissive than 0600, this is a finding.
Fix: F-33509r1_fix
Change the mode of the passwd.nntp file. # chmod 0600 < passwd.nntp >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006340
- Vuln IDs
-
- V-4277
- Rule IDs
-
- SV-4277r2_rule
Checks: C-28776r1_chk
Check the ownership of the files in /etc/news. Procedure: # ls -al /etc/news If any files are not owned by root or news, this is a finding.
Fix: F-4188r2_fix
Change the ownership of the files in /etc/news to root or news. Procedure: # chown root /etc/news/*
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006360
- Vuln IDs
-
- V-4278
- Rule IDs
-
- SV-40837r1_rule
Checks: C-39549r1_chk
Check /etc/news files group ownership. Procedure: # ls -al /etc/news If /etc/news files are not group-owned by system or news, this is a finding.
Fix: F-34681r1_fix
Change the group owner of the files in /etc/news to system or news. Procedure: # chgrp news /etc/news/*
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-AIX00040
- Vuln IDs
-
- V-4284
- Rule IDs
-
- SV-4284r2_rule
Checks: C-2446r2_chk
The securetcpip command is in /etc. If it is not there, this is a finding. Perform: more /etc/security/config If the stanza below is not there, this is a finding. tcpip: netrc = ftp, rexec The stanza indicates the securetcpip command, which disables all the unsafe tcpip commands, (e.g., rsh, rlogin, tftp) has been executed.
Fix: F-33317r1_fix
Ensure secure tcp/ip has been invoked before allowing operations on the system.
- RMF Control
- SI-7
- Severity
- M
- CCI
- CCI-001298
- Version
- GEN000000-AIX00060
- Vuln IDs
-
- V-4287
- Rule IDs
-
- SV-4287r2_rule
Checks: C-2449r3_chk
Perform the following command with no parameters to ensure the system is in trusted mode. # /bin/tcbck If TCB is not installed, the output will show an error code of 3001-101 and/or a text message indicating TCB is not installed. If the output from the command indicates it is not in trusted mode, this is not reviewed. Otherwise, check the root crontab to verify tcbck is executed weekly. If it is not in the crontab, ask the SA if the check is run manually and to see the results of the check.
Fix: F-4198r2_fix
Add tcbck command as a weekly cronjob with the output sent to the SA.
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001436
- Version
- GEN005500
- Vuln IDs
-
- V-4295
- Rule IDs
-
- SV-40862r1_rule
Checks: C-39554r2_chk
Examine the sshd configuration file. # grep -i Protocol /etc/ssh/sshd_config If Protocol 2,1 or Protocol 1 are defined on a line without a leading comment, this is a finding.
Fix: F-4206r2_fix
Edit the configuration file and modify the Protocol line. Protocol 2 Restart sshd: /sbin/init.d/secsh stop /sbin/init.d/secsh start
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000070
- Version
- GEN001000
- Vuln IDs
-
- V-4298
- Rule IDs
-
- SV-27149r1_rule
Checks: C-28076r1_chk
Check /etc/security/login.cfg # more /etc/security/login.cfg If an alternate console is defined, this is a finding.
Fix: F-24423r1_fix
Edit /etc/security/login.cfg and remove the alternate console definition.
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-001492
- Version
- GEN000240
- Vuln IDs
-
- V-4301
- Rule IDs
-
- SV-38666r1_rule
Checks: C-36610r2_chk
Verify if NTP running. # lssrc -s xntpd or # ps -ef | egrep "xntpd|ntpd" or # ntpq -p Verify xntpd is started at boot time and scheduled to run. #grep xntpd /etc/rc.tcpip | grep -v \# If NTP is running use the following command. # more /etc/ntp.conf and # ntpq -p Confirm the servers and peers or multicastclient (as applicable) are local or an authoritative U.S. DoD source. If a non-local/non-authoritative (U.S. DoD source) time-server is used, this is a finding.
Fix: F-31621r1_fix
Use a local authoritative time server that synchronizes to an authorized DoD time source. Ensure all systems in the facility feed from one or more local time servers feeding from the authoritative time server. View the (x)ntp/(x)ntpd man page(s). # man xntpd Create/edit the /etc/ntp.conf file, delete any non-local and/or non-US/DoD sources and insert the local or an authoritative US/DoD source. Start or restart the NTP service. # refresh -s xntpd OR # stopsrc -s xntpd # startsrc -s xntpd
- RMF Control
- CP-10
- Severity
- M
- CCI
- CCI-000553
- Version
- GEN003640
- Vuln IDs
-
- V-4304
- Rule IDs
-
- SV-38909r1_rule
Checks: C-36860r1_chk
Logging should be enabled for those types of files systems that do not turn on logging by default. Procedure: # mount #lsfs JFS, JFS2, VXFS, HFS, XFS, reiserfs, EXT3, and EXT4 all turn logging on by default and will not be a finding. The ZFS file system uses other mechanisms to provide for file system consistency, and will not be a finding. For other file system types, if the root file system does not have the logging option, this is a finding. If the nolog option or the log=NULL option is set on the root file system, this is a finding.
Fix: F-4215r2_fix
Implement file system journaling for the root file system, or use a file system using other mechanisms to ensure consistency. If the root file system supports journaling, enable it. If the file system does not support journaling or another mechanism to ensure consistency, a migration to a different file system will be necessary.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN006060
- Vuln IDs
-
- V-4321
- Rule IDs
-
- SV-4321r2_rule
Checks: C-2132r2_chk
Check the system for a running Samba server. Procedure: # ps -ef |grep smbd If the Samba server is running, ask the SA if the Samba server is operationally required. If it is not, this is a finding.
Fix: F-4232r2_fix
If there is no functional need for Samba and the daemon is running, disable the daemon by killing the process ID as noted from the output of ps -ef |grep smbd. The utility should also be removed or not installed if there is no functional requirement.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002860
- Vuln IDs
-
- V-4357
- Rule IDs
-
- SV-4357r2_rule
Checks: C-8278r2_chk
Check for any crontab entries that rotate audit logs. Procedure: # crontab -l If such a cron job is found, this is not a finding. Otherwise, query the SA. If there is a process automatically rotating audit logs, this is not a finding. If the SA manually rotates audit logs, this is still a finding, because if the SA is not there, it will not be accomplished. If the audit output is not archived daily, to tape or disk, this is a finding. This can be ascertained by looking at the audit log directory and, if more than one file is there, or if the file does not have today's date, this is a finding.
Fix: F-4268r2_fix
Configure a cron job or other automated process to rotate the audit logs on a daily basis.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003200
- Vuln IDs
-
- V-4358
- Rule IDs
-
- SV-39874r1_rule
Checks: C-38876r1_chk
Check the mode of the cron.deny file. # ls -lL /var/adm/cron/cron.deny If the cron.deny file is more permissive than 0640, this is a finding.
Fix: F-34020r1_fix
Change the mode of the cron.deny file. # chmod 0640 /var/adm/cron/cron.deny
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003220
- Vuln IDs
-
- V-4360
- Rule IDs
-
- SV-27364r1_rule
Checks: C-28508r1_chk
Determine if there are any crontabs by viewing a long listing of the directory. If there are crontabs, examine them to determine what cron jobs exist. Check for any programs specifying an umask. # ls -lL /var/spool/cron/crontabs # cat <crontab file> # grep umask <cron program> If there are no cron jobs present, this vulnerability is not applicable. If any cron job contains an umask value more permissive than 077, this is a finding.
Fix: F-4271r2_fix
Edit cron script files and modify the umask to 077.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003240
- Vuln IDs
-
- V-4361
- Rule IDs
-
- SV-27367r1_rule
Checks: C-28511r1_chk
# ls -lL /var/adm/cron/cron.allow If the cron.allow file is not owned by root, sys, or bin, this is a finding.
Fix: F-24612r1_fix
# chown root /var/adm/cron/cron.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003400
- Vuln IDs
-
- V-4364
- Rule IDs
-
- SV-38907r1_rule
Checks: C-37215r1_chk
Check the mode of the at directory. # ls -lLd /var/spool/cron/atjobs If the directory mode is more permissive than 0755, this is a finding.
Fix: F-4275r2_fix
Change the mode of the "at" directory to 0755. Procedure: # chmod 0755 < at directory >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003420
- Vuln IDs
-
- V-4365
- Rule IDs
-
- SV-39350r1_rule
Checks: C-38296r1_chk
Check the ownership of the at directory. Procedure: # ls -ld /var/spool/cron/atjobs If the directory is not owned by root, bin, sys, daemon, or cron, this is a finding.
Fix: F-33584r1_fix
Change the owner of the at directory to root, bin, sys, daemon, or cron. Procedure: # chown bin /var/spool/cron/atjobs
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003440
- Vuln IDs
-
- V-4366
- Rule IDs
-
- SV-4366r2_rule
Checks: C-8247r2_chk
Determine what "at" jobs exist on the system. Procedure: # ls /var/spool/cron/atjobs /var/spool/atjobs If there are no "at" jobs present, this is not applicable. Determine if any of the "at" jobs or any scripts referenced execute the umask command. Check for any umask setting more permissive than 077. # grep umask <at job or referenced script> If any "at" job or referenced script sets umask to a value more permissive than 077, this is a finding.
Fix: F-4277r2_fix
Edit "at" jobs or referenced scripts to remove umask commands setting umask to a value less restrictive than 077.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003460
- Vuln IDs
-
- V-4367
- Rule IDs
-
- SV-27393r1_rule
Checks: C-28556r1_chk
# ls -lL /var/adm/cron/at.allow If the at.allow file is not owned by root, sys, or bin, this is a finding.
Fix: F-24641r1_fix
Change the owner of the at.allow file. # chown root /var/adm/cron/at.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003480
- Vuln IDs
-
- V-4368
- Rule IDs
-
- SV-27397r1_rule
Checks: C-28560r1_chk
# ls -lL /var/adm/cron/at.deny If the at.deny file is not owned by root, sys, or bin, this is a finding.
Fix: F-24645r1_fix
Change the owner of the at.deny file. # chown root /var/adm/cron/at.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003960
- Vuln IDs
-
- V-4369
- Rule IDs
-
- SV-28393r1_rule
Checks: C-28630r1_chk
# ls -lL /usr/bin/traceroute If the traceroute command is not owned by root, this is a finding.
Fix: F-25665r1_fix
Change the owner of the traceroute command to root. Example: # chown root /usr/bin/traceroute
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003980
- Vuln IDs
-
- V-4370
- Rule IDs
-
- SV-28397r1_rule
Checks: C-28633r1_chk
Check the group ownership of the traceroute file. Procedure: # ls -lL /usr/bin/traceroute If the traceroute command is not group-owned by sys, bin, or system, this is a finding.
Fix: F-25668r1_fix
Change the group owner of the traceroute command to sys, bin, or system. Procedure: # chgrp system /usr/bin/traceroute
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004000
- Vuln IDs
-
- V-4371
- Rule IDs
-
- SV-28400r1_rule
Checks: C-28636r1_chk
# ls -lL /usr/bin/traceroute If the traceroute command has a mode more permissive than 0700, this is a finding.
Fix: F-25671r1_fix
Change the mode of the traceroute command. # chmod 0700 /usr/bin/traceroute
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN004220
- Vuln IDs
-
- V-4382
- Rule IDs
-
- SV-4382r2_rule
Checks: C-8266r2_chk
Look in the root account home directory for a .netscape or a .mozilla directory. If none exists, this is not a finding. If there is one, verify with the root users and the IAO what the intent of the browsing is. Some evidence may be obtained by using the browser to view cached pages under the .netscape directory.
Fix: F-4293r2_fix
Enforce policy requiring administrative accounts use web browsers only for local service administration.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004560
- Vuln IDs
-
- V-4384
- Rule IDs
-
- SV-39164r1_rule
Checks: C-38146r1_chk
Check for the Sendmail version being displayed in the greeting. # telnet localhost 25 If a version number is displayed, this is a finding.
Fix: F-33419r1_fix
Ensure Sendmail or its equivalent has been configured to mask the version information. If necessary, change the O SmtpGreetingMessage line in the /etc/sendmail.cf file. O SmtpGreetingMessage=$j Sendmail $v/$Z; $b Change it to: O SmtpGreetingMessage= Mail Server Ready ; $b
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN004580
- Vuln IDs
-
- V-4385
- Rule IDs
-
- SV-4385r2_rule
Checks: C-8268r2_chk
Search for any .forward files on the system. # find / -name .forward -print This is considered a finding if any .forward files are found on the system.
Fix: F-4296r2_fix
Remove .forward files from the system.
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN005000
- Vuln IDs
-
- V-4387
- Rule IDs
-
- SV-4387r2_rule
Checks: C-8269r2_chk
Check the shell for the anonymous FTP account. Procedure: # grep "^ftp" /etc/passwd This is a finding if the seventh field is empty (the entry ends with a ':') or if the seventh field does not contain one of the following. /bin/false /dev/null /usr/bin/false /bin/true /sbin/nologin
Fix: F-4298r2_fix
Configure anonymous FTP accounts to use a non-functional shell. If necessary, edit the /etc/passwd file to remove any functioning shells associated with the FTP account and replace them with non-functioning shells, such as, /dev/null.
- RMF Control
- SC-32
- Severity
- M
- CCI
- CCI-001208
- Version
- GEN005380
- Vuln IDs
-
- V-4392
- Rule IDs
-
- SV-4392r2_rule
Checks: C-8271r2_chk
Ask the SA if this is an NMS server. If it is an NMS server, then ask what other applications run on it. If there is anything other than network management software and DBMS software used only for the storage and inquiry of NMS data, this is a finding.
Fix: F-4303r2_fix
Ensure only authorized software is loaded on a designated NMS server. Authorized software is limited to the NMS software itself, a database management system for the NMS server if necessary, and network management software.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005400
- Vuln IDs
-
- V-4393
- Rule IDs
-
- SV-4393r2_rule
Checks: C-8272r2_chk
Check /etc/syslog.conf ownership. # ls -lL /etc/syslog.conf If /etc/syslog.conf is not owned by root, this is a finding.
Fix: F-4304r2_fix
Use the chown command to set the owner to root. # chown root /etc/syslog.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005420
- Vuln IDs
-
- V-4394
- Rule IDs
-
- SV-40364r1_rule
Checks: C-39246r1_chk
Check /etc/syslog.conf group ownership. Procedure: # ls -lL /etc/syslog.conf If /etc/syslog.conf is not group-owned by sys, bin, or system, this is a finding.
Fix: F-34348r1_fix
Change the group owner of the /etc/syslog.conf file to bin, sys, or system. Procedure: # chgrp system /etc/syslog.conf
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005460
- Vuln IDs
-
- V-4395
- Rule IDs
-
- SV-4395r2_rule
Checks: C-8274r2_chk
Examine the syslog.conf file for any references to remote log hosts. # grep -v "^#" /etc/syslog.conf | grep '@' Destination locations beginning with an @ represent log hosts. If the log host name is a local alias, such as log host, consult the /etc/hosts or other name databases as necessary to obtain the canonical name or address for the log host. Determine if the host referenced is a log host documented using site-defined procedures. If an undocumented log host is referenced, this is a finding.
Fix: F-4306r3_fix
Remove, replace, or document the referenced undocumented log host.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005560
- Vuln IDs
-
- V-4397
- Rule IDs
-
- SV-39217r1_rule
Checks: C-8275r2_chk
Check the system for an IPv4 default route. Procedure: # netstat -r |grep default If a default route is not defined, this is a finding.
Fix: F-33468r1_fix
Set a default gateway for IPv4. # smitty route OR # route add 0 < ip address of gateway >
- RMF Control
- SC-32
- Severity
- M
- CCI
- CCI-001208
- Version
- GEN005580
- Vuln IDs
-
- V-4398
- Rule IDs
-
- SV-4398r2_rule
Checks: C-8276r2_chk
Ask the SA if the system is a designated router. If it is not, this is not applicable. Check the system for non-routing network services. Procedure: # netstat -a | grep -i listen # ps -ef If non-routing services, including Web servers, file servers, DNS servers, or applications servers, but excluding management services, such as SSH and SNMP, are running on the system, this is a finding.
Fix: F-4309r2_fix
Ensure only authorized software is loaded on a designated router. Authorized software will be limited to the most current version of routing protocols and SSH for system administration purposes.
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001436
- Version
- GEN006380
- Vuln IDs
-
- V-4399
- Rule IDs
-
- SV-4399r2_rule
Checks: C-8277r2_chk
If the system does not use NIS or NIS+, this is not applicable. Check if NIS or NIS+ is implemented using UDP. Procedure: # rpcinfo -p | grep yp | grep udp If NIS or NIS+ is implemented using UDP, this is a finding.
Fix: F-4310r2_fix
Configure the system to not use UDP for NIS and NIS+. Consult vendor documentation for the required procedure.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002020
- Vuln IDs
-
- V-4427
- Rule IDs
-
- SV-4427r2_rule
Checks: C-8219r2_chk
Locate and examine all .rhosts, .shosts, hosts.equiv, and shosts.equiv files. Procedure: # find / -name .rhosts # more /<directorylocation>/.rhosts # find / -name .shosts # more /<directorylocation>/.shosts # find / -name hosts.equiv # more /<directorylocation>/hosts.equiv # find / -name shosts.equiv # more /<directorylocation>/shosts.equiv If any .rhosts, .shosts, hosts.equiv, or shosts.equiv file contains other than host-user pairs, this is a finding.
Fix: F-4326r2_fix
If possible, remove the .rhosts, .shosts, hosts.equiv, and shosts.equiv files. If the files are required, remove any content from the files except for necessary host-user pairs.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002060
- Vuln IDs
-
- V-4428
- Rule IDs
-
- SV-39502r1_rule
Checks: C-8220r2_chk
# find / -type f -name .rhosts # ls -alL /<directorylocation>/.rhosts # find / -type f -name .shosts # ls -alL /<directorylocation>/.shosts # find / -type f -name hosts.equiv # ls -lL /<directorylocation>/hosts.equiv # find / -type f -name shosts.equiv # ls -lL /<directorylocation>/shosts.equiv If the .rhosts, .shosts, hosts.equiv, or shosts.equiv files have permissions greater than 700, this is a finding.
Fix: F-4327r2_fix
Ensure the permission for these files is set at 700 or less and the owner is the owner of the home directory that it is in. These files, outside of home directories (other than hosts.equiv which is in /etc and owned by root), have no meaning.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003260
- Vuln IDs
-
- V-4430
- Rule IDs
-
- SV-27372r1_rule
Checks: C-28524r1_chk
# ls -lL /var/adm/cron/cron.deny If the cron.deny file is not owned by root, sys, or bin, this is a finding.
Fix: F-24618r1_fix
# chown root /var/adm/cron/cron.deny
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-000068
- Version
- GEN003820
- Vuln IDs
-
- V-4687
- Rule IDs
-
- SV-27434r1_rule
Checks: C-28620r1_chk
# grep -v "^#" /etc/inetd.conf |grep rshd If rshd is found to be enabled, this is a finding.
Fix: F-24706r1_fix
Edit /etc/inetd.conf and comment out the rshd service. Restart the inetd service.
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001435
- Version
- GEN003840
- Vuln IDs
-
- V-4688
- Rule IDs
-
- SV-38878r1_rule
Checks: C-37883r1_chk
# grep -v "^#" /etc/inetd.conf |grep rexec If any results are returned, this is a finding.
Fix: F-33130r1_fix
Edit /etc/inetd.conf and comment out the line for the rexec service. Refresh the inetd daemon. # refresh -s inetd
- RMF Control
- SI-2
- Severity
- H
- CCI
- CCI-001230
- Version
- GEN004600
- Vuln IDs
-
- V-4689
- Rule IDs
-
- SV-38917r1_rule
Checks: C-36887r2_chk
Determine the version of the SMTP service software. Locate the sendmail daemon. Procedure: # find / -name sendmail Obtain version information for the Sendmail daemon. Procedure: # what < file location > OR # strings < file location > | grep version OR # echo \$Z | sendmail -d0 Version 8.14.5 is the latest released version. If the Sendmail version is not at least 8.14.5 or the vendor's latest version, this is a finding.
Fix: F-33422r1_fix
Obtain and install a newer version of Sendmail from the operating system vendor or from http://www.sendmail.org or ftp://ftp.cs.berkeley.edu/ucb/sendmail.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN004620
- Vuln IDs
-
- V-4690
- Rule IDs
-
- SV-4690r2_rule
Checks: C-652r3_chk
Check for an enabled debug command provided by the SMTP service. Procedure: # telnet localhost 25 debug If the command does not return a 500 error code of command unrecognized, this is a finding. If telnet is unavailable for testing, check the version of sendmail installed on the system. # echo \$Z | /usr/sbin/sendmail -bt -d0 If the sendmail reported version is less than 8.6, this is a finding.
Fix: F-4618r2_fix
Obtain and install a more recent version of Sendmail, which does not implement the DEBUG feature.
- RMF Control
- SI-2
- Severity
- H
- CCI
- CCI-001230
- Version
- GEN004640
- Vuln IDs
-
- V-4691
- Rule IDs
-
- SV-4691r2_rule
Checks: C-653r2_chk
Check the SMTP service for an active decode command. Procedure: # telnet localhost 25 decode If the command does not return a 500 error code of command unrecognized, this is a finding.
Fix: F-4619r2_fix
Disable mail aliases for decode and uudecode. If the /etc/aliases or /usr/lib/aliases (mail alias) file contains entries for these programs, remove them or disable them by placing # at the beginning of the line, and then executing the "newaliases" command. For more information on mail aliases, refer to the man page for aliases. Disabled aliases would be similar to the examples below: # decode: |/usr/bin/uudecode # uudecode: |/usr/bin/uuencode -d
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004660
- Vuln IDs
-
- V-4692
- Rule IDs
-
- SV-28402r1_rule
Checks: C-655r2_chk
Perform the following to determine if EXPN is disabled: # telnet localhost 25 expn root If the command does not return a 500 error code of command unrecognized, this is a finding. OR Locate the sendmail.cf configuration file by: # find / -name sendmail.cf -print # grep -v "^#" <sendmail.cf location> |grep -i privacyoptions The O PrivacyOptions should have the noexpn or the goaway option (covering both noexpn and novrfy). If the EXPN command is not disabled, this is a finding.
Fix: F-25673r1_fix
Edit the sendmail.cf file and add or edit the following line: O PrivacyOptions=goaway Restart the Sendmail service.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004680
- Vuln IDs
-
- V-4693
- Rule IDs
-
- SV-39171r1_rule
Checks: C-38150r1_chk
Determine if VRFY is disabled. Procedure: # telnet localhost 25 vrfy root If the command does not return a 500 error code of command unrecognized, this is a finding. OR Locate the sendmail.cf configuration file. Procedure: # find / -name sendmail.cf -print # grep -v "^#" |grep -i vrfy Ensure the VRFY command is disabled with an entry in the sendmail.cf file. The entry could be any one of Opnovrfy, novrfy, or goaway, which could also have other options included, such as noexpn. The goaway argument encompasses many things, such as novrfy and noexpn. If no setting to disable VRFY is found, this is a finding.
Fix: F-33425r1_fix
If you are running Sendmail, add the line Opnovrfy to your Sendmail configuration file, usually located in /etc/sendmail.cf. For other mail servers, contact the vendor for information on how to disable the verify command. Newer versions of Sendmail are available at http://www.sendmail.org or from ftp://ftp.cs.berkeley.edu/ucb/sendmail.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004700
- Vuln IDs
-
- V-4694
- Rule IDs
-
- SV-4694r2_rule
Checks: C-706r2_chk
Locate the sendmail.cf configuration file and check for wiz configuration. Procedure: # find / -name sendmail.cf -print # grep -v "^#" <sendmail.cf location> |grep -i wiz If an entry is found for wiz, this is a finding.
Fix: F-4622r2_fix
If the WIZ command is enabled on Sendmail, it should be disabled by adding this line to the sendmail.cf configuration file (it must be typed in uppercase). OW* For the change to take effect, kill the Sendmail process, refreeze the sendmail.cf file, and restart the Sendmail process.
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN005140
- Vuln IDs
-
- V-4695
- Rule IDs
-
- SV-39193r1_rule
Checks: C-38171r1_chk
Determine if the TFTP daemon is active. # grep -v "^#" /etc/inetd.conf |grep tftp If TFTP is found enabled, it is a finding if it is not documented using site-defined procedures.
Fix: F-33446r1_fix
Disable the TFTP daemon. Edit /etc/inetd.conf and comment out the tftp line. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN005280
- Vuln IDs
-
- V-4696
- Rule IDs
-
- SV-28427r1_rule
Checks: C-28692r1_chk
# grep uucp /etc/inetd.conf If uucp is found enabled, this is a finding.
Fix: F-25720r1_fix
Edit /etc/inetd.conf and comment out the uucp service. Restart the inetd service.
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN005200
- Vuln IDs
-
- V-4697
- Rule IDs
-
- SV-4697r2_rule
Checks: C-719r2_chk
If X Windows is not used on the system, this is not applicable. Check the output of the xhost command from an X terminal. Procedure: $ xhost If the output reports access control is enabled (and possibly lists the hosts that can receive X Window logins), this is not a finding. If the xhost command returns a line indicating access control is disabled, this is a finding. NOTE: It may be necessary to define the display if the command reports it cannot open the display. Procedure: $ DISPLAY=MachineName:0.0; export DISPLAY MachineName may be replaced with an Internet Protocol Address. Repeat the check procedure after setting the display.
Fix: F-4625r2_fix
If using an xhost-type authentication the xhost - command can be used to remove current trusted hosts and then selectively allow only trusted hosts to connect with xhost + commands. A cryptographically secure authentication, such as provided by the xauth program, is always preferred. Refer to your X11 server's documentation for further security information.
- RMF Control
- AC-4
- Severity
- L
- CCI
- CCI-001551
- Version
- GEN003860
- Vuln IDs
-
- V-4701
- Rule IDs
-
- SV-27440r1_rule
Checks: C-28626r1_chk
# grep -v "^#" /etc/inetd.conf |grep finger If the finger service is not disabled, this is a finding.
Fix: F-24712r1_fix
Edit /etc/inetd.conf and comment out the finger service line. Restart the inetd service.
- RMF Control
- IA-4
- Severity
- M
- CCI
- CCI-000787
- Version
- GEN004840
- Vuln IDs
-
- V-4702
- Rule IDs
-
- SV-4702r2_rule
Checks: C-712r2_chk
Use the command ftp to connect the system's FTP service. Attempt to log into this host with a user name of anonymous and a password of guest (also try the password of guest@mail.com). If the logon is not successful, this check is not applicable. Ask the SA if the system is located on a DMZ network. If the system is not located on a DMZ network, this is a finding.
Fix: F-4630r2_fix
Move the system to a DMZ network.
- RMF Control
- SI-2
- Severity
- H
- CCI
- CCI-001230
- Version
- GEN000100
- Vuln IDs
-
- V-11940
- Rule IDs
-
- SV-27052r1_rule
Checks: C-36589r1_chk
# oslevel Vendor supported versions are 5.3 and later at the time of writing. AIX 5.3 End of support 30 April 2012 AIX 5.2 End of support 30 April 2009 AIX 5.1 End of support 1 April 2006 If the release is not supported, this is a finding.
Fix: F-11211r2_fix
Upgrade to a supported version of the operating system.
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000293
- Version
- GEN000140
- Vuln IDs
-
- V-11941
- Rule IDs
-
- SV-38784r1_rule
Checks: C-7918r2_chk
Determine if a file integrity baseline, which includes cryptographic hashes, has been created and maintained for the system. If no file integrity baseline exists for the system, this is a finding. If the file integrity baseline contains no cryptographic hashes, this is a finding. If the file integrity baseline is not maintained (has not been updated to be consistent with the latest approved system configuration changes), this is a finding.
Fix: F-31619r1_fix
Create a file integrity baseline, including cryptographic hashes, for the system. # find / -depth -print | tee Baseline Open the above file and either manually execute md5sum, csum, or the chksum command on each file. Alternatively, write a script to perform the above. NOTE: For security purposes, "md5sum" is preferred over "chksum". The md5sum command can be loaded from the Linux Tool Kit for AIX. Alternatively, OpenSSL can be used to create hashes. #openssl dgst -md5 < file >
- RMF Control
- RA-5
- Severity
- M
- CCI
- CCI-001069
- Version
- GEN000220
- Vuln IDs
-
- V-11945
- Rule IDs
-
- SV-28610r1_rule
Checks: C-28849r2_chk
Determine if there is a cron job, scheduled to run weekly or more frequently, to run the file integrity tool to check for unauthorized system libraries or binaries, or unauthorized modification to authorized system libraries or binaries. Procedure: # crontab -l If there is no cron job meeting these requirements, this is a finding. NOTE: For MAC I systems, increase the frequency to daily.
Fix: F-25883r2_fix
Create a cron job, scheduled to run weekly or more frequently, to run the file integrity tool to check for unauthorized system libraries or binaries, or unauthorized modification to authorized system libraries or binaries. NOTE: For MAC I systems, increase the frequency to daily.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000340
- Vuln IDs
-
- V-11946
- Rule IDs
-
- SV-38669r1_rule
Checks: C-36661r1_chk
Check the UID assignments of all accounts. # more /etc/passwd Confirm all accounts with a UID of 128 and below are used by a system account. If a UID reserved for system accounts (0-128) is used by a non-system account, this is a finding.
Fix: F-31625r1_fix
Using the usermod command, change the UID numbers for non-system accounts with reserved UIDs (those less or equal to 128). # usermod -u <uid> login Alternatively, smit can be used for this same purpose. #smitty users
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000205
- Version
- GEN000580
- Vuln IDs
-
- V-11947
- Rule IDs
-
- SV-38936r1_rule
Checks: C-28028r1_chk
Check the system password length setting. # /usr/sbin/lsuser -a minlen ALL If minlen is not set to 14 or more, this is a finding.
Fix: F-31635r1_fix
Change the minimum password length to 14 or more. # chsec -f /etc/security/user -s default -a minlen=14 # chuser minlen=14 <user id>
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-001619
- Version
- GEN000640
- Vuln IDs
-
- V-11973
- Rule IDs
-
- SV-39503r1_rule
Checks: C-38421r1_chk
Check the minother setting. Procedure: # grep minother /etc/security/user OR # lsuser -a minother ALL If the minother setting is less than 1, this is a finding.
Fix: F-33711r1_fix
Use the chsec command to set the minother setting to 1. # chsec -f /etc/security/user -s default -a minother=1 # chuser minother=1 < user id >
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000680
- Vuln IDs
-
- V-11975
- Rule IDs
-
- SV-38675r1_rule
Checks: C-36902r1_chk
Check the maxrepeats setting. Procedure: # grep -i maxrepeats /etc/security/user OR # lsuser -a maxrepeats ALL If the maxrepeats setting is greater than 3, this is a finding.
Fix: F-32056r1_fix
Use the chsec command to set maxrepeats to 3. # chsec -f /etc/security/user -s default -a maxrepeats=3 # chuser maxrepeats=3 < user id >
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000180
- Version
- GEN000700
- Vuln IDs
-
- V-11976
- Rule IDs
-
- SV-38939r1_rule
Checks: C-28049r1_chk
Check the maxage field for each user. The field represents the number of weeks a password is valid. Procedure: # /usr/sbin/lsuser -a maxage ALL If the maxage field is 0 or greater than 8 for any user, this is a finding.
Fix: F-32059r1_fix
Use the chsec command to set the maxage field to 8 for each user. # chsec -f /etc/security/user -s default -a maxage=8 # chuser maxage=8 < user id >
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000199
- Version
- GEN000740
- Vuln IDs
-
- V-11977
- Rule IDs
-
- SV-38676r1_rule
Checks: C-36905r1_chk
NOTE: This will always require a manual review. This is a local policy issue/question. Ask the SA if there are any automated processing accounts on the system. If there are automated processing accounts on the system, ask the SA if the passwords for those automated accounts are changed at least once a year. If the SA indicates passwords for automated processing accounts are not changed once per year, this is a finding. Procedure: Go to last password change date for the system account. # grep -p <account_name> /etc/security/passwd | grep lastupdate To examine the time a password was last changed, the following perl script has been provided. Put the lastupdate value in the <lastupdate>. #perl -e 'use POSIX; print strftime("%c\n" , localtime(<lastupdate>));'
Fix: F-32066r1_fix
Implement or establish procedures to change the passwords of automated processing accounts at least once per year. #passwd account
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- GEN001020
- Vuln IDs
-
- V-11979
- Rule IDs
-
- SV-40787r1_rule
Checks: C-39527r1_chk
Check if the root is used for direct logins. Procedure: # last root | grep -v reboot If any direct login records for root exist, this is a finding.
Fix: F-11240r3_fix
Enforce policy requiring all root account access is attained by first logging into a user account and then becoming root (using su, for example).
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN001060
- Vuln IDs
-
- V-11980
- Rule IDs
-
- SV-27154r1_rule
Checks: C-28084r1_chk
Check the following log files to determine if access to the root account is being logged. Try to su - and enter an incorrect password. # more /var/adm/sulog If root login accounts are not being logged, this is a finding.
Fix: F-11241r2_fix
Troubleshoot the system logging configuration to provide for logging of root account login attempts.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001720
- Vuln IDs
-
- V-11981
- Rule IDs
-
- SV-38882r1_rule
Checks: C-37157r1_chk
Check global initialization files permissions: # ls -l /etc/.login /etc/profile /etc/bashrc /etc/environment /etc/security/environ /etc/security/.profile /etc/csh.login /etc/csh.cshrc If global initialization files are more permissive than 0644, this is a finding.
Fix: F-11242r2_fix
Change the mode of the global initialization file(s) to 0444. # chmod 0444 <global initialization file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001740
- Vuln IDs
-
- V-11982
- Rule IDs
-
- SV-38884r1_rule
Checks: C-37161r1_chk
Check the ownership of global initialization files. Procedure: # ls -lL /etc/.login /etc/profile /etc/bashrc /etc/environment /etc/security/environ /etc/security/.profile /etc/csh.login /etc/csh.cshrc If any global initialization file is not owned by root, this is a finding.
Fix: F-11243r2_fix
Change the ownership of global initialization files with incorrect ownership. Procedure: # chown bin <global initialization files>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001760
- Vuln IDs
-
- V-11983
- Rule IDs
-
- SV-38892r1_rule
Checks: C-37162r1_chk
Check the group ownership of global initialization files. Procedure: # ls -lL /etc/.login /etc/profile /etc/bashrc /etc/environment /etc/security/environ /etc/security/.profile /etc/csh.login /etc/csh.cshrc If any global initialization file is not group-owned by sys, bin, system, or security, this is a finding.
Fix: F-33353r1_fix
Change the group ownership of the global initialization file(s) with incorrect group ownership. Procedure: # chgrp system <global initialization file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001820
- Vuln IDs
-
- V-11984
- Rule IDs
-
- SV-38737r1_rule
Checks: C-37238r1_chk
Check skeleton files ownership. Procedure: # ls -l /etc/security/.profile /etc/security/mkuser.sys If a skeleton file is not owned by root or bin, this is a finding.
Fix: F-32452r1_fix
Change the ownership of skeleton files with incorrect mode. # chown root /etc/security/.profile /etc/security/mkuser.sys
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001840
- Vuln IDs
-
- V-11985
- Rule IDs
-
- SV-12486r2_rule
Checks: C-7950r2_chk
Check the global initialization files' executable search paths. Procedure: # grep -i PATH /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/environment /etc/.login /etc/security/environ This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), this is a relative path, and this is a finding.
Fix: F-11246r3_fix
Edit the global initialization file(s) with PATH variables containing relative paths. Edit the file and remove the relative path from the PATH variable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001900
- Vuln IDs
-
- V-11986
- Rule IDs
-
- SV-12487r3_rule
Checks: C-7951r3_chk
NOTE: The following must be done in the BASH shell. Examine the PATH variable contained in any user's local initialization files to ensure the use of only absolute paths, using a command shell that supports the use of ~USER as USER's home directory. # cat /etc/passwd | cut -f 1,1 -d ":" | xargs -n1 -IUSER sh -c 'grep -i PATH ~USER/.*' The PATH variable is a colon-delimited directory list. An empty entry is defined by a leading/trailing colon or two consecutive colons. A relative path is defined as an entry beginning with a character other than a slash (/). If an empty or relative path is defined in the PATH variable, this is a finding.
Fix: F-11247r2_fix
Edit the local initialization file(s) and remove the relative path entry from the PATH variable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001980
- Vuln IDs
-
- V-11987
- Rule IDs
-
- SV-38740r1_rule
Checks: C-37175r1_chk
Check system configuration files for plus (+) entries. Procedure: # find / -name .rhosts # cat /<directorylocation>/.rhosts | grep -v "^#" | grep "\+" # find / -name .shosts # cat /<directorylocation>/.shosts | grep -v "^#" | grep "\+" # find / -name hosts.equiv # cat /<directorylocation>/hosts.equiv | grep -v "^#" | grep "\+" # find / -name shosts.equiv # cat /<directorylocation>/shosts.equiv | grep -v "^#" | grep "\+" # cat /etc/passwd | grep -v "^#" | grep "\+" # cat /etc/security/passwd | grep -v "^#" | grep "\+" # cat /etc/group | grep -v "^#" | grep "\+" If the .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files contain a plus (+) and do not define entries for NIS+ netgroups, this is a finding.
Fix: F-32455r1_fix
Edit the .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/security/passwd, and/or /etc/group files and remove entries containing a plus (+).
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN002040
- Vuln IDs
-
- V-11988
- Rule IDs
-
- SV-12489r2_rule
Checks: C-7953r2_chk
Check for the existence of the files. # find / -name .rhosts # find / -name .shosts # find / -name hosts.equiv # find / -name shosts.equiv If .rhosts, .shosts, hosts.equiv, or shosts.equiv are found, this is a finding.
Fix: F-11249r2_fix
Remove the .rhosts, .shosts, hosts.equiv, and/or shosts.equiv files.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002100
- Vuln IDs
-
- V-11989
- Rule IDs
-
- SV-38845r1_rule
Checks: C-37837r1_chk
Check the PAM configuration for rhosts_auth. Procedure: # grep rhosts_auth /etc/pam.conf |grep -v \# If a rhosts_auth entry is found, this is a finding.
Fix: F-33100r1_fix
Edit /etc/pam.conf and remove the reference(s) to the rhosts_auth module.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002540
- Vuln IDs
-
- V-11990
- Rule IDs
-
- SV-40066r1_rule
Checks: C-39055r1_chk
Check the group ownership of public directories. Procedure: # find / -type d -perm -1002 -exec ls -ld {} \; If any public directory is not group-owned by system, sys, bin, or an application group, this is a finding.
Fix: F-34154r1_fix
Change the group ownership of the public directory. Procedure: # chgrp system /tmp (Replace system with a different system group and/or /tmp with a different public directory as necessary.)
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003040
- Vuln IDs
-
- V-11994
- Rule IDs
-
- SV-27333r1_rule
Checks: C-28469r1_chk
List all crontabs on the system. # ls -lL /var/spool/cron/crontabs/ If any crontab is not owned by root or the creating user, this is a finding.
Fix: F-11255r2_fix
Change the crontab owner to root or the crontab creator. # chown root <crontab file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003060
- Vuln IDs
-
- V-11995
- Rule IDs
-
- SV-27336r1_rule
Checks: C-28472r1_chk
Check the cron.allow and cron.deny files for the system. # more /var/adm/cron/cron.allow # more /var/adm/cron/cron.deny If a default system account (such as bin, sys, adm, or others) is listed in the cron.allow file, or not listed in the cron.deny file if no cron.allow file exists, this is a finding.
Fix: F-11256r2_fix
Remove default system accounts (such as bin, sys, adm, or others) from the cron.allow file if it exists, or add those accounts to the cron.deny file.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN003500
- Vuln IDs
-
- V-11996
- Rule IDs
-
- SV-27402r1_rule
Checks: C-28566r1_chk
# lsuser -a core ALL If any user does not have a value of core = 0, this is a finding.
Fix: F-24650r1_fix
# chsec -f /etc/security/limits -s default -a core=0
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003520
- Vuln IDs
-
- V-11997
- Rule IDs
-
- SV-38861r1_rule
Checks: C-37854r3_chk
Determine the core file copy location. #sysdumpdev -l | grep -i "core dir" Check the ownership of the kernel core dump data directory. # ls -ld < dump file location > If the kernel core dump data directory is not owned by root, this is a finding.
Fix: F-33116r2_fix
Change the owner of the kernel core dump data directory to root. # chown root /var/adm/ras Supplementary Information: The location of the kernel dump area should be moved out of /var/adm/ras. This directory may be world read/writeable. A suggestion would be to create /var/adm/kcore; chown root:sys /var/adm/kcore; chmod 700 /var/adm/kcore. Change where the system copies its kernel core files to. sysdumpdev -d /var/adm/kcore
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN003540
- Vuln IDs
-
- V-11999
- Rule IDs
-
- SV-39504r1_rule
Checks: C-39050r1_chk
On 64-bit systems, verify the sed_config (Stack Execution Disable) setting is "all". # lsattr -El sys0 -a sed_config If the second field is not "all", this is a finding. (32-bit systems do not support sed_config. This is a permanent finding on 32-bit AIX systems.)
Fix: F-34148r1_fix
Change the sed_config setting to disable stack execution for all processes. # chdev -l sys0 -a sed_config=all To assess the impact of updating sed_config, the "all+monitor" setting may be used temporarily. This temporary update does not mitigate the finding. Reboot the system for the new setting to take effect.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN003580
- Vuln IDs
-
- V-12001
- Rule IDs
-
- SV-38838r1_rule
Checks: C-37227r3_chk
Check the system for the iy62006 patch. # instfix -ik iy62006 If the above patches (or successors) are not applied, this is a finding.
Fix: F-32489r2_fix
Install the iy62006 patch or its successors.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003600
- Vuln IDs
-
- V-12002
- Rule IDs
-
- SV-38948r1_rule
Checks: C-28608r1_chk
# /usr/sbin/no -o ipsrcrouteforward If the returned value is not 0, this is a finding.
Fix: F-32490r1_fix
# /usr/sbin/no -po "ipsrcrouteforward=0"
- RMF Control
- SC-32
- Severity
- L
- CCI
- CCI-001208
- Version
- GEN003620
- Vuln IDs
-
- V-12003
- Rule IDs
-
- SV-38870r1_rule
Checks: C-37865r1_chk
Determine if the /home path is a separate file system. #df -k /home If /home is not on its own file system, this is a finding.
Fix: F-33124r1_fix
Migrate the /home (or equivalent) path onto a separate file system.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN003660
- Vuln IDs
-
- V-12004
- Rule IDs
-
- SV-12505r2_rule
Checks: C-7968r2_chk
Check /etc/syslog.conf and verify the auth facility is logging both the notice and info level messages by using one of the procedures below. # grep "auth.notice" /etc/syslog.conf # grep "auth.info" /etc/syslog.conf OR # grep 'auth.*' /etc/syslog.conf If auth.* is not found, and either auth.notice or auth.info is not found, this is a finding.
Fix: F-11264r3_fix
Edit /etc/syslog.conf and add local log destinations for auth.* or both auth.notice and auth.info.
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003700
- Vuln IDs
-
- V-12005
- Rule IDs
-
- SV-12506r2_rule
Checks: C-7969r2_chk
First, determine if inetd/xinetd is running. # ps -ef |grep inetd If inetd is not running, this is not a finding. # grep -v "^#" /etc/inetd.conf If no active services are found, yet the inetd daemon is running, this is a finding.
Fix: F-11265r2_fix
Remove or disable the inetd startup scripts and kill the service.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN004540
- Vuln IDs
-
- V-12006
- Rule IDs
-
- SV-38885r1_rule
Checks: C-37886r1_chk
Check to see if help is disabled in Sendmail. Procedure: # telnet <host> 25 help If the help command returns any Sendmail version information, this is a finding.
Fix: F-31926r1_fix
To disable the SMTP HELP command create an empty Sendmail help file. # > /etc/mail/help
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN004800
- Vuln IDs
-
- V-12010
- Rule IDs
-
- SV-39176r1_rule
Checks: C-38153r2_chk
Determine if unencrypted ftp or telnet are enabled. Procedure: # grep ftp /etc/inetd.conf # grep telnet /etc/inetd.conf If either of these services are found, and are active, ask the SA if they encrypted. If they are not, this is a finding.
Fix: F-33430r1_fix
Edit /etc/inetd.conf and comment out or remove the ftp and telnet service lines. # vi /etc/inetd.conf Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005040
- Vuln IDs
-
- V-12011
- Rule IDs
-
- SV-38813r1_rule
Checks: C-37053r1_chk
Check the umask setting for the "ftp" user. Procedure: # lsuser -a umask ftp If the umask value does not return 077 or 77, this is a finding. Check the default umask that the ftpd daemon is running with # grep ftpd /etc/inetd.conf If there is not a -u077 argument on the ftpd, this is a finding.
Fix: F-32321r1_fix
Add the arguments -u077 to the ftpd on the /etc/inetd.conf and refresh inetd. #vi /etc/inetd.conf #refresh -s inetd Change the umask of the ftp user. #chuser umask=077 ftp
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005180
- Vuln IDs
-
- V-12014
- Rule IDs
-
- SV-12515r2_rule
Checks: C-7978r2_chk
Check the file permissions for the .Xauthority files in the home directories of users of X. Procedure: # cd ~<X user> # ls -lL .Xauthority If the file mode is more permissive than 0600, this is finding.
Fix: F-11274r2_fix
Change the mode of the .Xauthority files. Procedure: # chmod 0600 .Xauthority
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000297
- Version
- GEN005220
- Vuln IDs
-
- V-12016
- Rule IDs
-
- SV-12517r2_rule
Checks: C-7979r2_chk
Determine if the X server is running. Procedure: # ps -ef |grep X Determine if xauth is being used. Procedure: # xauth xauth> list If the above command sequence does not show any host other than the localhost, then xauth is not being used. Search the system for an X*.hosts files, where * is a display number that may be used to limit X window connections. If no files are found, X*.hosts files are not being used. If the X*.hosts files contain any unauthorized hosts, this is a finding. If both xauth and X*.hosts files are not being used, this is a finding.
Fix: F-11275r2_fix
Create an X*.hosts file, where * is a display number that may be used to limit X window connections. Add the list of authorized X clients to the file.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005240
- Vuln IDs
-
- V-12017
- Rule IDs
-
- SV-12518r2_rule
Checks: C-7980r2_chk
Check the X Window system access is limited to authorized clients. Procedure: # xauth xauth> list Ask the SA if the clients listed are authorized. If any are not, this is a finding.
Fix: F-11276r2_fix
Remove unauthorized clients from the xauth configuration. # xauth remove <display name>
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN005260
- Vuln IDs
-
- V-12018
- Rule IDs
-
- SV-38954r1_rule
Checks: C-7981r2_chk
Determine if the X Window system is running. Procedure: # ps -ef |grep X Ask the SA if the X Window system is an operational requirement. If it is not, this is a finding.
Fix: F-32323r1_fix
Disable the X Windows server on the system. Comment out /etc/rc.dt out of /etc/inittab
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005360
- Vuln IDs
-
- V-12019
- Rule IDs
-
- SV-38920r1_rule
Checks: C-37060r1_chk
Determine the owner of the SNMP configuration file. Consult vendor documentation to determine the location and name of the file. Procedure: # find / -name "snmpd*.conf" # ls -lL <snmpd.conf> If the snmpd.conf file is not owned by root, this is a finding.
Fix: F-11278r4_fix
Change the owner of the snmpd.conf file to bin. Procedure: # chown bin <snmpd.conf file>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005440
- Vuln IDs
-
- V-12020
- Rule IDs
-
- SV-39205r1_rule
Checks: C-38183r1_chk
NOTE: This will virtually always require a manual review. Ask the SA if the loghost server is collecting data for hosts outside the local enclave. If it is, this is a finding.
Fix: F-11279r2_fix
Configure the hosts outside of the local enclave to not log to this system.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005480
- Vuln IDs
-
- V-12021
- Rule IDs
-
- SV-38894r1_rule
Checks: C-37890r1_chk
Verify syslogd is running with the -R option. #ps -ef | grep syslogd | grep -v grep If the -R option is not present, this is a finding.
Fix: F-33141r1_fix
Change the syslogd arguments in the src subsystem control and restart the syslogd daemon. # chssys -s syslogd -a '-R' # stopsrc -s syslogd # startsrc -s syslogd
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005540
- Vuln IDs
-
- V-12022
- Rule IDs
-
- SV-38955r1_rule
Checks: C-7987r2_chk
Check the TCP wrappers configuration files to determine if SSHD is configured to use TCP wrappers. Procedure: # grep sshd /etc/hosts.deny # grep sshd /etc/hosts.allow If no entries are returned, the TCP wrappers are not configured for SSHD and this is a finding.
Fix: F-32332r1_fix
Add appropriate IP restrictions for SSH to the /etc/hosts.deny and/or /etc/hosts.allow files. TCP Wrappers can be installed using SMIT from the AIX expansion pack as fileset netsec.options.tcpwrappers.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005600
- Vuln IDs
-
- V-12023
- Rule IDs
-
- SV-38821r1_rule
Checks: C-37067r1_chk
#no -o ipforwarding If the value returned is not 0, this is a finding.
Fix: F-32334r1_fix
Disable IPv4 forwarding on the system. #no -p -o ipforwarding=0
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006000
- Vuln IDs
-
- V-12024
- Rule IDs
-
- SV-41525r1_rule
Checks: C-7989r2_chk
If an IM client is installed, ask the SA if it has access to any public domain IM servers. If it does have access to public servers, this is a finding.
Fix: F-11283r2_fix
Uninstall the IM client from the system, or configure the client to only connect to DoD-approved IM services.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN006040
- Vuln IDs
-
- V-12025
- Rule IDs
-
- SV-12526r2_rule
Checks: C-7990r2_chk
Ask the SA if any peer-to-peer file-sharing applications are installed. Some examples of these applications include: - Napster, - Kazaa, - ARES, - Limewire, - IRC Chat Relay, and - BitTorrent. If any of these applications are installed, this is a finding.
Fix: F-11284r2_fix
Uninstall the peer-to-peer file sharing application(s) from the system.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006420
- Vuln IDs
-
- V-12026
- Rule IDs
-
- SV-12527r2_rule
Checks: C-7991r2_chk
Check the domain name for NIS maps. Procedure: # domainname If the name returned is simple to guess, such as the organization name, building, or room name, etc., this is a finding.
Fix: F-11285r2_fix
Change the NIS domain name to a value difficult to guess. Consult vendor documentation for the required procedure.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006560
- Vuln IDs
-
- V-12028
- Rule IDs
-
- SV-41530r1_rule
Checks: C-7992r2_chk
For each security tool on the system, determine if the tool is configured to notify the IAO and SA of any detected security problem. If such notifications are not configured, this is a finding.
Fix: F-11286r2_fix
Configure the security tools on the system to notify the IAO and SA when any security issues are detected.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006620
- Vuln IDs
-
- V-12030
- Rule IDs
-
- SV-41532r1_rule
Checks: C-7993r2_chk
Check for the existence of the /etc/hosts.allow and /etc/hosts.deny files. Procedure: # ls -la /etc/hosts.allow # ls -la /etc/hosts.deny If either file does not exist, this is a finding. Check for the presence of a default deny entry. Procedure: # grep "ALL: ALL" /etc/hosts.deny If the "ALL: ALL" entry is not present in the /etc/hosts.deny file, any TCP service from a host or network not matching other rules will be allowed access. If the entry is not in /etc/hosts.deny, this is a finding.
Fix: F-11287r2_fix
Edit the /etc/hosts.allow and /etc/hosts.deny files to configure access restrictions.
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN000000-AIX00080
- Vuln IDs
-
- V-12035
- Rule IDs
-
- SV-12536r2_rule
Checks: C-7998r2_chk
Examine the /etc/security/user file. # grep SYSTEM /etc/security/user If the line contains SYSTEM=NONE, this is a finding.
Fix: F-11292r2_fix
Edit /etc/security/user and change any SYSTEM=NONE settings to a valid authentication setting.
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003865
- Vuln IDs
-
- V-12049
- Rule IDs
-
- SV-38880r1_rule
Checks: C-37884r1_chk
Determine if any network analysis tools are installed. Procedure: # find / -name ethereal # find / -name wireshark # find / -name tshark # find / -name netcat # find / -name tcpdump # find / -name snoop If any network analysis tools are found, this is a finding. Additional Information: The binary tcpdump is provided in the bos.net.tcp.server fileset and this fileset cannot be uninstalled.
Fix: F-33131r1_fix
Remove the network analysis tool binary from the system. Procedure: # rm /usr/sbin/tcpdump
- RMF Control
- SI-3
- Severity
- M
- CCI
- CCI-001668
- Version
- GEN006640
- Vuln IDs
-
- V-12765
- Rule IDs
-
- SV-40067r1_rule
Checks: C-39056r1_chk
Check for the existence of the McAfee command line scan tool to be executed daily in the cron file. Additional tools specific for each operating system are also available and will have to be manually reviewed if installed. In addition, the definitions file should not be older than 14 days. Check if uvscan is scheduled to run: # grep uvscan /var/spool/cron/crontabs/* Perform the following command to ensure the virus definition signature files are not older than 14 days. # ls -la clean.dat names.dat scan.dat If a virus scanner is not being run daily or the virus definitions are older than 14 days, this is a finding.
Fix: F-12286r2_fix
Install McAfee command line virus scan tool, or an appropriate alternative from https://www.jtfgno.mil. Ensure the virus signature definition files are no older than 14 days. Updates are also available from https://www.jtfgno.mil. Ensure the command line virus scan tool is run on a regular basis using a utility, such as cron.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000241
- Vuln IDs
-
- V-22290
- Rule IDs
-
- SV-39091r1_rule
Checks: C-38064r1_chk
Check the root crontab for ntpdate jobs running at least daily. # crontab -l | grep ntpdate Columns 3, 4, and 5 must be an asterisk (*) for the job to be run daily. If this job exists, this is not a finding. OR Verify the auto-startup of xntpd in /etc/rc.tcpip. # cat /etc/rc.tcpip | grep -v "^#" Check the system for a running NTP daemon, which is the preferred method. # ps -ef | grep ntp If an (x)ntpd process exists, this is not a finding. Otherwise, this is a finding.
Fix: F-33324r1_fix
Enable the NTP daemon for continuous synchronization. Edit /etc/rc.tcpip and enable xntpd daemon. Edit /etc/ntp.conf and add the ntp server entry. # startsrc -s xntpd OR Add a daily or more frequent cronjob to perform synchronization using ntpdate. NOTE: While it is possible to run ntpdate from a cron script, it is important to mention that ntpdate with contrived cron scripts is no substitute for the NTP daemon, which uses sophisticated algorithms to maximize accuracy and reliability while minimizing resource use. Finally, since ntpdate polling does not discipline the host clock frequency as does xntpd, the accuracy using ntpdate is limited. The process of passively listening for NTP broadcasts (i.e., placing the line broadcastclient yes in the /etc/ntp.conf file) is preferred over any procedural form of direct server polling for a large network with many nodes needing to be time synchronized. This method is preferred because it significantly reduces the network traffic load related to NTP.
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-000160
- Version
- GEN000242
- Vuln IDs
-
- V-22291
- Rule IDs
-
- SV-39092r1_rule
Checks: C-38066r1_chk
Check the system for a running NTP daemon. # ps -ef | grep ntp Verify the auto-startup of xntpd in /etc/rc.tcpip. # cat /etc/rc.tcpip | grep -v "^#" Verify at least two external NTP servers are listed in the /etc/ntp.conf file. # cat /etc/ntp.conf | grep -v "^#" | grep -i server | egrep -v "127.127.1.1|127.127.1.0" If xntpd is not invoked with at least two external NTP servers listed (127.127.1.0 or 127.127.1.1 are local clock references and therefore not allowed), this is a finding.
Fix: F-33332r1_fix
If auto-starting xntpd, add (when necessary) the correct number of (at least two) external servers to the /etc/ntp.conf file. If using ntpdate, add additional NTP servers (at least two are required) to the cron job running ntpdate.
- RMF Control
- AU-8
- Severity
- L
- CCI
- CCI-000160
- Version
- GEN000244
- Vuln IDs
-
- V-22292
- Rule IDs
-
- SV-28718r1_rule
Checks: C-29013r1_chk
Check the root crontab for ntpdate entries. # crontab -l | grep ntpdate If the ntpdate command is invoked with NTP servers outside of the enclave, this is a finding. Check the NTP daemon configuration. # grep '^server' ntp.conf If an NTP server is listed outside of the enclave, this is a finding.
Fix: F-26023r1_fix
If using ntpdate, remove NTP servers external to the enclave from the cron job running ntpdate. If using the NTP daemon, remove the server line from ntp.conf for each NTP server external to the enclave.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000250
- Vuln IDs
-
- V-22294
- Rule IDs
-
- SV-40383r1_rule
Checks: C-39247r1_chk
Determine the owner of the ntp.conf file. # ls -l /etc/ntp.conf If the owner is not root, this is a finding.
Fix: F-34350r1_fix
Change the owner of the ntp.conf file. # chown root ntp.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000251
- Vuln IDs
-
- V-22295
- Rule IDs
-
- SV-39093r1_rule
Checks: C-39248r1_chk
Check the group ownership of the NTP configuration file. Procedure: # ls -lL /etc/ntp.conf If the group owner is not bin, sys, or system, this is a finding.
Fix: F-33334r1_fix
Change the group owner of the NTP configuration file. Procedure: # chgrp system /etc/ntp.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000252
- Vuln IDs
-
- V-22296
- Rule IDs
-
- SV-40384r1_rule
Checks: C-39249r1_chk
Determine the mode of the ntp.conf file. # ls -l /etc/ntp.conf If the mode is more permissive than 0640, this is a finding.
Fix: F-34357r1_fix
Change the mode of the ntp.conf file to 0640 or less permissive. # chmod 0640 /etc/ntp.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000253
- Vuln IDs
-
- V-22297
- Rule IDs
-
- SV-38667r1_rule
Checks: C-36641r1_chk
Check for an extended ACL on the NTP configuration file. # aclget /etc/ntp.conf If extended permissions are not disabled, this is a finding.
Fix: F-31622r1_fix
Remove the extended ACL from the ntp.conf file. #acledit /etc/ntp.conf
- RMF Control
- AC-10
- Severity
- L
- CCI
- CCI-000054
- Version
- GEN000450
- Vuln IDs
-
- V-22298
- Rule IDs
-
- SV-38670r2_rule
Checks: C-36672r2_chk
#grep maxulogs /etc/security/user | grep -v \* If no values are returned, or any value returned is not between 1 and 10, this is a finding.
Fix: F-31632r4_fix
Configure the system to limit the number of simultaneous logins for user accounts with the chsec command. # chsec -f /etc/security/user -s default -a maxulogs=10 # chsec -f /etc/security/user –s [user] -a maxulogs=10
- RMF Control
- AC-9
- Severity
- L
- CCI
- CCI-000052
- Version
- GEN000452
- Vuln IDs
-
- V-22299
- Rule IDs
-
- SV-39095r1_rule
Checks: C-38079r2_chk
Determine if the system displays the date and time of the last successful login upon logging in. This can be accomplished by logging into the system and verifying whether or not the necessary information is displayed. If the system does not provide this information upon login, this is a finding. Verify the SSH daemon is configured to display last login information. # cat /etc/ssh/sshd_config | grep -i PrintLastLog If PrintLastLog is disabled, this is a finding.
Fix: F-33343r2_fix
Configure the system to display the date and time of the last successful login upon logging in. Consult OS documentation for the configuration procedure. Enable PrintLastLog in the SSH daemon. To enable PrintLastLog in the SSH daemon, remove any comment disabling this option from /etc/ssh/sshd_config. The line should look like: "PrintLastLog yes". Restart sshd. # kill -1 <PID of sshd>
- RMF Control
- AC-14
- Severity
- L
- CCI
- CCI-000061
- Version
- GEN000510
- Vuln IDs
-
- V-22301
- Rule IDs
-
- SV-25948r1_rule
Checks: C-29092r1_chk
Determine if a publicly-viewable pattern is displayed during a session lock. If the session lock pattern is not publicly-viewable, this is a finding.
Fix: F-26091r1_fix
Configure the system to display a publicly-viewable pattern during a session lock.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000205
- Version
- GEN000585
- Vuln IDs
-
- V-22302
- Rule IDs
-
- SV-38769r1_rule
Checks: C-36696r1_chk
Verify no password hashes in /etc/passwd. # cat /etc/passwd | cut -f2,2 -d":" If there are password hashes present, this is a finding. Verify no password hashes in the /etc/security/passwd file begin with the characters other than {ssha256} or {ssha512} #cat /etc/security/passwd | grep password If there are password hashes that do not begin with {ssha256} or {ssha512}, this is a finding.
Fix: F-33345r1_fix
Configure the system to enforce the correctness of the entire password during authentication. Configure the system to use sha password hashing. #chsec -f /etc/security/login.cfg -s usw -a pwd_algorithm=ssha256
- RMF Control
- IA-7
- Severity
- M
- CCI
- CCI-000803
- Version
- GEN000590
- Vuln IDs
-
- V-22303
- Rule IDs
-
- SV-38938r1_rule
Checks: C-40623r1_chk
Determine if the system creates password hashes using a FIPS 140-2 approved cryptographic hashing algorithm by verifying the value of pwd_algorithm in /etc/security/login.cfg. # grep pwd_algorithm /etc/security/login.cfg If the system is not configured to generate password hashes using a FIPS 140-2 approved algorithm, such as SHA256 or a successor, this is a finding.
Fix: F-32002r1_fix
Configure the system to use a FIPS 140-2 approved cryptographic hash algorithm for creating password hashes. # chsec -f /etc/security/login.cfg -s usw -a pwd_algorithm=ssha256
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000196
- Version
- GEN000595
- Vuln IDs
-
- V-22304
- Rule IDs
-
- SV-38672r1_rule
Checks: C-36894r1_chk
Verify no password hashes in /etc/passwd. # cat /etc/passwd | cut -f2,2 -d":" If there are password hashes present, this is a finding. Verify all password hashes in /etc/security/passwd begin with {ssha256} or {ssha512}. Procedure: # cat /etc/passwd | cut -f2,2 -d ":" # cat /etc/security/passwd | grep password If any password hashes are present not beginning with {ssha256} or {ssha512}, this is a finding.
Fix: F-32015r1_fix
Change the passwords for all accounts using non-compliant password hashes. # passwd account OR # smitty passwd (This requires that GEN000590 is already met.)
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000195
- Version
- GEN000750
- Vuln IDs
-
- V-22306
- Rule IDs
-
- SV-38677r1_rule
Checks: C-36906r1_chk
Check the value of the mindiff parameter. Procedure: #lsuser -a mindiff ALL If any users mindiff is less than 4, this is a finding.
Fix: F-32075r1_fix
Use the chsec command to change mindiff to 4. # chsec -f /etc/security/user -s default -a mindiff=4 # chuser mindiff=4 < user id >
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000189
- Version
- GEN000790
- Vuln IDs
-
- V-22307
- Rule IDs
-
- SV-38678r1_rule
Checks: C-36908r1_chk
Procedure: #lsuser -a dictionlist ALL If the dictionlist is blank or not listed, the system is not checking against a dictionary of words that are not to be used for passwords. This is a finding.
Fix: F-32089r1_fix
Install the default dictionary of words from the 'bos.data' fileset with smitty or installp. # smitty installp #installp bos.data Customize or modify the dictionary in /usr/share/dict/words as necessary. #vi /usr/share/dict/words Add a dictionary list to /etc/security/user file with the chsec command. #chsec -f /etc/security/user -s default -a dictionlist=/usr/share/dict/words
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-000009
- Version
- GEN000850
- Vuln IDs
-
- V-22308
- Rule IDs
-
- SV-38680r1_rule
Checks: C-36912r1_chk
Examine the sugroups of the root user. Generally only users in the adm group should have su to root capacity. Procedure: #lsuser -a sugroups root If this is blank or ALL, this is a finding.
Fix: F-32099r1_fix
Use the chsec command to only allow users in the adm group to su to root. #chsec -f /etc/security/user -s root -a sugroups=adm
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000930
- Vuln IDs
-
- V-22309
- Rule IDs
-
- SV-38690r1_rule
Checks: C-36915r1_chk
Verify the root account's home directory has no extended ACL. Procedure: # aclget ~root If extended permissions are enabled, the directory has an extended ACL, and this is a finding.
Fix: F-32136r1_fix
Remove the extended ACL from the root account's home directory. #acledit ~root Change extended attributes to disabled.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000945
- Vuln IDs
-
- V-22310
- Rule IDs
-
- SV-38770r1_rule
Checks: C-36916r1_chk
Verify the LIBPATH and LD_LIBRARY_PATH variables are empty or not defined for the root user. # echo $LD_LIBRARY_PATH # echo $LIBPATH If a path list is returned, this is a finding.
Fix: F-33094r1_fix
Edit the root user's initialization files and remove any definition of LD_LIBRARY_PATH and LIBPATH.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000950
- Vuln IDs
-
- V-22311
- Rule IDs
-
- SV-38772r1_rule
Checks: C-36917r1_chk
Verify the LDR_PRELOAD environment variable is empty or not defined for the root user. # env | grep LDR_PRELOAD If a path is returned, this is a finding.
Fix: F-33095r1_fix
Edit the root user's initialization files and remove any definition of LDR_PRELOAD.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001170
- Vuln IDs
-
- V-22312
- Rule IDs
-
- SV-40084r1_rule
Checks: C-39057r1_chk
Determine if any file on the system does not have a valid group owner. # find / -nogroup -print If any such files are found, this is a finding.
Fix: F-23541r2_fix
Change the group owner for each file without a valid group owner. # chgrp <a-valid-group> /tmp/a-file-without-a-valid-group-owner
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001190
- Vuln IDs
-
- V-22313
- Rule IDs
-
- SV-38685r1_rule
Checks: C-36946r1_chk
Verify network services daemon files have no extended ACLs. # aclget <directory>/<network service daemon> NOTE: Network daemons that may not reside in these directories (such as httpd or sshd) must also be checked for extended ACLs. If any of the service daemons have extended attributes enabled, this is a finding.
Fix: F-32210r1_fix
Remove the extended ACL(s) from the network service daemon file(s). #acledit < directory >/< network service daemon > Disable extended permissions.
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001210
- Vuln IDs
-
- V-22314
- Rule IDs
-
- SV-38686r1_rule
Checks: C-36947r1_chk
Verify all system command files have no extended ACLs. # aclget /etc # aclget /bin # aclget /usr/bin # aclget /usr/lbin # aclget /usr/ucb # aclget /sbin # aclget /usr/sbin If any of the command files have extended permissions enabled, this is a finding.
Fix: F-32211r1_fix
Remove the extended ACL(s) from the system command file(s) and set the extended permissions to disabled. #acledit < command path >/< command file>
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- GEN001270
- Vuln IDs
-
- V-22315
- Rule IDs
-
- SV-38687r1_rule
Checks: C-36960r1_chk
Determine if any system log file has an extended ACL. If an extended ACL exists, verify with the SA if the ACL is required to support authorized software and provides the minimum necessary permissions. If an extended ACL exists that provides access beyond the needs of authorized software, this is a finding. Check to see if extended permissions are disabled. #aclget <directory>/<file>
Fix: F-32225r1_fix
Remove the extended ACL(s) from the system log file(s) and disable extended permissions. # acledit < directory >/< file>
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001290
- Vuln IDs
-
- V-22316
- Rule IDs
-
- SV-38688r1_rule
Checks: C-36961r1_chk
Determine if any manual page files on the system have extended ACLs. Check to see if extended permissions are disabled. #aclget < directory >/< file > If extended permissions are not disabled, this is a finding.
Fix: F-32226r1_fix
Remove the extended ACLs from system manual page file(s) and disable extended permissions. #acledit < directory >/< file >
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001310
- Vuln IDs
-
- V-22317
- Rule IDs
-
- SV-38689r1_rule
Checks: C-36962r1_chk
Determine if any system library file has an extended ACL. If so, this is a finding. Check to see if extended permissions are disabled. If extended permissions are not disabled, this is a finding. #aclget < directory >/< file >
Fix: F-32228r1_fix
Remove the extended ACL(s) from the system library file(s) and disable extended permissions. #acledit < directory >/< file >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001361
- Vuln IDs
-
- V-22318
- Rule IDs
-
- SV-38691r1_rule
Checks: C-37005r1_chk
Determine if any NIS/NIS+/yp command files have an extended ACL. Check if extended permissions are disabled. Procedure: # aclget /var/nis # aclget /var/yp If extended permissions are not disabled, this is a finding.
Fix: F-32268r1_fix
Remove the extended ACL from the NS/NIS+/yp command file(s) and disable extended permissions. #acledit < directory >/< file >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001362
- Vuln IDs
-
- V-22319
- Rule IDs
-
- SV-26395r1_rule
Checks: C-27484r1_chk
Verify the /etc/resolv.conf file is owned by root. Procedure: # ls -l /etc/resolv.conf If the file is not owned by root, this is a finding.
Fix: F-23586r1_fix
Change the owner of the /etc/resolv.conf file to root. # chown root /etc/resolv.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001363
- Vuln IDs
-
- V-22320
- Rule IDs
-
- SV-39099r1_rule
Checks: C-38080r1_chk
Check the group ownership of the resolv.conf file. Procedure: # ls -lL /etc/resolv.conf If the file is not group-owned by bin, sys, or system, this is a finding.
Fix: F-33350r1_fix
Change the group owner of the /etc/resolv.conf file to bin, sys, or system. Procedure: # chgrp system /etc/resolv.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001364
- Vuln IDs
-
- V-22321
- Rule IDs
-
- SV-26397r1_rule
Checks: C-27486r1_chk
Check the mode of the /etc/resolv.conf file. Procedure: # ls -l /etc/resolv.conf If the file mode is more permissive than 0644, this is a finding.
Fix: F-23588r1_fix
Change the mode of the /etc/resolv.conf file to 0644 or less permissive. # chmod 0644 /etc/resolv.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001365
- Vuln IDs
-
- V-22322
- Rule IDs
-
- SV-38692r1_rule
Checks: C-37006r1_chk
Verify /etc/resolv.conf has no extended ACL. Check if extended permissions are disabled. Procedure: #aclget /etc/resolv.conf If extended permissions are not disabled, this is a finding.
Fix: F-32269r1_fix
Remove the extended ACL from /etc/resolv.conf file and disable extended permissions. #acledit /etc/resolv.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001366
- Vuln IDs
-
- V-22323
- Rule IDs
-
- SV-26410r1_rule
Checks: C-27492r1_chk
Verify the /etc/hosts file is owned by root. Procedure: # ls -l /etc/hosts If the file is not owned by root, this is a finding.
Fix: F-23597r1_fix
Change the owner of the /etc/hosts file to root. # chown root /etc/hosts
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001367
- Vuln IDs
-
- V-22324
- Rule IDs
-
- SV-39100r1_rule
Checks: C-38081r1_chk
Check the /etc/hosts file's group ownership. Procedure: # ls -lL /etc/hosts If the file is not group-owned by bin, sys, or system, this is a finding.
Fix: F-33351r1_fix
Change the group owner of the /etc/hosts file to sys, bin, or system. Procedure: # chgrp system /etc/hosts
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001368
- Vuln IDs
-
- V-22325
- Rule IDs
-
- SV-26412r1_rule
Checks: C-27494r1_chk
Check the mode of the /etc/hosts file. Procedure: # ls -l /etc/hosts If the file mode is more permissive than 0644, this is a finding.
Fix: F-23599r1_fix
Change the mode of the /etc/hosts file to 0644 or less permissive. # chmod 0644 /etc/hosts
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001369
- Vuln IDs
-
- V-22326
- Rule IDs
-
- SV-38693r1_rule
Checks: C-37007r1_chk
Verify /etc/hosts has no extended ACL. Check to see if extended permissions are disabled. Procedure: #aclget /etc/hosts If extended permissions are not disabled, this is a finding.
Fix: F-32270r1_fix
Remove the extended ACL from the /etc/hosts file and disable extended permissions. #acledit /etc/hosts
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001371
- Vuln IDs
-
- V-22327
- Rule IDs
-
- SV-39330r1_rule
Checks: C-38278r1_chk
Verify the /etc/nsswitch.conf file is owned by root. AIX does not use the /etc/nsswitch.conf file. This check is not applicable. Procedure: # ls -l /etc/nsswitch.conf If the file is not owned by root, this is a finding.
Fix: F-33564r1_fix
Change the owner of the /etc/nsswitch.conf file to root. # chown root /etc/nsswitch.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001372
- Vuln IDs
-
- V-22328
- Rule IDs
-
- SV-39101r1_rule
Checks: C-38082r1_chk
Check the group ownership of the nsswitch.conf file. AIX does not use the /etc/nsswitch.conf file. This check is not applicable. Procedure: # ls -lL /etc/nsswitch.conf If the file is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-33352r1_fix
Change the group owner of the /etc/nsswitch.conf file to root, bin, sys, or system. Procedure: # chgrp system /etc/nsswitch.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001373
- Vuln IDs
-
- V-22329
- Rule IDs
-
- SV-39332r1_rule
Checks: C-38280r1_chk
Check the mode of the /etc/nsswitch.conf file. AIX does not use the /etc/nsswitch.conf file. This check is not applicable. Procedure: # ls -l /etc/nsswitch.conf If the file mode is more permissive than 0644, this is a finding.
Fix: F-33566r1_fix
Change the mode of the /etc/nsswitch.conf file to 0644 or less permissive. # chmod 0644 /etc/nsswitch.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001374
- Vuln IDs
-
- V-22330
- Rule IDs
-
- SV-39334r1_rule
Checks: C-38282r1_chk
Verify /etc/nsswitch.conf has no extended ACL. AIX does not use the /etc/nsswitch.conf file. This check is not applicable. Procedure: # aclget /etc/nsswitch.conf If extended permissions are enabled, this is a finding.
Fix: F-33569r1_fix
Remove the extended ACL from the /etc/nsswitch.conf file. # acledit /etc/nsswitch.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001378
- Vuln IDs
-
- V-22332
- Rule IDs
-
- SV-26425r1_rule
Checks: C-27501r1_chk
Verify the /etc/passwd file is owned by root. Procedure: # ls -l /etc/passwd If the file is not owned by root, this is a finding.
Fix: F-23612r1_fix
Change the owner of the /etc/passwd file to root. # chown root /etc/passwd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001379
- Vuln IDs
-
- V-22333
- Rule IDs
-
- SV-38723r1_rule
Checks: C-37009r1_chk
Check the group ownership of the password file. Procedure: # ls -lL /etc/passwd If the file is not group-owned by security, bin, sys, or system, this is a finding.
Fix: F-32272r1_fix
Change the group owner of the /etc/passwd file to security, bin, sys, or system. Procedure: # chgrp security /etc/passwd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001390
- Vuln IDs
-
- V-22334
- Rule IDs
-
- SV-38724r1_rule
Checks: C-37011r1_chk
Verify the /etc/passwd file has no extended ACL. Procedure: #aclget /etc/passwd Check to see if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32276r1_fix
Remove the extended ACL from the /etc/passwd file and disable extended permissions. #acledit /etc/passwd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001391
- Vuln IDs
-
- V-22335
- Rule IDs
-
- SV-26431r1_rule
Checks: C-27507r1_chk
Verify the /etc/group file is owned by root. Procedure: # ls -l /etc/group If the file is not owned by root, this is a finding.
Fix: F-23621r1_fix
Change the owner of the /etc/group file to root. # chown root /etc/group
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001392
- Vuln IDs
-
- V-22336
- Rule IDs
-
- SV-38725r1_rule
Checks: C-37013r1_chk
Check the group ownership of the /etc/group file. Procedure: # ls -lL /etc/group If the file is not group-owned by security, bin, sys, or system, this is a finding.
Fix: F-32279r1_fix
Change the group owner of the /etc/group file to security, bin, sys, or system. # chgrp security /etc/group
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001393
- Vuln IDs
-
- V-22337
- Rule IDs
-
- SV-26433r1_rule
Checks: C-27509r1_chk
Check the mode of the /etc/group file. Procedure: # ls -l /etc/group If the file mode is more permissive than 0644, this is a finding.
Fix: F-23623r1_fix
Change the mode of the /etc/group file to 0644 or less permissive. # chmod 0644 /etc/group
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001394
- Vuln IDs
-
- V-22338
- Rule IDs
-
- SV-38726r1_rule
Checks: C-37015r1_chk
Verify the /etc/group file has no extended ACL. Procedure: #aclget /etc/group Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32283r1_fix
Remove the extended ACL from the /etc/group file and disable extended permissions. #acledit /etc/group
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001410
- Vuln IDs
-
- V-22339
- Rule IDs
-
- SV-38727r1_rule
Checks: C-37027r1_chk
Check the ownership of the /etc/security/passwd file. Procedure: # ls -lL /etc/security/passwd If the file is not group-owned by security, bin, sys, or system, this is a finding.
Fix: F-32296r1_fix
Change the group owner of the /etc/security/passwd file to security, bin, sys, or system. Procedure: # chgrp security /etc/security/passwd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001430
- Vuln IDs
-
- V-22340
- Rule IDs
-
- SV-38729r1_rule
Checks: C-37151r1_chk
Verify the /etc/security/passwd file has no extended ACL and check if extended permissions are disabled. Procedure: #aclget /etc/security/passwd If extended permissions are not disabled, this is a finding.
Fix: F-32411r1_fix
Remove the extended ACL from the /etc/security/passwd file and disable extended permissions. #acledit /etc/security/passwd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001475
- Vuln IDs
-
- V-22348
- Rule IDs
-
- SV-26447r1_rule
Checks: C-27519r1_chk
Check the /etc/group file for password hashes. Procedure: # cut -d : -f 2 /etc/group | egrep -v '^(x|!)$' If any password hashes are returned, this is a finding. If no password hashes are returned, there is no finding.
Fix: F-23639r1_fix
Edit /etc/group and change the password field to an exclamation point (!) to lock the group password.
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001490
- Vuln IDs
-
- V-22350
- Rule IDs
-
- SV-38730r1_rule
Checks: C-37152r1_chk
Verify user home directories have no extended ACLs. Procedure: # cat /etc/passwd | cut -f 6,6 -d ":" | xargs -n1 aclget Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32412r1_fix
Remove the extended ACL from the user home directory and disable extended permissions. #acledit <directory>/<file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001550
- Vuln IDs
-
- V-22351
- Rule IDs
-
- SV-26453r1_rule
Checks: C-40624r1_chk
Check the contents of user home directories for files group-owned by a group of which the home directory's owner is not a member. 1. List the user accounts. # cut -d : -f 1/etc/passwd 2. For each user account, get a list of GIDs for files in the user's home directory. # find < users home directory > -exec ls -lLd 3. Obtain the list of GIDs associated with the user's account. # id < user name > 4. Check the GID lists. If there are GIDs in the file list not present in the user list, this is a finding.
Fix: F-23645r1_fix
Change the group of a file not group-owned by a group where the home directory's owner is a member. # chgrp [user's primary group] [file with bad group ownership]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001570
- Vuln IDs
-
- V-22352
- Rule IDs
-
- SV-38731r1_rule
Checks: C-37154r2_chk
Check the contents of user home directories for files with extended ACLs. Procedure: # cat /etc/passwd | cut -f 6,6 -d ":" | xargs -n1 -IDIR aclget DIR OR #aclget <directory>/<file> Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32413r1_fix
Remove the extended ACL(s) from the files and directories in user home directories and disable extended permissions. #acledit <directory>/<file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001590
- Vuln IDs
-
- V-22353
- Rule IDs
-
- SV-38733r1_rule
Checks: C-37150r1_chk
Verify run control scripts have no extended ACLs. Check if extended permissions are disabled. # ls -l /etc/rc* # aclget /etc/rc* # aclget /etc/init.d If extended permissions are not disabled, this is a finding.
Fix: F-32415r1_fix
Remove the extended ACL from the run control script(s) and disable extended permissions. #acledit <directory>/<file>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001605
- Vuln IDs
-
- V-22354
- Rule IDs
-
- SV-38879r1_rule
Checks: C-37236r1_chk
Verify run control scripts' library search paths. Procedure: # grep -r LIBPATH /etc/rc* The variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), this is a relative path, and this is a finding.
Fix: F-26197r1_fix
Edit run control scripts' library search path variables. Remove empty entries or entries that are not absolute paths.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001610
- Vuln IDs
-
- V-22355
- Rule IDs
-
- SV-38881r1_rule
Checks: C-37237r1_chk
Verify run control scripts' library preload list. This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), this is a relative path, and this is a finding. # grep -r LDR_PRELOAD /etc/rc*
Fix: F-26198r1_fix
Edit the run control scripts' library preload list and remove relative paths.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001730
- Vuln IDs
-
- V-22356
- Rule IDs
-
- SV-38734r1_rule
Checks: C-37159r1_chk
Check global initialization files for extended ACLs. Procedure: #aclget /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/environment /etc/.login /etc/security/environ /etc/security/.profile Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32449r1_fix
Remove the extended ACL from the global initialization file(s) and disable extended permissions. #acledit <directory>/<file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001810
- Vuln IDs
-
- V-22357
- Rule IDs
-
- SV-38736r1_rule
Checks: C-37166r1_chk
Check skeleton files for extended ACLs. Procedure: #aclget /etc/security/.profile #aclget /etc/security/mkuser.sys Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32451r1_fix
Remove the extended ACL from the skeleton file(s) and disable extended permissions. #acledit /etc/security/.profile #acledit /etc/security/mkuser.sys
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001830
- Vuln IDs
-
- V-22358
- Rule IDs
-
- SV-38738r1_rule
Checks: C-37170r1_chk
Verify the skeleton files are group-owned by security. Procedure: # ls -alL /etc/security/.profile /etc/security/mkuser.sys If a skeleton file is not group-owned by security, this is a finding.
Fix: F-32453r1_fix
Change the group owner of the skeleton file to security. Procedure: # chgrp security /etc/security/.profile /etc/security/mkuser.sys
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001845
- Vuln IDs
-
- V-22359
- Rule IDs
-
- SV-38842r1_rule
Checks: C-37171r1_chk
Check the global initialization files' library search paths. #egrep '(LD_LIBRARY_PATH|LIBPATH)' /etc/profile /etc/bashrc /etc/security/.login /etc/environment /etc/security/environ The LIBPATH or LD_LIBRARY_PATH variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), this is a relative path, and this is a finding.
Fix: F-33097r1_fix
Edit the global initialization files /etc/profile /etc/bashrc /etc/security/.login /etc/environment /etc/security/environ and remove relative entries from the library search path variables. #vi /etc/profile /etc/bashrc /etc/security/.login /etc/environment /etc/security/environ
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001850
- Vuln IDs
-
- V-22360
- Rule IDs
-
- SV-38843r1_rule
Checks: C-37835r1_chk
Check the global initialization files' library preload list. # grep LDR_PRELOAD /etc/profile /etc/bashrc /etc/security/.login /etc/environment /etc/security/environ This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), this is a relative path, and this is a finding.
Fix: F-33098r1_fix
Edit the global initialization files and remove the relative path entry from the library preload list variable 'LDR_PRELOAD'.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001870
- Vuln IDs
-
- V-22361
- Rule IDs
-
- SV-26481r1_rule
Checks: C-27543r1_chk
Check user home directories for local initialization files group-owned by a group other than the user's primary group or root. 1. List user accounts and their primary GID. # cut -d : -f 1,4 /etc/passwd 2. Check local initialization files for each user. # ls -alL ~USER/.login ~USER/.cshrc ~USER/.logout ~USER/.profile ~USER/.bash_profile ~USER/.bashrc ~USER/.bash_logout ~USER/.env ~USER/.dtprofile ~USER/.dispatch ~USER/.emacs ~USER/.exrc 3. If any file is not group-owned by root or the user's primary GID, this is a finding.
Fix: F-23709r1_fix
Change the group owner of the local initialization file to the user's primary group, or root. # chgrp [USER's primary GID] ~USER/[local initialization file]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001890
- Vuln IDs
-
- V-22362
- Rule IDs
-
- SV-38739r1_rule
Checks: C-37172r1_chk
Check user home directories for local initialization files with extended ACLs. Procedure: # cat /etc/passwd | cut -f 6,6 -d ":" | xargs -n1 -IDIR ls -le DIR/.login DIR/.cshrc DIR/.logout DIR/.profile DIR/.bash_profile DIR/.bashrc DIR/.bash_logout DIR/.env DIR/.dtprofile DIR/.dispatch DIR/.emacs DIR/.exrc Procedure: #aclget <directory>/<file> and check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32454r1_fix
Remove the extended ACL from the local initialization file(s) and disable extended permissions. #acledit <directory>/<file>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001901
- Vuln IDs
-
- V-22363
- Rule IDs
-
- SV-38844r1_rule
Checks: C-37836r1_chk
Verify local initialization files have library search path containing only absolute paths. # cat /etc/passwd | cut -f 1,1 -d ":" | xargs -n1 -IUSER sh -c 'grep -l LIB ~USER/.*' The LIBPATH and LD_LIBRARY_PATH variables are formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), this is a relative path, and this is a finding.
Fix: F-33099r1_fix
Edit the local initialization file(s) and remove the relative path entry from the library search path.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001902
- Vuln IDs
-
- V-22364
- Rule IDs
-
- SV-39102r1_rule
Checks: C-38085r1_chk
Verify local initialization files have library preload list containing only absolute paths. Procedure: # cat /etc/passwd | cut -f 1,1 -d ":" | xargs -n1 -IUSER sh -c "grep -l LDR_PRELOAD ~USER/.*" This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), this is a finding.
Fix: F-33354r1_fix
Edit the local initialization file and remove the relative path entry from the library preload variable LDR_PRELOAD.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002210
- Vuln IDs
-
- V-22365
- Rule IDs
-
- SV-38848r1_rule
Checks: C-37180r1_chk
Check the group ownership of each shell referenced. Procedure: # cat /etc/shells | xargs -n1 ls -l If any shell is not group owned by root, bin, sys, or system, this is a finding. #grep shells /etc/security/login.cfg | grep -v \* | cut -f 2 -d = | sed s/,/\ /g | xargs -n1 ls -l If any shell is not group owned by root, bin, sys, or system, this is a finding. Otherwise, check any shells found on the system. Procedure: # find / -name "*sh" | xargs -n1 ls -l If a shell is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-33104r1_fix
Change the group owner of the shell to root, bin, sys, or system. # chgrp system < shell >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002230
- Vuln IDs
-
- V-22366
- Rule IDs
-
- SV-38744r1_rule
Checks: C-37243r1_chk
Check the permissions of each shell referenced in /etc/shells. Procedure: # cat /etc/shells For each shell listed, run aclget <shell path> #aclget <shell> Check the permissions of each shell referenced in /etc/security/login.cfg. Procedure: #grep shells /etc/security/login.cfg For each shell listed, run aclget <shell path> # aclget <shell> Otherwise, check any shells found on the system. # find / -name "*sh #aclget <directory>/<file> If extended permissions are enabled on any shell, this is a finding.
Fix: F-32458r1_fix
Remove the extended ACL from the shell file(s) and disable extended permissions. #acledit <directory>/<file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002330
- Vuln IDs
-
- V-22367
- Rule IDs
-
- SV-38743r1_rule
Checks: C-37184r1_chk
Determine the audio device files for the system. Procedure: # /usr/sbin/lsdev -C | grep -i audio #aclget /dev/*aud0 Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32460r1_fix
Remove the extended ACL from the audio device file(s) and disable extended permissions. #acledit <directory>/<file>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002430
- Vuln IDs
-
- V-22368
- Rule IDs
-
- SV-38747r1_rule
Checks: C-37187r1_chk
If the system does not support a nodev option, this is not applicable. Check /etc/filesystems and verify the nodev mount option (options = ) is used on any file systems mounted from removable media or network shares, or file systems not containing any approved device files. If any such file system is not using the nodev option, this is a finding.
Fix: F-32463r1_fix
Edit /etc/filesystems and add the options = nodev to all entries for remote or removable media file systems, and file systems containing no approved device files.
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000163
- Version
- GEN002710
- Vuln IDs
-
- V-22369
- Rule IDs
-
- SV-38748r1_rule
Checks: C-37248r1_chk
Procedure: # grep -p bin: /etc/security/audit/config Directories and files to search will be listed under the bin stanza. #aclget <directory>/<file> Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32466r1_fix
Remove the extended ACL from the system audit file(s) and disable extended permissions. #acledit <directory>/<file> and disable extended permissions
- RMF Control
- AU-9
- Severity
- L
- CCI
- CCI-001493
- Version
- GEN002715
- Vuln IDs
-
- V-22370
- Rule IDs
-
- SV-38749r1_rule
Checks: C-37197r1_chk
Determine if the system audit tool executables are owned by root. Audit tools include, but are not limited to, audit, auditcat, auditconv, auditpr, auditselect, auditstream, auditbin, and auditmerge. Procedure: ls -lL `which <audit tool executable>` If any system audit tool executable is not owned by root, this is a finding.
Fix: F-32467r1_fix
Change the owner of the system audit tool executables to root. #chown root <system audit tool executable>
- RMF Control
- AU-9
- Severity
- L
- CCI
- CCI-001493
- Version
- GEN002716
- Vuln IDs
-
- V-22371
- Rule IDs
-
- SV-38906r1_rule
Checks: C-37198r1_chk
Determine the group ownership of system audit tool executables. Audit tools include, but are not limited to, audit, auditcat, auditconv, auditpr, auditselect, auditstream, auditbin, and auditmerge. Procedure: # ls -lL `which <audit tool executable>` If any system audit tool executable is not group-owned by bin, sys, or system, this is a finding.
Fix: F-26224r1_fix
Change the group owner of system audit tool executables to root, bin, sys, or system. Procedure: # chgrp system < system audit tool executable>
- RMF Control
- AU-9
- Severity
- L
- CCI
- CCI-001493
- Version
- GEN002717
- Vuln IDs
-
- V-22372
- Rule IDs
-
- SV-38778r1_rule
Checks: C-37199r1_chk
Determine if system audit tool executables have a mode more permissive than 0750. If any do, this is a finding. Audit tools include, but are not limited to, audit, auditcat, auditconv, auditpr, auditselect, auditstream, auditbin, and auditmerge.
Fix: F-32468r1_fix
Many audit tools have SUID bit set. Before changing permissions on system audit tool executables, check the file permissions for SUID bits. Change the mode of system audit tool executables to 0750. #chmod 0750 or 4750 <system audit tool executable> Document all changes made.
- RMF Control
- AU-9
- Severity
- L
- CCI
- CCI-001493
- Version
- GEN002718
- Vuln IDs
-
- V-22373
- Rule IDs
-
- SV-38779r1_rule
Checks: C-37202r1_chk
Determine if system audit tool executables have extended ACLs Audit tools include, but are not limited to audit, auditcat, auditconv, auditpr, auditselect, auditstream, auditbin, and auditmerge. Procedure: #aclget <system audit tool executable> Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32469r1_fix
Remove the extended ACL from the system audit tool executable(s) and disable extended permissions. #acledit <system audit tool executable>
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-000018
- Version
- GEN002750
- Vuln IDs
-
- V-22376
- Rule IDs
-
- SV-38851r1_rule
Checks: C-37844r1_chk
Determine if the audit system is configured to audit account creation. Procedure: # more /etc/security/audit/events If auditing of the USER_Create event is not configured, check the USER_Create audit event is defined in the audit classes' stanza of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config Make note of the audit class the USER_Create event is associated with. If the USER_Create event is not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config If the class(es) the USER_Create event is not associated with the default user and all the system users in the 'users:' stanza, this is a finding.
Fix: F-33107r1_fix
Configure the audit system to audit account creation. Edit /etc/security/audit/events and add the User_Create event to the list of audited events. Edit /etc/security/audit/config and add the USER_Create audit event to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes with the USER_Create event to the all users listed in the users: stanza.
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-001403
- Version
- GEN002751
- Vuln IDs
-
- V-22377
- Rule IDs
-
- SV-38852r1_rule
Checks: C-37845r1_chk
Determine if the audit system is configured to audit account modification. Procedure: # more /etc/security/audit/events If auditing of the USER_Change event is not configured, this is a finding. Verify the USER_Change audit event is defined in the audit classes' stanza classes: of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config Make note of the audit class(es) the USER_Change event is associated with. If the USER_Change event is not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config If the class(es) the USER_Change event is not associated with the default user and all the system users in the users: stanza, this is a finding.
Fix: F-33108r1_fix
Configure the system to audit account modification. Edit /etc/security/audit/events and add the USER_Change event to the list of audited events. Edit /etc/security/audit/config and add the USER_Change audit event to an audit class in the classes: stanza. Edit /etc/security/audit/config and assign the audit classes with the USER_Change event to the all users listed in the users: stanza.
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-001404
- Version
- GEN002752
- Vuln IDs
-
- V-22378
- Rule IDs
-
- SV-38853r1_rule
Checks: C-37846r1_chk
Determine if the system is configured to audit account disabling. Procedure: # more /etc/security/audit/events If auditing of the USER_Change and USER_Locked events are not configured, this is a finding. Check the USER_Change and USER_Locked audit event(s) are defined in the audit classes' stanza classes: of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config Make note of the audit class(es) the USER_Change and USER_Locked events are associated with. If the USER_Change and USER_Locked events are not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config If the class(es) the USER_Change and USER_Locked events are not associated with the default user and all the system users in the users: stanza, this is a finding.
Fix: F-33109r1_fix
Configure the system to audit account disabling. Edit /etc/security/audit/events and add the USER_Change and USER_Locked events to the list of audited events. Edit /etc/security/audit/config and add the USER_Change and USER_Locked audits event to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes with the USER_Change and USER_Locked events to the all users listed in the users: stanza.
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-001405
- Version
- GEN002753
- Vuln IDs
-
- V-22382
- Rule IDs
-
- SV-38854r1_rule
Checks: C-37847r1_chk
Determine if the system is configured to audit account termination. Procedure: # more /etc/security/audit/events If auditing of the USER_Remove event is not configured, this is a finding. Verify the USER_Remove audit event is defined in the audit classes' stanza classes: of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config Make note of the audit class(es) the USER_Remove event is associated with. If the USER_Remove event is not associated with any audit classes in the classes: stanza, this is a finding. Verify that the audit class is associated with the default user and all other user ids listed in the 'users:' stanza of the /etc/security/audit/config file. Procedure: #more /etc/security/audit/config If the class(es) that the USER_Remove event is not associated with the default user and all the system users in the users: stanza, this is a finding.
Fix: F-33110r1_fix
Configure the system to audit account termination. Edit /etc/security/audit/events and add the USER_Remove event to the list of audited events Edit /etc/security/audit/config and add the USER_Remove audit event to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes with the USER_Remove event to the all users listed in the users: stanza.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002825
- Vuln IDs
-
- V-22383
- Rule IDs
-
- SV-38858r1_rule
Checks: C-37850r1_chk
Determine if the system is configured to audit the loading and unloading of dynamic kernel modules. Check the system's audit configuration. # more /etc/security/audit/events Confirm the following events are configured: DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove. If any of these events are not configured, this is a finding. Check the File DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove. Audit events are defined in the audit classes stanza classes: of the /etc/security/audit/config file. #more /etc/security/audit/config Make note of the audit class(es) the DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove events are associated with. If the DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove events are not associated with any audit classes in the classes: stanza, this is a finding. Verify the audit class is associated with the default user and all other user ids listed in the users: stanza of the /etc/security/audit/config file. #more /etc/security/audit/config If the class(es) that the DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove events are not associated with the default user and all the system users in the users: stanza, this is a finding.
Fix: F-33113r1_fix
Configure the system to audit the loading and unloading of dynamic kernel modules. Edit /etc/security/audit/events and add the DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove events to the list of audited events. Edit /etc/security/audit/config and add the DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure, and DEV_Remove audit events to an audit class in the classes: stanza. Edit the /etc/security/audit/config and assign the audit classes that has the DEV_Create, FILE_Mknod, DEV_Configure, DEV_Stop, DEV_Unconfigure and DEV_Remove events to the all users listed in the 'users:' stanza.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002990
- Vuln IDs
-
- V-22384
- Rule IDs
-
- SV-38780r1_rule
Checks: C-37249r1_chk
Check the permissions of the cron.allow file. #aclget /var/adm/cron/cron.allow Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32472r1_fix
Remove the extended ACL from the cron.allow file and disable extended permissions. #acledit /var/adm/cron/cron.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003050
- Vuln IDs
-
- V-22385
- Rule IDs
-
- SV-39866r1_rule
Checks: C-38871r1_chk
Check the group ownership of the crontab files. # ls -lL /var/spool/cron/crontabs/ If the group owner is not system, cron, or the crontab owner's primary group, this is a finding.
Fix: F-34015r1_fix
Change the group owner of the crontab file to system, cron, or the crontab's primary group. Procedure: # chgrp cron [crontab file]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003090
- Vuln IDs
-
- V-22386
- Rule IDs
-
- SV-38782r1_rule
Checks: C-37204r1_chk
Check the permissions of the crontab files. Get a listing of crontab files. # ls /var/spool/cron/crontabs Check all of the crontabs listed for an extended ACL. # aclget <directory>/<file> Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32474r1_fix
Remove the extended ACL from the crontab file(s) and disable extended permissions. #acledit <directory>/<file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003110
- Vuln IDs
-
- V-22387
- Rule IDs
-
- SV-39103r1_rule
Checks: C-38094r1_chk
Check the permissions of the crontab directories. # ls -lL /var/spool/cron/crontabs # aclget < crontab > # aclget /var/spool/cron Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-33356r1_fix
Remove the extended ACL from the crontab file(s) and disable extended permissions. #acledit <directory>/<file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003190
- Vuln IDs
-
- V-22388
- Rule IDs
-
- SV-38783r1_rule
Checks: C-37250r1_chk
#aclget /var/adm/cron/log Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32475r1_fix
Remove the extended ACL from the cronlog file and disable extended permissions. #acledit /var/adm/cron/log
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003210
- Vuln IDs
-
- V-22389
- Rule IDs
-
- SV-38785r1_rule
Checks: C-37209r1_chk
#aclget /var/adm/cron/cron.deny Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32476r1_fix
Remove the extended ACL from the cron.deny file and disable extended permissions. #acledit /var/adm/cron/cron.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003245
- Vuln IDs
-
- V-22390
- Rule IDs
-
- SV-38786r1_rule
Checks: C-37251r1_chk
#aclget /var/adm/cron/at.allow Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32477r1_fix
Remove the extended ACL from the at.allow file and disable extended permissions. #acledit /var/adm/cron/at.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003250
- Vuln IDs
-
- V-22391
- Rule IDs
-
- SV-39346r1_rule
Checks: C-38292r1_chk
Determine the group owner of the cron.allow file. Procedure: # ls -lL /var/adm/cron/cron.allow If the group owner is not bin, sys, system, or cron, this is a finding.
Fix: F-33580r1_fix
Change the group owner of the cron.allow file to bin, sys, system, or cron. Procedure: # chgrp cron /var/adm/cron/cron.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003252
- Vuln IDs
-
- V-22392
- Rule IDs
-
- SV-38787r1_rule
Checks: C-37211r1_chk
Determine the mode of the at.deny file. # ls -lL /var/adm/cron/at.deny If the mode of the at.deny file is more permissive than 0640, this is a finding.
Fix: F-32478r1_fix
Change the mode of the at.deny file to 0640. # chmod 0640 /var/adm/cron/at.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003255
- Vuln IDs
-
- V-22393
- Rule IDs
-
- SV-38788r1_rule
Checks: C-37212r1_chk
Determine if the at.deny file has an extended ACL. #aclget /var/adm/cron/at.deny Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32479r1_fix
Remove the extended ACL from the at.deny file and disable extended permissions. #acledit /var/adm/cron/at.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003270
- Vuln IDs
-
- V-22394
- Rule IDs
-
- SV-38789r1_rule
Checks: C-37214r1_chk
Determine the cron.deny file's group owner. Procedure: # ls -lL /var/adm/cron/cron.deny If the file is not group-owned by system, bin, sys, or cron, this is a finding.
Fix: F-32480r1_fix
Change the group owner of the cron.deny file to sys, system, bin, or cron. Procedure: # chgrp cron /var/adm/cron/cron.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003410
- Vuln IDs
-
- V-22395
- Rule IDs
-
- SV-38790r1_rule
Checks: C-37217r1_chk
Check the permissions of the file. #aclget /var/spool/cron/atjobs Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32481r1_fix
Remove the extended ACL from the at directory and disable extended permissions. #acledit /var/spool/cron/atjobs
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003430
- Vuln IDs
-
- V-22396
- Rule IDs
-
- SV-39352r1_rule
Checks: C-38298r1_chk
Check the group ownership of the file. Procedure: # ls -ld /var/spool/cron/atjobs If the file is not group-owned by bin, sys, system, or cron, this is a finding.
Fix: F-33587r1_fix
Change the group ownership of the file to bin, sys, system, or cron. Procedure: # chgrp cron /var/spool/cron/atjobs
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003470
- Vuln IDs
-
- V-22397
- Rule IDs
-
- SV-39354r1_rule
Checks: C-38301r1_chk
Determine the group owner of the at.allow file. Procedure: # ls -lL /var/adm/cron/at.allow If the group-owner is not bin, sys, system, or cron, this is a finding.
Fix: F-33589r1_fix
Change the group owner of the at.allow file to sys, system, bin, or cron. Procedure: # chgrp cron /var/adm/cron/at.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003490
- Vuln IDs
-
- V-22398
- Rule IDs
-
- SV-39356r1_rule
Checks: C-38302r1_chk
Determine the group owner of the at.deny file. Procedure: # ls -lL /var/adm/cron/at.deny If the group owner is not bin, sys, system, or cron, this is a finding.
Fix: F-33590r1_fix
Change the group owner of the at.deny file to bin, sys, system, or cron. Procedure: # chgrp cron /var/adm/cron/at.deny
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN003510
- Vuln IDs
-
- V-22404
- Rule IDs
-
- SV-38860r1_rule
Checks: C-37853r1_chk
Determine if kernel core dumps are enabled on the system. #sysdumpdev -l Look at both the primary and secondary dump devices. If either the primary or secondary dump device is not /dev/sysdumpnull, this is a finding.
Fix: F-33115r1_fix
Disable kernel core dumps on the system by setting primary and secondary dump devices to sysdumpnull. #sysdumpdev -P -p /dev/sysdumpnull #sysdumpdev -P -s /dev/sysdumpnull
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003521
- Vuln IDs
-
- V-22405
- Rule IDs
-
- SV-38862r1_rule
Checks: C-37855r1_chk
Determine the core file copy location. #sysdumpdev -l | grep -i "core dir" Determine the group owner of the kernel core dump data directory. # ls -lLd < directory > If the group owner is not bin, sys, or system, this is a finding.
Fix: F-33117r1_fix
Change the group owner of the kernel core dump data directory to bin, sys, or system. # chgrp sys < directory >
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003522
- Vuln IDs
-
- V-22406
- Rule IDs
-
- SV-38863r1_rule
Checks: C-37856r1_chk
Determine the core file copy location. # sysdumpdev -l | grep "core dir" Determine the mode of the kernel core dump data directory. # ls -lLd < directory > If the mode is more permissive than 0700, this is a finding.
Fix: F-33118r1_fix
Change the mode of the kernel core dump data directory to 0700. # chmod 0700 < directory >
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003523
- Vuln IDs
-
- V-22407
- Rule IDs
-
- SV-38864r1_rule
Checks: C-37857r1_chk
Determine the core file copy location from the sysdumpdev command. #sysdumpdev -l | grep -I "core dir" Determine if the kernel core dump data directory has an extended ACL. #aclget < directory > Verify if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-33119r1_fix
Remove the extended ACL from the kernel core dump data directory and disable extended permissions. #acledit < directory >
- RMF Control
- AC-4
- Severity
- L
- CCI
- CCI-001551
- Version
- GEN003602
- Vuln IDs
-
- V-22409
- Rule IDs
-
- SV-38866r1_rule
Checks: C-37859r1_chk
Determine if the system is configured to respond to ICMP Timestamp requests. #lsfilt If there is no rule blocking ICMP packet type of 13 and ICMP packet type of 14, this is a finding.
Fix: F-32492r2_fix
Use SMIT or genfilt commands to configure the system firewall to block ICMP packet types 13, and 14.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003603
- Vuln IDs
-
- V-22410
- Rule IDs
-
- SV-38797r1_rule
Checks: C-37253r1_chk
# /usr/sbin/no -o bcastping If the value returned is not 0, this is a finding.
Fix: F-32493r1_fix
Configure the system to ignore ICMP ECHO_REQUESTs sent to broadcast addresses. # no -po bcastping=0
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003604
- Vuln IDs
-
- V-22411
- Rule IDs
-
- SV-38798r1_rule
Checks: C-37254r1_chk
# /usr/sbin/no -o bcastping If the value returned is not 0, this is a finding.
Fix: F-32494r1_fix
Configure the system to ignore ICMP Timestamp requests sent to broadcast addresses. #no -po bcastping=0
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003605
- Vuln IDs
-
- V-22412
- Rule IDs
-
- SV-38799r1_rule
Checks: C-37255r2_chk
Determine if the system is configured to apply reverse source routing to TCP responses to source-routed packets. # /usr/sbin/no -p nonlocsrcroute If the value is not 0, this is a finding.
Fix: F-32495r2_fix
Configure the system to not apply reverse source routing to TCP responses to source-routed packets. # /usr/sbin/no -po nonlocsrcroute=0
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003606
- Vuln IDs
-
- V-22413
- Rule IDs
-
- SV-38949r1_rule
Checks: C-28609r1_chk
# /usr/sbin/no -o ipsrcroutesend If the result is not 0, this is a finding.
Fix: F-32496r1_fix
# /usr/sbin/no -po "ipsrcroutesend=0"
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003607
- Vuln IDs
-
- V-22414
- Rule IDs
-
- SV-38800r1_rule
Checks: C-37256r2_chk
# /usr/sbin/no -o ipsrcrouterecv If the result is not 0, this is a finding.
Fix: F-32497r1_fix
Configure the system to not accept source-routed IPv4 packets. #/usr/sbin/no -p -o ipsrcrouterecv=0
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003608
- Vuln IDs
-
- V-22415
- Rule IDs
-
- SV-38867r1_rule
Checks: C-37860r1_chk
Determine if the system has proxy ARP enabled. Check Content: Check the system for non-local published ARP entries. # arp -a If any entries are listed as published, this is a finding.
Fix: F-33121r1_fix
Remove any non-local published ARP entries. # arp -d < host > Check system initialization scripts for any commands configuring published ARP entries (such as "arp -s <host> <addr> pub") and remove them.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-001503
- Version
- GEN003609
- Vuln IDs
-
- V-22416
- Rule IDs
-
- SV-38801r1_rule
Checks: C-37257r1_chk
# /usr/sbin/no -o ipignoreredirects If the value returned is not 1, this is a finding.
Fix: F-32498r1_fix
Configure the system to ignore IPv4 ICMP redirect messages. #/usr/sbin/no -p -o ipignoreredirects=1
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003610
- Vuln IDs
-
- V-22417
- Rule IDs
-
- SV-38802r1_rule
Checks: C-37258r1_chk
# /usr/sbin/no -o ipsendredirects If the value is not 0, this is a finding.
Fix: F-32499r1_fix
#/usr/sbin/no -p -o ipsendredirects=0
- RMF Control
- AU-2
- Severity
- L
- CCI
- CCI-000126
- Version
- GEN003611
- Vuln IDs
-
- V-22418
- Rule IDs
-
- SV-38868r1_rule
Checks: C-37862r1_chk
Determine if the system is configured to log martian packets. Examine the IPF rules on the system. # lsfilt -a There must be rules to log inbound traffic containing invalid source addresses, which minimally include the system's own addresses and broadcast addresses for attached subnets. If no such rules exist, this is a finding.
Fix: F-33122r2_fix
Configure the system to log martian packets. Add rules to log inbound traffic containing invalid source addresses, which minimally include the system's own addresses and broadcast addresses for attached subnets. For example, consider a system with a single network connection having IP address 192.168.1.10 with a local subnet broadcast address of 192.168.1.255. Packets with source addresses of 192.168.1.10 and 192.168.1.255 must be logged if received by the system from the network connection. Use the smit utility or genfilt command to add logging of martian packets (packets with a source address of 192.168.1.10 and 192.168.1.255). # smitty ipsec4 OR # genfilt -v4 -a P -s 192.168.1.10 -m 0.0.0.0 -d 0.0.0.0 -M -0.0.0.0 -c all -o any -O any -p 0 -P 0 -w I -l y -i en0 # genfilt -v4 -a P -s 192.168.1.255 -m 0.0.0.0 -d 0.0.0.0 -M -0.0.0.0 -c all -o any -O any -p 0 -P 0 -w I -l y -i en0
- RMF Control
- SC-5
- Severity
- M
- CCI
- CCI-001092
- Version
- GEN003612
- Vuln IDs
-
- V-22419
- Rule IDs
-
- SV-38803r1_rule
Checks: C-37259r1_chk
# /usr/sbin/no -o clean_partial_conns If the value returned is not 1, this is a finding.
Fix: F-32500r1_fix
#/usr/sbin/no -p -o clean_partial_conns=1
- RMF Control
- CP-10
- Severity
- L
- CCI
- CCI-000553
- Version
- GEN003650
- Vuln IDs
-
- V-22422
- Rule IDs
-
- SV-39105r1_rule
Checks: C-38098r1_chk
Determine if the local file systems employ journaling or another mechanism ensuring file system consistency. Procedure: List all local file system mount points. #df -l #lsfs < each file system returned> If any file systems are not jfs or jfs2, this is a finding.
Fix: F-33371r1_fix
Convert local file systems to use journaling or another mechanism ensuring file system consistency.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003730
- Vuln IDs
-
- V-22423
- Rule IDs
-
- SV-40385r1_rule
Checks: C-39250r1_chk
Check the group ownership of the inetd and xinetd configuration files, and xinetd directory. Procedure: # ls -alL /etc/inetd.conf /etc/xinetd.conf /etc/xinetd.d If a file or directory is not group-owned by bin, sys, or system, this is a finding.
Fix: F-34362r1_fix
Change the group ownership of the inetd configuration file. Procedure: # chgrp system /etc/inetd.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003745
- Vuln IDs
-
- V-22424
- Rule IDs
-
- SV-38805r1_rule
Checks: C-36867r1_chk
Check the permissions of the inetd configuration file. #aclget /etc/inetd.conf Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-31824r1_fix
Remove the extended ACL from the /etc/inetd.conf file and disable extended permissions. #acledit /etc/inetd.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003770
- Vuln IDs
-
- V-22427
- Rule IDs
-
- SV-39112r1_rule
Checks: C-38105r1_chk
Check the group ownership of the services file. Procedure: # ls -lL /etc/services If the file is not group-owned by bin, sys, or system, this is a finding.
Fix: F-33378r1_fix
Change the group owner of the services file. Procedure: # chgrp system /etc/services
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003790
- Vuln IDs
-
- V-22428
- Rule IDs
-
- SV-38950r1_rule
Checks: C-38107r1_chk
Check the permissions of the /etc/services file. #aclget /etc/services Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-31826r1_fix
Remove the extended ACL from the services file and disable extended permissions. #acledit /etc/services
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN003810
- Vuln IDs
-
- V-22429
- Rule IDs
-
- SV-38874r1_rule
Checks: C-37882r1_chk
If the portmap service is required for system operations, this is not a finding. Determine if the portmap service is running. #ps -ef|grep portmap If portmap is running, this is a finding.
Fix: F-31833r1_fix
Disable the portmap service from auto starting by commenting out portmap from /etc/rc.tcpip. # vi /etc/rc.tcpip Shutdown the portmap service. # ps -ef | grep portmap # kill <pid of portmap>
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003815
- Vuln IDs
-
- V-22430
- Rule IDs
-
- SV-38952r1_rule
Checks: C-38111r1_chk
If the system needs the portmap service to operate, this is not applicable. Consult vendor documentation to determine the name and location of the portmap service. The portmap executable is part of fileset bos.net.tcp.client and is not removable, so this will always be a finding.
Fix: F-31836r1_fix
If the portmap or rpcbind service is part of a removable package, consult vendor documentation for the procedure to remove the package. If the service cannot be removed, prevent service activation by removing all permissions from the executable. Procedure: # chmod 0000 /usr/sbin/portmap
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- GEN003830
- Vuln IDs
-
- V-22432
- Rule IDs
-
- SV-38876r1_rule
Checks: C-36873r1_chk
Determine if the rlogind service is running. If it is, this is a finding. # grep -v "^#" /etc/inetd.conf |grep rlogin If any results are returned, this is a finding
Fix: F-33129r1_fix
Disable the rlogind service out of the '/etc/inetd.conf' file. # vi /etc/inetd.conf Comment out the rlogind service. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003930
- Vuln IDs
-
- V-22435
- Rule IDs
-
- SV-39875r1_rule
Checks: C-38878r1_chk
Check the group ownership of the /etc/hosts.lpd file. Procedure: # ls -lL /etc/hosts.lpd If the file is not group owned by bin, sys, or system, this is a finding.
Fix: F-34022r1_fix
Change the group owner of the hosts.lpd file. Procedure: # chgrp sys /etc/hosts.lpd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003950
- Vuln IDs
-
- V-22436
- Rule IDs
-
- SV-38807r1_rule
Checks: C-36879r1_chk
Check the permissions of the /etc/hosts.lpd file. #aclget /etc/hosts.lpd Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-31886r1_fix
Remove the extended ACL from the hosts.lpd file and disable extended permissions. #acledit /etc/hosts.lpd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004010
- Vuln IDs
-
- V-22437
- Rule IDs
-
- SV-38808r1_rule
Checks: C-36880r1_chk
Check the permissions of the /usr/sbin/traceroute file. #aclget /usr/sbin/traceroute Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-31892r1_fix
Remove the extended ACL from the traceroute file and disable extended permissions. #acledit /usr/sbin/traceroute
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004370
- Vuln IDs
-
- V-22438
- Rule IDs
-
- SV-40683r1_rule
Checks: C-39413r1_chk
Check the group ownership of the /etc/mail/aliases file. Procedure: # ls -lL /etc/mail/aliases If the file is not group-owned by sys, bin, or system, this is a finding.
Fix: F-34538r1_fix
Change the group owner of the /etc/mail/aliases file. Procedure: # chgrp system /etc/mail/aliases
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004390
- Vuln IDs
-
- V-22439
- Rule IDs
-
- SV-38809r1_rule
Checks: C-36882r1_chk
Check the permissions of the /etc/mail/aliases file. #aclget /etc/mail/aliases Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-31896r1_fix
Remove the extended ACL from the alias file and disable extended permissions. #acledit /etc/mail/aliases
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004410
- Vuln IDs
-
- V-22440
- Rule IDs
-
- SV-38373r1_rule
Checks: C-36561r1_chk
Examine the contents of the /etc/mail/aliases file. # cat /etc/mail/aliases | cut -f 2,2 -d ":" | grep "|" For each file referenced, check the group ownership of the file. # ls -lL <file referenced from aliases> If the group owner of any file is not root, bin, sys or other, this is a finding.
Fix: F-31929r1_fix
Change the group ownership of the file referenced from /etc/mail/aliases. # chgrp root <file referenced from aliases>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004430
- Vuln IDs
-
- V-22441
- Rule IDs
-
- SV-38810r1_rule
Checks: C-36885r1_chk
Examine the contents of the /etc/mail/aliases file. For each file referenced, check the permissions of the file. #aclget [File referenced from alias] Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-31912r1_fix
Remove the extended ACL from the file(s) referenced from the aliases file and disable extended permissions. #acledit [File referenced from aliases]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004510
- Vuln IDs
-
- V-22442
- Rule IDs
-
- SV-38811r1_rule
Checks: C-36886r1_chk
Examine /etc/syslog.conf and determine the log file(s) receiving logs for mail.crit, mail.debug, mail.*, or *.crit. Check the permissions on these log files. #aclget [log file] Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-31922r1_fix
Remove the extended ACL from the SMTP service log file and disable extended permissions. #acledit [ log file ]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004930
- Vuln IDs
-
- V-22444
- Rule IDs
-
- SV-39180r1_rule
Checks: C-38158r1_chk
Check the group ownership of the ftpusers file. Procedure: # ls -lL /etc/ftpusers If the file is not group-owned by bin, sys, or system, this is a finding.
Fix: F-33434r1_fix
Change the group owner of the ftpusers file. Procedure: # chgrp system /etc/ftpusers
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004950
- Vuln IDs
-
- V-22445
- Rule IDs
-
- SV-38812r1_rule
Checks: C-37052r1_chk
Check the permissions of the /etc/ftpusers file. #aclget /etc/ftpusers Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32319r1_fix
Remove the extended ACL from the ftpusers file and disable extended permissions. #acledit /etc/ftpusers
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005190
- Vuln IDs
-
- V-22446
- Rule IDs
-
- SV-38814r1_rule
Checks: C-37054r1_chk
Get a list of (non-system account) users and the associated home directories. # cat /etc/passwd | cut -f 1,6 -d ":" Check the file permissions for the user .Xauthority files. #aclget .Xauthority Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-32322r1_fix
Remove the extended ACL from the .Xauthority file(s) and disable extended permissions. #acledit .Xauthority
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001435
- Version
- GEN005305
- Vuln IDs
-
- V-22447
- Rule IDs
-
- SV-38816r1_rule
Checks: C-37057r1_chk
Determine if the system's SNMP service only uses SNMPv3 or its successors. Consult vendor documentation to determine if earlier versions of SNMP are supported and what configuration is necessary to enable or disable the protocols. Snmpd version 1 was the only version available in AIX versions prior to AIX 5.2. #which snmpd #ls -l <path to snmpd> If the results are not /usr/sbin/snmpdv3e or /usr/sbin/snpdv3ne this is an earlier version of the protocol used by the service, this is a finding.
Fix: F-32325r1_fix
Configure the system's SNMP service to only use SNMPv3 with encryption or its successors. The SNMP version supporting encryption is an installable fileset on the expansion cd as fileset 'snmp.crypto'. Enable snmpv3 with encryption. # snmpv3_ssw -e
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001453
- Version
- GEN005306
- Vuln IDs
-
- V-22448
- Rule IDs
-
- SV-38890r1_rule
Checks: C-37888r2_chk
Check all SNMPv3 users for configured authentication protocols. # grep USM_USER /etc/snmpdv3.conf The 4th field contains the hash used in the authentication protocol. If an entry exists that does not use HMAC-SHA for the authentication protocol, this is a finding.
Fix: F-33137r2_fix
Edit the /etc/snmpdv3.conf file. Change any instances of the HMAC-MD5 authentication protocol in USM_USER entries to HMAC-SHA. For all changed USM_USER entries, regenerate authentication keys using the "pwtokey" command and replace the keys in the /etc/snmpdv3.conf file.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005350
- Vuln IDs
-
- V-22450
- Rule IDs
-
- SV-38818r1_rule
Checks: C-37059r1_chk
Check the file permissions for the MIB files. # find / -name *.mib -print # aclget [mib file] If the extended attributes are not disabled, this is a finding.
Fix: F-32327r1_fix
Remove the extended ACL from the MIB file(s) and change extended attributes to disabled. #acledit [mib file]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005365
- Vuln IDs
-
- V-22451
- Rule IDs
-
- SV-38921r1_rule
Checks: C-37062r1_chk
Determine the group owner of the SNMP configuration files. Procedure: # ls -lL /etc/snmpd.conf /etc/snmpdv3.conf If the file is not group owned by bin, sys, or system, this is a finding.
Fix: F-33455r1_fix
Change the group owner of the SNMP configuration files. Procedure: # chgrp system /etc/snmpd.conf # chgrp system /etc/snmpdv3.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005375
- Vuln IDs
-
- V-22452
- Rule IDs
-
- SV-38819r1_rule
Checks: C-37063r1_chk
Determine if the snmpd.conf file or equivalent has an extended ACL. Procedure: # find / -name "snmpd*.conf" # aclget < snmpd conf > If the extended attributes are not disabled, this is a finding.
Fix: F-32329r1_fix
Remove the extended ACL from the snmpd.conf file (or equivalent) and change extended attributes to disabled. #acledit < snmpd conf >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005390
- Vuln IDs
-
- V-22453
- Rule IDs
-
- SV-26740r1_rule
Checks: C-27755r1_chk
Check the permissions of the syslog configuration file. # ls -lL /etc/syslog.conf If the mode of the file is more permissive than 0640, this is a finding.
Fix: F-23989r1_fix
Change the permissions of the syslog configuration file. # chmod 0640 /etc/syslog.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005395
- Vuln IDs
-
- V-22454
- Rule IDs
-
- SV-38820r1_rule
Checks: C-37064r1_chk
Check the permissions of the syslog configuration file. # aclget /etc/syslog.conf If the extended attributes are not disabled, this is a finding
Fix: F-32330r1_fix
Remove the extended ACL from the syslog.conf file and change extended attributes to disabled. #acledit /etc/syslog.conf
- RMF Control
- AU-3
- Severity
- M
- CCI
- CCI-000136
- Version
- GEN005450
- Vuln IDs
-
- V-22455
- Rule IDs
-
- SV-26745r1_rule
Checks: C-27757r1_chk
Check the syslog configuration file for remote syslog servers. # grep '@' /etc/syslog.conf | grep -v '^#' If no line is returned, this is a finding.
Fix: F-23994r1_fix
Edit the syslog configuration file and add an appropriate remote syslog server.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN005501
- Vuln IDs
-
- V-22456
- Rule IDs
-
- SV-39209r1_rule
Checks: C-38187r1_chk
Check the SSH client configuration for allowed protocol versions. # grep -i protocol /etc/ssh/ssh_config | grep -v '^#' If the variables Protocol 2,1 or Protocol 1 are defined on a line without a leading comment, this is a finding. If the SSH client is F-Secure, the variable name for SSH 1 compatibility is Ssh1Compatibility, not protocol. If the variable Ssh1Compatiblity is set to yes, this is a finding.
Fix: F-33461r1_fix
Edit the /etc/ssh/ssh_config file and add or edit a Protocol configuration line that does not allow versions less than 2.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000069
- Version
- GEN005504
- Vuln IDs
-
- V-22457
- Rule IDs
-
- SV-26750r1_rule
Checks: C-27759r1_chk
Check the SSH daemon configuration for listening network addresses. # grep -i Listen /etc/ssh/sshd_config | grep -v '^#' If no configuration is returned, or if a returned Listen configuration contains addresses not designated for management traffic, this is a finding.
Fix: F-24000r1_fix
Edit the SSH daemon configuration to specify listening network addresses designated for management traffic.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- GEN005505
- Vuln IDs
-
- V-22458
- Rule IDs
-
- SV-26751r1_rule
Checks: C-27760r1_chk
Check the SSH daemon configuration for allowed ciphers. # grep -i ciphers /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the returned ciphers list contains any cipher not starting with 3des or aes, this is a finding.
Fix: F-24001r2_fix
Edit /etc/ssh/sshd_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the sshd_config manpage. Restart the SSH daemon.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005506
- Vuln IDs
-
- V-22459
- Rule IDs
-
- SV-26752r2_rule
Checks: C-27761r1_chk
Check the SSH daemon configuration for allowed ciphers. # grep -i ciphers /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the returned ciphers list contains any cipher ending with cbc, this is a finding.
Fix: F-24001r2_fix
Edit /etc/ssh/sshd_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the sshd_config manpage. Restart the SSH daemon.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001453
- Version
- GEN005507
- Vuln IDs
-
- V-22460
- Rule IDs
-
- SV-26753r1_rule
Checks: C-27762r1_chk
Check the SSH daemon configuration for allowed MACs. Procedure: # grep -i macs /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the returned MACs list contains any MAC other than hmac-sha1, this is a finding.
Fix: F-24003r1_fix
Edit the SSH daemon configuration and remove any MACs other than hmac-sha1. If necessary, add a MACs line.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- GEN005510
- Vuln IDs
-
- V-22461
- Rule IDs
-
- SV-26754r1_rule
Checks: C-27763r1_chk
Check the SSH client configuration for allowed ciphers. # grep -i ciphers /etc/ssh/ssh_config | grep -v '^#' If no lines are returned, the returned ciphers list contains any cipher not starting with 3des or aes, this is a finding.
Fix: F-24004r1_fix
Edit /etc/ssh/ssh_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the ssh_config manpage.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005511
- Vuln IDs
-
- V-22462
- Rule IDs
-
- SV-26755r1_rule
Checks: C-27764r1_chk
Check the SSH client configuration for allowed ciphers. # grep -i ciphers /etc/ssh/ssh_config | grep -v '^#' If no lines are returned, or the returned ciphers list contains any cipher ending with cbc, this is a finding.
Fix: F-24004r1_fix
Edit /etc/ssh/ssh_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the ssh_config manpage.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001453
- Version
- GEN005512
- Vuln IDs
-
- V-22463
- Rule IDs
-
- SV-26756r1_rule
Checks: C-27765r1_chk
Check the SSH client configuration for allowed MACs. # grep -i macs /etc/ssh/ssh_config | grep -v '^#' If no lines are returned, or the returned MACs list contains any MAC other than hmac-sha1, this is a finding.
Fix: F-24006r1_fix
Edit the SSH client configuration and remove any MACs other than hmac-sha1. If necessary, add a MACs line.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005521
- Vuln IDs
-
- V-22470
- Rule IDs
-
- SV-26763r1_rule
Checks: C-27772r1_chk
Check the SSH daemon configuration for the AllowGroups setting. # grep -i AllowGroups /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, this is a finding.
Fix: F-24013r1_fix
Edit the SSH daemon configuration and add an AllowGroups directive.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005522
- Vuln IDs
-
- V-22471
- Rule IDs
-
- SV-26764r1_rule
Checks: C-27773r1_chk
Check the permissions for SSH public host key files. # ls -lL /etc/ssh/*key.pub If any file has a mode more permissive than 0644, this is a finding.
Fix: F-24014r1_fix
Change the permissions for the SSH public host key files. # chmod 0644 /etc/ssh/*key.pub
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005523
- Vuln IDs
-
- V-22472
- Rule IDs
-
- SV-26765r1_rule
Checks: C-27774r1_chk
Check the permissions for SSH private host key files. # ls -lL /etc/ssh/*key If any file has a mode more permissive than 0600, this is a finding.
Fix: F-24015r1_fix
Change the permissions for the SSH private host key files. # chmod 0600 /etc/ssh/*key
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN005524
- Vuln IDs
-
- V-22473
- Rule IDs
-
- SV-40714r1_rule
Checks: C-39444r1_chk
Ask the SA if GSSAPI authentication is used for SSH authentication to the system. If so, this is not applicable. Check the SSH daemon configuration for the GSSAPI authentication setting. # grep -i GSSAPIAuthentication /etc/ssh/sshd_config | grep -v '^#' If the setting is present and set to "yes", this is a finding. If the setting is absent or set to "no", this is not a finding.
Fix: F-34572r1_fix
Edit /etc/ssh/sshd_config and remove the GSSAPIAuthentication setting or change the value to "no".
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN005525
- Vuln IDs
-
- V-22474
- Rule IDs
-
- SV-40715r1_rule
Checks: C-39446r1_chk
Check the SSH clients configuration for the GSSAPI authentication setting. # grep -i GSSAPIAuthentication /etc/ssh/ssh_config | grep -v '^#' If the setting is present and set to "yes", this is a finding. If the setting is absent or set to "no", this is not a finding.
Fix: F-34574r1_fix
Edit the /etc/ssh/ssh_config file and remove the GSSAPIAuthentication setting or change the GSSAPIAuthentication setting to "no".
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN005526
- Vuln IDs
-
- V-22475
- Rule IDs
-
- SV-40716r1_rule
Checks: C-39447r1_chk
Ask the SA if Kerberos authentication is used by the system. If it is, this is not applicable. Check the SSH daemon configuration for the Kerberos authentication setting. # grep -i KerberosAuthentication /etc/ssh/sshd_config | grep -v '^#' If the setting is present and set to "yes", this is a finding. If the setting is missing or set to "no", this is not a finding.
Fix: F-34575r1_fix
Edit the /etc/ssh/sshd_config file and remove the KerberosAuthentication setting or change the value of the setting to "no".
- RMF Control
- AC-10
- Severity
- L
- CCI
- CCI-000054
- Version
- GEN005533
- Vuln IDs
-
- V-22482
- Rule IDs
-
- SV-26776r1_rule
Checks: C-27784r1_chk
Check the SSH daemon configuration for the MaxSessions setting. # grep -i MaxSessions /etc/ssh/sshd_config | grep -v '^#' If the setting is not present, or not set to 1, this is a finding.
Fix: F-24026r1_fix
Edit the SSH daemon configuration and add or edit the MaxSessions setting value to 1.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005536
- Vuln IDs
-
- V-22485
- Rule IDs
-
- SV-40720r1_rule
Checks: C-39451r1_chk
Check the SSH daemon configuration for the StrictModes setting. # grep -i StrictModes /etc/ssh/sshd_config | grep -v '^#' If the setting is present and set to "no", this is a finding. If the setting is not present or is set to "yes", this is not a finding.
Fix: F-34579r1_fix
Edit the /etc/sshd/sshd_config file and remove the StrictModes setting or change the value of the StrictModes setting to "yes".
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005537
- Vuln IDs
-
- V-22486
- Rule IDs
-
- SV-40721r1_rule
Checks: C-39452r1_chk
Check the SSH daemon configuration for the UsePrivilegeSeparation setting. # grep -i UsePrivilegeSeparation /etc/ssh/sshd_config | grep -v '^#' If the setting is present and set to "no", this is a finding. If the setting is not present or is set to "yes", this is not a finding.
Fix: F-34580r1_fix
Edit the /etc/ssh/sshd_config file and remove the UsePrivilegeSeparation setting or change the value of the UsePrivilegeSeparation setting to "yes".
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005538
- Vuln IDs
-
- V-22487
- Rule IDs
-
- SV-40722r1_rule
Checks: C-39453r1_chk
Check the SSH daemon configuration for the RhostsRSAAuthentication setting. # grep -i RhostsRSAAuthentication /etc/ssh/sshd_config | grep -v '^#' If the setting is present and set to "yes", this is a finding. If the setting is absent or set to "no", this is not a finding.
Fix: F-34581r1_fix
Edit the /etc/ssh/sshd_config file and remove the RhostsRSAAuthentication setting or change the value of the RhostsRSAAuthentication setting to "no".
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005539
- Vuln IDs
-
- V-22488
- Rule IDs
-
- SV-40723r1_rule
Checks: C-39454r1_chk
Check the SSH daemon configuration for the Compression setting. # grep -i Compression /etc/ssh/sshd_config | grep -v '^#' If the setting is present and set to "yes", this is a finding. If the setting is absent or set to "no" or "delayed", this is not a finding.
Fix: F-34582r1_fix
Edit the /etc/ssh/sshd_config file and remove the Compression setting or set the Compression setting to "delayed" or "no".
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- GEN005550
- Vuln IDs
-
- V-22489
- Rule IDs
-
- SV-26802r1_rule
Checks: C-27791r1_chk
Verify the SSH daemon is configured for logon warning banners. # grep -i banner /etc/ssh/sshd_config | grep -v '^#' # cat [banner file] Verify the banner configuration line is present and the file it references contains a logon warning banner. Check for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding. "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." OR "I've read & consent to terms in IS user agreem't." If the SSH daemon is not configured to display the logon warning banner, this is a finding.
Fix: F-24046r1_fix
Edit the SSH daemon configuration and add (or edit) a banner setting referencing a file containing a logon warning banner. DoD Login Banners: "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." OR "I've read & consent to terms in IS user agreem't."
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005570
- Vuln IDs
-
- V-22490
- Rule IDs
-
- SV-39215r1_rule
Checks: C-38191r1_chk
If the system is a router, this is not applicable. If the system does not use IPv6, this is not applicable. Determine if the system has a default route configured for IPv6. # netstat -r | grep default If a default route is not defined, this is a finding.
Fix: F-33466r1_fix
Configure an IPv6 default route on the system. # smitty route
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005610
- Vuln IDs
-
- V-22491
- Rule IDs
-
- SV-38822r1_rule
Checks: C-37068r1_chk
# /usr/sbin/no -o ip6forwarding If the value returned is 1, this is a finding.
Fix: F-32335r1_fix
Disable IPv6 forwarding on the system. # /usr/sbin/no -p -o ip6forwarding=0
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005750
- Vuln IDs
-
- V-22492
- Rule IDs
-
- SV-40861r1_rule
Checks: C-39553r1_chk
Check the group ownership of the NFS export configuration file. Procedure: # ls -lL /etc/exports If the file is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-34706r1_fix
Change the group ownership of the NFS export configuration file to root, bin, sys, or system. Procedure: # chgrp root /etc/exports
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN005770
- Vuln IDs
-
- V-22493
- Rule IDs
-
- SV-38823r1_rule
Checks: C-37070r1_chk
# aclget /etc/exports If the extended attributes are not disabled, this is a finding.
Fix: F-32337r1_fix
Remove the extended ACL from the NFS export configuration file and change extended attributes to disabled. #acledit /etc/exports
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005810
- Vuln IDs
-
- V-22496
- Rule IDs
-
- SV-26171r1_rule
Checks: C-29278r1_chk
Determine if the NFS exported directories on the system are group-owned by root. If any are not, this is a finding.
Fix: F-26305r1_fix
Change the group owner of NFS exported directories to root.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006150
- Vuln IDs
-
- V-22497
- Rule IDs
-
- SV-38824r1_rule
Checks: C-37071r1_chk
Check the group ownership of the Samba configuration file. # aclget /usr/lib/smb.conf If the extended attributes are not disabled, this is a finding.
Fix: F-32340r1_fix
Remove the extended ACL from the /usr/lib/smb.conf file and change extended attributes to disabled. #acledit /usr/lib/smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006210
- Vuln IDs
-
- V-22498
- Rule IDs
-
- SV-38928r1_rule
Checks: C-37072r1_chk
Check the group ownership of the Samba configuration file. # aclget /var/private/smbpasswd If the extended attributes are not disabled, this is a finding.
Fix: F-33486r1_fix
Remove the extended ACL from the /var/private/smbpasswd file. # acledit /var/private/smbpasswd
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006225
- Vuln IDs
-
- V-22499
- Rule IDs
-
- SV-39239r1_rule
Checks: C-38214r1_chk
Check the security mode of the Samba configuration. # grep -i security /usr/lib/smb.conf If the security mode is share, this is a finding.
Fix: F-33490r1_fix
Edit the /usr/lib/smb.conf file and change the security setting to user or another valid setting other than share. # vi /usr/lib/smb.conf
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006230
- Vuln IDs
-
- V-22500
- Rule IDs
-
- SV-39241r1_rule
Checks: C-38215r1_chk
Check the encryption setting the Samba configuration. # grep -i 'encrypt passwords' /usr/lib/smb.conf If the setting is not present, or not set to yes, this is a finding.
Fix: F-33491r1_fix
Edit the smb.conf file and change the encrypt passwords setting to yes. # vi /usr/lib/smb.conf
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006235
- Vuln IDs
-
- V-22501
- Rule IDs
-
- SV-39245r1_rule
Checks: C-38220r1_chk
Check the encryption setting the Samba configuration. # grep -i 'guest ok' /usr/lib/smb.conf If the setting exists and is set to yes, this is a finding.
Fix: F-33495r1_fix
Edit the smb.conf file and change the guest ok setting to no. # vi /usr/lib/smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006270
- Vuln IDs
-
- V-22502
- Rule IDs
-
- SV-38898r1_rule
Checks: C-37893r1_chk
Check the permissions of the hosts.nntp file. # find / -type f -name hosts.nntp # aclget < hosts.nntp file > If extended permissions are enabled, the file has an extended ACL, this is a finding.
Fix: F-33151r1_fix
Remove the extended ACL from the hosts.nntp file. #acledit < hosts.nntp file >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006290
- Vuln IDs
-
- V-22503
- Rule IDs
-
- SV-38899r1_rule
Checks: C-37894r1_chk
Check the permissions of the file. # find / -name hosts.nntp.nolimit # aclget < hosts.nntp.nolimit > If the extended permissions are enabled the file has an extended ACL, this is a finding.
Fix: F-33154r1_fix
Remove the extended ACL from the hosts.nntp.nolimit file. # acledit < hosts.nntp.nolimit > Set the extended permissions to disabled.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006310
- Vuln IDs
-
- V-22504
- Rule IDs
-
- SV-39258r1_rule
Checks: C-38233r1_chk
Check the permissions of the file. # find / -name nnrp.access # ls -lL < nnrp.access > If extended permissions are enabled, this is a finding.
Fix: F-33508r1_fix
Remove the extended ACL from the nnrp.access file. # acledit < nnrp.access >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006330
- Vuln IDs
-
- V-22505
- Rule IDs
-
- SV-39262r1_rule
Checks: C-38237r1_chk
Check the permissions of the file. # find / -name passwd.nntp # ls -lL < passwd.nntp > If extended permissions are enabled, this is a finding.
Fix: F-33511r1_fix
Remove the extended ACL from the passwd.nntp file. # acledit < passwd.nntp >
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006565
- Vuln IDs
-
- V-22506
- Rule IDs
-
- SV-38958r1_rule
Checks: C-38242r1_chk
Check the root crontab for a job invoking the system package management tool to verify the integrity of installed packages. # crontab -l | grep lppchk If no such job exists, this is a finding.
Fix: F-32343r1_fix
Add a job to the root crontab invoking the system package management tool to verify the integrity of installed packages. # lppchk -c
- RMF Control
- SI-7
- Severity
- L
- CCI
- CCI-001297
- Version
- GEN006570
- Vuln IDs
-
- V-22507
- Rule IDs
-
- SV-26858r1_rule
Checks: C-27829r2_chk
If using AIDE, verify the configuration contains the acl option for all monitored files and directories. Here is an example AIDE configuration fragment. SampleRule = p+i+l+n+u+g+s+m+c+acl+xattrs+sha256 /bin SampleRule If the acl option is not present, this is a finding. If using a different file integrity tool, check the configuration per tool documentation.
Fix: F-24101r1_fix
If using AIDE, edit the configuration and add the acl option for all monitored files and directories. If using a different file integrity tool, configure ACL checking per the tool's documentation.
- RMF Control
- SI-7
- Severity
- L
- CCI
- CCI-001297
- Version
- GEN006571
- Vuln IDs
-
- V-22508
- Rule IDs
-
- SV-26860r1_rule
Checks: C-27830r2_chk
If using AIDE, verify the configuration contains the xattrs option for all monitored files and directories. Here is an example AIDE configuration fragment. SampleRule = p+i+l+n+u+g+s+m+c+acl+xattrs+sha256 /bin SampleRule If the xattrs option is not present, this is a finding. If using a different file integrity tool, check the configuration per tool documentation.
Fix: F-24102r1_fix
If using AIDE, edit the configuration and add the xattrs option for all monitored files and directories. If using a different file integrity tool, configure extended attributes checking per the tool's documentation.
- RMF Control
- SI-7
- Severity
- L
- CCI
- CCI-001297
- Version
- GEN006575
- Vuln IDs
-
- V-22509
- Rule IDs
-
- SV-26861r1_rule
Checks: C-27831r2_chk
If using AIDE, verify the configuration contains the sha256 or sha512 options for all monitored files and directories. Here is an example AIDE configuration fragment. SampleRule = p+i+l+n+u+g+s+m+c+acl+xattrs+sha256 /bin SampleRule If either the sha256 or sha512 option is not present, this is a finding. If using a different file integrity tool, check the configuration per tool documentation.
Fix: F-24103r2_fix
If using AIDE, edit the configuration and add the sha256 or sha512 option for all monitored files and directories. If using a different file integrity tool, configure FIPS 140-2 approved cryptographic hashes per the tool's documentation.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- GEN007020
- Vuln IDs
-
- V-22511
- Rule IDs
-
- SV-38960r1_rule
Checks: C-38244r2_chk
Check the system to determine if SCTP is installed. # lslpp -L bos.net.\* If the bos.net.sctp fileset is not listed, SCTP is not installed, and this is not a finding. If the bos.net.sctp fileset is installed, ask the SA if SCTP is required for the system. If it is not, this is a finding.
Fix: F-32345r2_fix
If SCTP is installed and not required, unload it from the kernel and uninstall it from the system. # sctpctrl unload Use SMIT to uninstall the bos.net.sctp fileset.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- GEN007480
- Vuln IDs
-
- V-22530
- Rule IDs
-
- SV-38913r1_rule
Checks: C-37904r1_chk
AIX has RDS protocol installed as part of the 'bos.net.tcp.client' fileset. The RDS protocol in primarily used for communication on INFI-Band interfaces. The protocol is manually loaded with the bypassctrl command. Determine if RDS is currently loaded. #genkex | grep rds If the RDS protocol is loaded, ask the SA if RDS is required by application software running on the system. If so, this is not applicable. If the RDS protocol is loaded and the protocol is not used by application software, this is a finding.
Fix: F-33161r1_fix
Configure the system to not automatically load the RDS protocol handler. Check startup scripts for 'bypassctrl load rds' and comment out the bypassctrl commands. Unload the driver from the kernel. # bypassctrl unload rds
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007700
- Vuln IDs
-
- V-22541
- Rule IDs
-
- SV-38918r1_rule
Checks: C-37907r1_chk
AIX comes with IPv6 protocol handler installed and active. The only configured IPv6 address is the loopback localhost adapter. Check if any other interfaces have IPv6 addresses active. # ifconfig -a If any IPv6 addresses are configured on any network interfaces other than loopback and IPv6 is not needed, this is a finding.
Fix: F-33165r1_fix
Unbind the IPv6 protocol handler from the network stack. Edit /etc/rc.tcpip and comment out autoconf6 to prevent IPv6 from auto starting. Unconfigure IPv6 addresses from interfaces not used with smit. #smit chinet6
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007720
- Vuln IDs
-
- V-22542
- Rule IDs
-
- SV-38922r1_rule
Checks: C-37908r1_chk
Determine if the IPv6 protocol handler is prevented from dynamic loading. AIX comes with IPv6 protocol handler installed and active. The only IPv6 address configured by default is the loopback localhost adapter. #ifconfig -a If there is any unneeded IPv6 addresses on network interfaces, this is a finding.
Fix: F-33166r1_fix
There is not an option to not load IPv6. Remove unnecessary IPv6 addresses from network interfaces via smit. #smit chinet6
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007760
- Vuln IDs
-
- V-22544
- Rule IDs
-
- SV-38925r1_rule
Checks: C-37910r1_chk
If the system does not support proxy NDP, this is not applicable. Determine if the system has proxy NDP enabled. If IPv6 is enabled, determine if any non-local published NDP entries exist on the system. # ndp -a If any NDP entries contain non-local published entries, this is a finding.
Fix: F-33168r1_fix
Remove non-local published NDP entries from the system. # ndp -d <host> Check system startup scripts for commands publishing NDP entries (such as "ndp -s <int> <host> <hwaddr> pub") and remove them.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007780
- Vuln IDs
-
- V-22545
- Rule IDs
-
- SV-38926r1_rule
Checks: C-37911r1_chk
Determine if there are any 6to4 tunnels configured on the system. #ifconfig -a If there are any sit or cit adapters in the ifconfig listing, this is a finding.
Fix: F-33169r1_fix
Remove the configuration for any 6to4 tunnels on the system. #ifconfig sit0 detach #rmdev -dl sit0 #ifconfig cit0 detach #rmdev -dl cit0 Set the startup script /etc/rc.net to call autoconf6 with the -6 argument to prevent setting up 6 to 4 tunnels.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007820
- Vuln IDs
-
- V-22547
- Rule IDs
-
- SV-38929r1_rule
Checks: C-37914r1_chk
Determine if any IP tunnels are configured on the system. Check for IP tunnels. # lstun -a # ifconfig -a | grep -e gre -e gif -e cti -e sit If any tunnels are listed, this is a finding.
Fix: F-33171r1_fix
Remove the configuration for any IP tunnels from the system. Remove tunnels listed with the lstun command. #rmtun -t <Tunnel id> -d Remove the tunneled IP interfaces. #ifconfig <if name> detach #rmdev -Rdl <if name>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN007840
- Vuln IDs
-
- V-22548
- Rule IDs
-
- SV-38931r1_rule
Checks: C-37915r1_chk
If the DHCP client is needed by the system, this is not applicable. Determine if the DHCP client is disabled. # ps -ef |grep dhcpcd If dhcpcd is running, this is a finding.
Fix: F-33172r1_fix
Disable the system's DHCP client. Edit /etc/rc.tcpip, comment out the line starting dhcpcd. Reboot the system to ensure the DHCP client has been disabled fully. Configure a static IP for the system, if network connectivity is required.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN007850
- Vuln IDs
-
- V-22549
- Rule IDs
-
- SV-38963r1_rule
Checks: C-37916r1_chk
Determine if the system's DHCP client is configured to send dynamic DNS updates. #grep "^updateDNS" /etc/dhcpc.opt /etc/dhcpcd.ini If any lines are returned, this is a finding.
Fix: F-32346r1_fix
Configure the system's DHCP client to not send dynamic DNS updates. Remove / comment updateDNS lines from the /etc/dhcpcd.ini and /etc/dhcpc.opt files.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007860
- Vuln IDs
-
- V-22550
- Rule IDs
-
- SV-38825r1_rule
Checks: C-37076r1_chk
Determine if the system is configured to ignore IPv6 ICMP redirect messages. If it is not, this is a finding. # /usr/sbin/no -o ipignoreredirects If the value returned is not 1, this is a finding.
Fix: F-32348r1_fix
Configure the system to ignore IPv6 ICMP redirect messages. # /usr/sbin/no -p -o ipignoreredirects=1
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007880
- Vuln IDs
-
- V-22551
- Rule IDs
-
- SV-38826r1_rule
Checks: C-37077r1_chk
# /usr/sbin/no -o ipsendredirects If the value returned is not 0, this is a finding.
Fix: F-32349r1_fix
Configure the system to not send IPv6 ICMP redirects. # /usr/sbin/no -p -o ipsendredirects=0
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007900
- Vuln IDs
-
- V-22552
- Rule IDs
-
- SV-38964r1_rule
Checks: C-37917r1_chk
Determine if the system is configured to use reverse-path filtering. Examine the IPSec rules on the system. # lsfilt -a All systems must block inbound traffic destined to the loopback address from other network interfaces. Additionally, if the system is multihomed and the attached networks are isolated or perform symmetric routing, traffic with source addresses expected on one interface must be blocked when received on another interface. If filtering is not configured on the system, this is a finding.
Fix: F-33173r1_fix
Configure the system to use reverse-path filtering using IP Sec filters. Add rules to block traffic with loopback network source addresses from being received on interfaces other than the loopback, such as other ethernet interfaces. Use smitty or genfilt command to block loopback address from network interfaces. # smitty ipsec6 # genfilt -v6 -a D -s <source address> -m <source netmask> -d <destination address> -M <Destination mask> -c all -o any -O any -p 0 -P 0 -w I -l y -a en0 If the system is multihomed and the attached networks are isolated or perform symmetric routing, add rules to block traffic with source addresses expected on one interface when received on another interface. # smitty ipsec6
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007920
- Vuln IDs
-
- V-22553
- Rule IDs
-
- SV-38827r1_rule
Checks: C-37079r1_chk
# /usr/sbin/no -o ip6srcrouteforward If the value returned is not 0, this is a finding.
Fix: F-32350r1_fix
Configure the system so it does not forward IPv6 source-routed packets. # /usr/sbin/no -p -o ip6srcrouteforward=0
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007940
- Vuln IDs
-
- V-22554
- Rule IDs
-
- SV-38828r1_rule
Checks: C-37080r1_chk
# /usr/sbin/no -o ipsrcrouterecv If the value returned is not 0, this is a finding.
Fix: F-32352r1_fix
Configure the system to not accept source-routed IPv6 packets. # /usr/sbin/no -p -o ipsrcrouterecv=0
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000185
- Version
- GEN008000
- Vuln IDs
-
- V-22556
- Rule IDs
-
- SV-38830r1_rule
Checks: C-37083r1_chk
Check if the system is using LDAP authentication. #grep LDAP /etc/security/user If no lines are returned, this vulnerability is not applicable. Check if the useSSL option is enabled. #grep '^useSSL' /etc/security/ldap/ldap.cfg If yes is not the returned value, this is a finding. Verify a certificate is used for client authentication to the server. #grep -I '^ldapsslkeyf' /etc/security/ldap/ldap.cfg If no line is found, this is a finding. List the certificate issuer with IBM GSK. #gsk7cmd -cert -list CA -db <certificate keyfile.kdb> -pw <Password> Make note of the client Key Label. #gsk7cmd -cert -details -showOID -db <certificate key.kdb> -pw <Password> -label <Key Label> If the certificate is not issued by DoD PKI or a DoD-approved external PKI, this is a finding.
Fix: F-32355r1_fix
Create a key database with DoD PKI or DoD-approved certificate. #gsk7cmd OR #ikeyman Edit /etc/security/ldap/ldap.conf and add or edit the ldapsslkeyf setting to reference a file containing a client certificate issued by DoD PKI or a DoD-approved external PKI.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000185
- Version
- GEN008020
- Vuln IDs
-
- V-22557
- Rule IDs
-
- SV-38966r1_rule
Checks: C-37919r1_chk
Check if the system is using LDAP authentication. #grep LDAP /etc/security/user If no lines are returned, this vulnerability is not applicable. Verify SSL is enabled. #grep '^useSSL' /etc/security/ldap/ldap.cfg If yes is not the returned value, this is a finding. Verify a server certificate is required and verified by the LDAP configuration. #grep -I '^ldapsslkeyf' /etc/security/ldap/ldap.cfg Make note of the key database file location. #gsk7cmd -cert -list CA -db <certificate keyfile.kdb> -pw <Password> Make note of the Key Label. #gsk7cmd -cert -details -showOID -db <certificate key.kdb> -pw <Password> -label <Key Label> THE IBM GSK Database should only have certificates for the client system and for the LDAP server. If more certificates are in the key database than the LDAP server and the client, this is a finding.
Fix: F-33175r1_fix
Install a certificate signed by a DoD PKI or a DoD-approved external PKI. #gsk7cmd < or > ikeyman Remove un-needed CA certificates. #gsk7cmd < or > ikeyman
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008060
- Vuln IDs
-
- V-22559
- Rule IDs
-
- SV-38969r1_rule
Checks: C-37922r1_chk
Check the permissions of the /etc/security/ldap/ldap.cfg file. # ls -lL /etc/security/ldap/ldap.cfg If the mode of the file is more permissive than 0644, this is a finding.
Fix: F-33178r1_fix
Change the permissions of the /etc/security/ldap/ldap.cfg file to 0644 or less permissive. # chmod 0644 /etc/security/ldap/ldap.cfg
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008080
- Vuln IDs
-
- V-22560
- Rule IDs
-
- SV-38970r1_rule
Checks: C-37923r1_chk
Check the ownership of the /etc/security/ldap/ldap.cfg file. # ls -lL /etc/security/ldap/ldap.cfg If the file is not owned by root, this is a finding.
Fix: F-33179r1_fix
Change the owner of the /etc/security/ldap/ldap.cfg file. # chown root /etc/security/ldap/ldap.cfg
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008100
- Vuln IDs
-
- V-22561
- Rule IDs
-
- SV-38971r1_rule
Checks: C-37924r1_chk
Check the group ownership of the ldap.cfg file. Procedure: # ls -lL /etc/security/ldap/ldap.cfg If the file is not group-owned by bin, security, sys, or system, this is a finding.
Fix: F-33180r1_fix
Change the group owner of the /etc/security/ldap/ldap.cfg file to security, bin, sys, or system. Procedure: # chgrp security /etc/security/ldap/ldap.cfg
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008120
- Vuln IDs
-
- V-22562
- Rule IDs
-
- SV-38972r1_rule
Checks: C-37925r1_chk
Check the permissions of the /etc/security/ldap/ldap.cfg file. Procedure: # aclget /etc/security/ldap/ldap.cfg Check to see if extended permissions are enabled. If extended permissions are enabled, this is a finding.
Fix: F-33181r1_fix
Remove the extended ACL from the /etc/security/ldap/ldap.cfg file. # acledit /etc/security/ldap/ldap.cfg Disable extended file permissions.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008140
- Vuln IDs
-
- V-22563
- Rule IDs
-
- SV-38973r1_rule
Checks: C-37926r1_chk
Determine the SSL Certificate database file and/or directory. # grep -i '^ldapsslkeyf' /etc/security/ldap/ldap.cfg For each file or directory returned, check the ownership. # ls -lLd <certpath> If the owner of any file or directory is not root, this is a finding.
Fix: F-33182r1_fix
Change the ownership of the SSL key database file or directory. # chown root <certpath>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008160
- Vuln IDs
-
- V-22564
- Rule IDs
-
- SV-38974r1_rule
Checks: C-37927r1_chk
Check the group ownership of the SSL key database file. Determine the location of the SSL key database. # grep -i '^ldapsslkeyf' /etc/security/ldap/ldap.cfg Check the group ownership of the SSL key database file. # ls -lLa <ldap certificate file(s) or directories> If a certificate file or directory is not group-owned by root, bin, security, sys, or system, this is a finding.
Fix: F-33183r1_fix
Change the group ownership of LDAP client SSL certificate database file to root, security, bin, sys, or system. Procedure: # chgrp system < certificate file >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008180
- Vuln IDs
-
- V-22565
- Rule IDs
-
- SV-38975r1_rule
Checks: C-37928r1_chk
Determine the SSL certificate key database file and/or directory. Procedure: # grep -i '^ldapsslkeyf' /etc/security/ldap/ldap.cfg For each file or directory returned, check the permissions. Procedure: # ls -lLd <certpath> If the mode of the file is more permissive than 0644 (or 0755 for directories), this is a finding.
Fix: F-33184r1_fix
Change the mode of the file to 0644 or the directory to 0755 or less permissive. File Procedure: # chmod 0644 < SSL key database certpath > Directory Procedure: # chmod 0755 < SSL key database certpath >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008200
- Vuln IDs
-
- V-22566
- Rule IDs
-
- SV-38976r1_rule
Checks: C-37929r1_chk
Determine the SSL certificate key database file and/or directory. # grep -i '^ldapsslkeyf' /etc/security/ldap/ldap.cfg For each file or directory returned, check the permissions. # aclget < certpath > # aclget < certpath >/< certfile > If extended file permissions are enabled, this is a finding.
Fix: F-33185r1_fix
Remove the extended ACL from the SSL certificate key database file. # acledit < certpath > # acledit < certpath >/<certfile > Disable the extended file permissions.
- RMF Control
- SC-28
- Severity
- M
- CCI
- CCI-001199
- Version
- GEN008380
- Vuln IDs
-
- V-22575
- Rule IDs
-
- SV-26250r1_rule
Checks: C-29315r1_chk
Ask the SA if a root kit check tool is run on the system weekly. If this is not performed, this is a finding.
Fix: F-26347r1_fix
Create an automated job or establish a site-defined procedure to check the system weekly with a root kit check tool.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN008420
- Vuln IDs
-
- V-22576
- Rule IDs
-
- SV-38831r1_rule
Checks: C-37086r1_chk
Running the sedmgr command without any options will show the settings currently in effect. #sedmgr If the value returned for the sedmgr mode is off, this is a finding.
Fix: F-32358r1_fix
Configure the system to use any available memory address randomization techniques. Recommended settings are either to enable stack execution disablement for all suid files or select system executables. Set sedmgr to enforce on selected files and terminate processes violating stack execution boundaries. # sedmgr -m select -o off OR Set sedmgr to enforce on setid files and terminate processes violating stack execution boundaries. # sedmgr -m setidfiles -o off After a global system change to the sed, the system should be rebooted. # shutdown -Fr
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN008440
- Vuln IDs
-
- V-22577
- Rule IDs
-
- SV-38832r1_rule
Checks: C-37093r1_chk
Determine if the system uses automated file system mounting tools (such as autofs or automount). AIX can use automount facility. #ps -ef | grep -v grep | grep automount If the automount process is running, this is a finding.
Fix: F-32359r1_fix
Disable the automated file system mounting tools. Empty the /etc/auto_master file kill automount kill < pid of automount >
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN008460
- Vuln IDs
-
- V-22578
- Rule IDs
-
- SV-38833r1_rule
Checks: C-37092r1_chk
AIX has server USB drivers installed, such as keyboard, mount, and mass media drivers. Determine if the system has USB enabled. # lsdev -C | grep usb # lslpp -l | grep usb If usb filesets are installed on the system, USB is enabled and this is a finding.
Fix: F-32361r1_fix
Disable USB devices on the system. Use SMIT to remove the following filesets. devices.usbif.* # smitty remove
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN008480
- Vuln IDs
-
- V-22579
- Rule IDs
-
- SV-38834r1_rule
Checks: C-37091r1_chk
If the system uses USB mass storage, this is not applicable. # lslpp -l | grep -e devices.usbif.010100 -e devices.usbif.08025 -e devices.usbif.080400 If these filesets are installed on the system, USB mass storage is enabled and this is a finding.
Fix: F-32362r1_fix
Disable USB mass storage on the system by using SMIT to remove the following filesets. devices.usbif.010100 devices.usbif.08025002 devices.usbif.080400 # smitty remove
- RMF Control
- SC-7
- Severity
- M
- CCI
- CCI-001118
- Version
- GEN008520
- Vuln IDs
-
- V-22582
- Rule IDs
-
- SV-38961r1_rule
Checks: C-37947r1_chk
Determine if the system is using a local firewall. # lsfilt # smitty ipsec4 If local firewall is not configured and running, this is a finding.
Fix: F-32366r1_fix
Configure the system to use a local firewall. Use SMIT to load the IPSEC filesets. #smit install Use SMIT to configure filters. #smit ipsec4
- RMF Control
- SC-7
- Severity
- M
- CCI
- CCI-001109
- Version
- GEN008540
- Vuln IDs
-
- V-22583
- Rule IDs
-
- SV-38985r1_rule
Checks: C-37938r1_chk
Determine if the system's local firewall implements a deny-all, allow-by-exception policy. View the firewall (filter rules) with smit or lsfilt commands. # smitty ipsec4 # lsfilt If there is not a deny-all, allow-by-exception policy, this is a finding.
Fix: F-33194r1_fix
Configure the system's local firewall to implement a deny-all, allow-by-exception policy. Firewall rules can be added and activated with SMIT ipsec4 or genfilt command. #smitty ipsec4
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005590
- Vuln IDs
-
- V-22665
- Rule IDs
-
- SV-38923r1_rule
Checks: C-37066r1_chk
Check for any running routing protocol daemons. # ps -ef | egrep '(ospf|route|bgp|zebra|quagga|gate)' If any routing protocol daemons are listed, this is a finding.
Fix: F-24051r1_fix
Disable any routing protocol daemons.
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- GEN002690
- Vuln IDs
-
- V-22702
- Rule IDs
-
- SV-38902r1_rule
Checks: C-37246r1_chk
Procedure: # grep -p bin: /etc/security/audit/config Directories to search will be listed under the bin stanza. # ls -la <audit directories> If any audit log file is not group-owned by bin, sys, or system, this is a finding.
Fix: F-33355r1_fix
Change the group ownership of the audit log file(s). Procedure: # chgrp system < audit log file >
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- GEN000410
- Vuln IDs
-
- V-23732
- Rule IDs
-
- SV-38934r1_rule
Checks: C-28848r1_chk
FTP to the system. # ftp localhost Check for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding. If the system does not run the FTP service, this is not applicable. DoD Login Banners: "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." OR "I've read & consent to terms in IS user agreem't."
Fix: F-31629r1_fix
Configure the system to display one of the DoD login banners (based on the character limitations imposed by the system) prior to any FTP login attempt. Add a banner file to the system with the DoD login banner. #vi /etc/herald <Add DoD banner to file> #chmod 644 /etc/herald #chown root:system /etc/herald Add a herald line to the /etc/ftpaccess.ctl file. #vi /etc/ftpaccess.ctl <add/update line in /etc/ftpaccess.ctl> herald: /etc/herald #chown root:system /etc/ftpaccess.ctl #chmod 640 /etc/ftpaccess.ctl DoD Login Banners: "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." OR "I've read & consent to terms in IS user agreem't."
- RMF Control
- SC-32
- Severity
- L
- CCI
- CCI-001208
- Version
- GEN003621
- Vuln IDs
-
- V-23736
- Rule IDs
-
- SV-38871r1_rule
Checks: C-37868r1_chk
Determine if the /var path is a separate file system. # df -k /var If /var is not on its own file system, this is a finding.
Fix: F-25899r1_fix
Migrate the /var path onto a separate file system.
- RMF Control
- SC-32
- Severity
- L
- CCI
- CCI-001208
- Version
- GEN003623
- Vuln IDs
-
- V-23738
- Rule IDs
-
- SV-38872r1_rule
Checks: C-37872r1_chk
Determine the location of the audit data path. #more /etc/security/audit/config Make note of the binfile and trail location. (The best practice is to have the audit data and trails sent to /audit.) # cd < audit path > #df -k . If the system audit data path is not on a separate file system, this is a finding.
Fix: F-33125r1_fix
Migrate the system audit data path onto a separate file system. Update the /etc/security/audit/config file as necessary to reflect the location of the audit data.
- RMF Control
- SC-32
- Severity
- L
- CCI
- CCI-001208
- Version
- GEN003624
- Vuln IDs
-
- V-23739
- Rule IDs
-
- SV-39505r1_rule
Checks: C-37874r1_chk
Determine if the /tmp path is a separate file system. # df -k /tmp If /tmp is not its own file system, this is a finding.
Fix: F-33126r1_fix
Migrate the /tmp path onto a separate file system.
- RMF Control
- Severity
- M
- CCI
- Version
- GEN003601
- Vuln IDs
-
- V-23741
- Rule IDs
-
- SV-38796r1_rule
Checks: C-37228r1_chk
# /usr/sbin/no -o clean_partial_conns If the value returned is 0, this is a finding.
Fix: F-32491r1_fix
# /usr/sbin/no -po clean_partial_conns=1
- RMF Control
- SI-8
- Severity
- M
- CCI
- CCI-001305
- Version
- GEN004710
- Vuln IDs
-
- V-23952
- Rule IDs
-
- SV-38919r1_rule
Checks: C-36888r1_chk
If the system uses Sendmail, locate the sendmail.cf file. Procedure: # find / -name sendmail.cf Determine if Sendmail only binds to loopback addresses by examining the DaemonPortOptions configuration options. Procedure: # grep -i "O DaemonPortOptions" /etc/mail/sendmail.cf If there are uncommented DaemonPortOptions lines, and all such lines specify system loopback addresses, this is not a finding. Otherwise, determine if Sendmail is configured to allow open relay operation. Procedure: # find / -name sendmail.mc # grep -i promiscuous_relay </path/to/sendmail.mc> If the promiscuous relay feature is enabled, this is a finding. If the system uses Postfix, locate the main.cf file. Procedure: # find / -name main.cf Determine if Postfix only binds to loopback addresses by examining the inet_interfaces line. Procedure: # grep inet_interfaces </path/to/main.cf> If inet_interfaces is set to loopback-only or contains only loopback addresses such as 127.0.0.1 and [::1], Postfix is not listening on external network interfaces, and this is not a finding. Otherwise, determine if Postfix is configured to restrict clients permitted to relay mail by examining the smtpd_client_restrictions line. Procedure: # grep smtpd_client_restrictions </path/to/main.cf> If the smtpd_client_restrictions line is missing, or does not contain reject, this is a finding. If the line contains permit before reject, this is a finding. If the system is using other SMTP software, consult the software's documentation for procedures to verify that mail relaying is restricted.
Fix: F-33427r1_fix
If the system uses Sendmail, edit the sendmail.mc file and remove the promiscuous_relay configuration. Rebuild the sendmail.cf file from the modified sendmail.mc and restart the service. If the system does not need to receive mail from external hosts, add one or more DaemonPortOptions lines referencing system loopback addresses (such as "O DaemonPortOptions=Addr=127.0.0.1, Port=smtp, Name=MTA") and remove lines containing non-loopback addresses. Restart the service. If the system uses Postfix, edit the main.cf file and add or edit the smtpd_client_restrictions line to have contents permit mynetworks, reject or a similarly restrictive rule. If the system does not need to receive mail from external hosts, add or edit the inet_interfaces line to have contents loopback-only or a set of loopback addresses for the system. Restart the service. If the system is using other SMTP software, consult the software's documentation for procedures to restrict mail relaying.
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN007960
- Vuln IDs
-
- V-23953
- Rule IDs
-
- SV-28909r1_rule
Checks: C-30816r1_chk
Consult vendor documentation concerning the ldd command. If the command provides protection from the execution of untrusted executables, this is not a finding. Determine the location of the system's ldd command. Procedure: # find / -name ldd If no file exists, this is not a finding. Check the permissions of the found ldd file. # ls -lL <path to ldd> If the file mode of the file is more permissive than 0000, this is a finding.
Fix: F-27397r1_fix
Disable the ldd command by removing its permissions. Procedure: # chmod 0000 <path to ldd>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN007950
- Vuln IDs
-
- V-23972
- Rule IDs
-
- SV-38829r1_rule
Checks: C-37081r1_chk
# /usr/sbin/no -o bcastping If the value returned is not 0, this is a finding.
Fix: F-32353r1_fix
Configure the system to not respond to IPv6 multicast ICMP ECHO_REQUESTs. # /usr/sbin/no -p -o bcastping=0
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- GEN000402
- Vuln IDs
-
- V-24331
- Rule IDs
-
- SV-38933r1_rule
Checks: C-30811r1_chk
Access the graphical desktop environment(s) provided by the system and attempt to logon. Check for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding. "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. " OR "I've read & consent to terms in IS user agreem't."
Fix: F-31628r1_fix
Edit the Xresources file to configure the system to display one of the DoD login banners (based on the character limitations imposed by the system) prior to, or as part of, the graphical desktop environment login process. For Dt login, change the variable Dtlogin*greeting.labelString: in Xresources file. #cp /usr/dt/config/C/Xresources /etc/dt/config/C/Xresources #vi /etc/dt/config/C/Xresources For XDM login, change the variable Xlogin*greeting in the Xresources file. #vi /usr/lpp/X11/lib/X11/xdm/Xresources. DoD Login Banners: "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. " OR "I've read & consent to terms in IS user agreem't."
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000768
- Version
- GEN009120
- Vuln IDs
-
- V-24347
- Rule IDs
-
- SV-39317r1_rule
Checks: C-30833r1_chk
Consult vendor documentation to determine if the system is capable of CAC authentication. If it is not, this is not applicable. Interview the SA to determine if all accounts not exempted by policy are using CAC authentication. If non-exempt accounts are not using CAC authentication, this is a finding.
Fix: F-33551r1_fix
Consult IBM documentation to determine the procedures necessary for configuring CAC authentication through PKI. Configure all accounts required by policy to use CAC authentication.
- RMF Control
- AU-3
- Severity
- L
- CCI
- CCI-000136
- Version
- GEN002870
- Vuln IDs
-
- V-24357
- Rule IDs
-
- SV-38859r1_rule
Checks: C-37851r2_chk
Ask the SA to provide information on the remote logging of audit records. Verify the configuration described is functioning. If no method of remote logging of audit records is in place or functioning, this is a finding. Methods of remote audit record logging will be site-specific and may depend on the use of third-party tools. One possible method with AIX is the use of the audit streams facility such as: Verify "streammode = on" in /etc/security/audit/config. Check that /etc/security/audit/streamcmds sends stream logs to the syslog facility with an entry such as: /usr/sbin/auditstream | auditpr -v | /usr/bin/logger -p local7.info & Check that the /etc/syslog.conf file is configured to send local7.info to a remote server with an entry such as: local7.info @logserver
Fix: F-33114r2_fix
Configure the system to send audit records to a remote system. The actual method is left to site discretion and may involve the use of third-party products. One method for performing remote audit logging involves streaming audit records to syslog and using syslog to send the records to another system. Enable stream mode by editing the /etc/security/audit/config and set streammode = on. Edit /etc/security/audit/streamcmds to send stream logs to the syslog facility with an entry such as: /usr/sbin/auditstream | auditpr -v | /usr/bin/logger -p local7.info & Edit the /etc/syslog.conf file to configure syslog to send local7.info to a remote server with an entry such as: Local7.info @logserver
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000196
- Version
- GEN008050
- Vuln IDs
-
- V-24384
- Rule IDs
-
- SV-38968r1_rule
Checks: C-37921r1_chk
Examine the LDAP configuration file(s). #grep bindpwd: /etc/security/ldap/ldap.cfg If the returned entry has an unencrypted password (not like "bindpwd:{DES}"), this is a finding. If the LDAP configuration file contains an encrypted password accessible by regular users on the system, this is a finding. #ls -l /etc/security/ldap/ldap.cfg Check for unencrypted SSL keyfile password. #grep '^ldapsslkeypwd' /etc/security/ldap/ldap.cfg If the returned entry has an unencrypted password (not like "ldapsslkeypwd:{DES}"), this is a finding.
Fix: F-33177r1_fix
Remove any passwords from LDAP configuration files. The bindpw (bind password) can be encrypted with the mksecldap command. #mksecldap Stash the SSL key database file with the gsk7cmd or ikeyman commands. #gsk7cmd < or > ikeyman Comment out the ldapsslpwd line to use stashed password. The password stash file must reside in the same directory as the SSL key database, and must have the same name as the key database, but with an extension of .sth instead of .kdb.
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000197
- Version
- GEN003850
- Vuln IDs
-
- V-24386
- Rule IDs
-
- SV-38953r1_rule
Checks: C-30815r1_chk
Consult vendor documentation to determine the method for determining if the telnet daemon is running. If the system uses inetd, use the following procedure. # grep -v '^#' /etc/inetd.conf | grep telnet If an entry is returned, the telnet daemon is running. If the telnet daemon is running, this is a finding.
Fix: F-31868r1_fix
Edit the /etc/inetd.conf file and comment out the telnet line. Reload the inetd process. # refresh -s inetd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-AIX0085
- Vuln IDs
-
- V-29491
- Rule IDs
-
- SV-38695r1_rule
Checks: C-38419r1_chk
Verify the /etc/netsvc.conf file is owned by root. # ls -l /etc/netsvc.conf If the file is not owned by root, this is a finding.
Fix: F-33710r1_fix
Change the owner of the /etc/netsvc.conf file to root. # chown root /etc/netsvc.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-AIX0090
- Vuln IDs
-
- V-29492
- Rule IDs
-
- SV-38696r1_rule
Checks: C-37792r1_chk
Check the group ownership of the /etc/netcsvc.conf file. Procedure: # ls -lL /etc/netsvc.conf If the file is not group-owned by bin, sys, or system, this is a finding.
Fix: F-33050r1_fix
Change the group owner of the /etc/netsvc.conf file to bin, sys, or system. Procedure: # chgrp system /etc/netsvc.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-AIX0100
- Vuln IDs
-
- V-29493
- Rule IDs
-
- SV-38697r1_rule
Checks: C-37793r1_chk
Check the mode of the /etc/netsvc.conf file. # ls -l /etc/netsvc.conf If the file mode is more permissive than 0644, this is a finding.
Fix: F-33051r1_fix
Change the mode of the /etc/netsvc.conf file to 0644 or less permissive. # chmod 0644 /etc/netsvc.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-AIX0110
- Vuln IDs
-
- V-29494
- Rule IDs
-
- SV-38698r1_rule
Checks: C-37794r1_chk
Verify there is no extended ACL on the /etc/netsvc.conf file. # aclget /etc/netsvc.conf If extended permissions are enabled, this is a finding.
Fix: F-33052r1_fix
Remove the extended ACL from the /etc/nsswitch.conf file and disable extended permissions. #acledit /etc/netsvc.conf
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-AIX0200
- Vuln IDs
-
- V-29495
- Rule IDs
-
- SV-38699r1_rule
Checks: C-37795r1_chk
Check the directed_broadcast option. # /usr/sbin/no -o directed_broadcast If the value returned is not 0, this is a finding.
Fix: F-33053r1_fix
Configure directed_broadcast to 0. # /usr/sbin/no -p -o directed_broadcast=0
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-AIX0210
- Vuln IDs
-
- V-29496
- Rule IDs
-
- SV-38700r1_rule
Checks: C-37796r1_chk
Check the value of the tcp_icmpsecure parameter. # /usr/sbin/no -o tcp_icmpsecure If the value returned is not 1, this is a finding.
Fix: F-33054r1_fix
Set the tcp_icmpsecure parameter to 1. # /usr/sbin/no -p -o tcp_icmpsecure=1
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-AIX0220
- Vuln IDs
-
- V-29497
- Rule IDs
-
- SV-38701r1_rule
Checks: C-37797r1_chk
Check the value of the tcp_tcpsecure parameter. # /usr/sbin/no -o tcp_tcpsecure If the value returned is not 7, this is a finding.
Fix: F-33055r1_fix
Set the tcp_tcpsecure parameter to 7. # /usr/sbin/no -p -o tcp_tcpsecure=7
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-AIX0230
- Vuln IDs
-
- V-29498
- Rule IDs
-
- SV-38702r1_rule
Checks: C-37798r2_chk
Check the value of the ip_nfrag parameter. # /usr/sbin/no -o ip_nfrag If the result returned is less than 200, this is a finding.
Fix: F-33056r1_fix
Set the ip_nfrag parameter to 200. # /usr/sbin/no -p -o ip_nfrag=200
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-AIX0300
- Vuln IDs
-
- V-29499
- Rule IDs
-
- SV-38703r1_rule
Checks: C-37799r1_chk
Check the /etc/inetd.conf file for active bootp service. # grep bootp /etc/inetd.conf |grep -v \# If the bootp service is not disabled, this is a finding.
Fix: F-33057r1_fix
Disable the bootp service from /etc/inetd.conf. Edit /etc/inetd.conf and comment out bootp service line. Restart the inetd service. #refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009140
- Vuln IDs
-
- V-29500
- Rule IDs
-
- SV-38704r1_rule
Checks: C-37800r1_chk
Check the /etc/inetd.conf file for active TCP and UDP chargen service entries. # grep chargen /etc/inetd.conf |grep -v \# If the chargen service is enabled, this is a finding.
Fix: F-33058r1_fix
Edit /etc/inetd.conf and comment out the chargen service line for both udp and tcp protocols. Restart the inetd service. #refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009160
- Vuln IDs
-
- V-29501
- Rule IDs
-
- SV-38705r1_rule
Checks: C-37801r1_chk
Check the /etc/inetd.conf file for active CMSD service. # grep 'rpc\.cmsd' /etc/inetd.conf |grep -v \# If the CMSD service is enabled, this is a finding.
Fix: F-33059r1_fix
Edit /etc/inetd.conf and comment out the CMSD service. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009180
- Vuln IDs
-
- V-29502
- Rule IDs
-
- SV-38706r1_rule
Checks: C-37802r1_chk
Check the /etc/inetd.conf file for active ttdbserver service. # grep 'rpc\.ttdbserver' /etc/inetd.conf |grep -v \# If the ttdbserver service is enabled, this is a finding.
Fix: F-33060r1_fix
Edit /etc/inetd.conf and comment out ttdbserver service line. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009190
- Vuln IDs
-
- V-29503
- Rule IDs
-
- SV-38707r1_rule
Checks: C-37803r1_chk
Check the /etc/inetd.conf file for active comsat service. #grep comsat /etc/inetd.conf | grep -v \# If the comsat service is enabled, this is a finding.
Fix: F-33061r1_fix
Edit /etc/inetd.conf and comment out comsat service line. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009200
- Vuln IDs
-
- V-29504
- Rule IDs
-
- SV-38708r1_rule
Checks: C-37804r1_chk
Check the /etc/inetd.conf file for TCP and UDP daytime service. #grep daytime /etc/inetd.conf | grep -v \# If the daytime service is enabled, this is a finding.
Fix: F-33062r1_fix
Edit /etc/inetd.conf and comment out daytime service lines for both TCP and UDP protocols. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009210
- Vuln IDs
-
- V-29505
- Rule IDs
-
- SV-38709r1_rule
Checks: C-37805r1_chk
Check the /etc/inetd.conf file for TCP and UDP discard service entries. #grep discard /etc/inetd.conf | grep -v \# If the discard service is active, this is a finding.
Fix: F-33063r1_fix
Edit /etc/inetd.conf and comment out the discard service line for both TCP and UDP protocols. Restart the inetd service. #refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009220
- Vuln IDs
-
- V-29506
- Rule IDs
-
- SV-38710r1_rule
Checks: C-37806r1_chk
Check the /etc/inetd.conf for the dtspc service. #grep dtspcd /etc/inetd.conf | grep -v \# If the dtspc service is enabled, this is a finding.
Fix: F-33064r1_fix
Edit /etc/inetd.conf and comment out dtspc service line. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009230
- Vuln IDs
-
- V-29507
- Rule IDs
-
- SV-38711r1_rule
Checks: C-37807r1_chk
Check the /etc/inetd.conf for TCP and UDP echo service entries. #grep echo /etc/inetd.conf | grep -v \# If the echo service is enabled, this is a finding.
Fix: F-33065r1_fix
Edit /etc/inetd.conf and comment out the echo service lines for both TCP and UDP. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009240
- Vuln IDs
-
- V-29508
- Rule IDs
-
- SV-38712r1_rule
Checks: C-37808r1_chk
Check the /etc/inetd.conf file for active IMAP service. #grep imapd /etc/inetd.conf | grep -v \# If the IMAP service is enabled, this is a finding.
Fix: F-33066r1_fix
Edit /etc/inetd.conf and comment out the imap2 service line. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009250
- Vuln IDs
-
- V-29509
- Rule IDs
-
- SV-38713r1_rule
Checks: C-37809r1_chk
Check the '/etc/inetd.conf' file for active POP3 service. #grep pop3 /etc/inetd.conf | grep -v \# If the POP3 service is enabled, this is a finding.
Fix: F-33067r1_fix
Edit /etc/inetd.conf and comment out POP3 the service line. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009260
- Vuln IDs
-
- V-29510
- Rule IDs
-
- SV-38714r1_rule
Checks: C-37810r1_chk
Check the /etc/inetd.conf file for talk and ntalk services. #grep talk /etc/inetd.conf | grep -v \# If any TCP or UDP talk or ntalk services are enabled, this is a finding.
Fix: F-33068r1_fix
Edit /etc/inetd.conf and comment out TCP and UDP for the talk service. Edit /etc/inetd.conf and comment out TCP and UDP for the ntalk service. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009270
- Vuln IDs
-
- V-29511
- Rule IDs
-
- SV-38715r1_rule
Checks: C-37811r1_chk
Check the /etc/inetd.conf for active netstat service. grep netstat /etc/inetd.conf | grep -v \# If the netstat service is active, this is a finding.
Fix: F-33069r1_fix
Edit /etc/inetd.conf and comment out the netstat service line. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009280
- Vuln IDs
-
- V-29512
- Rule IDs
-
- SV-38716r1_rule
Checks: C-37812r1_chk
Check the /etc/inetd.conf file for active PCNFS service. #grep pcnfsd /etc/inetd.conf | grep -v \# If the PCNFS service is enabled, this is a finding.
Fix: F-33070r1_fix
Edit /etc/inetd.conf and comment out the PCNFS service line. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009290
- Vuln IDs
-
- V-29513
- Rule IDs
-
- SV-38717r1_rule
Checks: C-37813r1_chk
Check the /etc/inetd.conf file for active systat service. #grep systat /etc/inetd.conf | grep -v \# If the systat service is enabled, this is a finding.
Fix: F-33071r1_fix
Edit /etc/inetd.conf and comment out systat the service line. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009300
- Vuln IDs
-
- V-29514
- Rule IDs
-
- SV-38718r1_rule
Checks: C-37814r1_chk
Check the /etc/inetd.conf file for TCP and UDP time service. grep time /etc/inetd.conf | grep -v daytime | grep -v \# If the time service is enabled, this is a finding.
Fix: F-33072r1_fix
Edit the /etc/inetd.conf file and comment out the time service line. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009310
- Vuln IDs
-
- V-29515
- Rule IDs
-
- SV-38719r1_rule
Checks: C-37815r1_chk
Check the /etc/inetd.conf file for active rusersd service. #grep rusersd /etc/inetd.conf | grep -v \# If the rusersd service is enabled, this is a finding.
Fix: F-33073r1_fix
Edit the /etc/inetd.conf file and comment out the rusersd service line. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009320
- Vuln IDs
-
- V-29516
- Rule IDs
-
- SV-38720r1_rule
Checks: C-37816r1_chk
Check the /etc/inetd.conf file for active sprayd service. # grep sprayd /etc/inetd.conf | grep -v \# If the sprayd service is enabled, this is a finding.
Fix: F-33074r1_fix
Edit the /etc/inetd.conf file and comment out the sprayd service line. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009330
- Vuln IDs
-
- V-29517
- Rule IDs
-
- SV-38721r1_rule
Checks: C-37817r1_chk
Check the /etc/inetd.conf file for active rstatd service. #grep rstatd /etc/inetd.conf | grep -v \# If the rstatd service is enabled, this is a finding.
Fix: F-33075r1_fix
Edit the /etc/inetd.conf file and comment out the rstatd service line. Restart the inetd service. # refresh -s inetd
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN009340
- Vuln IDs
-
- V-29518
- Rule IDs
-
- SV-38722r1_rule
Checks: C-37818r1_chk
Check to see if X display login managers are running. #cat /etc/inittab | grep -e /etc/rc.dt -e xdm If any X server login managers are running, ask the SA if they are necessary for the operation of the system. If there is unnecessary X server login managers running, this is a finding.
Fix: F-33076r1_fix
Comment out or remove the X login servers from the /etc/inittab file. #vi /etc/inittab Refresh the init process. # init q
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-AIX0310
- Vuln IDs
-
- V-29519
- Rule IDs
-
- SV-38750r1_rule
Checks: C-37819r1_chk
Check for the existence of the /etc/ftpaccess.ctl file. # ls -l /etc/ftpaccess.ctl If the ftpaccess.ctl file does not exist, this is a finding.
Fix: F-33077r1_fix
Create a /etc/ftpaccess.ctl file. #touch /etc/ftpaccess.ctl Add at least the herald: /path to login banner to the /etc/ftpaccess.ctl file. #vi /etc/ftpaccess.ctl
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-AIX0320
- Vuln IDs
-
- V-29520
- Rule IDs
-
- SV-38751r1_rule
Checks: C-37820r1_chk
Check the ownership of the /etc/ftpaccess.ctl file. # ls -l /etc/ftpaccess.ctl If the ftpaccess.ctl file is not owned by root, this is a finding.
Fix: F-33078r1_fix
Change the owner of the ftpaccess.ctl file to root. # chown root /etc/ftpaccess.ctl
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-AIX0330
- Vuln IDs
-
- V-29521
- Rule IDs
-
- SV-38752r1_rule
Checks: C-37821r1_chk
Check the group ownership of the ftpaccess.ctl file. # ls -lL /etc/ftpaccess.ctl If the /etc/ftpaccess.ctl file is not group-owned by bin, sys, or system, this is a finding.
Fix: F-33079r1_fix
Change the group owner of the /etc/ftpaccess.ctl file. # chgrp system /etc/ftpaccess.ctl
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-AIX0340
- Vuln IDs
-
- V-29522
- Rule IDs
-
- SV-38753r1_rule
Checks: C-37822r1_chk
Check the permissions of the /etc/ftpaccess.ctl file. # ls -l /etc/ftpaccess.ctl If the ftpaccess.ctl file has a mode more permissive than 0640, this is a finding.
Fix: F-33080r1_fix
Change the mode of the /etc/ftpaccess.ctl file to 0640. # chmod 0640 /etc/ftpaccess.ctl
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-AIX0350
- Vuln IDs
-
- V-29523
- Rule IDs
-
- SV-38754r1_rule
Checks: C-37823r1_chk
Check the permissions of the /etc/ftpaccess.ctl file. #aclget /etc/ftpaccess.ctl Check if extended permissions are disabled. If extended permissions are not disabled, this is a finding.
Fix: F-33081r1_fix
Remove the extended ACL from the /etc/ftpaccess.ctl file. #acledit /etc/ftpaccess.ctl Disable extended permissions.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN999999
- Vuln IDs
-
- V-54779
- Rule IDs
-
- SV-69025r1_rule
Checks: C-55401r1_chk
IBM standard support services for AIX 5.3 ended 30 April 2012. If AIX 5.3 is installed on a system and does not have an extended support services contract from IBM, this is a finding.
Fix: F-59637r1_fix
Upgrade AIX 5.3 systems to a supported operating system version or obtain an extended support services contract from IBM.