{"stig":{"title":"IBM AIX 7.x Security Technical Implementation Guide","version":"3","release":"2"},"checks":[{"vulnId":"V-215169","ruleId":"SV-215169r958362_rule","severity":"medium","ruleTitle":"AIX /etc/security/mkuser.sys.custom file must not exist unless it is needed for customizing a new user account.","description":"The \"/etc/security/mkuser.sys.custom\" is called by \"/etc/security/mkuser.sys\" to customize the new user account when a new user is created, or a user is logging into the system without a home directory. An improper \"/etc/security/mkuser.sys.custom\" script increases the risk that non-privileged users may obtain elevated privileges. It must not exist unless it is needed.","checkContent":"Check if the \"/etc/security/mkuser.sys.custom\" file exists:\n# ls /etc/security/mkuser.sys.custom\n\nIf the above command shows the file exists, this is a finding.","fixText":"Remove the \"/etc/security/mkuser.sys.custom\" file using the following command:\n\n# rm /etc/security/mkuser.sys.custom","ccis":["CCI-000015"]},{"vulnId":"V-215170","ruleId":"SV-215170r958364_rule","severity":"medium","ruleTitle":"AIX must automatically remove or disable temporary user accounts after 72 hours or sooner.","description":"If temporary user accounts remain active when no longer needed or for an excessive period, these accounts may be used to gain unauthorized access. To mitigate this risk, automated termination of all temporary accounts must be set upon account creation.\n\nTemporary accounts are established as part of normal account activation procedures when there is a need for short-term accounts without the demand for immediacy in account activation.\n\nIf temporary accounts are used, the operating system must be configured to automatically terminate these types of accounts after a DoD-defined time period of 72 hours.\n\nTo address access requirements, many operating systems may be integrated with enterprise-level authentication/access mechanisms that meet or exceed access control policy requirements.","checkContent":"From the command prompt, execute the following command:\n# lsuser -a expires tmp_user\n\nThe above command should yield the following output:\ntmp_user expires=0\nOr\ntmp_user expires=1215103116\n\nThe \"expires\" value is in \"MMDDhhmmyy\" form, or the value is \"0\".\n\nIf \"expires\" value is \"0\", or the expiration time is greater than \"72\" hours from the user creation time, this is a finding.","fixText":"From the command prompt, execute the following command to set the expiration time to 72 hours from now:\n# chuser expires=1218103116 tmp_user\n\nFrom the command prompt, execute the following command:\n# lsuser -a expires tmp_user\n\nThe above command should yield the following output:\ntmp_user expires=1218103116","ccis":["CCI-000016"]},{"vulnId":"V-215171","ruleId":"SV-215171r958388_rule","severity":"medium","ruleTitle":"AIX must enforce the limit of three consecutive invalid login attempts by a user before the user account is locked and released by an administrator.","description":"By limiting the number of failed login attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-force attacks, is reduced. Limits are imposed by locking the account.\n\nSatisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128","checkContent":"From the command prompt, execute the following command to check the system default value for the maximum number of tries before the system will lock the account:\n# lssec -f /etc/security/user -s default -a loginretries\n\nThe above command should yield the following output:\ndefault loginretries=0\n\nIf the default value is \"0\" or greater than \"3\", this is a finding.\n\nFrom the command prompt, execute the following command to check all active accounts on the system for the maximum number of tries before the system will lock the account:\n# lsuser -a loginretries ALL | more\n\nThe above command should yield the following output:\nroot loginretries=3\nuser1 loginretries=2\n\nIf a user has values set to \"0\" or greater than \"3\", this is a finding.","fixText":"From the command prompt, execute the following command to configure the number of unsuccessful logins resulting in account lockout for \"default:\" stanza in \"/etc/security/user\" file:\n# chsec -f /etc/security/user -s default -a loginretries=3 \n\nFrom the command prompt, execute the following command to configure the number of unsuccessful logins resulting in account lockout for all users who have loginretries values that are 0 or greater than 3:\n# chsec -f /etc/security/user -s [user_name] -a loginretries=3","ccis":["CCI-000044","CCI-002238"]},{"vulnId":"V-215172","ruleId":"SV-215172r958398_rule","severity":"medium","ruleTitle":"AIX must limit the number of concurrent sessions to 10 for all accounts and/or account types.","description":"Operating system management includes the ability to control the number of users and user sessions that utilize an operating system. Limiting the number of allowed users and sessions per user is helpful in reducing the risks related to DoS attacks.","checkContent":"From the command prompt, execute the following command to display maxulogs values for all the user account:\n# lsuser -a maxulogs ALL\n\nThe above command should yield the following output:\nroot maxulogs=10\nuser_1 maxulogs=10\n  \nIf the above command shows any user account that does not have the \"maxulogs\" attribute set, or its value is \"0\", or its value greater than \"10\", this is a finding.","fixText":"From the command prompt, execute the following command to set \"maxulogs=10\" for the \"default:\" stanza in the \"/etc/security/user\" file:\n# chsec -f /etc/security/user -s default -a maxulogs=10\n\nFor each user account whose \"maxulogs\" value is greater than \"10\", or their \"maxulogs\" value is not set,  or the values are set to \"0\", execute the following command to set \"maxulogs=10\":\n# chuser maxulogs=10 [user_name]","ccis":["CCI-000054"]},{"vulnId":"V-215173","ruleId":"SV-215173r958448_rule","severity":"medium","ruleTitle":"If the AIX system is using LDAP for authentication or account information, the LDAP SSL, or TLS connection must require the server provide a certificate and this certificate must have a valid path to a trusted CA.","description":"Without path validation, an informed trust decision by the relying party cannot be made when presented with any certificate not already explicitly trusted.","checkContent":"If LDAP authentication is not used on AIX, this is Not Applicable.\n\nNote: Depending on which version of GSKit is installed on AIX, the GSK commands that are used to manage the Key Database (KDB) have different names. The possible GSK commands are: gsk8capicmd (used below), gsk8capicmd_64 and gsk7cmd.\n\nCheck if the system is using LDAP authentication: \n\n# grep LDAP /etc/security/user \n\nIf no lines are returned, this requirement is not applicable. \n\nCheck if the useSSL option is enabled: \n\n# grep '^useSSL' /etc/security/ldap/ldap.cfg \nuseSSL:yes\n\nIf \"yes\" is not the returned value, this is a finding. \n\nVerify a certificate is used for client authentication to the server: \n\n# grep -i '^ldapsslkeyf' /etc/security/ldap/ldap.cfg \nldapsslkeyf:/tmp/key.kdb\n\nIf no line is found, this is a finding. \n\nIdentify the Key Database (KDB), and its password, by asking the ISSO/SA. If no Key Database exists on the system, this is a finding.\n\nList the certificate issuer with GSK command:\n\n# gsk8capicmd -cert -list CA -db <KDB_FILE> -pw <KDB_PASSWORD> \n\nMake note of the client Key Label: \n\n# gsk8capicmd -cert -details -showOID -db <KDB_FILE> -pw <KDB_PASSWORD> -label <Key Label> \n\nIf the certificate is not issued by DoD PKI or a DoD-approved external PKI, this is a finding\n\nThe IBM GSK Database should only have certificates for the client system and for the LDAP server. \n\nIf more certificates are in the key database than the LDAP server and the client, this is a finding.","fixText":"Note: Depending on which version of GSKit is installed on AIX, the GSK commands that are used to manage the Key Database (KDB) have different names. The possible GSK commands are: gsk8capicmd (used below), gsk8capicmd_64 and gsk7cmd.\n\nCreate a key database with DoD PKI or DoD-approved certificate using one of the following commands: \n# gsk8capicmd -keydb -create -db <KDB_FILE> -pw <KDB_PASSWORD> -type cms -stash\n\nEdit \"/etc/security/ldap/ldap.cfg\" and add or edit the \"ldapsslkeyf\" setting to reference a KDB file containing a client certificate issued by DoD PKI or a DoD-approved external PKI. \n\nInstall a certificate signed by a DoD PKI or a DoD-approved external PKI using the following command: \n# gsk8capicmd -cert -add -db <KDB_FILE> -pw <KDB_PASSWORD> -file <CERT_FILE> -label <CERT_LABEL>\n\nRemove un-needed CA certificates using one of the following commands: \n# gsk8capicmd -cert -delete -db <KDB_FILE> -pw <KDB_PASSWORD> -label <CERT_LABEL>\n\nRestart LDAP client using command:\n# /usr/sbin/restart-secldapclntd","ccis":["CCI-000185"]},{"vulnId":"V-215174","ruleId":"SV-215174r1009530_rule","severity":"high","ruleTitle":"If AIX is using LDAP for authentication or account information, the /etc/ldap.conf file (or equivalent) must not contain passwords.","description":"Passwords need to be protected at all times, and encryption is the standard method for protecting passwords. If passwords are not encrypted, they can be plainly read (i.e., clear text) and easily compromised.","checkContent":"Examine the LDAP configuration file \"/etc/security/ldap/ldap.cfg\" for possible clear-text password for \"bindpwd\".\n\nFrom the command prompt, run the following command:\n# grep ^bindpwd: /etc/security/ldap/ldap.cfg\n\nThe above command should yield the following output:\nbindpwd:{DESv2}57AEE2BCED 764373462FC7B62736D9A\n\nIf the returned entry has an unencrypted password (the output line does not start with \"bindpwd:{DES\"), this is a finding. \n\nExamine the LDAP configuration file \"/etc/security/ldap/ldap.cfg\" for using stashed password for SSL key database (KDB).\n\nCheck for \"ldapsslkeypwd\" in LDAP config file using the follow command: \n# grep '^ldapsslkeypwd' /etc/security/ldap/ldap.cfg \n\nIf the command returned a line, this is a finding.","fixText":"To remove the clear-text password for \"bindpwd\", do the following two steps:\nEdit \"/etc/security/ldap/ldap.cfg\" to remove the \"bindpwd\" line and save the change; \n\nRe-config the LDAP client using the \"mksecldap\" command:\n# mksecldap -c -h <LDAP_HOST:LDAP_PORT> -A <auth_type> -D <Default_Entry> -d <BASE_DN> -a <BIND_USER> -p <BIND_PASSWORD> -k <KDB_FILE> -w <KDB_PASSWORD>\n\nNote: Depending on which version of GSKit is installed on AIX, the GSK commands that are used to manage the Key Database (KDB) have different names. The possible GSK commands are: \"gsk8capicmd\" (used below), \"gsk8capicmd_64\" and \"gsk7cmd\".\n\nTo use the stashed password for SSL key database (KDB), do the following two steps:\nEdit \"/etc/security/ldap/ldap.cfg\" to remove the \"ldapsslkeypwd\" line and save the change;\n\nRun the \"gsk8capicmd\" to create a stashed password file for the SSL KDB:\n# gsk8capicmd -keydb -stashpw -db <KDB_FILE> -pw <KDB_PASSWORD>","ccis":["CCI-004062","CCI-000196"]},{"vulnId":"V-215175","ruleId":"SV-215175r958482_rule","severity":"high","ruleTitle":"All accounts on AIX system must have unique account names.","description":"To assure accountability and prevent unauthenticated access, organizational users must be identified and authenticated to prevent potential misuse and compromise of the system.\n\nOrganizational users include organizational employees or individuals the organization deems to have equivalent status of employees (e.g., contractors). Organizational users (and processes acting on behalf of users) must be uniquely identified and authenticated to all accesses, except for the following: \n\n1) Accesses explicitly identified and documented by the organization. Organizations document specific user actions that can be performed on the information system without identification or authentication; and\n\n2) Accesses that occur through authorized use of group authenticators without individual authentication. Organizations may require unique identification of individuals in group accounts (e.g., shared privilege accounts) or for detailed accountability of individual activity.","checkContent":"From the command prompt, run the following command to check that there are no duplicate account names:\n# usrck -n ALL\n\nIf any duplicate account names are found, this is a finding.","fixText":"Edit user accounts to provide unique name for each account by editing the following files:\n/etc/passwd\n/etc/security/passwd\n/etc/security/user\n/etc/group","ccis":["CCI-000764"]},{"vulnId":"V-215176","ruleId":"SV-215176r958482_rule","severity":"high","ruleTitle":"All accounts on AIX must be assigned unique User Identification Numbers (UIDs) and must authenticate organizational and non-organizational users (or processes acting on behalf of these users).","description":"To assure accountability and prevent unauthenticated access, organizational users must be identified and authenticated to prevent potential misuse and compromise of the system.\n\nLack of authentication and identification enables non-organizational users to gain access to the application or possibly other information systems and provides an opportunity for intruders to compromise resources within the application or information system.\n\nOrganizational users include organizational employees or individuals the organization deems to have equivalent status of employees (e.g., contractors). Organizational users (and processes acting on behalf of users) must be uniquely identified and authenticated to all accesses, except for the following: \n\n1) Accesses explicitly identified and documented by the organization. Organizations document specific user actions that can be performed on the information system without identification or authentication; and\n\n2) Accesses that occur through authorized use of group authenticators without individual authentication. Organizations may require unique identification of individuals in group accounts (e.g., shared privilege accounts) or for detailed accountability of individual activity.\n\nSatisfies: SRG-OS-000104-GPOS-00051, SRG-OS-000121-GPOS-00062","checkContent":"From the command prompt, run the following command to ensure there are no duplicate UIDs:\n\n# usrck -n ALL\n\nIf any duplicate UIDs are found, this is a finding.","fixText":"Edit user accounts to provide unique names and UIDs for each account by editing the following files:\n\n/etc/passwd\n/etc/group\n/etc/security/passwd\n/etc/security/user","ccis":["CCI-000764","CCI-000804"]},{"vulnId":"V-215177","ruleId":"SV-215177r958482_rule","severity":"high","ruleTitle":"The AIX SYSTEM attribute must not be set to NONE for any account.","description":"To assure accountability and prevent unauthenticated access, organizational users must be identified and authenticated to prevent potential misuse and compromise of the system.\n\nOrganizational users include organizational employees or individuals the organization deems to have equivalent status of employees (e.g., contractors). Organizational users (and processes acting on behalf of users) must be uniquely identified and authenticated to all accesses, except for the following: \n\n1) Accesses explicitly identified and documented by the organization. Organizations document specific user actions that can be performed on the information system without identification or authentication; and\n\n2) Accesses that occur through authorized use of group authenticators without individual authentication. Organizations may require unique identification of individuals in group accounts (e.g., shared privilege accounts) or for detailed accountability of individual activity.","checkContent":"Examine the \"SYSTEM\" attribute values for all users in the \"/etc/security/user\" file by running the following command: \n# lsuser -a SYSTEM ALL\n\nThe above command should yield the following output:\nroot SYSTEM=compat\ndaemon SYSTEM=compat\nbin SYSTEM=compat\nsys SYSTEM=compat\n\nIf the command displays SYSTEM=NONE for a user, this is a finding.","fixText":"For every user who has \"SYSTEM=NONE\", run the following command to set their \"SYSTEM\" value to \"compat\":\n\n# chuser SYSTEM=compat [user_name]","ccis":["CCI-000764"]},{"vulnId":"V-215178","ruleId":"SV-215178r1009531_rule","severity":"medium","ruleTitle":"Direct logins to the AIX system must not be permitted to shared accounts, default accounts, application accounts, and utility accounts.","description":"Shared accounts (accounts where two or more people log in with the same user identification) do not provide identification and authentication. There is no way to provide for non-repudiation or individual accountability.","checkContent":"Obtain a list of Shared/Application/Default/Utility accounts from the ISSO/ISSM.\n\nShared/Application/Default/Utility accounts can have direct login disabled by setting the \"rlogin\" parameter to \"false\" in the user’s stanza of the \"/etc/security/user\" file. \n\nFrom the command prompt, run the following command to check if shared account has \"rlogin=true\":\n\n# lsuser -a rlogin [shared_account] \n<shared_account> rlogin=true\n\nIf a shared account is configured for \"rlogin=true\", this is a finding.","fixText":"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.\n\nFrom the command prompt, run the following command to set \"rlogin=false\" for a shared account:\n\n# chuser rlogin=false [shared_account]","ccis":["CCI-004045","CCI-000770"]},{"vulnId":"V-215179","ruleId":"SV-215179r1009532_rule","severity":"high","ruleTitle":"AIX must use the SSH server to implement replay-resistant authentication mechanisms for network access to privileged and non-privileged accounts.","description":"A replay attack may enable an unauthorized user to gain access to the operating system. Authentication sessions between the authenticator and the operating system validating the user credentials must not be vulnerable to a replay attack.\n\nAn authentication process resists replay attacks if it is impractical to achieve a successful authentication by recording and replaying a previous authentication message.\n\nA privileged account is any information system account with authorizations of a privileged user.\n\nTechniques used to address this include protocols using nonces (e.g., numbers generated for a specific one-time use) or challenges (e.g., TLS, WS_Security). Additional techniques include time-synchronous or challenge-response one-time authenticators.\n\nSatisfies: SRG-OS-000112-GPOS-00057, SRG-OS-000113-GPOS-00058","checkContent":"Run the following command to check if SSH server package is installed:\n\n# lslpp -i |grep -i ssh\n openssh.base.server 6.0.0.6201\n\nIf package \"openssh.base.server\" is not installed, this is a finding.\n\nRun the following command to check if SSH daemon is running:\n\n# lssrc -s sshd\n\nThe above command should yield the following output:\nSubsystem         Group            PID          Status \n sshd             ssh              4325532            active\n\nIf the \"Status\" is not \"active\", this is a finding.","fixText":"If the SSH server package is not installed, install \"openssh.base.server\" package from AIX DVD Volume 1 using the following command (assuming that the DVD device is /dev/cd0):\n# installp -aXYgd /dev/cd0 -e /tmp/install.log openssh.base.server\n\nAfter the installation, set up the SSH server accordingly.\n\nIf the SSH daemon is not running, run the following command to start it:\n# startsrc -s sshd","ccis":["CCI-001941","CCI-001942"]},{"vulnId":"V-215180","ruleId":"SV-215180r958508_rule","severity":"medium","ruleTitle":"The AIX system must automatically remove or disable emergency accounts after the crisis is resolved or 72 hours.","description":"Emergency accounts are privileged accounts that are established in response to crisis situations where the need for rapid account activation is required. Therefore, emergency account activation may bypass normal account authorization processes. If these accounts are automatically disabled, system maintenance during emergencies may not be possible, thus adversely affecting system availability. \n\nEmergency accounts are different from infrequently used accounts (i.e., local login accounts used by the organization's system administrators when network or normal login/access is not available). Infrequently used accounts are not subject to automatic termination dates.  Emergency accounts are accounts created in response to crisis situations, usually for use by maintenance personnel. The automatic expiration or disabling time period may be extended as needed until the crisis is resolved; however, it must not be extended indefinitely. A permanent account should be established for privileged users who need long-term maintenance accounts.\n\nTo address access requirements, many operating systems can be integrated with enterprise-level authentication/access mechanisms that meet or exceed access control policy requirements.","checkContent":"Obtain a list of emergency accounts from the ISSO/ISSM and then run this command against each of the identified accounts:\n# lsuser -a expires <emergency_user>\n\nThe above command should yield the following output:\n<emergency_user> expires=0\nOr\n<emergency_user> expires=1215103116\n\nThe \"expires\" value parameter is a 10-character string in the MMDDhhmmyy form, where MM = month, DD = day, hh = hour, mm = minute, and yy = last 2 digits of the years 1939 through 2038. All characters are numeric. If the Value parameter is 0, the account does not expire.\n\nIf \"expires\" value is \"0\", or the expiration time is greater than \"72\" hours from the user creation time, this is a finding.","fixText":"From the command prompt, run the following command to set the \"expires\" value to \"72\" hours from now:\n# chuser expires=1228093516 <emergency_user>\n\nThe \"expires\" value parameter is a 10-character string in the MMDDhhmmyy form, where MM = month, DD = day, hh = hour, mm = minute, and yy = last 2 digits of the years 1939 through 2038. All characters are numeric.","ccis":["CCI-001682"]},{"vulnId":"V-215181","ruleId":"SV-215181r958362_rule","severity":"medium","ruleTitle":"The shipped /etc/security/mkuser.sys file on AIX must not be customized directly.","description":"The \"/etc/security/mkuser.sys\" script customizes the new user account when a new user is created, or a user is logging into the system without a home directory. An improper \"/etc/security/mkuser.sys\" script increases the risk that non-privileged users may obtain elevated privileges.","checkContent":"Use the \"cat\" command to show the content of \"/etc/security/mkuser.sys\" script:\n# cat /etc/security/mkuser.sys\n\nThe cat command should display the following:\n#   This file is no longer user customizable.  To have a customized mkuser.sys script\n#   create a file /etc/security/mkuser.sys.custom and the /etc/security/mkuser.sys\n#   will run this script instead of the original mkuser.sys script.\n\nexport PATH=/usr/bin:/usr/sbin:$PATH\n\n#\n# Check the number of arguments first\n#\nif [ $# -ne 4 ] \nthen\n exit 1\nfi\n\n#\n# If a customer mkuser.sys.custom script exists\n# then execute it instead and exit passing all arguments\n# and returning the return code from mkuser.sys.custom\n#\nif [ -x /etc/security/mkuser.sys.custom ]\nthen\n /etc/security/mkuser.sys.custom $*\n exit $?\nfi\n\n#\n# Create the named directory if it does not already exist\n# and set the file ownership and permission\n#\nif [ ! -d $1 ]\nthen\n last=$1\n \n while [ 1 ]\n do\n  dir=`dirname $last`\n  \n  if [ -d $last ]\n  then\n   break\n  elif [ -d $dir ]\n  then\n   mkdir -p $1\n   chown -R bin:bin $last\n   chmod -R 755 $last\n   break\n  else\n   last=$dir\n  fi\n done\n \n chgrp \"$3\" $1\n chown $2 $1\nfi\n\n#\n# Copy the user's default .profile if it does not already\n# exist and change the file ownership, etc.\n#\nif [ `basename $4` != \"csh\" ] && [ ! -f $1/.profile ]\nthen\n cp /etc/security/.profile $1/.profile\n chmod u+rwx,go-w $1/.profile\n chgrp \"$3\" $1/.profile\n chown $2 $1/.profile\n\nelse\n   if [ `basename $4` = \"csh\" ] && [ ! -f $1/.login ] \n   then\n echo \"#!/bin/csh\" > \"$1\"/.login\n echo \"set path = ( /usr/bin /etc /usr/sbin /usr/ucb \\$HOME/bin /usr/bin/X11 /sbin . )\" >> \"$1\"/.login\n echo \"setenv MAIL \\\"/var/spool/mail/\\$LOGNAME\\\"\" >> \"$1\"/.login\n echo \"setenv MAILMSG \\\"[YOU HAVE NEW MAIL]\\\"\" >> \"$1\"/.login\n echo \"if ( -f \\\"\\$MAIL\\\" && ! -z \\\"\\$MAIL\\\") then\" >> \"$1\"/.login\n        echo \" echo \\\"\\$MAILMSG\\\"\" >> \"$1\"/.login\n echo \"endif\" >> \"$1\"/.login\n chmod u+rwx,go-w $1/.login\n chgrp \"$3\" $1/.login\n chown $2 $1/.login\n   fi\nfi\n\nIf the \"cat\" command shows the script as different than the content listed above, this is a finding.","fixText":"Edit the script /etc/security/mkuser.sys to contain the following:\n#   This file is no longer user customizable.  To have a customized mkuser.sys script\n#   create a file /etc/security/mkuser.sys.custom and the /etc/security/mkuser.sys\n#   will run this script instead of the original mkuser.sys script.\n\nexport PATH=/usr/bin:/usr/sbin:$PATH\n\n#\n# Check the number of arguments first\n#\nif [ $# -ne 4 ] \nthen\n exit 1\nfi\n\n#\n# If a customer mkuser.sys.custom script exists\n# then execute it instead and exit passing all arguments\n# and returning the return code from mkuser.sys.custom\n#\nif [ -x /etc/security/mkuser.sys.custom ]\nthen\n /etc/security/mkuser.sys.custom $*\n exit $?\nfi\n\n#\n# Create the named directory if it does not already exist\n# and set the file ownership and permission\n#\nif [ ! -d $1 ]\nthen\n last=$1\n \n while [ 1 ]\n do\n  dir=`dirname $last`\n  \n  if [ -d $last ]\n  then\n   break\n  elif [ -d $dir ]\n  then\n   mkdir -p $1\n   chown -R bin:bin $last\n   chmod -R 755 $last\n   break\n  else\n   last=$dir\n  fi\n done\n \n chgrp \"$3\" $1\n chown $2 $1\nfi\n\n#\n# Copy the user's default .profile if it does not already\n# exist and change the file ownership, etc.\n#\nif [ `basename $4` != \"csh\" ] && [ ! -f $1/.profile ]\nthen\n cp /etc/security/.profile $1/.profile\n chmod u+rwx,go-w $1/.profile\n chgrp \"$3\" $1/.profile\n chown $2 $1/.profile\n\nelse\n   if [ `basename $4` = \"csh\" ] && [ ! -f $1/.login ] \n   then\n echo \"#!/bin/csh\" > \"$1\"/.login\n echo \"set path = ( /usr/bin /etc /usr/sbin /usr/ucb \\$HOME/bin /usr/bin/X11 /sbin . )\" >> \"$1\"/.login\n echo \"setenv MAIL \\\"/var/spool/mail/\\$LOGNAME\\\"\" >> \"$1\"/.login\n echo \"setenv MAILMSG \\\"[YOU HAVE NEW MAIL]\\\"\" >> \"$1\"/.login\n echo \"if ( -f \\\"\\$MAIL\\\" && ! -z \\\"\\$MAIL\\\") then\" >> \"$1\"/.login\n        echo \" echo \\\"\\$MAILMSG\\\"\" >> \"$1\"/.login\n echo \"endif\" >> \"$1\"/.login\n chmod u+rwx,go-w $1/.login\n chgrp \"$3\" $1/.login\n chown $2 $1/.login\n   fi\nfi","ccis":["CCI-000015"]},{"vulnId":"V-215182","ruleId":"SV-215182r958362_rule","severity":"medium","ruleTitle":"The regular users default primary group must be staff (or equivalent) on AIX.","description":"The /usr/lib/security/mkuser.default file contains the default primary groups for regular and admin users. Setting a system group as the regular users' primary group increases the risk that the regular users can access privileged resources.","checkContent":"Check the default primary group for regular users:\n# lssec -f /etc/security/mkuser.default -s user -a pgrp\n\nThe above command should yield the following output:\nuser pgrp=staff\n\nIf the above command shows that the primary group (pgrp) is not \"staff\", this is a finding.","fixText":"Set the default primary groups for regular to be \"staff\".\n# chsec -f /etc/security/mkuser.default -s user -a pgrp=staff","ccis":["CCI-000015"]},{"vulnId":"V-215183","ruleId":"SV-215183r991560_rule","severity":"medium","ruleTitle":"All system files, programs, and directories must be owned by a system account.","description":"Restricting permissions will protect the files from unauthorized modification.","checkContent":"Check the ownership of system files, programs, and directories by running the following command: \n# ls -lLa /etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin \n\nIf any of the system files, programs, or directories are not owned by a system account, this is a finding. \n\nNote: For this check, the system-provided \"ipsec\" user is considered to be a system account.","fixText":"Change the owner of public directories to \"root\" or an application account using the following command: \n# chown root </public/directory> \n\nNote: Replace \"root\" with an application user as necessary.","ccis":["CCI-001499"]},{"vulnId":"V-215184","ruleId":"SV-215184r991560_rule","severity":"medium","ruleTitle":"AIX device files and directories must only be writable by users with a system account or as configured by the vendor.","description":"System device files in writable directories could be modified, removed, or used by an unprivileged user to control system hardware.","checkContent":"Find all device files existing anywhere on the system using commands:\n# find / -type b -print | xargs ls -l > devicelistB\n# find / -type c -print | xargs ls -l > devicelistC \n\nLook at devicelistB and devicelistC files to check the permissions on the device files and directories above the subdirectories containing device files.\n\nIf any of the device files or their parent directories are world-writable, excepting device files specifically intended to be world-writable, such as \"/dev/null\", this is a finding.","fixText":"Remove the world-writable permission from the device file(s) using command:\n# chmod o-w <device file>","ccis":["CCI-001499"]},{"vulnId":"V-215186","ruleId":"SV-215186r958498_rule","severity":"medium","ruleTitle":"AIX must configure the ttys value for all interactive users.","description":"A user's \"ttys\" attribute controls from which device(s) the user can authenticate and log in. If the \"ttys\" attribute is not specified, all terminals can access the user account.","checkContent":"Verify that the default \"ttys\" value is set for all users:\n\n# lssec -f /etc/security/user -s default -a ttys\ndefault ttys=ALL\n\nIf the value returned is not \"ttys=ALL\", this is a finding.\n\nFrom the command prompt, run the following command to check \"ttys\" attribute value for all accounts:\n# lsuser -a ttys ALL\n\nThe above command should yield the following output:\nroot ttys=ALL\nuser1 ttys=ALL\nuser2 ttys=ALL\nuser3 ttys=ALL\n\nIf any interactive user account does not have \"ttys=ALL\", this is a finding.","fixText":"From the command prompt, run the following command to set \"ttys=ALL\" for the default stanza in \"/etc/security/user\":\n# chsec -f /etc/security/user -s default -a ttys=ALL\n\nRun the following command to recheck \"ttys\" values for all users:\n# lsuser -a ttys ALL\n\nFor each interactive user who does not have \"ttys=ALL\", set the value of \"ttys\" to \"ALL\" by running the following command from command prompt:\n# chsec -f /etc/security/user -s [user_name] -a ttys=ALL","ccis":["CCI-000778"]},{"vulnId":"V-215187","ruleId":"SV-215187r958400_rule","severity":"medium","ruleTitle":"AIX must provide the lock command to let users retain their session lock until users are reauthenticated.","description":"All systems are vulnerable if terminals are left logged in and unattended. Leaving system terminals unsecure poses a potential security hazard. \n\nTo lock the terminal, use the lock command.","checkContent":"Check the system to determine if \"bos.rte.security\" is installed: \n\n# lslpp -L bos.rte.security\nFileset                      Level  State  Type  Description (Uninstaller)\n  ----------------------------------------------------------------------------\n bos.rte.security           7.2.1.1    C     F    Base Security Function\n\nIf the \"bos.rte.security\" fileset is not installed, this is a finding. \n\nCheck if lock command exist using the following command:\n# ls  /usr/bin/lock\n\nThe above command should display the following:\n/usr/bin/lock\n\nIf the above command does not show that \"/usr/bin/lock\" exists, this is a finding.","fixText":"Install \"bos.rte.security\" fileset from the AIX DVD Volume 1 using the following command (assuming that the DVD device is mounted to /dev/cd0):\n\n# installp -aXYgd /dev/cd0 -e /tmp/install.log bos.rte.security","ccis":["CCI-000056"]},{"vulnId":"V-215188","ruleId":"SV-215188r958400_rule","severity":"medium","ruleTitle":"AIX must provide xlock command in the CDE environment to let users retain their sessions lock until users are reauthenticated.","description":"All systems are vulnerable if terminals are left logged in and unattended. Leaving system terminals unsecure poses a potential security hazard.\n\nIf the interface is AIXwindows (CDE), use the xlock command to lock the sessions.","checkContent":"If AIX CDE (X11) is not used, this is Not Applicable.\n\nCheck the system to determine if \"X11.apps.clients\" is installed: \n# lslpp -L X11.apps.clients\n\nIf the \"X11.apps.clients\" fileset is not installed, this is a finding. \n\nCheck if \"xlock\" command exists using the following command:\n# ls  /usr/bin/X11/xlock\n\nThe above command should display the following:\n/usr/bin/X11/xlock\n\nIf the above command does not show that \"/usr/bin/X11/xlock\" exists, this is a finding.","fixText":"Install \"X11.apps.clients\" fileset from the AIX DVD Volume 1 using the following command (assuming that the DVD is mounted to/dev/cd0):\n\n# installp -aXYgd /dev/cd0 -e /tmp/install.log X11.apps.clients","ccis":["CCI-000056"]},{"vulnId":"V-215189","ruleId":"SV-215189r991589_rule","severity":"medium","ruleTitle":"AIX system must prevent the root account from directly logging in except from the system console.","description":"Limiting the root account direct logins to only system consoles protects the root account from direct unauthorized access from a non-console device.\n\nA common attack method of potential hackers is to obtain the root password.\n\nTo avoid this type of attack, disable direct access to the root ID and then require system administrators to obtain root privileges by using the su - command. In addition to permitting removal of the root user as a point of attack, restricting direct root access permits monitoring which users gained root access, as well as the time of their action. Do this by viewing the /var/adm/sulog file. Another alternative is to enable system auditing, which will report this type of activity.\n\nTo disable remote login access for the root user, edit the /etc/security/user file. Specify False as the rlogin value on the entry for root.","checkContent":"Check the remote login ability of the root account using command: \n# lsuser -a rlogin root \nroot rlogin=false\n\nIf the \"rlogin\" value is not \"false\", this is a finding.","fixText":"From the command prompt, run the following command to set \"rlogin=false\" for the root stanza in \"/etc/security/user\":\n# chsec -f /etc/security/user -s root -a rlogin=false","ccis":["CCI-000366"]},{"vulnId":"V-215190","ruleId":"SV-215190r991589_rule","severity":"medium","ruleTitle":"All AIX public directories must be owned by root or an application account.","description":"If a public directory has the sticky bit set and is not owned by a privileged UID, unauthorized users may be able to modify files created by others. The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage, (e.g., /tmp), and for directories requiring global read/write access.","checkContent":"Check the ownership of all public directories using command: \n# find / -type d -perm -1002 -exec ls -ld {} \\; \n\nIf any public directory is not owned by \"root\" or an application user, this is a finding.","fixText":"Use the following command to change the owner to \"root\" for public directories:\n# chown root [public_dir]","ccis":["CCI-000366"]},{"vulnId":"V-215191","ruleId":"SV-215191r991589_rule","severity":"medium","ruleTitle":"AIX administrative accounts must not run a web browser, except as needed for local service administration.","description":"If a web browser flaw is exploited while running as a privileged user, the entire system could be compromised. \n\nSpecific exceptions for local service administration should be documented in site-defined policy. These exceptions may include HTTP(S)-based tools used for the administration of the local system, services, or attached devices. Examples of possible exceptions are HP’s System Management Homepage (SMH), the CUPS administrative interface, and Sun's StorageTek Common Array Manager (CAM) when these services are running on the local system.","checkContent":"Inspect the root account home directory for a \".netscape\" or a \".mozilla\" directory using the following commands: \n# find /root -name .netscape\n# find /root -name .mozilla\n\nIf none exists, this is not a finding. \n\nIf a file exists, verify with the root users and the ISSO the intent of the browsing.\n\nIf a file exists and use of a web browser has not been authorized, this is a finding.","fixText":"Enforce policy requiring administrative accounts use web browsers only for local service administration.","ccis":["CCI-000366"]},{"vulnId":"V-215192","ruleId":"SV-215192r991589_rule","severity":"medium","ruleTitle":"AIX default system accounts (with the exception of root) must not be listed in the cron.allow file or must be included in the cron.deny file, if cron.allow does not exist.","description":"To centralize the management of privileged account crontabs, of the default system accounts, only root may have a crontab.","checkContent":"Check the \"cron.allow\" and \"cron.deny\" files for the system using commands:\n# more /var/adm/cron/cron.allow \n# more /var/adm/cron/cron.deny \n\nIf the \"cron.allow\" file exists and is empty, this is a finding.\n\nIf a default system account (such as bin, sys, adm, or lpd) is listed in the \"cron.allow\" file, or not listed in the \"cron.deny\" file, this is a finding.","fixText":"Remove default system accounts (such as bin, sys, adm, or lpd) from the \"cron.allow\" file, or add those accounts to the \"cron.deny\" file.","ccis":["CCI-000366"]},{"vulnId":"V-215193","ruleId":"SV-215193r991589_rule","severity":"medium","ruleTitle":"The AIX root account must not have world-writable directories in its executable search path.","description":"If the root search path contains a world-writable directory, malicious software could be placed in the path by intruders and/or malicious users and inadvertently run by root with all of root's privileges.","checkContent":"Check for world-writable permissions on all directories in the root user's executable search path:\n\n# ls -ld `echo $PATH | sed \"s/:/ /g\"` \ndrwxr-xr-x   33 root     system         8192 Nov 29 14:45 /etc\ndrwxr-xr-x    3 bin      bin             256 Aug 11 2017  /sbin\ndrwxr-xr-x    4 bin      bin           45056 Oct 31 12:59 /usr/bin\ndrwxr-xr-x    1 bin      bin             16 Aug 11 2017  /usr/bin/X11\ndrwxr-xr-x    2 bin      bin            4096 Aug 11 2017  /usr/java7_64/bin\ndrwxr-xr-x    4 bin      bin            4096 Feb 17 2017  /usr/java7_64/jre/bin\ndrwxr-xr-x    8 bin      bin           49152 Oct 31 12:59 /usr/sbin\ndrwxrwxr-x    2 bin      bin            4096 Aug 11 2017  /usr/ucb\n\nIf any of the directories in the \"PATH\" variable are world-writable, this is a finding.","fixText":"For each world-writable path in root's executable search path, perform one of the following. \n\nRemove the world-writable permission on the directory. \n\nRun command: \n# chmod o-w <path> \n\n-OR-\nRemove the world-writable directory from the executable search path. Identify and edit the initialization file referencing the world-writable directory and remove it from the PATH variable.","ccis":["CCI-000366"]},{"vulnId":"V-215194","ruleId":"SV-215194r991589_rule","severity":"medium","ruleTitle":"The Group Identifiers (GIDs) reserved for AIX system accounts must not be assigned to non-system accounts as their primary group GID.","description":"Reserved GIDs are typically used by system software packages. If non-system groups have GIDs in this range, they may conflict with system software, possibly leading to the group having permissions to modify system files.","checkContent":"From the command prompt, run the following command:\n\n# more /etc/passwd \nroot:!:0:0::/root:/usr/bin/ksh\ndaemon:!:1:1::/etc:\nbin:!:2:2::/bin:\nsys:!:3:3::/usr/sys:\nadm:!:4:4::/var/adm:\nnobody:!:4294967294:4294967294::/:\ninvscout:*:6:12::/var/adm/invscout:/usr/bin/ksh\nsrvproxy:*:203:0:Service Proxy Daemon:/home/srvproxy:/usr/bin/ksh\nesaadmin:*:7:0::/var/esa:/usr/bin/ksh\nsshd:*:212:203::/var/empty:/usr/bin/ksh\ndoejohn:*:704:1776::/home/doej:/usr/bin/ksh\n\nConfirm all accounts with a primary GID of 99 and below are used by a system account. \n\nIf a GID reserved for system accounts, 0 - 99, is used by a non-system account, this is a finding.","fixText":"Change the primary GID for non-system accounts that have reserved GIDs as their primary GIDs using the following command:\n# chuser pgrp=<non_reserved_group_name> <non_system_user_name>","ccis":["CCI-000366"]},{"vulnId":"V-215195","ruleId":"SV-215195r991589_rule","severity":"medium","ruleTitle":"UIDs reserved for system accounts must not be assigned to non-system accounts on AIX systems.","description":"Reserved UIDs are typically used by system software packages. If non-system accounts have UIDs in this range, they may conflict with system software, possibly leading to the user having permissions to modify system files.","checkContent":"Check the UID assignments of all accounts using: \n\n# more /etc/passwd \nroot:!:0:0::/root:/usr/bin/ksh\ndaemon:!:1:1::/etc:\nbin:!:2:2::/bin:\nsys:!:3:3::/usr/sys:\nadm:!:4:4::/var/adm:\nnobody:!:4294967294:4294967294::/:\ninvscout:*:6:12::/var/adm/invscout:/usr/bin/ksh\nsrvproxy:*:203:0:Service Proxy Daemon:/home/srvproxy:/usr/bin/ksh\nesaadmin:*:7:0::/var/esa:/usr/bin/ksh\nsshd:*:212:203::/var/empty:/usr/bin/ksh\ndoej:*:704:1776::/home/doej:/usr/bin/ksh\n\nConfirm all accounts with a UID of 128 and below are used by a system account. \n\nIf a UID reserved for system accounts (0-128) is used by a non-system account, this is a finding.","fixText":"Using the \"usermod\" command, change the UID numbers for non-system accounts with reserved UIDs (those less or equal to 128): \n# usermod -u <uid> [user_name]","ccis":["CCI-000366"]},{"vulnId":"V-215196","ruleId":"SV-215196r991589_rule","severity":"medium","ruleTitle":"The AIX root accounts list of preloaded libraries must be empty.","description":"The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries relative to the current working directory, unintended libraries may be preloaded.","checkContent":"Verify the \"LDR_PRELOAD\" environment variable is empty or not defined for the \"root\" user using command: \n# env | grep LDR_PRELOAD \n\nIf a path is returned, this is a finding.","fixText":"Edit the \"root\" user's initialization files and remove any definition of \"LDR_PRELOAD\".","ccis":["CCI-000366"]},{"vulnId":"V-215197","ruleId":"SV-215197r991591_rule","severity":"high","ruleTitle":"AIX must not have accounts configured with blank or null passwords.","description":"If an account is configured for password authentication but does not have an assigned password, it may be possible to log into the account without authentication. If the root user is configured without a password, the entire system may be compromised. For user accounts not using password authentication, the account must be configured with a password lock value instead of a blank or null value.","checkContent":"Verify no interactive accounts have blank passwords by running the following command: \n# pwdck -n ALL \n\nIf any interactive account with a blank password is found, this is a finding.","fixText":"Configure a password for any interactive account with a blank password by running the following command:\n# passwd [user_name]","ccis":["CCI-000366"]},{"vulnId":"V-215198","ruleId":"SV-215198r991592_rule","severity":"medium","ruleTitle":"The AIX root accounts home directory (other than /) must have mode 0700.","description":"Users' home directories/folders may contain information of a sensitive nature. Non-privileged users should coordinate any sharing of information with an SA through shared resources.","checkContent":"Check the mode of the root home directory by running the following commands:\n# ls -ld `grep \"^root\" /etc/passwd | awk -F\":\" '{print $6}'`\n\nThe above command should yield the following output:\ndrwx------   22 root     system     4096 Sep 06 18:00 /root\n\nIf the mode of the directory is not equal to \"0700\", this is a finding.","fixText":"Use the following command to change protections for the root home directory: \n# chmod 0700 /root.","ccis":["CCI-000366"]},{"vulnId":"V-215199","ruleId":"SV-215199r991592_rule","severity":"medium","ruleTitle":"The AIX root accounts home directory must not have an extended ACL.","description":"Excessive permissions on root home directories allow unauthorized access to root user files.","checkContent":"Verify the \"root\" account's home directory has no extended ACL using command:\n\n# aclget ~root \n*\n* ACL_type   AIXC\n*\nattributes:\nbase permissions\n    owner(root):  rwx\n    group(system):  ---\n    others:  ---\nextended permissions\n    disabled\n\nIf extended permissions are enabled, the directory has an extended ACL, and this is a finding.","fixText":"Remove the extended ACL from the \"root\" account's home directory using command:\n# acledit ~root \n\nChange extended attributes to disabled.","ccis":["CCI-000366"]},{"vulnId":"V-215200","ruleId":"SV-215200r958390_rule","severity":"medium","ruleTitle":"AIX must display the Standard Mandatory DoD Notice and Consent Banner before granting local or remote login access to the system.","description":"Display of a standardized and approved use notification before granting access to the operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance.\n\nSystem use notifications are required only for access via login interfaces with human users and are not required when such human interfaces do not exist.\n\nThe banner must be formatted in accordance with applicable DoD policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters:\n\n\"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.\n\nBy using this IS (which includes any device attached to this IS), you consent to the following conditions:\n\n-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.\n\n-At any time, the USG may inspect and seize data stored on this IS.\n\n-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.\n\n-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.\n\n-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.\"\n\nUse the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner:\n\n\"I've read & consent to terms in IS user agreem't.\"","checkContent":"Check the herald is set to have the Standard Mandatory DoD Notice and Consent Banner:\n# lssec -f /etc/security/login.cfg -s default -a herald\n\nThe above command should display the herald setting like this:\ndefault herald=\"You are accessing a U.S. Government (USG) Information System (IS) that\\n\\ris provided for USG-authorized use only.\\n\\r\\n\\rBy using this IS (which includes any device attached to this IS), you\\n\\rconsent to the following conditions: \\n\\r\\n\\r-The USG routinely intercepts and monitors communications on this IS\\n\\rfor purposes including, but not limited to, penetration testing, COMSEC\\n\\rmonitoring, network operations and defense, personnel misconduct (PM),\\n\\rlaw enforcement (LE), and counterintelligence (CI) investigations. \\n\\r\\n\\r-At any time, the USG may inspect and seize data stored on this IS. \\n\\r\\n\\r-Communications using, or data stored on, this IS are not private, are\\n\\rsubject to routine monitoring, interception, and search, and may be\\n\\rdisclosed or used for any USG-authorized purpose. \\n\\r\\n\\r-This IS includes security measures (e.g., authentication and access\\n\\rcontrols) to protect USG interests--not for your personal benefit or\\n\\rprivacy. \\n\\r\\n\\r-Notwithstanding the above, using this IS does not constitute consent\\n\\rto PM, LE or CI investigative searching or monitoring of the content\\n\\rof privileged communications, or work product, related to personal\\n\\rrepresentation or services by attorneys, psychotherapists, or clergy,\\n\\rand their assistants. Such communications and work product are private\\n\\rand confidential. See User Agreement for details.\\n\\r\\n\\rlogin:\"\n\nIf the herald string is not set, or it does not contain the Standard Mandatory DoD Notice and Consent Banner listed above, this is a finding.","fixText":"From the command prompt, run the following command to set the DoD banner to herald for the default stanza in the \"/etc/security/login.cfg\" file:\n# chsec -f /etc/security/login.cfg -s default -a herald=\"You are accessing a U.S. Government (USG) Information System (IS) that\\n\\ris provided for USG-authorized use only.\\n\\r\\n\\rBy using this IS (which includes any device attached to this IS), you\\n\\rconsent to the following conditions: \\n\\r\\n\\r-The USG routinely intercepts and monitors communications on this IS\\n\\rfor purposes including, but not limited to, penetration testing, COMSEC\\n\\rmonitoring, network operations and defense, personnel misconduct (PM),\\n\\rlaw enforcement (LE), and counterintelligence (CI) investigations. \\n\\r\\n\\r-At any time, the USG may inspect and seize data stored on this IS. \\n\\r\\n\\r-Communications using, or data stored on, this IS are not private, are\\n\\rsubject to routine monitoring, interception, and search, and may be\\n\\rdisclosed or used for any USG-authorized purpose. \\n\\r\\n\\r-This IS includes security measures (e.g., authentication and access\\n\\rcontrols) to protect USG interests--not for your personal benefit or\\n\\rprivacy. \\n\\r\\n\\r-Notwithstanding the above, using this IS does not constitute consent\\n\\rto PM, LE or CI investigative searching or monitoring of the content\\n\\rof privileged communications, or work product, related to personal\\n\\rrepresentation or services by attorneys, psychotherapists, or clergy,\\n\\rand their assistants. Such communications and work product are private\\n\\rand confidential. See User Agreement for details.\\n\\r\\n\\rlogin:\"","ccis":["CCI-000048"]},{"vulnId":"V-215201","ruleId":"SV-215201r958390_rule","severity":"medium","ruleTitle":"The Department of Defense (DoD) login banner must be displayed immediately prior to, or as part of, graphical desktop environment login prompts on AIX.","description":"Display of a standardized and approved use notification before granting access to the operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance.\n\nSystem use notifications are required only for access via login interfaces with human users and are not required when such human interfaces do not exist.\n\nThe banner must be formatted in accordance with applicable DoD policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters:\n\n\"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.\n\nBy using this IS (which includes any device attached to this IS), you consent to the following conditions:\n\n-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.\n\n-At any time, the USG may inspect and seize data stored on this IS.\n\n-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.\n\n-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.\n\n-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.\"\n\nUse the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner:\n\n\"I've read & consent to terms in IS user agreem't.\"","checkContent":"If AIX CDE (X11) is not used, this is Not Applicable.\n\nCheck if file \"/etc/dt/config/en_US/Xresources\" exists:\n# ls /etc/dt/config/en_US/Xresources \n\nIf the file does not exist, this is a finding.\n\nCheck if the \"Dtlogin*greeting.labelString\" is set to the Standard Mandatory DoD Notice and Consent Banner:\n# grep \"Dtlogin*greeting.labelString\" /etc/dt/config/en_US/Xresources\n\nThe above command should display the following:\nDtlogin*greeting.labelString: You are accessing a U.S. Government (USG) Information System (IS) that\\nis provided for USG-authorized use only.\\n\\nBy using this IS (which includes any device attached to this IS), you\\nconsent to the following conditions: \\n\\n-The USG routinely intercepts and monitors communications on this IS\\nfor purposes including, but not limited to, penetration testing, COMSEC\\nmonitoring, network operations and defense, personnel misconduct (PM),\\nlaw enforcement (LE), and counterintelligence (CI) investigations. \\n\\n-At any time, the USG may inspect and seize data stored on this IS. \\n\\n-Communications using, or data stored on, this IS are not private, are\\nsubject to routine monitoring, interception, and search, and may be\\ndisclosed or used for any USG-authorized purpose. \\n\\n-This IS includes security measures (e.g., authentication and access\\ncontrols) to protect USG interests--not for your personal benefit or\\nprivacy. \\n\\n-Notwithstanding the above, using this IS does not constitute consent\\nto PM, LE or CI investigative searching or monitoring of the content\\nof privileged communications, or work product, related to personal\\nrepresentation or services by attorneys, psychotherapists, or clergy,\\nand their assistants. Such communications and work product are private\\nand confidential. See User Agreement for details. \n\nIf the \"Dtlogin*greeting.labelString\" variable is not set, or the label string does not contain the Standard Mandatory DoD Notice and Consent Banner, this is a finding.","fixText":"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. \n\nFor \"Dtlogin\", change the variable \"Dtlogin*greeting.labelString:\" in \"Xresources\" file. \n\n# cp /usr/dt/config/C/Xresources /etc/dt/config/en_US/Xresources \n\n# vi /etc/dt/config/en_US/Xresources\n\nSet variable \"Dtlogin*greeting.labelString\" as the following:\nDtlogin*greeting.labelString: You are accessing a U.S. Government (USG) Information System (IS) that\\nis provided for USG-authorized use only.\\n\\nBy using this IS (which includes any device attached to this IS), you\\nconsent to the following conditions: \\n\\n-The USG routinely intercepts and monitors communications on this IS\\nfor purposes including, but not limited to, penetration testing, COMSEC\\nmonitoring, network operations and defense, personnel misconduct (PM),\\nlaw enforcement (LE), and counterintelligence (CI) investigations. \\n\\n-At any time, the USG may inspect and seize data stored on this IS. \\n\\n-Communications using, or data stored on, this IS are not private, are\\nsubject to routine monitoring, interception, and search, and may be\\ndisclosed or used for any USG-authorized purpose. \\n\\n-This IS includes security measures (e.g., authentication and access\\ncontrols) to protect USG interests--not for your personal benefit or\\nprivacy. \\n\\n-Notwithstanding the above, using this IS does not constitute consent\\nto PM, LE or CI investigative searching or monitoring of the content\\nof privileged communications, or work product, related to personal\\nrepresentation or services by attorneys, psychotherapists, or clergy,\\nand their assistants. Such communications and work product are private\\nand confidential. See User Agreement for details. \n\nSave the above change to \"Xresources\" file.","ccis":["CCI-000048"]},{"vulnId":"V-215202","ruleId":"SV-215202r958390_rule","severity":"medium","ruleTitle":"The Department of Defense (DoD) login banner must be displayed during SSH, sftp, and scp login sessions on AIX.","description":"Display of a standardized and approved use notification before granting access to the operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance.\n\nSystem use notifications are required only for access via login interfaces with human users and are not required when such human interfaces do not exist.\n\nThe banner must be formatted in accordance with applicable DoD policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters:\n\n\"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.\n\nBy using this IS (which includes any device attached to this IS), you consent to the following conditions:\n\n-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.\n\n-At any time, the USG may inspect and seize data stored on this IS.\n\n-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.\n\n-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.\n\n-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.\"\n\nUse the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner:\n\n\"I've read & consent to terms in IS user agreem't.\"","checkContent":"Check if file \"/etc/motd.ssh\" exists:\n# ls /etc/motd.ssh\n\nIf the file does not exist, this is a finding.\n\nCheck if \"/etc/motd.ssh\" contains The Standard Mandatory DoD Notice and Consent Banner:\n# cat /etc/motd.ssh\n\nThe above command should display the following Standard Mandatory DoD Notice and Consent Banner:\n\"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. \n\nBy using this IS (which includes any device attached to this IS), you consent to the following conditions: \n\n-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. \n\n-At any time, the USG may inspect and seize data stored on this IS. \n\n-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. \n\n-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. \n\n-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.\" \n\nIf the Standard Mandatory DoD Notice and Consent Banner is not displayed by the \"cat\" command, this is a finding.\n\nCheck if  /etc/motd.ssh is used as banner file in SSH config file:\n# grep -i \"Banner /etc/motd.ssh\" /etc/motd.ssh\n\nIf the above grep command does not find \"Banner /etc/motd.ssh\" in the \"/etc/motd.ssh\" file, this is a finding.","fixText":"Create file \"/etc/motd.ssh\" to contain the following:\n\"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.\n\nBy using this IS (which includes any device attached to this IS), you consent to the following conditions:\n\n-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.\n\n-At any time, the USG may inspect and seize data stored on this IS.\n\n-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.\n\n-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.\n\n-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.\"\n\nModify \"/etc/ssh/sshd_config\" to contain the following line:\nBanner /etc/motd.ssh\n\nRestart the SSH daemon by running the following commands:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000048"]},{"vulnId":"V-215203","ruleId":"SV-215203r958586_rule","severity":"medium","ruleTitle":"Any publically accessible connection to AIX operating system must display the Standard Mandatory DoD Notice and Consent Banner before granting access to the system.","description":"Display of a standardized and approved use notification before granting access to the publicly accessible operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance.\n\nSystem use notifications are required only for access via login interfaces with human users and are not required when such human interfaces do not exist.\n\nThe banner must be formatted in accordance with applicable DoD policy. Use the following verbiage for operating systems that can accommodate banners of 1300 characters:\n\n\"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.\n\nBy using this IS (which includes any device attached to this IS), you consent to the following conditions:\n\n-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.\n\n-At any time, the USG may inspect and seize data stored on this IS.\n\n-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.\n\n-This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy.\n\n-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.\"\n\nUse the following verbiage for operating systems that have severe limitations on the number of characters that can be displayed in the banner:\n\n\"I've read & consent to terms in IS user agreem't.\"","checkContent":"Check the herald is set to have the Standard Mandatory DoD Notice and Consent Banner:\n# lssec -f /etc/security/login.cfg -s default -a herald\n\nThe above command should display the herald setting like this:\ndefault herald=\"You are accessing a U.S. Government (USG) Information System (IS) that\\n\\ris provided for USG-authorized use only.\\n\\r\\n\\rBy using this IS (which includes any device attached to this IS), you\\n\\rconsent to the following conditions: \\n\\r\\n\\r-The USG routinely intercepts and monitors communications on this IS\\n\\rfor purposes including, but not limited to, penetration testing, COMSEC\\n\\rmonitoring, network operations and defense, personnel misconduct (PM),\\n\\rlaw enforcement (LE), and counterintelligence (CI) investigations. \\n\\r\\n\\r-At any time, the USG may inspect and seize data stored on this IS. \\n\\r\\n\\r-Communications using, or data stored on, this IS are not private, are\\n\\rsubject to routine monitoring, interception, and search, and may be\\n\\rdisclosed or used for any USG-authorized purpose. \\n\\r\\n\\r-This IS includes security measures (e.g., authentication and access\\n\\rcontrols) to protect USG interests--not for your personal benefit or\\n\\rprivacy. \\n\\r\\n\\r-Notwithstanding the above, using this IS does not constitute consent\\n\\rto PM, LE or CI investigative searching or monitoring of the content\\n\\rof privileged communications, or work product, related to personal\\n\\rrepresentation or services by attorneys, psychotherapists, or clergy,\\n\\rand their assistants. Such communications and work product are private\\n\\rand confidential. See User Agreement for details.\\n\\r\\n\\rlogin:\"\n\nIf the herald string is not set, or it does not contain the Standard Mandatory DoD Notice and Consent Banner listed above, this is a finding.","fixText":"From the command prompt, run the following command to set the DoD banner to herald for the default stanza in /etc/security/login.cfg:\n\n# chsec -f /etc/security/login.cfg -s default -a herald=\"You are accessing a U.S. Government (USG) Information System (IS) that\\n\\ris provided for USG-authorized use only.\\n\\r\\n\\rBy using this IS (which includes any device attached to this IS), you\\n\\rconsent to the following conditions: \\n\\r\\n\\r-The USG routinely intercepts and monitors communications on this IS\\n\\rfor purposes including, but not limited to, penetration testing, COMSEC\\n\\rmonitoring, network operations and defense, personnel misconduct (PM),\\n\\rlaw enforcement (LE), and counterintelligence (CI) investigations. \\n\\r\\n\\r-At any time, the USG may inspect and seize data stored on this IS. \\n\\r\\n\\r-Communications using, or data stored on, this IS are not private, are\\n\\rsubject to routine monitoring, interception, and search, and may be\\n\\rdisclosed or used for any USG-authorized purpose. \\n\\r\\n\\r-This IS includes security measures (e.g., authentication and access\\n\\rcontrols) to protect USG interests--not for your personal benefit or\\n\\rprivacy. \\n\\r\\n\\r-Notwithstanding the above, using this IS does not constitute consent\\n\\rto PM, LE or CI investigative searching or monitoring of the content\\n\\rof privileged communications, or work product, related to personal\\n\\rrepresentation or services by attorneys, psychotherapists, or clergy,\\n\\rand their assistants. Such communications and work product are private\\n\\rand confidential. See User Agreement for details.\\n\\r\\n\\rlogin:\"","ccis":["CCI-001384","CCI-001385","CCI-001386","CCI-001387","CCI-001388"]},{"vulnId":"V-215204","ruleId":"SV-215204r987796_rule","severity":"high","ruleTitle":"IF LDAP is used, AIX LDAP client must use SSL to authenticate with LDAP server.","description":"While LDAP client's authentication type is ldap_auth (server-side authentication), the client sends password to the server in clear text for authentication. SSL must be used in this case.","checkContent":"Run the following command to check if \"authtype\" is \"ldap_auth\":\n# grep -iE \"^authtype:[[:blank:]]*ldap_auth\" /etc/security/ldap/ldap.cfg\n\nThe above command should yield the following output:\nauthtype:ldap_auth\n\nRun the following command to check if SSL is not used in the \"/etc/security/ldap/ldap.cfg\" file:\n# grep -iE \"^useSSL:[[:blank:]]*yes\" /etc/security/ldap/ldap.cfg\n\nThe above command should yield the following output:\nuseSSL:yes\n\nIf the first command displays \"authtype:ldap_auth\" but the second command does not display \"useSSL:yes\",  this is a finding.","fixText":"Edit the \"/etc/security/ldap/ldap.cfg\" file to have the following line:\nuseSSL:yes\n\nConfigure the LDAP server and LDAP client to use the SSL according to AIX LDAP documentation.\n\nRestart the client daemon:\n# restart-secldapclntd","ccis":["CCI-000197"]},{"vulnId":"V-215205","ruleId":"SV-215205r958828_rule","severity":"medium","ruleTitle":"If LDAP authentication is required, AIX must setup LDAP client to refresh user and group caches less than a day.","description":"If cached authentication information is out-of-date, the validity of the authentication information may be questionable.","checkContent":"If LDAP authentication is not required, this is Not Applicable.\n\nVerify the \"/etc/security/ldap/ldap.cfg\" file to see if the following two keywords have a value that is greater than \"900\" seconds:\n\n# grep -i usercachetimeout /etc/security/ldap/ldap.cfg\nusercachetimeout: 900\n\n# grep -i groupcachetimeout /etc/security/ldap/ldap.cfg\ngroupcachetimeout: 900\n\nIf any of the above keywords does not exist, is commented out, or any value of the above keywords are greater than \"900\", this is a finding.","fixText":"Edit the \"/etc/security/ldap/ldap.cfg\" file to set the following two keywords to have value of \"900\":\nusercachetimeout\ngroupcachetimeout\n\nRestart LDAP client using command:\n# /usr/sbin/restart-secldapclntd","ccis":["CCI-002007"]},{"vulnId":"V-215206","ruleId":"SV-215206r991589_rule","severity":"medium","ruleTitle":"The AIX /etc/passwd, /etc/security/passwd, and/or /etc/group files must not contain a plus (+) without defining entries for NIS+ netgroups or LDAP netgroups.","description":"A plus (+) in system accounts files causes the system to lookup the specified entry using NIS. If the system is not using NIS, no such entries should exist.","checkContent":"Check system configuration files for plus (+) entries using the following commands:\n\n# cat /etc/passwd | grep -v \"^#\" | grep \"\\+\" \n\n# cat /etc/security/passwd | grep -v \"^#\" | grep \"\\+\" \n\n# cat /etc/group | grep -v \"^#\" | grep \"\\+\" \n\nIf the \"/etc/passwd\", \"/etc/security/passwd\", and/or \"/etc/group\" files contain a plus (+) and do not define entries for NIS+ netgroups or LDAP netgroups, this is a finding.","fixText":"Edit \"/etc/passwd\", \"/etc/security/passwd\", and/or \"/etc/group\" files and remove entries containing a plus (+).","ccis":["CCI-000366"]},{"vulnId":"V-215207","ruleId":"SV-215207r958552_rule","severity":"medium","ruleTitle":"AIX must protect the confidentiality and integrity of all information at rest.","description":"Information at rest refers to the state of information when it is located on a secondary storage device (e.g., disk drive and tape drive, when used for backups) within an operating system.\n\nThis requirement addresses protection of user-generated data, as well as operating system-specific configuration data. Organizations may choose to employ different mechanisms to achieve confidentiality and integrity protections, as appropriate, in accordance with the security category and/or classification of the information.","checkContent":"If the organization does not require to encrypt the data at rest this is Not Applicable.\n\nCheck if the \"clic.rte\" fileset is installed:\n# lslpp -l |grep clic\n\nThe above command should yield the following output:\n  clic.rte.kernext          4.10.0.1  COMMITTED  CryptoLite for C Kernel\n  clic.rte.lib                     4.10.0.1  COMMITTED  CryptoLite for C Library\n  clic.rte.kernext          4.10.0.1  COMMITTED  CryptoLite for C Kernel\n\nIf the \"clic.rte\" fileset is not installed, this is a finding.\n\nTo check if a JFS2 file system (mounted as /fs2_mnt) is EFS-enabled, use the following command:\n\n# lsfs -q /fs2_mnt\n\nName            Nodename   Mount Pt               VFS   Size    Options    Auto Accounting\n/dev/fslv00     --         /fs2_mnt                   jfs2  262144  --         no   no \n  (lv size: 262144, fs size: 262144, block size: 4096, sparse files: yes, inline log: no, inline log size: 0, EAformat: v2, Quota: no, DMAPI: no, VIX: yes, EFS: no, ISNAPSHOT: no, MAXEXT: 0, MountGuard: no)\n\nIf the above command shows \"EFS: no\", this is a finding.","fixText":"Install \"clic.rte\" fileset if it is not installed using command:\n# installp -aXYqg -d /dev/cd0 clic.rte\n\nRun the follow command to initialize and enable EFS on the system:\n# efsenable -a\n\nTo create a new EFS-enabled JFS2 file system and mount the file system, using the following commands:\n# crfs -v jfs2 -g rootvg -m /fs2 -a size=100M -a efs=yes\n# mount /fs2\n\nTo enable EFS on a JFS2 file system (like, /fs3), run the following command:\nchfs -a efs=yes /fs3","ccis":["CCI-001199"]},{"vulnId":"V-215208","ruleId":"SV-215208r1038944_rule","severity":"medium","ruleTitle":"AIX must provide time synchronization applications that can synchronize the system clock to external time sources at least every 24 hours.","description":"Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate.\n\nSynchronizing internal information system clocks provides uniformity of time stamps for information systems with multiple system clocks and systems connected over a network.\n\nOrganizations should consider endpoints that may not have regular access to the authoritative time server (e.g., mobile, teleworking, and tactical endpoints).\n\nSatisfies: SRG-OS-000355-GPOS-00143, SRG-OS-000356-GPOS-00144","checkContent":"Check if time synchronization application \"ntpd\" is running using the command:\n\n# lssrc -s xntpd\nSubsystem         Group            PID                  Status \n xntpd                   tcpip          4784536             active\n\nIf \"ntpd\" is showing \"inoperative\", this is a finding.\n\nCheck that \"ntp\" server is configured using command: \n\n# grep server /etc/ntp.conf\nserver 10.110.20.10\n\nIf the command returns no output, this is a finding.\n\nCheck the poll interval is less than 24 hours using command:\n\n# grep maxpoll /etc/ntp.conf\nmaxpoll=16\n\nIf \"maxpoll\" is set to larger than \"16\" (2^16 seconds ~= 18hr), this is a finding.","fixText":"Edit /etc/ntp.conf\n\nConfigure ntp server by adding the following line:\nserver server_ipaddr\n\nSet maxpoll to <value>   <=16 by adding the maxpoll <value>.\n\nRestart the ntp daemon.\n\n# stopsrc -s xntpd\n# startsrc -s xntpd","ccis":["CCI-004923","CCI-004926","CCI-001891","CCI-002046"]},{"vulnId":"V-215209","ruleId":"SV-215209r991589_rule","severity":"medium","ruleTitle":"All AIX NFS anonymous UIDs and GIDs must be configured to values without permissions.","description":"When an NFS server is configured to deny remote root access, a selected UID and GID are used to handle requests from the remote root user. The UID and GID should be chosen from the system to provide the appropriate level of non-privileged access.","checkContent":"Check if the \"anon\" option is set correctly for exported file systems. \n\nList exported file systems using command: \n\n# exportfs -v \n/home/doej     rw,anon=-1,access=doej\n\nNote: 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). \n\nIf an appropriate \"anon=\" setting is not present for an exported file system, this is a finding.","fixText":"Edit \"/etc/exports\" and set the \"anon=-1\" option for all exported file systems without it. \n\nRe-export the file systems using command: \n# exportfs -a","ccis":["CCI-000366"]},{"vulnId":"V-215210","ruleId":"SV-215210r991589_rule","severity":"medium","ruleTitle":"AIX nosuid option must be enabled on all NFS client mounts.","description":"Enabling the nosuid mount option prevents the system from granting owner or group-owner privileges to programs with the suid or sgid bit set. If the system does not restrict this access, users with unprivileged access to the local system may be able to acquire privileged access by executing suid or sgid files located on the mounted NFS file system.","checkContent":"Check the system for NFS mounts not using the \"nosuid\" option using command: \n\n# lsfs -v nfs \nName            Nodename   Mount Pt               VFS   Size    Options    Auto Accounting\n/home/doej        --         /mount/doej            nfs    786432    --              yes         no\n\nIf the \"mounted\" file systems do not have the \"nosuid option\", this is a finding.","fixText":"Edit \"/etc/filesystems\" and add the \"nosuid\" option for all NFS file systems. \n\nRemount the NFS file systems to make the change take effect.","ccis":["CCI-000366"]},{"vulnId":"V-215211","ruleId":"SV-215211r1009534_rule","severity":"medium","ruleTitle":"AIX must be configured to allow users to directly initiate a session lock for all connection types.","description":"A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to log out because of the temporary nature of the absence.\n\nThe session lock is implemented at the point where session activity can be determined. Rather than be forced to wait for a period of time to expire before the user session can be locked, operating systems need to provide users with the ability to manually invoke a session lock so users may secure their session should the need arise for them to temporarily vacate the immediate physical vicinity.","checkContent":"Check if the \"lock\" command exists by using the following command:\n# ls /usr/bin/lock\n\nThe above command should display the following:\n/usr/bin/lock\n\nIf the above command does not show that \"/usr/bin/lock\" exists, this is a finding.\n\nCheck if the \"xlock\" command exists by using the following command:\n# ls  /usr/bin/X11/xlock\n\nThe above command should display the following:\n/usr/bin/X11/xlock\n\nIf the above command does not show that \"/usr/bin/xlock\" exists, this is a finding.","fixText":"Install, or re-install, bos.rte.security fileset from the AIX DVD Volume 1 using the following command (assuming that the DVD device is /dev/cd0):\n# installp -aXYgd /dev/cd0 -e /tmp/install.log bos.rte.security","ccis":["CCI-000057","CCI-000058"]},{"vulnId":"V-215212","ruleId":"SV-215212r958404_rule","severity":"medium","ruleTitle":"AIX CDE must conceal, via the session lock, information previously visible on the display with a publicly viewable image.","description":"A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence.\n\nThe session lock is implemented at the point where session activity can be determined. The operating system session lock event must include an obfuscation of the display screen so as to prevent other users from reading what was previously displayed.\n\nPublicly viewable images can include static or dynamic images, for example, patterns used with screen savers, photographic images, solid colors, a clock, a battery life indicator, or a blank screen, with the additional caveat that none of the images convey sensitive information.","checkContent":"If CDE (X11) is not used on AIX, this is Not Applicable.\n\nEnsure that the screen saver and session timeout are not disabled.\n\nFrom the command prompt, run the following script:\n\n# AIX7-00-001101_Check.sh\n\nNote: This script is included in the STIG package.\n\nThe above script should yield the following output:\n\nChecking config file /etc/dt/config/C/sys.resources...\nMissing config file /etc/dt/config/C/sys.resources\n\nChecking config file /etc/dt/config/POSIX/sys.resources...\ndtsession*saverTimeout: 15\ndtsession*lockTimeout: 30\n\nChecking config file /etc/dt/config/en_US/sys.resources...\ndtsession*saverTimeout: 15\ndtsession*lockTimeout: 25\n\nIf the result of the script shows any config file missing, or any of the \"dtsession*saverTimeout\" or \"dtsession*lockTimeout\" values is greater than \"15\", this is a finding.","fixText":"From the command prompt, run the following script to set the default timeout parameters \"dtsession*saverTimeout:\" and \"dtsession*lockTimeout:\" as \"15\" minutes: \n\n# AIX7-00-001101_Fix.sh\n\nNote: This script is included in the STIG package.","ccis":["CCI-000060"]},{"vulnId":"V-215213","ruleId":"SV-215213r958510_rule","severity":"high","ruleTitle":"AIX must employ strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions.","description":"If maintenance tools are used by unauthorized personnel, they may accidentally or intentionally damage or compromise the system. The act of managing systems and applications includes the ability to access sensitive application information, such as system configuration details, diagnostic information, user information, and potentially sensitive application data.\n\nSome maintenance and test tools are either standalone devices with their own operating systems or are applications bundled with an operating system.\n\nNonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the Internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a network connection. Typically, strong authentication requires authenticators that are resistant to replay attacks and employ multifactor authentication. Strong authenticators include, for example, PKI where certificates are stored on a token protected by a password, passphrase, or biometric.","checkContent":"From the command prompt, execute the following to check if \"telnetd\" is enabled.\n# lssrc -t telnet | grep active\n\nIf the above command returns output, this is a finding.","fixText":"Disable telnet by executing the following command:\n# stopsrc -t telnet","ccis":["CCI-000877"]},{"vulnId":"V-215214","ruleId":"SV-215214r991554_rule","severity":"medium","ruleTitle":"If LDAP authentication is required on AIX, SSL must be used between LDAP clients and the LDAP servers to protect the integrity of remote access sessions.","description":"If LDAP authentication is used, SSL must be used between LDAP clients and the LDAP servers to protect the integrity of remote access sessions.","checkContent":"Run the following command to check if ldap_auth is used:\n\n# grep -iE \"^authtype:[[:blank:]]*ldap_auth\" /etc/security/ldap/ldap.cfg\n\nIf the command has no output, this is Not Applicable.\n\nRun the following command to check if SSL is used:\n\n# grep -iE \"^useSSL:[[:blank:]]*yes\" /etc/security/ldap/ldap.cfg\nuseSSL:yes\n\nIf the command has no output, this is a finding.","fixText":"Configure the LDAP client on AIX to use the SSL.\n\nEdit /etc/security/ldap/ldap.cfg to have the following line:\nuseSSL:yes\n\nRestart the client daemon:\n# secldapclntd.","ccis":["CCI-001453"]},{"vulnId":"V-215215","ruleId":"SV-215215r958868_rule","severity":"medium","ruleTitle":"AIX must only allow the use of DoD PKI-established certificate authorities for verification of the establishment of protected sessions.","description":"Untrusted Certificate Authorities (CA) can issue certificates, but they may be issued by organizations or individuals that seek to compromise DoD systems or by organizations with insufficient security controls. If the CA used for verifying the certificate is not a DoD-approved CA, trust of this CA has not been established.\n\nThe DoD will only accept PKI-certificates obtained from a DoD-approved internal or external certificate authority. Reliance on CAs for the establishment of secure sessions includes, for example, the use of SSL/TLS certificates.","checkContent":"Note: Depending on which version of GSKit is installed on AIX, the GSK commands that are used to manage the Key Database (KDB) have different names. The possible GSK commands are: gsk8capicmd (used below), gsk8capicmd_64 and gsk7cmd.\n\nCheck if the system is using LDAP authentication: \n\n# grep LDAP /etc/security/user \n\nIf no lines are returned, this requirement is not applicable. \n\nCheck if the useSSL option is enabled: \n\n# grep '^useSSL' /etc/security/ldap/ldap.cfg \nuseSSL:yes\n\nIf \"yes\" is not the returned value, this is a finding. \n\nVerify a certificate is used for client authentication to the server: \n\n# grep -i '^ldapsslkeyf' /etc/security/ldap/ldap.cfg \nldapsslkeyf:/tmp/key.kdb\n\nIf no line is found, this is a finding. \n\nIdentify the Key Database (KDB), and its password, by asking the ISSO/SA). \n\nIf  no Key Database exists on the system, this is a finding.\n\nList the certificate issuer with IBM GSK:\n\n# gsk8capicmd -cert -list CA -db <KDB_FILE> -pw <KDB_PASSWORD> \n\nMake note of the client Key Label: \n\n# gsk8capicmd -cert -details -showOID -db <KDB_FILE> -pw <KDB_PASSWORD> -label <Key Label> \n\nIf the certificate is not issued by DoD PKI or a DoD-approved external PKI, this is a finding.\n\nThe IBM GSK Database should only have certificates for the client system and for the LDAP server. \n\nIf more certificates are in the key database than the LDAP server and the client, this is a finding.","fixText":"Note: Depending on which version of GSKit is installed on AIX, the GSK commands that are used to manage the Key Database (KDB) have different names. The possible GSK commands are: gsk8capicmd (used below), gsk8capicmd_64 and gsk7cmd.\n\nCreate a key database with DoD PKI or DoD-approved certificate using one of the following commands: \n# gsk8capicmd -keydb -create -db <KDB_FILE> -pw <KDB_PASSWORD> -type cms -stash\n\nEdit \"/etc/security/ldap/ldap.cfg\" and add or edit the \"ldapsslkeyf\" setting to reference a KDB file containing a client certificate issued by DoD PKI or a DoD-approved external PKI. \n\nInstall a certificate signed by a DoD PKI or a DoD-approved external PKI using the following command: \n# gsk8capicmd -cert -add -db <KDB_FILE> -pw <KDB_PASSWORD> -file <CERT_FILE> -label <CERT_LABEL>\n\nRemove un-needed CA certificates using one of the following commands: \n# gsk8capicmd -cert -delete -db <KDB_FILE> -pw <KDB_PASSWORD> -label <CERT_LABEL>\n\nRestart LDAP client using command:\n# /usr/sbin/restart-secldapclntd","ccis":["CCI-002470"]},{"vulnId":"V-215216","ruleId":"SV-215216r971535_rule","severity":"medium","ruleTitle":"AIX must implement NIST FIPS-validated cryptography for the following: to provision digital signatures, to generate cryptographic hashes, and to protect unclassified information requiring confidentiality and cryptographic protection in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards.","description":"FIPS 140-2 is the current standard for validating that mechanisms used to access cryptographic modules utilize authentication that meets DoD requirements. This allows for Security Levels 1, 2, 3, or 4 for use on a general purpose computing system.\n\nUse of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. AIX must implement cryptographic modules adhering to the higher standards approved by the federal government since this provides assurance they have been tested and validated.\n\nOpenSSL FIPS object module is a cryptographic module that is designed to meet the requirements for FIPS 140-2 validation by CMVP and is compatible with OpenSSL libraries. The 2.0.13 FIPS object module version has been FIPS validated and certified by CMVP for multiple AIX versions on Power 7 and Power 8 platforms under certificate #2398.\n\nIBM has released a FIPS capable OpenSSL (Fileset VRMF: 20.13.102.1000), which is OpenSSL 1.0.2j version with 2.0.13 object module. The fileset is available in Web Download Pack.\n\n\nSatisfies: SRG-OS-000120-GPOS-00061, SRG-OS-000478-GPOS-00223, SRG-OS-000396-GPOS-00176","checkContent":"Run the following command to determine the version of OpenSSL that is installed:\n\n# lslpp -l | grep -i openssl\n openssl.base             20.13.704.1776  COMMITTED  Open Secure Socket Layer\n\nIf the OpenSSL version is older than \"20.13.102.1000\", this is a finding.","fixText":"Use the following command to uninstall the old version of OpenSSL that is not FIPS 140-2 certified, then install OpenSSL VRMF 20.13.102.1000:\n# smitty install","ccis":["CCI-000803","CCI-002450"]},{"vulnId":"V-215217","ruleId":"SV-215217r1009535_rule","severity":"high","ruleTitle":"AIX must enforce password complexity by requiring that at least one upper-case character be used.","description":"Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks.\n\nPassword complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised.","checkContent":"From the command prompt, run the following command to check the system default \"minupperalpha\" attribute value:\n# lssec -f /etc/security/user -s default -a minupperalpha\n\nThe above command should yield the following output:\ndefault minupperalpha=1\n\nIf the default \"minupperalpha\" value is not set, or its value is less than \"1\", this is a finding.\n\nFrom the command prompt, run the following command to check \"minupperalpha\" attribute value for all accounts:\n# lsuser -a minupperalpha ALL\n\nThe above command should yield the following output:\nroot minupperalpha=2\nuser2 minupperalpha=2\nuser3 minupperalpha=1\n\nIf any user's \"minupperalpha\" value is less than \"1\", this is a finding.","fixText":"From the command prompt, run the following command to set \"minupperalpha=1\" for the default stanza in \"/etc/security/user\":\n# chsec -f /etc/security/user -s default -a minupperalpha=1\n\nFor each user who has \"minupperalpha=0\", set its \"minupperalpha\" to \"1\" by running the following command from command prompt:\n# chsec -f /etc/security/user -s [user_name] -a minupperalpha=1","ccis":["CCI-004066","CCI-000192"]},{"vulnId":"V-215218","ruleId":"SV-215218r1009536_rule","severity":"high","ruleTitle":"AIX must enforce password complexity by requiring that at least one lower-case character be used.","description":"Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks.\n\nPassword complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised.","checkContent":"From the command prompt, run the following command to check the system default \"minloweralpha\" attribute value:\n# lssec -f /etc/security/user -s default -a minloweralpha\ndefault minloweralpha=1\n\nIf the \"default minloweralpha\" value is not set, or its value is less than \"1\", this is a finding.\n\nFrom the command prompt, run the following command to check \"minloweralpha\" attribute value for all accounts:\n# lsuser -a minloweralpha ALL\nroot minloweralpha=1\nuser2 minloweralpha=2\nuser3 minloweralpha=1\n\nIf any user's \"minloweralpha\" value is less than \"1\", this is a finding.","fixText":"From the command prompt, run the following command to set \"minloweralpha=1\" for the default stanza in \"/etc/security/user\":\n# chsec -f /etc/security/user -s default -a minloweralpha=1\n\nFor each user who has \"minloweralpha=0\" set its \"minloweralpha\" to \"1\" by running the following command from command prompt:\n# chsec -f /etc/security/user -s [user_name] -a minloweralpha=1","ccis":["CCI-004066","CCI-000193"]},{"vulnId":"V-215219","ruleId":"SV-215219r1009537_rule","severity":"high","ruleTitle":"AIX must enforce password complexity by requiring that at least one numeric character be used.","description":"Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks.\n\nPassword complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised.","checkContent":"From the command prompt, run the following command to check the system default \"mindigit\" attribute value:\n# lssec -f /etc/security/user -s default -a mindigit\ndefault mindigit=1\n\nIf the default \"mindigit\" value is not set, or its value is less than \"1\", this is a finding.\n\nFrom the command prompt, run the following command to check mindigit attribute value for all accounts:\n# lsuser -a mindigit ALL\nroot mindigit=1\nuser2 mindigit=2\n\nIf any user's \"mindigit\" value is less than \"1\", this is a finding.","fixText":"From the command prompt, run the following command to set \"mindigit=1\" for the default stanza in \"/etc/security/user\":\n# chsec -f /etc/security/user -s default -a mindigit=1\n\nFor each user who has \"mindigit=0\" set its \"mindigit\" to \"1\" by running the following command from command prompt:\n# chsec -f /etc/security/user -s [user_name] -a mindigit=1","ccis":["CCI-004066","CCI-000194"]},{"vulnId":"V-215220","ruleId":"SV-215220r1009538_rule","severity":"high","ruleTitle":"AIX must require the change of at least 50% of the total number of characters when passwords are changed.","description":"If the operating system allows the user to consecutively reuse extensive portions of passwords, this increases the chances of password compromise by increasing the window of opportunity for attempts at guessing and brute-force attacks.\n\nThe number of changed characters refers to the number of changes required with respect to the total number of positions in the current password. In other words, characters may be the same within the two passwords; however, the positions of the like characters must be different.\n\nIf the password length is an odd number then number of changed characters must be rounded up.  For example, a password length of 15 characters must require the change of at least 8 characters.","checkContent":"From the command prompt, run the following command to check the system default \"mindiff\" attribute value:\n# lssec -f /etc/security/user -s default -a mindiff\ndefault mindiff=8\n\nIf the default \"mindiff\" value is not set, or its value is less than \"8\", this is a finding.\n\nFrom the command prompt, run the following command to check \"mindiff\" attribute value for all accounts:\n# lsuser -a mindiff ALL\nroot  mindiff=9\nuser1 mindiff=8\nuser2 mindiff=8\nuser3 mindiff=10\n\nIf any user's \"mindiff\" value is less than \"8\", this is a finding.","fixText":"From the command prompt, run the following command to set \"mindiff=8\" (assume that the password is at least 15-character long) for the default stanza in \"/etc/security/user\":\n# chsec -f /etc/security/user -s default -a mindiff=8\n\nFor each user who has \"mindiff\" value less than \"8\", set its \"mindiff\" value to \"8\" by running the following command from command prompt:\n# chsec -f /etc/security/user -s [user_name] -a mindiff=8","ccis":["CCI-004066","CCI-000195"]},{"vulnId":"V-215221","ruleId":"SV-215221r987796_rule","severity":"high","ruleTitle":"AIX root passwords must never be passed over a network in clear text form.","description":"Passwords need to be protected at all times, and encryption is the standard method for protecting passwords. If passwords are not encrypted, they can be plainly read (i.e., clear text) and easily compromised.","checkContent":"Determine if root has logged in over an unencrypted network connection: \n\n# last | grep \"root \" | egrep -v \"reboot|console\" | more \nroot      pts/1        10.74.17.76           Jul 4 16:44 - 17:39  (00:54)\n\nNext, determine if the SSH daemon is running: \n\n# ps -ef |grep sshd \nroot  3670408  6029762   0   Jan 24      -  0:00 /usr/sbin/sshd\n\nIf root has logged in over the network and SSHD is not running, this is a finding.","fixText":"If OpenSSH server is not installed, install it from the from AIX DVD Volume 1 using the following command (assuming that the DVD device is /dev/cd0):\n# installp -aXYgd /dev/cd0 -e /tmp/install.log openssh.base.server\n\nStart SSH server if it is not started:\n# startsrc -s sshd\n\nEnable SSH on the system and use it for all remote connections used to attain root access. \n\nDisable direct root remote login:\n# chsec -f /etc/security/user -s root -a rlogin=false","ccis":["CCI-000197"]},{"vulnId":"V-215222","ruleId":"SV-215222r1009539_rule","severity":"medium","ruleTitle":"AIX Operating systems must enforce 24 hours/1 day as the minimum password lifetime.","description":"Enforcing a minimum password lifetime helps to prevent repeated password changes to defeat the password reuse or history enforcement requirement. If users are allowed to immediately and continually change their password, then the password could be repeatedly changed in a short period of time to defeat the organization's policy regarding password reuse.","checkContent":"From the command prompt, run the following command to check the system default \"minage\" attribute value:\n# lssec -f /etc/security/user -s default -a minage\ndefault minage=1\n\nIf the default \"minage\" value is not set, or its value is less than \"1\", this is a finding.\n\nFrom the command prompt, run the following command to check \"minage\" attribute value for all accounts:\n# lsuser -a minage ALL\nroot  minage=1\nuser1 minage=1\nuser2 minage=2\n\nIf any user's \"minage\" value is less than \"1\", this is a finding.","fixText":"From the command prompt, run the following command to set \"minage=1\" for the default stanza in \"/etc/security/user\":\n# chsec -f /etc/security/user -s default -a minage=1\n\nFor each user who has \"minage=0\" set its \"minage\" to \"1\" by running the following command from command prompt:\n# chsec -f /etc/security/user -s [user_name] -a minage=1","ccis":["CCI-004066","CCI-000198"]},{"vulnId":"V-215223","ruleId":"SV-215223r1038967_rule","severity":"medium","ruleTitle":"AIX Operating systems must enforce a 60-day maximum password lifetime restriction.","description":"Any password, no matter how complex, can eventually be cracked. Therefore, passwords need to be changed periodically. If the operating system does not limit the lifetime of passwords and force users to change their passwords, there is the risk that the operating system passwords could be compromised.","checkContent":"From the command prompt, run the following command to check the system default \"maxage\" attribute value:\n# lssec -f /etc/security/user -s default -a maxage\ndefault maxage=8\n\nIf the default \"maxage\" value is not set, or its value is great than \"8\", or its value is set to \"0\", this is a finding.\n\nFrom the command prompt, run the following command to check \"maxage\" attribute value for all accounts:\n# lsuser -a maxage ALL\nroot maxage=8\nuser1 maxage=8\nuser2 maxage=8\n\nIf any user does not have \"maxage\" set, or its \"maxage\" value is greater than \"8\", or its value is set to \"0\", this is a finding.","fixText":"From the command prompt, run the following command to set \"maxage=8\" (56 days) for the default stanza in \"/etc/security/user\":\n# chsec -f /etc/security/user -s default -a maxage=8\n\nFor each user who has \"maxage\" value great than \"8\", set its \"maxage\" to \"8\" by running the following command from command prompt:\n# chsec -f /etc/security/user -s [user_name] -a maxage=8","ccis":["CCI-004066","CCI-000199"]},{"vulnId":"V-215225","ruleId":"SV-215225r1009541_rule","severity":"high","ruleTitle":"AIX must use Loadable Password Algorithm  (LPA) password hashing algorithm.","description":"The default legacy password hashing algorithm, crypt(), uses only the first 8 characters from the password string, meaning the user's password is truncated to eight characters. If the password is shorter than 8 characters, it is padded with zero bits on the right.\n\nThe crypt() is a modified DES algorithm that is vulnerable to brute force password guessing attacks and also to cracking the DES-hashing algorithm by using techniques such as pre-computation. \n\nWith the Loadable Password Algorithm (LPA) framework release, AIX implemented a set of LPAs using MD5, SHA2, and Blowfish algorithms. These IBM proprietary password algorithms support a password longer than 8 characters and Unicode characters in passwords.","checkContent":"From the command prompt, run the following command to check system wide password algorithm:\n\n# lssec -f /etc/security/login.cfg -s usw -a pwd_algorithm\nusw pwd_algorithm=ssha512\n\nIf the \"pwd_algorithm\" is not set to \"ssha512\", or \"ssha256\", this is a finding.","fixText":"From the command prompt, run the following command to set system wide password algorithm to \"ssha512\" so that it supports passwords longer than 8-character:\n# chsec -f /etc/security/login.cfg -s usw -a pwd_algorithm=ssha512\n\nFor each users who have hashed passwords in \"/etc/security/passwd\" file that does not start with \"{ssha512}\", run passwd commands to reset the users' passwords so that they have to change their passwords in the next login:\n# passwd [user_name]","ccis":["CCI-004066","CCI-000205"]},{"vulnId":"V-215226","ruleId":"SV-215226r1009542_rule","severity":"high","ruleTitle":"AIX must enforce a minimum 15-character password length.","description":"The shorter the password, the lower the number of possible combinations that need to be tested before the password is compromised.\n\nPassword complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password length is one factor of several that helps to determine strength and how long it takes to crack a password. Use of more characters in a password helps to exponentially increase the time and/or resources required to compromise the password.","checkContent":"From the command prompt, run the following command to check the system default \"minlen\" attribute value:\n# lssec -f /etc/security/user -s default -a minlen\ndefault minlen=15\n\nIf the default \"minlen\" value is not set, or its value is less than \"15\", this is a finding.\n\nFrom the command prompt, run the following command to check \"minlen\" attribute value for all accounts:\n# lsuser -a minlen ALL\nroot minlen=15\nuser1 minlen=20\nuser2 minlen=15\nuser3 minlen=15\n\nIf any users have \"minlen\" value less than \"15\", this is a finding.","fixText":"From the command prompt, run the following command to set \"minlen=15\" for the default stanza in \"/etc/security/user\":\n# chsec -f /etc/security/user -s default -a minlen=15\n\nFor each user who has \"minlen\" value less than \"15\", set its \"minlen\" to \"15\" by running the following command from command prompt:\n# chsec -f /etc/security/user -s [user_name] -a minlen=15","ccis":["CCI-004066","CCI-000205"]},{"vulnId":"V-215227","ruleId":"SV-215227r1009543_rule","severity":"medium","ruleTitle":"AIX must enforce password complexity by requiring that at least one special character be used.","description":"Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity or strength is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks.\n\nPassword complexity is one factor in determining how long it takes to crack a password. The more complex the password, the greater the number of possible combinations that need to be tested before the password is compromised.\n\nSpecial characters are those characters that are not alphanumeric. Examples include: ~ ! @ # $ % ^ *.","checkContent":"Run the following command to check the system default value for \"minspecialchar\" attribute:\n# lssec -f /etc/security/user -s default -a minspecialchar\n\nThe above command should yield the following output:\ndefault minspecialchar=1\n\nIf the default value is \"0\", or the default value is empty, this is a finding.\n\nFrom the command prompt, run the following command to check \"minspecialchar\" attribute value for all accounts:\n# lsuser -a minspecialchar ALL\n\nThe above command should yield the following output:\nroot minspecialchar=1\nuser1 minspecialchar=1\nuser2 minspecialchar=2\nuser3 minspecialchar=1\n\nIf any account has \"minspecialchar=0\", or the \"minspecialchar\" value is not set, this is a finding.","fixText":"From the command prompt, run the following command to set \"minspecialchar=1\" for the default stanza in \"/etc/security/user\":\n# chsec -f /etc/security/user -s default -a minspecialchar=1\n\nRun the following command to re-check \"minspecialchar\" values for all users:\n# lsuser -a minspecialchar ALL\n\nFor each user who has \"minspecialchar=0\", set its \"minspecialchar\" to \"1\" by running the following command from command prompt:\n# chsec -f /etc/security/user -s [user_name] -a minspecialchar=1","ccis":["CCI-004066","CCI-001619"]},{"vulnId":"V-215229","ruleId":"SV-215229r991587_rule","severity":"medium","ruleTitle":"AIX must prevent the use of dictionary words for passwords.","description":"If the operating system allows the user to select passwords based on dictionary words, then this increases the chances of password compromise by increasing the opportunity for successful guesses and brute-force attacks.","checkContent":"From the command prompt, run the following command to check if the default \"dictionlist\" attribute is set:\n# lssec -f /etc/security/user -s default -a dictionlist\n\nThe above command should yield the following output:\ndictionlist=\"/etc/security/ice/dictionary/English\"\n\nIf the above command shows an empty string for default \"dictionlist\" attribute, this is a finding.\n\nFrom the command prompt, run the following command to check if \"dictionlist\" attribute is set for all users:\n# lsuser -a dictionlist ALL\n\nThe above command should yield the following output:\nroot dictionlist=/etc/security/ice/dictionary/English\ndaemon dictionlist=/etc/security/ice/dictionary/English\nbin dictionlist=/etc/security/ice/dictionary/English\nsys dictionlist=/etc/security/ice/dictionary/English\n\nIf any user's \"dictionlist\" attribute is empty, this is a finding.","fixText":"From the command prompt, run the following command to set \"dictionlist\" attribute for the default stanza in \"/etc/security/user\":\n# chsec -f /etc/security/user -s default -a dictionlist=\"/etc/security/ice/dictionary/English\"\n\nFrom the command prompt, run the following command to set \"dictionlist\" attribute for users who have an empty \"dictionlist\" attribute:\n# chsec -f /etc/security/user -s [user_name] -a dictionlist=\"/etc/security/ice/dictionary/English\"","ccis":["CCI-000366"]},{"vulnId":"V-215230","ruleId":"SV-215230r991589_rule","severity":"medium","ruleTitle":"The password hashes stored on AIX system must have been generated using a FIPS 140-2 approved cryptographic hashing algorithm.","description":"Systems must employ cryptographic hashes for passwords using the SHA-2 family of algorithms or FIPS 140-2 approved successors. The use of unapproved algorithms may result in weak password hashes that are more vulnerable to compromise.","checkContent":"Verify that the system wide password algorithm is set to {ssha256} or {ssha512} by running the following command:\n\n# lssec -f /etc/security/login.cfg -s usw -a pwd_algorithm\nusw pwd_algorithm=ssha512\n\nIf the \"pwd_algorithm\" is not set to \"ssha256\" or \"ssha512\", this is a finding.\n\nVerify no password hashes in /etc/passwd by running the following command: \n\n# cat /etc/passwd | cut -f2,2 -d\":\" \n!\n!\n!\n!\n*\n*\n*\n*\n\nIf there are password hashes present, this is a finding. \n\nVerify all password hashes in \"/etc/security/passwd\" begin with {ssha256} or {ssha512} by running commands: \n \n# cat /etc/security/passwd | grep password \n        password = {ssha512}06$e58YOawe/7UhChqh$hZEWlP4040jarX1NeOujmcxd.7qerUvjW9lM9djJsDITtdjFvVpLX.r04xieOWrbH0qb0SJJ98a0tmgZBzPP..\n        password = {ssha512}06$Y6ztvMxKGdITxPex$B81/GDTEPt0xwp.BX1VhY9mAPaWHXdNoLI9D0T6dBExgo6r87X0etnfjxWODT73.udrbAY.F4HzaBR68lN5/..\n        password = {ssha512}06$iIXQQqs.mdGpC9Wu$cXSajikWYKAUacbF50FNlFgYYSgTklGf4uhXb1J/GyBGF5j5aWa4YG5Ah2uaAHv/Jmbmx.7yBm8iXz9Pz1LM..\n        password = {ssha512}06$3Sw24rPVdqDFFCIl$d1dZs7GYmTXnD9i270SxozIBxN0pqq/bNn0YbyKeDq0o6Y.j9qfkeH373DwkHBWgrifNcgj/K0pVyzjMg6QN..\n\nIf any password hashes are present not beginning with {ssha256} or {ssha512}, this is a finding.","fixText":"Set the system wide password algorithm to \"ssha256\" or \"ssha512\" by running the following command:\n\n# chsec -f /etc/security/login.cfg -s usw -a pwd_algorithm=ssha512\n\nChange the passwords for all accounts using non-compliant password hashes by running the following command: \n\n$ passwd [user_name]","ccis":["CCI-000366"]},{"vulnId":"V-215231","ruleId":"SV-215231r991589_rule","severity":"medium","ruleTitle":"If SNMP service is enabled on AIX, the default SNMP password must not be used in the /etc/snmpd.conf config file.","description":"Use default SNMP password increases the chance of security vulnerability on SNMP service.","checkContent":"Inspect \"/etc/snmpd.conf\" to find all the passwords that are used in the config file:\n\n# grep -v \"^#\" /etc/snmpd.conf | grep -E \"public|private|password\"\n\nIf any results are returned, default passwords are being used and this is a finding.","fixText":"Edit \"/etc/snmpd.conf\" config file to remove or change all the default passwords that are used in the file.\n\nRestart snmpd:\n# stopsrc -s snmpd\n# startsrc -s snmpd","ccis":["CCI-000366"]},{"vulnId":"V-215232","ruleId":"SV-215232r991589_rule","severity":"medium","ruleTitle":"AIX must require passwords to contain no more than three consecutive repeating characters.","description":"Passwords with excessive repeating characters may be more vulnerable to password-guessing attacks.","checkContent":"Check system default for \"maxrepeats\" attribute:\n# lssec -f /etc/security/user -s default -a maxrepeats\ndefault maxrepeats=3\n\nIf the default \"maxrepeats\" is greater than \"3\", or its value is not set, or its value is set to \"0\", this is a finding.\n\nCheck the \"maxrepeats\" setting for all users using:\n# lsuser -a maxrepeats ALL\n\nThe above command should yield the following output:\nroot maxrepeats=3\ndaemon maxrepeats=3\nbin maxrepeats=3\nsys maxrepeats=3\n\nIf the \"maxrepeats\" setting for any user is greater than \"3\", or its value is set to \"0\", this is a finding.","fixText":"Use the \"chsec\" command to set \"maxrepeats\" to \"3\" for the default stanza:\n# chsec -f /etc/security/user -s default -a maxrepeats=3 \n\nUse the \"chsec\" command to set \"maxrepeats\" to \"3\" for all the users who have \"maxrepeats\" values that are greater than \"3\", or its value is set to \"0\":\n# chuser maxrepeats=3 [user_name]","ccis":["CCI-000366"]},{"vulnId":"V-215233","ruleId":"SV-215233r958672_rule","severity":"high","ruleTitle":"AIX must be able to control the ability of remote login for users.","description":"Remote access services, such as those providing remote access to network devices and information systems, which lack automated control capabilities, increase risk and make remote user access management difficult at best.\n\nRemote access is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.\n\nOperating system functionality (e.g., RDP) must be capable of taking enforcement action if the audit reveals unauthorized activity. Automated control of remote access sessions allows organizations to ensure ongoing compliance with remote access policies by enforcing connection rules of remote access applications on a variety of information system components (e.g., servers, workstations, notebook computers, smartphones, and tablets).","checkContent":"For users who are authorized to remote login through SSH, etc., this is Not Applicable.\n\nAsk ISSO/SA to obtain a list of users who are not authorized to remotely log in to AIX system.\n\nFrom the command prompt, run the following command to check if remote login is disabled for all individual users who are not authorized to remotely login to AIX:\n# lsuser -a rlogin ALL\nroot rlogin=true\ndaemon rlogin=true\nbin rlogin=true\nsys rlogin=true\nadm rlogin=true\n\nIf \"rlogin=true\" for any user who should not login remotely, this is a finding.","fixText":"From the command prompt, run the following command to set \"rlogin=false\" for all users (user_name) who are not authorized to login remotely:\n# chsec -f /etc/security/user -s [user_name] -a rlogin=false","ccis":["CCI-002314"]},{"vulnId":"V-215234","ruleId":"SV-215234r1184573_rule","severity":"medium","ruleTitle":"NFS file systems on AIX must be mounted with the nosuid option unless the NFS file systems contain approved setuid or setgid programs.","description":"The nosuid mount option causes the system to not execute setuid files with owner privileges. This option must be used for mounting any file system not containing approved setuid files. Executing setuid files from untrusted file systems, or file systems not containing approved setuid files, increases the opportunity for unprivileged users to attain unauthorized administrative access.","checkContent":"Obtain a list of NFS file systems that contain approved \"setuid\" or \"setgid\" files from the information system security officer (ISSO)/information system security officer (ISSM).\n\nCheck the \"nosuid\" mount option is used on all NFS file systems that do not contain approved \"setuid\" or \"setgid\" files: \n# mount | grep -E \"options|nfs|---\"\n  node       mounted        mounted over    vfs       date        options \n-------- ---------------  ---------------  ------ ------------ --------------- \nnfs.example.com  /path/to/directory1  /mnt_1  nfs3   Nov 05 14:11  ro,bg,hard,intr,nosuid,sec=sys\nnfs.example.com  /path/to/directory2  /mnt_2  nfs3   Nov 05 14:12  ro,bg,hard,intr,sec=sys\n\nIf the NFS mounts do not show the \"nosuid\" setting in their \"options\" fields, along with other mount options, this is a finding.","fixText":"For each NFS file systems that does not contain approved \"setuid\" or \"setgid\" files, add the \"nosuid\" option, along with other mount options, to the \"options\" field in \"/etc/filesystems\" using the following command:\n# chfs -a options=ro,bg,hard,intr,nosuid,sec=sys <NFS_mount_point>\n\nNote that the other mount options (other than the nosuid options) may be different among NFS mounts.","ccis":["CCI-002233"]},{"vulnId":"V-215235","ruleId":"SV-215235r991589_rule","severity":"medium","ruleTitle":"AIX removable media, remote file systems, and any file system not containing approved device files must be mounted with the nodev option.","description":"The nodev (or equivalent) mount option causes the system to not handle device files as system devices. This option must be used for mounting any file system not containing approved device files. Device files can provide direct access to system hardware and can compromise security if not protected.","checkContent":"Identify any file system mounted from removable media, network shares, or file systems not containing any approved device files:\n\n# cat /etc/filesystems\n\n/:\n\n        dev             = /dev/hd4\n        vfs             = jfs2\n        log             = /dev/hd8\n        mount           = automatic\n        check           = false\n        type            = bootfs\n        vol             = root\n        free            = true\n\n/home:\n\n        dev       = /dev/hd1\n        vol       = \"/home\"\n        mount     = true\n        check     = true\n        free      = false\n        vfs       = jfs2\n        log       = /dev/hd8\n\n10.17.76.74:/opt/nfs /home/doejohn\n\n        vfs             = nfs\n        log             = /dev/hd8\n        mount           = true\n        options        = nodev \n        account         = false\n\nIf any file system mounted from removable media, network shares, or file systems not containing any approved device files is not using the \"nodev\" option, this is a finding.","fixText":"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.","ccis":["CCI-000366"]},{"vulnId":"V-215236","ruleId":"SV-215236r958412_rule","severity":"medium","ruleTitle":"AIX must produce audit records containing information to establish what the date, time, and type of events that occurred.","description":"Without establishing what type of events occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack.\n\nAudit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked.\n\nAssociating event types with detected events in AIX audit logs provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.\n\nSatisfies: SRG-OS-000037-GPOS-00015, SRG-OS-000038-GPOS-00016","checkContent":"Check if audit is turned on by running the following command:\n\n# audit query | grep -i auditing\nauditing on\n\nThe command should yield the following output:\nauditing on\n\nIf the command shows \"auditing off\", this is a finding.\n\nThe log file can be set by the \"trail\" variable in /etc/security/audit/config.\n# grep trail /etc/security/audit/config\n        trail = /audit/trail\n\nNote: The default log file is \"/audit/trail\".\n\nUse the following command to display the audit events:\n\n# /usr/sbin/auditpr -i <audit log file> -helRtcp \n\nevent                     login    status      time                                          command      process  \n--------------- -------- ----------- ------------------------ ------------------------------- -------- \nPROC_Delete     root     OK           Wed Oct 31 23:01:37 2018    audit             9437656  \nFILE_Close           root     OK           Wed Oct 31 23:01:37 2018    auditbin      12255562 \nFILE_Open          root      OK           Wed Oct 31 23:01:37 2018    auditbin      12255562 \nFILE_Read           root      OK           Wed Oct 31 23:01:37 2018    auditbin      12255562 \nFILE_Close          root      OK           Wed Oct 31 23:01:37 2018    auditbin      12255562 \nPROC_Create    root      OK           Wed Oct 31 23:01:44 2018     ksh                12976466 \nFILE_Close          root     OK           Wed Oct 31 23:01:44 2018      ksh                9437658  \nFILE_Open          root     OK           Wed Oct 31 23:01:44 2018     ksh                 9437658  \nFILE_Read           root     OK           Wed Oct 31 23:01:44 2018     ksh                9437658  \nFILE_Close          root     OK           Wed Oct 31 23:01:44 2018     ksh                9437658  \nPROC_Execute  root     OK           Wed Oct 31 23:01:44 2018    ls                    9437658  \nFILE_Open          root     OK           Wed Oct 31 23:01:44 2018    ls                    9437658  \n\nIf event type is not displayed, this is a finding. \n\nMore information on the command options used above: \n            -e the audit event.\n            -l the login name of the user.\n            -R the audit status.\n            -t the time the record was written.\n            -c the command name.\n            -p the process ID.","fixText":"Reset the audit system with the following command:\n# /usr/sbin/audit shutdown\n\nStart the audit system with the following command:\n# /usr/sbin/audit start","ccis":["CCI-000130","CCI-000131"]},{"vulnId":"V-215237","ruleId":"SV-215237r958416_rule","severity":"medium","ruleTitle":"AIX must produce audit records containing information to establish where the events occurred.","description":"Without establishing where events occurred, it is impossible to establish, correlate, and investigate the events leading up to an outage or attack.\n\nIn order to compile an accurate risk assessment and provide forensic analysis, it is essential for security personnel to know where events occurred, such as operating system components, modules, device identifiers, node names, file names, and functionality.\n\nAssociating information about where the event occurred within AIX provides a means of investigating an attack; recognizing resource utilization or capacity thresholds; or identifying an improperly configured operating system.","checkContent":"Verify audit event detailed information is displayed:\n\nThe log file can be set by the \"trail\" variable in /etc/security/audit/config.\n\n# grep trail /etc/security/audit/config\n        trail = /audit/trail\n\nNote: The default log file is /audit/trail.\n\nUse the following command to display the audit events:\n\n# /usr/sbin/auditpr -i <audit log file> -v\n\nevent           login    status      time                     command           \n              wpar name                 \n--------------- -------- ----------- ------------------------ ------------------\n------------- ------------------------- \nFS_Chdir        root     OK          Sat Aug 26 19:31:37 2017 ps                \n              Global                    \n        change current directory to: /dev\nFS_Chdir        root     OK          Sat Aug 26 19:31:47 2017 ps                \n              Global                    \n        change current directory to: /dev\nFS_Chdir        root     OK          Sat Aug 26 19:31:57 2017 ps                \n              Global                    \n        change current directory to: /dev\nFS_Chdir        root     OK          Sat Aug 26 19:32:07 2017 ps                \n              Global                    \n        change current directory to: /dev\nFS_Chdir        root     OK          Sat Aug 26 19:32:17 2017 ps                \n              Global                    \n        change current directory to: /dev\n\nIf event detailed information is not displayed, this is a finding. \nMore information on the command options used above:\n           - v detailed information for the event","fixText":"Reset the audit system with the following command:\n# /usr/sbin/audit shutdown\n\nStart the audit system with the following command:\n# /usr/sbin/audit start","ccis":["CCI-000132"]},{"vulnId":"V-215238","ruleId":"SV-215238r958418_rule","severity":"medium","ruleTitle":"AIX must produce audit records containing information to establish the source and the identity of any individual or process associated with an event.","description":"Without establishing the source of the event, it is impossible to establish, correlate, and investigate the events leading up to an outage or attack.\n\nWithout information that establishes the identity of the subjects (i.e., users or processes acting on behalf of users) associated with the events, security personnel cannot determine responsibility for the potentially harmful event.\nIn addition to logging where events occur within AIX, AIX must also generate audit records that identify sources of events. Sources of operating system events include, but are not limited to, processes and services.\n\nIn order to compile an accurate risk assessment and provide forensic analysis, it is essential for security personnel to know the source of the event.\n\nSatisfies: SRG-OS-000040-GPOS-00018, SRG-OS-000255-GPOS-00096","checkContent":"Verify the audit event \"process id\" is displayed:\n\nThe log file can be set by the \"trail\" variable in /etc/security/audit/config.\n\n# grep trail /etc/security/audit/config\n        trail = /audit/trail\n\nNote: The default log file is /audit/trail.\n\nUse the following command to display the audit events:\n\n# /usr/sbin/auditpr -i <audit log file> -helRtcp \n\nevent           login    status      time                     command           \n              process  \n--------------- -------- ----------- ------------------------ ------------------\n------------- -------- \nPROC_Delete     root     OK          Wed Oct 31 23:01:37 2018 audit             \n              9437656  \nFILE_Close      root     OK          Wed Oct 31 23:01:37 2018 auditbin          \n              12255562 \nFILE_Open       root     OK          Wed Oct 31 23:01:37 2018 auditbin          \n              12255562 \nFILE_Read       root     OK          Wed Oct 31 23:01:37 2018 auditbin          \n              12255562 \nFILE_Close      root     OK          Wed Oct 31 23:01:37 2018 auditbin          \n              12255562 \nPROC_Create     root     OK          Wed Oct 31 23:01:44 2018 ksh               \n              12976466 \nFILE_Close      root     OK          Wed Oct 31 23:01:44 2018 ksh               \n              9437658  \nFILE_Open       root     OK          Wed Oct 31 23:01:44 2018 ksh               \n              9437658  \nFILE_Read       root     OK          Wed Oct 31 23:01:44 2018 ksh               \n              9437658  \nFILE_Close      root     OK          Wed Oct 31 23:01:44 2018 ksh               \n              9437658  \nPROC_Execute    root     OK          Wed Oct 31 23:01:44 2018 ls                \n              9437658  \nFILE_Open       root     OK          Wed Oct 31 23:01:44 2018 ls                \n              9437658  \n\nIf user id  or process id is not displayed, this is a finding.\n\nMore information on the command options used above:\n            -e the audit event.\n            -l the login name of the user.\n            -R the audit status.\n            -t the time the record was written.\n            -c the command name.\n            -p the process ID.","fixText":"Reset the audit system with the following command:\n# /usr/sbin/audit shutdown\n\nStart the audit system with the following command:\n# /usr/sbin/audit start","ccis":["CCI-000133","CCI-001487"]},{"vulnId":"V-215239","ruleId":"SV-215239r958420_rule","severity":"medium","ruleTitle":"AIX must produce audit records containing information to establish the outcome of the events.","description":"Without information about the outcome of events, security personnel cannot make an accurate assessment as to whether an attack was successful or if changes were made to the security state of the system.\n\nEvent outcomes can include indicators of event success or failure and event-specific results (e.g., the security state of the information system after the event occurred). As such, they also provide a means to measure the impact of an event and help authorized personnel to determine the appropriate response.","checkContent":"Verify the audit event \"status\" is displayed:\n\nThe log file can be set by the \"trail\" variable in /etc/security/audit/config.\n\n# grep trail /etc/security/audit/config\n        trail = /audit/trail\n\nNote: The default log file is /audit/trail.\n\nUse the following command to display the audit events:\n\n# /usr/sbin/auditpr -i <audit log file> -helRtcp \n\nevent           login    status      time                     command           \n              process  \n--------------- -------- ----------- ------------------------ ------------------\n------------- -------- \nPROC_Delete     root     OK          Wed Oct 31 23:01:37 2018 audit             \n              9437656  \nFILE_Close      root     OK          Wed Oct 31 23:01:37 2018 auditbin          \n              12255562 \nFILE_Open       root     OK          Wed Oct 31 23:01:37 2018 auditbin          \n              12255562 \nFILE_Read       root     OK          Wed Oct 31 23:01:37 2018 auditbin          \n              12255562 \nFILE_Close      root     OK          Wed Oct 31 23:01:37 2018 auditbin          \n              12255562 \nPROC_Create     root     OK          Wed Oct 31 23:01:44 2018 ksh               \n              12976466 \nFILE_Close      root     OK          Wed Oct 31 23:01:44 2018 ksh               \n              9437658  \nFILE_Open       root     OK          Wed Oct 31 23:01:44 2018 ksh               \n              9437658  \nFILE_Read       root     OK          Wed Oct 31 23:01:44 2018 ksh               \n              9437658  \nFILE_Close      root     OK          Wed Oct 31 23:01:44 2018 ksh               \n              9437658  \nPROC_Execute    root     OK          Wed Oct 31 23:01:44 2018 ls                \n              9437658  \nFILE_Open       root     OK          Wed Oct 31 23:01:44 2018 ls                \n              9437658  \n\nIf audit status is not displayed, this is a finding.\n\nMore information on the command options used above:\n            -e the audit event.\n            -l the login name of the user.\n            -R the audit status.\n            -t the time the record was written.\n            -c the command name.\n            -p the process ID.","fixText":"Reset the audit system with the following command:\n# /usr/sbin/audit shutdown\n\nStart the audit system with the following command:\n# /usr/sbin/audit start","ccis":["CCI-000134"]},{"vulnId":"V-215240","ruleId":"SV-215240r958422_rule","severity":"medium","ruleTitle":"AIX must produce audit records containing the full-text recording of privileged commands.","description":"Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information.\n\nAt a minimum, the organization must audit the full-text recording of privileged commands. The organization must maintain audit trails in sufficient detail to reconstruct events to determine the cause and impact of compromise.","checkContent":"Verify the audit daemon is configured for full-text recording of privileged commands: \n\nThe log file can be set by the \"trail\" variable in /etc/security/audit/config.\n\n# grep trail /etc/security/audit/config\n        trail = /audit/trail\n\nNote: The default log file is /audit/trail.\n\nUse the following command to display the audit events:\n\n# /usr/sbin/auditpr -i <audit log file> -v\n\nevent           login    status      time                     command           \n              wpar name                 \n--------------- -------- ----------- ------------------------ ------------------\n------------- ------------------------- \nS_PASSWD_READ   root     OK          Sat Aug 26 19:35:00 2017 cron\n              Global\n        audit object read event detected /etc/security/passwd\nS_PASSWD_READ   root     OK          Sat Aug 26 19:35:00 2017 cron\n              Global\n        audit object read event detected /etc/security/passwd\nCRON_Start      root     OK          Sat Aug 26 19:35:00 2017 cron\n              Global\n        event = start cron job cmd = /usr/sbin/dumpctrl -k >/dev/null 2>/dev/nul\nl time = Sat Aug 26 19:35:00 2017\nFS_Chdir        root     OK          Sat Aug 26 19:35:00 2017 cron\n              Global\n        change current directory to: /\n\nIf the  full-text recording of privileged command is not displayed, this is a finding. \n\nMore information on the command options used above:\n           - v detailed information for the event","fixText":"Reset the audit system with the following command:\n# /usr/sbin/audit shutdown\n\nStart the audit system with the following command:\n# /usr/sbin/audit start","ccis":["CCI-000135"]},{"vulnId":"V-215241","ruleId":"SV-215241r958424_rule","severity":"medium","ruleTitle":"AIX must be configured to generate an audit record when 75% of the audit file system is full.","description":"It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected.\n\nAudit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded.\n\nThis requirement applies to each audit data storage repository (i.e., distinct information system component where audit records are stored), the centralized audit storage capacity of organizations (i.e., all audit data storage repositories combined), or both.","checkContent":"Check if \"freespace\" is configured for the audit subsystem:\n\n# grep -E freespace* /etc/security/audit/config \nfreespace = 65536\n\nIf the above command returns empty, or if the value is less than 25% of the filesystem size, this is a finding.","fixText":"Ensure the \"/etc/security/audit/config\" file contains the following line:\nfreepsace = <value>\nwhere <value> is greater than 25%* filesystem capacity\n\nReset the audit system with the following command:\n# /usr/sbin/audit shutdown\n\nStart the audit system with the following command:\n# /usr/sbin/audit start","ccis":["CCI-000139"]},{"vulnId":"V-215242","ruleId":"SV-215242r958430_rule","severity":"medium","ruleTitle":"AIX must provide the function to filter audit records for events of interest based upon all audit fields within audit records, support on-demand reporting requirements, and an audit reduction function that supports on-demand audit review and analysis and after-the-fact investigations of security incidents.","description":"The ability to specify the event criteria that are of interest provides the individuals reviewing the logs with the ability to quickly isolate and identify these events without having to review entries that are of little or no consequence to the investigation. Without this capability, forensic investigations are impeded.\n\nEvents of interest can be identified by the content of specific audit record fields, including, for example, identities of individuals, event types, event locations, event times, event dates, system resources involved, IP addresses involved, or information objects accessed. Organizations may define audit event criteria to any degree of granularity required, for example, locations selectable by general networking location (e.g., by network or subnetwork) or selectable by specific information system component.\n\nThe ability to generate on-demand reports, including after the audit data has been subjected to audit reduction, greatly facilitates the organization's ability to generate incident reports as needed to better handle larger-scale or more complex security incidents.\n\nThe ability to perform on-demand audit review and analysis, including after the audit data has been subjected to audit reduction, greatly facilitates the organization's ability to generate incident reports, as needed, to better handle larger-scale or more complex security incidents. If the audit reduction capability does not support after-the-fact investigations, it is difficult to establish, correlate, and investigate the events leading up to an outage or attack, or identify those responses for one. This capability is also required to comply with applicable Federal laws and DoD policies.\n\nAudit reduction is a process that manipulates collected audit information and organizes such information in a summary format that is more meaningful to analysts. The report generation capability provided by the application must support on-demand (i.e., customizable, ad hoc, and as-needed) reports.\n\nThis requires operating systems to provide the capability to customize audit record reports based on all available criteria.\n\nSatisfies: SRG-OS-000054-GPOS-00025, SRG-OS-000122-GPOS-00063, SRG-OS-000348-GPOS-00136, SRG-OS-000349-GPOS-00137","checkContent":"The application file \"/usr/sbin/auditselect\" provides the audit filtering function. Check if it exists:\n\n#  ls -l /usr/sbin/auditselect\n-r-sr-x---    1 root     audit         36240 Jul 4 1776  /usr/sbin/auditselect\n\nIf the  \"/usr/sbin/auditselect\" file does not exist, this is a finding","fixText":"Re-install the \"bos.rte.security\" fileset from the base media.\n\nUse \"installp\" command (assume cd is mounted).\n\n# installp -aXYqg -d /dev/cd0 bos.rte.security","ccis":["CCI-000158","CCI-001875","CCI-001876","CCI-001877"]},{"vulnId":"V-215243","ruleId":"SV-215243r958434_rule","severity":"medium","ruleTitle":"Audit logs on the AIX system must be owned by root.","description":"Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality.\n\nAudit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity.\n\nSatisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029","checkContent":"Check the log files under the audit logging directory have correct ownership.\n\nThe default log file is /audit/trail.\n\nThe log file can be set by the \"trail\" variable in /etc/security/audit/config.\n# grep trail /etc/security/audit/config\n        trail = /audit/trail\n\n# ls -l <auditlog dir>\ntotal 240\n-rw-rw----    1 root     system            0 Feb 23 08:44 bin1\n-rw-rw----    1 root     system            0 Feb 23 08:44 bin2\n-rw-r-----    1 root     system       116273 Feb 23 08:44 trail\n\nIf any file's ownership is not \"root\", this is a finding.","fixText":"Set the owner of the audit log file to \"root\".\n# chown root <auditlog file>","ccis":["CCI-000162","CCI-000163","CCI-000164"]},{"vulnId":"V-215244","ruleId":"SV-215244r958434_rule","severity":"medium","ruleTitle":"Audit logs on the AIX system must be group-owned by system.","description":"Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality.\n\nAudit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity.\n\nSatisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029","checkContent":"Check the log files under the audit logging directory have correct group ownership.\n\nThe default log file is /audit/trail.\n\nThe log file can be set by the \"trail\" variable in /etc/security/audit/config.\n# grep trail /etc/security/audit/config\n        trail = /audit/trail\n\n# ls -l <auditlog dir>\ntotal 240\n-rw-rw----    1 root     system            0 Feb 23 08:44 bin1\n-rw-rw----    1 root     system            0 Feb 23 08:44 bin2\n-rw-r-----    1 root     system       116273 Feb 23 08:44 trail\n\nIf any file's group ownership is not \"system\", this is a finding.","fixText":"Set the group of the audit log file to \"system\".\n# chgrp system <auditlog file>","ccis":["CCI-000162","CCI-000163","CCI-000164"]},{"vulnId":"V-215245","ruleId":"SV-215245r958434_rule","severity":"medium","ruleTitle":"Audit logs on the AIX system must be set to 660 or less permissive.","description":"Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality.\n\nAudit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity.\n\nSatisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029","checkContent":"Check the log files under the audit logging directory have correct permissions.\n\nThe default log file is /audit/trail.\n\nThe log file can be set by the \"trail\" variable in /etc/security/audit/config.\n# grep trail /etc/security/audit/config\n        trail = /audit/trail\n\n# ls -l <auditlog dir>\ntotal 240\n-rw-rw----    1 root     system            0 Feb 23 08:44 bin1\n-rw-rw----    1 root     system            0 Feb 23 08:44 bin2\n-rw-r-----    1 root     system       116273 Feb 23 08:44 trail\n\nIf any file has a mode more permissive than \"660\", this is a finding.","fixText":"Set the permission of the audit log file to \"660\".\n\n# chmod 660 <auditlog file>","ccis":["CCI-000162","CCI-000163","CCI-000164"]},{"vulnId":"V-215246","ruleId":"SV-215246r1013689_rule","severity":"medium","ruleTitle":"AIX must provide audit record generation functionality for DoD-defined auditable events.","description":"Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nThe list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records.\n\nDoD has defined the list of events for which AIX will provide an audit record generation capability as the following: \n\n1) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels);\n\n2) Access actions, such as successful and unsuccessful login attempts, privileged activities or other system-level access, starting and ending time for user access to the system, concurrent logins from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system;\n\n3) All account creations, modifications, disabling, and terminations; and \n\n4) All kernel module load, unload, and restart actions.\n\nSatisfies: SRG-OS-000062-GPOS-00031, SRG-OS-000004-GPOS-00004, SRG-OS-000051-GPOS-00024, SRG-OS-000064-GPOS-00033, SRG-OS-000239-GPOS-00089, SRG-OS-000240-GPOS-00090, SRG-OS-000241-GPOS-00091, SRG-OS-000277-GPOS-00107, SRG-OS-000303-GPOS-00120, SRG-OS-000304-GPOS-00121, SRG-OS-000327-GPOS-00127, SRG-OS-000327-GPOS-00127, SRG-OS-000364-GPOS-00151, SRG-OS-000392-GPOS-00172, SRG-OS-000458-GPOS-00203, SRG-OS-000461-GPOS-00205, SRG-OS-000462-GPOS-00206, SRG-OS-000463-GPOS-00207, SRG-OS-000465-GPOS-00209, SRG-OS-000466-GPOS-00210, SRG-OS-000467-GPOS-00211, SRG-OS-000468-GPOS-00212, SRG-OS-000470-GPOS-00214, SRG-OS-000471-GPOS-00215, SRG-OS-000471-GPOS-00216, SRG-OS-000472-GPOS-00217, SRG-OS-000473-GPOS-00218, SRG-OS-000474-GPOS-00219, SRG-OS-000475-GPOS-00220, SRG-OS-000476-GPOS-00221, SRG-OS-000477-GPOS-00222","checkContent":"Ensure that auditing is properly configured.\n\nRun the \"stig_audit_check.sh\" script.\n\nIf any results are returned from the script, this is a finding.\n\nVerify that the file \"/etc/security/audit/objects\" includes the following objects:\n\n/etc/security/environ:\nw = \"S_ENVIRON_WRITE\"\n\n/etc/security/group:\nw = \"S_GROUP_WRITE\"\n\n/etc/group: \nw = \"S_GROUP_WRITE\"\n\n/etc/security/limits:\nw = \"S_LIMITS_WRITE\"\n\n/etc/security/login.cfg:\nw = \"S_LOGIN_WRITE\"\n\n/etc/security/passwd:\nr = \"S_PASSWD_READ\"\nw = \"S_PASSWD_WRITE\"\n\n/etc/security/user:\nw = \"S_USER_WRITE\"\n\n/etc/security/audit/config:\nw = \"AUD_CONFIG_WR\"\n\nIf any of the objects listed above are missing from \"/etc/security/audit/objects\", this is a finding.","fixText":"Use the \"stig_audit_config.txt\" file to configure the AIX audit process.\n\nEdit the /etc/security/audit/objects file and add or update the following lines to the listed values:\n\n/etc/security/environ:\n    w = \"S_ENVIRON_WRITE\"\n\n/etc/security/group:\n    w = \"S_GROUP_WRITE\"\n\n/etc/group: \n    w = \"S_GROUP_WRITE\"\n\n/etc/security/limits:\n    w = \"S_LIMITS_WRITE\"\n\n/etc/security/login.cfg:\n    w = \"S_LOGIN_WRITE\"\n\n/etc/security/passwd:\n    r = \"S_PASSWD_READ\"\n    w = \"S_PASSWD_WRITE\"\n\n/etc/security/user:\n    w = \"S_USER_WRITE\"\n\n/etc/security/audit/config:\n    w = \"AUD_CONFIG_WR\"\n\n\nRestart the audit process:\n# /usr/sbin/audit shutdown\n# /usr/sbin/audit start\n\nNote: There are multiple default \"classes\" defined in the \"/etc/security/audit/config\" file. The only audit class that is required by this document is the \"stig_aud_class\". All other defined classes can be removed at the discretion of the organization.","ccis":["CCI-000018","CCI-000154","CCI-000169","CCI-000172","CCI-001403","CCI-001404","CCI-001405","CCI-000015","CCI-001813","CCI-002130","CCI-002234","CCI-002884","CCI-001686","CCI-002132"]},{"vulnId":"V-215247","ruleId":"SV-215247r991555_rule","severity":"medium","ruleTitle":"AIX must start audit at boot.","description":"If auditing is enabled late in the start-up process, the actions of some start-up processes may not be audited. Some audit systems also maintain state information only available if auditing is enabled before a given process is created.","checkContent":"Check if /etc/rc contains the following line:\n/usr/sbin/audit start\n\n# grep \"audit start\" /etc/rc\n/usr/sbin/audit start\n\nIf a result is not returned, this is a finding.","fixText":"To start auditing at system startup, add the following line to the /etc/rc file, just prior to the line reading dspmsg rc.cat 5 'Multi-user initialization completed':\n/usr/sbin/audit start\n\nSymmetrically  add the '/usr/sbin/audit shutdown' command to /etc/rc.shutdown.","ccis":["CCI-001464"]},{"vulnId":"V-215248","ruleId":"SV-215248r991557_rule","severity":"medium","ruleTitle":"AIX audit tools must be owned by root.","description":"Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information.\n\nOperating systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools and the corresponding rights the user enjoys in order to make access decisions regarding the access to audit tools.\n\nAudit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.\n\nSatisfies: SRG-OS-000256-GPOS-00097, SRG-OS-000257-GPOS-00098, SRG-OS-000258-GPOS-00099","checkContent":"Check the following audit tools are owned by \"root\":\n\n    /usr/sbin/audit\n    /usr/sbin/auditbin\n    /usr/sbin/auditcat\n    /usr/sbin/auditconv\n    /usr/sbin/auditmerge\n    /usr/sbin/auditpr\n    /usr/sbin/auditselect\n    /usr/sbin/auditstream\n    /usr/sbin/auditldap\n\n# ls -l /usr/sbin/audit*|grep -v ldap\n-r-sr-x---    1 root     audit         64926 Mar 30 2016  /usr/sbin/audit\n-r-sr-x---    1 root     audit         41240 Mar 30 2016  /usr/sbin/auditbin\n-r-sr-x---    1 root     audit         40700 Mar 30 2016  /usr/sbin/auditcat\n-r-sr-x---    1 root     audit         13072 Mar 30 2016  /usr/sbin/auditconv\n-r-sr-x---    1 root     audit         11328 Mar 30 2016  /usr/sbin/auditmerge\n-r-sr-x---    1 root     audit         53466 Mar 30 2016  /usr/sbin/auditpr\n-r-sr-x---    1 root     audit         33128 Mar 30 2016  /usr/sbin/auditselect\n-r-sr-x---    1 root     audit         29952 Mar 30 2016  /usr/sbin/auditstream\n-r-x------    1 root     security      12204 Mar 30 2016  /usr/sbin/auditldap\n\nIf any above file's ownership is not \"root\", this is a finding.","fixText":"For each audit tool in: \n   /usr/sbin/audit\n    /usr/sbin/auditbin\n    /usr/sbin/auditcat\n    /usr/sbin/auditconv\n    /usr/sbin/auditmerge\n    /usr/sbin/auditpr\n    /usr/sbin/auditselect\n    /usr/sbin/auditstream\n\nSet the owner to \"root\". \n# chown root <audit tool>\n\nFor  /usr/sbin/auditldap\n\nSet the owner to \"root\". \n# chown root  /usr/sbin/auditldap","ccis":["CCI-001493","CCI-001494","CCI-001495"]},{"vulnId":"V-215249","ruleId":"SV-215249r991557_rule","severity":"medium","ruleTitle":"AIX audit tools must be group-owned by audit.","description":"Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information.\n\nOperating systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools and the corresponding rights the user enjoys in order to make access decisions regarding the access to audit tools.\n\nAudit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.\n\nSatisfies: SRG-OS-000256-GPOS-00097, SRG-OS-000257-GPOS-00098, SRG-OS-000258-GPOS-00099","checkContent":"Check the following audit tools are group-owned by \"audit\":\n\n    /usr/sbin/audit\n    /usr/sbin/auditbin\n    /usr/sbin/auditcat\n    /usr/sbin/auditconv\n    /usr/sbin/auditmerge\n    /usr/sbin/auditpr\n    /usr/sbin/auditselect\n    /usr/sbin/auditstream\n\n# ls -l /usr/sbin/audit*|grep -v ldap\n-r-sr-x---    1 root     audit         64926 Mar 30 2016  /usr/sbin/audit\n-r-sr-x---    1 root     audit         41240 Mar 30 2016  /usr/sbin/auditbin\n-r-sr-x---    1 root     audit         40700 Mar 30 2016  /usr/sbin/auditcat\n-r-sr-x---    1 root     audit         13072 Mar 30 2016  /usr/sbin/auditconv\n-r-sr-x---    1 root     audit         11328 Mar 30 2016  /usr/sbin/auditmerge\n-r-sr-x---    1 root     audit         53466 Mar 30 2016  /usr/sbin/auditpr\n-r-sr-x---    1 root     audit         33128 Mar 30 2016  /usr/sbin/auditselect\n-r-sr-x---    1 root     audit         29952 Mar 30 2016  /usr/sbin/auditstream\n\nIf any above file's are not group-owned by \"audit\", this is a finding. \n\nVerify that \"/usr/sbin/auditldap\" group-owned by \"security\":\n\n# ls -l /usr/sbin/auditldap\n-r-x------    1 root     security      12204 Mar 30 2016  /usr/sbin/auditldap\n\nIf the group-owner of \"/usr/sbin/auditldap\" is not \"security\", this is a finding.","fixText":"For each audit tool in: \n   /usr/sbin/audit\n    /usr/sbin/auditbin\n    /usr/sbin/auditcat\n    /usr/sbin/auditconv\n    /usr/sbin/auditmerge\n    /usr/sbin/auditpr\n    /usr/sbin/auditselect\n    /usr/sbin/auditstream\n\nSet the group to \"audit\".  \n# chgrp audit <audit tool>\n\nFor  /usr/sbin/auditldap:\n\nSet the group to \"security\". \n# chgrp security  /usr/sbin/auditldap","ccis":["CCI-001493","CCI-001494","CCI-001495"]},{"vulnId":"V-215250","ruleId":"SV-215250r991557_rule","severity":"medium","ruleTitle":"AIX audit tools must be set to 4550 or less permissive.","description":"Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information.\n\nOperating systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools and the corresponding rights the user enjoys in order to make access decisions regarding the access to audit tools.\n\nAudit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.\n\nSatisfies: SRG-OS-000256-GPOS-00097, SRG-OS-000257-GPOS-00098, SRG-OS-000258-GPOS-00099","checkContent":"Check the following audit tools are set to \"4550\" or less permissive:\n\n    /usr/sbin/audit\n    /usr/sbin/auditbin\n    /usr/sbin/auditcat\n    /usr/sbin/auditconv\n    /usr/sbin/auditmerge\n    /usr/sbin/auditpr\n    /usr/sbin/auditselect\n    /usr/sbin/auditstream\n\n# ls -l /usr/sbin/audit*|grep -v ldap\n-r-sr-x---    1 root     audit         64926 Mar 30 2016  /usr/sbin/audit\n-r-sr-x---    1 root     audit         41240 Mar 30 2016  /usr/sbin/auditbin\n-r-sr-x---    1 root     audit         40700 Mar 30 2016  /usr/sbin/auditcat\n-r-sr-x---    1 root     audit         13072 Mar 30 2016  /usr/sbin/auditconv\n-r-sr-x---    1 root     audit         11328 Mar 30 2016  /usr/sbin/auditmerge\n-r-sr-x---    1 root     audit         53466 Mar 30 2016  /usr/sbin/auditpr\n-r-sr-x---    1 root     audit         33128 Mar 30 2016  /usr/sbin/auditselect\n-r-sr-x---    1 root     audit         29952 Mar 30 2016  /usr/sbin/auditstream\n\nIf any above file's permission is greater than \"4550\", this is a finding. \n\nVerify that \"/usr/sbin/auditldap\" is set to \"500\" or less permissive: \n\n# ls -l /usr/sbin/auditldap\n-r-x------    1 root     security      12204 Mar 30 2016  /usr/sbin/auditldap\n\nIf the permission of \"/usr/sbin/auditldap\" is greater than \"500\", this is a finding.","fixText":"For each audit tool in: \n   /usr/sbin/audit\n    /usr/sbin/auditbin\n    /usr/sbin/auditcat\n    /usr/sbin/auditconv\n    /usr/sbin/auditmerge\n    /usr/sbin/auditpr\n    /usr/sbin/auditselect\n    /usr/sbin/auditstream\n\nSet the permission to \"4550\".\n# chmod 4550 <audit tool>\n\nFor  /usr/sbin/auditldap:\n\nSet the permission to \"500\".\n# chmod 500 /usr/sbin/auditldap","ccis":["CCI-001493","CCI-001494","CCI-001495"]},{"vulnId":"V-215251","ruleId":"SV-215251r991567_rule","severity":"medium","ruleTitle":"AIX must verify the hash of audit tools.","description":"Protecting the integrity of the tools used for auditing purposes is a critical step toward ensuring the integrity of audit information. Audit information includes all information (e.g., audit records, audit settings, and audit reports) needed to successfully audit information system activity.\n\nAudit tools include, but are not limited to, vendor-provided and open source audit tools needed to successfully view and manipulate audit information system activity and records. Audit tools include custom queries and report generators.\n\nIt is not uncommon for attackers to replace the audit tools or inject code into the existing tools with the purpose of providing the capability to hide or erase system activity from the audit logs.\n\nTo address this risk, audit tools must be cryptographically signed in order to provide the capability to identify when the audit tools have been modified, manipulated, or replaced. An example is a checksum hash of the file or files.","checkContent":"Verify that Trusted Execution (TE) is \"on\" and \"CHKEXEC\" is \"on\" by running the following command:  \n# trustchk -p                 \nTE=ON\nCHKEXEC=ON\nCHKSHLIB=OFF\nCHKSCRIPT=OFF\nCHKKERNEXT=OFF\nSTOP_UNTRUSTD=OFF\nSTOP_ON_CHKFAIL=OFF\nLOCK_KERN_POLICIES=OFF\nTSD_FILES_LOCK=OFF\nTSD_LOCK=OFF\nTEP=OFF\nTLP=OFF\n\nIf the result show \"TE=OFF\" or \"CHKEXEC=OFF\", this is a finding.\n\nVerify that TSD (Trusted Signature Database) contains all the audit tools and their signatures by running the following command:\n\n# awk '/\\/usr\\/sbin\\/audit/ {print; for(i=1; i<=10; i++) {getline; print}}' /etc/security/tsd/tsd.dat |grep -E \"\\/usr\\/sbin\\/audit|cert_tag|signature|hash_value\"\n\n/usr/sbin/auditselect:\n        cert_tag = 00d3cbd2922627b209\n        signature = 8f6044a166ad7d1256a2798432dcb06b528eb6c515f4d2d0af90dd17e6ba05665bd8d39ee8f15e8872e90d3b52e0e25c7be9d62c9c5d71cd16b662fb8511f168b6facb4105cc0e9c19c316e37459ad739b75b6037827f3ba60896eeeec62cf47e7514b10d4813c48cacd76b75dc5b0e1a87f7cd10552992021efb5b44eb33a1a\n        hash_value = 002e02eda12663a2c9478e1b5154cc97452c07a68a8b9d5a6ca3408b008d95bb\n/usr/sbin/auditstream:\n        cert_tag = 00d3cbd2922627b209\n        signature = 3d5a678962b684208f3996262a997d8838012c1625d83b7df75d9bb3a83065819ae476a21ada2ec7afd683828d9ce5c9d3eb829ed907d11fc2713d895419cbec5855e96b4a3b36a4f5b3c44a801555727b1ca799026262120b18fe2d93f53da8e95f6560c0cf5ea73dccd7daa9ec3df7e24ede0201b9d632becfb58a8f81fee4\n        hash_value = 5c434a89bf2fb50a2c21734a5ecd3c4e0a92c34d6685633d59a93caf1684e515\n/usr/sbin/auditpr:\n        cert_tag = 00d3cbd2922627b209\n        signature = 8356f57d227a85037620ec6f357204a9dd3ceeb89fab2ea8b4dea5529a37d290e111a46e9deca8ebd86b37c50b8b2d27599d09a02353081db9f7140780ace0d9986c8f7265d3d91eed7a2502050a6342c79cf1fd6c9b2633e353fdc3603de3b6fc341b2b7a0c6eb286155ae9542bdbbcc29eba84a50f1f8c4f6f5924403f6556\n        hash_value = 34bf3b145327d33f810e939d15ae084711dcd0eb7e7f3ebcb135f5ff7b3ba776\n/usr/sbin/auditcat:\n        cert_tag = 00d3cbd2922627b209\n        signature = abf001ee98c5e81ec730552cd26473221ee14694a7fea06d97ae030f1b8603bafdb3f4917cb50c87c90fc8ff03e8762b05c6b21d1907a05288736fa820fd4a05d38f236fec5cfc3813aeb5b0618294effe0356ac26be0e6701398cf181fb38897c5a2496154bba3eab513caaa74a9abb230ad6948190d24907a107d8968a0c27\n        hash_value = 78febbeb1e7e4ca1ed4015fb147d27bd451814ed8c81429b42ee9e2f8301bf58\n/usr/sbin/auditbin:\n        cert_tag = 00d3cbd2922627b209\n        signature = 9bb3fde97a70dd3ee93ecf556cf13e3981d1f0794c7a253701e011956574754eb17922525092f38a3b0f9375aef8fadfe3cb6e47f6aa7424e3449910af6cc6e1754f6fe8c2fb20867af7f9a048485ea2dfcd7b8f718d350d21ec2ffe394423f4c513b22ff9a654f1ef55f6e679424ad0e630404fcfd707ed91d542d64564c601\n        hash_value = 2deb07bbdf5b744168bb9484b25c0e61813b546f0dd0555d9b9ebcb8cf17272d\n/usr/sbin/auditldap:\n        cert_tag = 00d3cbd2922627b209\n        signature = ab3ea5ba592ef8d1576f632c6154e10a172fbdad1c6379954a48d76bd2c365848a208dfa698e828008fa73b60daf0ad0ab9ad08035f9df2d39ac21a67873cfac3eb07103858903c47e5d1e264ace01de9599ff3c966b12d8cbc6c2b6e3c97f8c56b7a5a4fa33f15bbe472319266854f83fad57917d9dd0c09383fd2b5df41e6d\n        hash_value = f929ca078995a6b2a28d1247e9837e03d06fa2c5b12a6c86e679201192694c8c\n/usr/sbin/auditconv:\n        cert_tag = 00d3cbd2922627b209\n        signature = ab7a0e0e5aa62ec741db601cc1609bf7db6006705a3d6b7001b3aa4da5ab6bcfecea569d6891b67088b2033045fdf6532a24433711c74fcffc92744884f0f14211a7625c168f11d4b3de2e7083e57a5063933c0eea5b92c6ab9ea1b131ca8fe85143f616887e4d60cfb534da8b3a920c428279ea8eee04bf57ad70da3c69104c\n        hash_value = 0d2a989fa77df6984348f5c66d20af1e71aebd5a0d9f85551873563ee9d851d7\n/usr/sbin/audit:\n        cert_tag = 00d3cbd2922627b209\n        signature = 2b6ed42788eca469aaaf960d4ea9956793182cdbf6b8570ded724762701354f62d003a3ed99db9b4fbb670c5864c9a641d485083789840c71005bbdcc4659dbbfbec0e8c63c8223be9e54f46240e3a5ebed8647fbd9e0e9f2db0d046e0cd73e72c87977c9dc394b61027c2856a27db0e51afb05e07c2d4f8ea3bc33564f2e7a6\n        hash_value = 0c5d10f7c7cefec133bee45bd0d30933b18041438a7c7b15b8aa7de60ce208af\n/usr/sbin/auditmerge:\n        cert_tag = 00d3cbd2922627b209\n        signature = 64e0f95c1efa90f34b6ddd370fc0a277db2858b01b993a2f32eb9f0c86e6d901675f67f42158015ceafa37507a0bc36bbd58aca6685464f8b43edb099db670aa497db349c51fc0ed6066da43e2eb5529af8bbdd0c30b66b22158261c224213fc406ffee36e4df476107f867d8f7c09c24e4318a13e2b279d200a9fa4a8b515e4\n        hash_value = 6b4a1d1288a1d7e987ad14b395d0067890574a09956171bb32b9a022dc975015\n\nIf any of the cert_tag, signature, or hash values is missing or “= VOLATILE\", this is a finding.","fixText":"Turn on Trusted Execution and check the integrity of audit tools. \n# /usr/sbin/trustchk -p TE=ON CHKEXEC=ON\n\nIf audit tool integrity data is missing from \"/etc/security/tsd/tsd.dat\", re-install the \"bos.rte.security\" fileset from AIX DVD using the installp command (assume the DVD is mounted to /dev/cd0):\n# installp -aXYqg -d /dev/cd0 bos.rte.security","ccis":["CCI-001496"]},{"vulnId":"V-215252","ruleId":"SV-215252r971541_rule","severity":"medium","ruleTitle":"AIX must provide the function for assigned ISSOs or designated SAs to change the auditing to be performed on all operating system components, based on all selectable event criteria in near real time.","description":"If authorized individuals do not have the ability to modify auditing parameters in response to a changing threat environment, the organization may not be able to effectively respond, and important forensic information may be lost.\n\nThis requirement enables organizations to extend or limit auditing as necessary to meet organizational requirements. Auditing that is limited to conserve information system resources may be extended to address certain threat situations. In addition, auditing may be limited to a specific set of events to facilitate audit reduction, analysis, and reporting.","checkContent":"Verify that an audit admin role has been configured to include the authorizations for auditing, namely \"aix.security.audit,aix.security.user.audit,aix.security.role.audit\": \n\n# lsrole ALL |grep \"aix.security.audit\" |grep \"aix.security.user.audit\" |grep \"aix.security.role.audit\"\nauditadm authorizations=aix.security.audit,aix.security.user.audit,aix.security.role.audit rolelist= groups= visibility=1 screens=* dfltmsg=Audit Administrator msgcat=role_desc.cat msgnum=15 msgset=1 auth_mode=INVOKER id=16\n\nIf the above command has no output, this is a finding.","fixText":"Create a role \"auditadm\" that is assigned with security related authorization with the following commend:\n# mkrole authorizations=\"aix.security.audit,aix.security.user.audit,aix.security.role.audit\" auditadm","ccis":["CCI-001914"]},{"vulnId":"V-215253","ruleId":"SV-215253r958752_rule","severity":"medium","ruleTitle":"AIX must allocate audit record storage capacity to store at least one weeks worth of audit records, when audit records are not immediately sent to a central audit record storage facility.","description":"In order to ensure operating systems have a sufficient storage capacity in which to write the audit logs, operating systems need to be able to allocate audit record storage capacity.\n\nThe task of allocating audit record storage capacity is usually performed during initial installation of AIX.","checkContent":"Check the file system size where the log file resides is greater than the organizationally defined size of audit logs for one week (1GB). \n\nFind out where the audit log resides: \n# grep trail /etc/security/audit/config \n        trail = /audit/trail\n\nFind out the available space in the file system hosting the audit logs. \n\n# df /audit/trail\nFilesystem    512-blocks      Free %Used    Iused %Iused Mounted on\n/dev/hd4         1966080   1792872    9%     3913     2% /\n\nIf the \"512-blocks\" multiplied by \"Free\" is less than the required size for the audit logs, this is a finding.","fixText":"Increase the size of the file system hosting the audit logs (by 1GB).\n# chfs -a size=+1G <root of file system for audit logs>","ccis":["CCI-001849"]},{"vulnId":"V-215254","ruleId":"SV-215254r958770_rule","severity":"medium","ruleTitle":"AIX must provide a report generation function that supports on-demand audit review and analysis, on-demand reporting requirements, and after-the-fact investigations of security incidents.","description":"The report generation capability must support on-demand review and analysis in order to facilitate the organization's ability to generate incident reports, as needed, to better handle larger-scale or more complex security incidents. If the report generation capability does not support after-the-fact investigations, it is difficult to establish, correlate, and investigate the events leading up to an outage or attack, or identify those responses for one. This capability is also required to comply with applicable Federal laws and DoD policies.\n\nReport generation must be capable of generating on-demand (i.e., customizable, ad hoc, and as-needed) reports. On-demand reporting allows personnel to report issues more rapidly to more effectively meet reporting requirements. Collecting log data and aggregating it to present the data in a single, consolidated report achieves this objective.\n\nSatisfies: SRG-OS-000350-GPOS-00138, SRG-OS-000351-GPOS-00139, SRG-OS-000352-GPOS-00140","checkContent":"Check to see if the application for generating audit reports exists (\"/usr/sbin/auditpr\"):\n\n# ls -l /usr/sbin/auditpr\n-r-sr-x---    1 root     audit         54793 Feb 14 2017  /usr/sbin/auditpr\n\nIf the file does not exist, this is a finding.","fixText":"Use the  installp command to install a fileset (assume cd is mounted).\n# installp -aXYqg -d /dev/cd0 bos.rte.security","ccis":["CCI-001878","CCI-001879","CCI-001880"]},{"vulnId":"V-215255","ruleId":"SV-215255r958788_rule","severity":"medium","ruleTitle":"AIX must record time stamps for audit records that can be mapped to Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT).","description":"If time stamps are not consistently applied and there is no common time reference, it is difficult to perform forensic analysis.\n\nTime stamps generated by AIX include date and time. Time is commonly expressed in Coordinated Universal Time (UTC), a modern continuation of Greenwich Mean Time (GMT), or local time with an offset from UTC.","checkContent":"Check the time zone setting by the following command:\n# echo $TZ\nUTC\n\nIf the result is not UTC, GMT, or an offset from UTC, this is a finding.","fixText":"Change time zone setting to UTC, GMT, or an offset from UTC and then reboot the system for the setting to take effect. \n\n# chtz UTC\nOr change time zone to GMT or an offset of UTC.\n\nThe system must be rebooted for the change to take effect:\n# reboot","ccis":["CCI-001890"]},{"vulnId":"V-215256","ruleId":"SV-215256r991589_rule","severity":"medium","ruleTitle":"AIX audit logs must be rotated daily.","description":"Rotate audit logs daily to preserve audit file system space and to conform to the DoD/DISA requirement. If it is not rotated daily and moved to another location, then there is more of a chance for the compromise of audit data by malicious users.","checkContent":"Check for any \"crontab\" entries that rotate audit logs:\n\n# crontab -l \n30  23  * * * /root/logrotate.sh     #Daily log rotation script\nIf such a cron job is found, this is not a finding. \n\nOtherwise, query the SA. \n\nIf there is a process automatically rotating audit logs, this is not a finding. \n\nIf the SA manually rotates audit logs, this is a finding.  \n\nIf the audit output is not archived daily, to tape or disk, this is a finding. \n\nReview the audit log directory.\n\nIf more than one file is there, or if the file does not have today's date, this is a finding.","fixText":"Configure a cron job or other automated process to rotate the audit logs on a daily basis.","ccis":["CCI-000366"]},{"vulnId":"V-215257","ruleId":"SV-215257r987796_rule","severity":"high","ruleTitle":"The AIX rexec daemon must not be running.","description":"The exec service is used to execute a command sent from a remote server. The username and passwords are passed over the network in clear text and therefore insecurely. Unless required the rexecd daemon will be disabled. This function, if required, should be facilitated through SSH.","checkContent":"Determine if the \"rexec\" daemon is running by running the following command:\n# grep \"^exec[[:blank:]]\" /etc/inetd.conf\n\nIf the above grep command returned a line that contains \"rexecd\", this is a finding.","fixText":"Disable the \"rexecd\" entry in \"/etc/inetd.conf\" using command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'exec' -p 'tcp6'\n\nReload the inetd process:\n# refresh -s inetd","ccis":["CCI-000197"]},{"vulnId":"V-215258","ruleId":"SV-215258r987796_rule","severity":"high","ruleTitle":"AIX telnet daemon must not be running.","description":"This telnet service is used to service remote user connections. This is historically the most commonly used remote access method for UNIX servers. The username and passwords are passed over the network in clear text and therefore insecurely. Unless required the telnetd daemon will be disabled. This function, if required, should be facilitated through SSH.","checkContent":"Determine if the \"telnet\" daemon is running by running the following command:\n# grep -v '^#' /etc/inetd.conf | grep telnet \n\nIf an entry is returned, this is a finding.","fixText":"Disable the \"telnet\" entry in \"/etc/inetd.conf\" using command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'telnet' -p 'tcp6' \n\nReload the inetd process:\n# refresh -s inetd","ccis":["CCI-000197"]},{"vulnId":"V-215259","ruleId":"SV-215259r987796_rule","severity":"high","ruleTitle":"AIX ftpd daemon must not be running.","description":"The ftp service is used to transfer files from or to a remote machine. The username and passwords are passed over the network in clear text and therefore insecurely. Remote file transfer, if required, should be facilitated through SSH.","checkContent":"Determine if the \"ftp\" daemon is running by running the following command:\n# grep \"^ftp[[:blank:]]\" /etc/inetd.conf\n\nIf an entry is returned like the following line, the \"ftp\" daemon is running:\nftp stream tcp6 nowait root /usr/sbin/ftpd ftpd \n\nIf the above grep command returned a line that contains \"ftpd\", this is a finding.","fixText":"Disable \"ftp\" daemon entry in \"/etc/inetd.conf\" using command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'ftp' -p 'tcp6'\n\nReload the inetd process:\n# refresh -s inetd","ccis":["CCI-000197"]},{"vulnId":"V-215260","ruleId":"SV-215260r1050789_rule","severity":"high","ruleTitle":"AIX must remove NOPASSWD tag from sudo config files.","description":"sudo command does not require reauthentication if NOPASSWD tag is specified in /etc/sudoers config file, or sudoers files in /etc/sudoers.d/ directory. With this tag in sudoers file, users are not required to reauthenticate for privilege escalation.","checkContent":"If sudo is not used on AIX, this is Not Applicable.\n\nRun the following command to find the \"NOPASSWD\" tag in \"/etc/sudoers\" file:\n# grep NOPASSWD /etc/sudoers\n\nIf there is a \"NOPASSWD\" tag found in \"/etc/sudoers\" file, this is a finding.\n\nRun the following command to find the \"NOPASSWD\" tag in one of the sudo config files in \"/etc/sudoers.d/\" directory:\n# find /etc/sudoers.d -type f -exec grep -l NOPASSWD {} \\;\n\nThe above command displays all sudo config files that are in \"/etc/sudoers.d/\" directory and they contain the \"NOPASSWD\" tag.\n\nIf above command found a config file that is in \"/etc/sudoers.d/\" directory and contains the \"NOPASSWD\" tag, this is a finding.","fixText":"Edit  \"/etc/sudoers\" using \"visudo\" command to remove all the \"NOPASSWD\" tags:\n# visudo -f \n\nEditing a sudo config file that is in \"/etc/sudoers.d/\" directory and contains the \"NOPASSWD\" tags, use \"visudo\" the command as follows:\n# visudo -f /etc/sudoers.d/<config_file_name>","ccis":["CCI-004895","CCI-002038"]},{"vulnId":"V-215261","ruleId":"SV-215261r1050789_rule","severity":"medium","ruleTitle":"AIX must remove !authenticate option from sudo config files.","description":"sudo command does not require reauthentication if !authenticate option is specified in /etc/sudoers config file, or config files in /etc/sudoers.d/ directory. With this tag in sudoers, users are not required to reauthenticate for privilege escalation.","checkContent":"If sudo is not used on AIX, this is Not Applicable.\n\nRun the following command to find \"!authenticate\" option in \"/etc/sudoers\" file:\n# grep \"!authenticate\" /etc/sudoers\n\nIf there is a \"!authenticate\" option found in \"/etc/sudoers\" file, this is a finding.\n\nRun the following command to find \"!authenticate\" option in one of the sudo config files in \"/etc/sudoers.d/\" directory:\n# find /etc/sudoers.d -type f -exec grep -l \"!authenticate\" {} \\;\n\nThe above command displays all sudo config files that are in \"/etc/sudoers.d/\" directory and they contain the \"!authenticate\" option.\n\nIf above command found a config file that is in \"/etc/sudoers.d/\" directory and that contains the \"!authenticate\" option, this is a finding.","fixText":"Edit \"/etc/sudoers\" using \"visudo\" command to remove all the \"!authenticate\" options:\n# visudo -f /etc/sudoers\n\nEditing a sudo config file that is in \"/etc/sudoers.d/\" directory and contains \"!authenticate\" options, use the \"visudo\" command as follows:\n# visudo -f /etc/sudoers.d/<config_file_name>","ccis":["CCI-004895","CCI-002038"]},{"vulnId":"V-215262","ruleId":"SV-215262r991589_rule","severity":"medium","ruleTitle":"AIX must be configured with a default gateway for IPv4 if the system uses IPv4, unless the system is a router.","description":"If a system has no default gateway defined, the system is at increased risk of man-in-the-middle, monitoring, and Denial of Service attacks.","checkContent":"Check the system for an IPv4 default route using command:\n \n# netstat -r |grep default \ndefault            10.11.20.1       UG        1      1811 en0      -      -\n\nIf a default route is not defined, this is a finding.","fixText":"Set a default gateway for IPv4 using:\n# route add 0 <ip address of gateway>","ccis":["CCI-000366"]},{"vulnId":"V-215263","ruleId":"SV-215263r991589_rule","severity":"medium","ruleTitle":"IP forwarding for IPv4 must not be enabled on AIX unless the system is a router.","description":"IP forwarding permits the kernel to forward packets from one network interface to another. The ability to forward packets between two networks is only appropriate for systems acting as routers.","checkContent":"From the command prompt, run the following command:\n\n# no -o ipforwarding \nipforwarding = 0\n\nIf the value returned is not \"0\", this is a finding.","fixText":"Disable IPv4 forwarding on the system by running command:\n# no -p -o ipforwarding=0","ccis":["CCI-000366"]},{"vulnId":"V-215264","ruleId":"SV-215264r991589_rule","severity":"medium","ruleTitle":"AIX must be configured with a default gateway for IPv6 if the system uses IPv6 unless the system is a router.","description":"If a system has no default gateway defined, the system is at increased risk of man-in-the-middle, monitoring, and Denial of Service attacks.","checkContent":"If the system is a router, this is Not Applicable. \n\nIf the system does not use IPv6, this is Not Applicable. \n\nDetermine if the system has a default route configured for IPv6 by running: \n\n# netstat -r | grep default \ndefault            10.11.20.1       UG        1      1823 en0      -      -\n\nIf a default route is not defined, this is a finding.","fixText":"Configure an IPv6 default route on the system: \n# smitty route","ccis":["CCI-000366"]},{"vulnId":"V-215265","ruleId":"SV-215265r991589_rule","severity":"medium","ruleTitle":"AIX must not have IP forwarding for IPv6 enabled unless the system is an IPv6 router.","description":"If the system is configured for IP forwarding and is not a designated router, it could be used to bypass network security by providing a path for communication not filtered by network devices.","checkContent":"From the command prompt, run the following command:\n\n# /usr/sbin/no -o ip6forwarding \nip6forwarding = 0\n\nIf the value returned is not \"0\", this is a finding.","fixText":"Disable IPv6 forwarding on the system: \n# /usr/sbin/no -p -o ip6forwarding=0","ccis":["CCI-000366"]},{"vulnId":"V-215266","ruleId":"SV-215266r958566_rule","severity":"medium","ruleTitle":"AIX log files must be owned by a system account.","description":"Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify AIX or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives.\n\nThe structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.","checkContent":"Check the owner of log files:\n\n# ls -lL /var/log /var/log/syslog /var/adm \n/var/adm:\ntotal 376\ndrw-r----- 2 root system 256 Jan 24 12:31 SRC\ndrwx------ 4 root system 256 Jan 24 07:28 config\n-rw-r----- 1 root system 1081 Jan 24 09:05 dev_pkg.fail\n-rw-r----- 1 root system 250 Jan 24 09:05 dev_pkg.success\n-rw------- 1 root system 64 Jan 24 09:43 sulog\ndrwxr-xr-x 3 root system 256 Jan 24 12:28 sw\ndrwx------ 2 root system 256 Jan 24 08:06 wpars\n-rw-r-----    1 adm adm  7517448 Apr 29 14:10 wtmp\n\n/var/log:\ntotal 8\ndrwxr-xr-x 2 root system 256 Jan 24 08:44 aso\n-rw-r----- 1 root system 603 Jan 24 10:30 cache_mgt.dr.log\n\nIf any of the log files are not owned by a system account, this is a finding.","fixText":"Change the owner of the system log file(s) to a system account: \n# chown [system_account] /path/to/system-log-file","ccis":["CCI-001314"]},{"vulnId":"V-215267","ruleId":"SV-215267r958566_rule","severity":"medium","ruleTitle":"AIX log files must be owned by a system group.","description":"Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify AIX or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives.\n\nThe structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.","checkContent":"Check the group of log files:\n\n# ls -lL /var/log /var/log/syslog /var/adm \n/var/adm:\ntotal 376\ndrw-r----- 2 root system 256 Jan 24 12:31 SRC\ndrwx------ 4 root system 256 Jan 24 07:28 config\n-rw-r----- 1 root system 1081 Jan 24 09:05 dev_pkg.fail\n-rw-r----- 1 root system 250 Jan 24 09:05 dev_pkg.success\n-rw------- 1 root system 64 Jan 24 09:43 sulog\ndrwxr-xr-x 3 root system 256 Jan 24 12:28 sw\ndrwx------ 2 root system 256 Jan 24 08:06 wpars\n-rw-r-----    1 adm adm  7517448 Apr 29 14:10 wtmp\n\n/var/log:\ntotal 8\ndrwxr-xr-x 2 root system 256 Jan 24 08:44 aso\n-rw-r----- 1 root system 603 Jan 24 10:30 cache_mgt.dr.log\n\nIf any of the log files have group other than a system group, this is a finding.","fixText":"Change the group of the system log file(s) to a system group: \n# chgrp [system_group] /path/to/system-log-file","ccis":["CCI-001314"]},{"vulnId":"V-215268","ruleId":"SV-215268r991560_rule","severity":"medium","ruleTitle":"AIX system files, programs, and directories must be group-owned by a system group.","description":"Restricting permissions will protect the files from unauthorized modification.","checkContent":"Check the group ownership of system files, programs, and directories run the following command: \n# ls -lLa /etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin \n\nIf any system file, program, or directory is not group-owned by a system group, this is a finding. \n\nNote: For this check, the system-provided \"ipsec\" group is also acceptable.","fixText":"Change the group owner of system files to a system group by running the following command:\n # chgrp sys /path/to/system/file \n\nNote: System groups other than \"sys\" may be used.","ccis":["CCI-001499"]},{"vulnId":"V-215269","ruleId":"SV-215269r991589_rule","severity":"medium","ruleTitle":"The inetd.conf file on AIX must be owned by root.","description":"Failure to give ownership of sensitive files or utilities to system groups may provide unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.","checkContent":"Check the ownership of \"/etc/inetd.conf\": \n# ls -al /etc/inetd.conf \n\nThe above command should yield the following output:\n-rw-r----- root system 993 Mar 11 07:04 /etc/inetd.conf\n\nIf the file is not owned by root, this is a finding.","fixText":"Change the ownership of \"/etc/inetd.conf\": \n# chown root /etc/inetd.conf","ccis":["CCI-000366"]},{"vulnId":"V-215270","ruleId":"SV-215270r991589_rule","severity":"medium","ruleTitle":"AIX cron and crontab directories must be owned by root or bin.","description":"Incorrect ownership of the cron or crontab directories could permit unauthorized users the ability to alter cron jobs and run automated jobs as privileged users. Failure to give ownership of cron or crontab directories to root or to bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.","checkContent":"Check the owner of the \"crontab\" directory using command:\n\n# ls -ld /var/spool/cron/crontabs \ndrwxrwx---    2 bin      cron            256 Jan 25 12:33 /var/spool/cron/crontabs\n\nIf the owner of the \"crontab\" directory is not \"root\" or \"bin\", this is a finding.","fixText":"Change the owner of the \"crontab\" directory:\n# chown root /var/spool/cron/crontabs","ccis":["CCI-000366"]},{"vulnId":"V-215271","ruleId":"SV-215271r991589_rule","severity":"medium","ruleTitle":"AIX audio devices must be group-owned by root, sys, bin, or system.","description":"Without privileged group owners, audio devices will be vulnerable to being used as eaves-dropping devices by malicious users or intruders to possibly listen to conversations containing sensitive information.","checkContent":"Check the group owner of audio devices using commands:\n\n# /usr/sbin/lsdev -C | grep -i audio \naud0   Available             USB Audio Device\n\n# ls -lL /dev/*aud0\ncr--r--r--    1 root     system       16,  0 Jan 24 07:25 aud0 \n\nIf the group owner of an audio device is not \"root\", \"sys\", \"bin\", or \"system\", this is a finding.","fixText":"Change the group owner of the audio device using command: \n# chgrp system <audio device>","ccis":["CCI-000366"]},{"vulnId":"V-215272","ruleId":"SV-215272r991589_rule","severity":"medium","ruleTitle":"AIX time synchronization configuration file must be owned by root.","description":"A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. If an illicit time source is used for synchronization, the integrity of system logs and the security of the system could be compromised. If the configuration files controlling time synchronization are not owned by a system account, unauthorized modifications could result in the failure of time synchronization.","checkContent":"Check the ownership of /etc/ntp.conf using command:\n# ls -al  /etc/ntp.conf\n\nThe above command should yield the following output:\n-rw-r-----    1 root     system          993 Aug 25 18:26 /etc/ntp.conf\n\nIf the file is not owned by root, this is a finding.","fixText":"Change the ownership of the file to root using command: \n# chown root /etc/ntp.conf","ccis":["CCI-000366"]},{"vulnId":"V-215273","ruleId":"SV-215273r991589_rule","severity":"medium","ruleTitle":"AIX time synchronization configuration file must be group-owned by bin, or system.","description":"A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. If an illicit time source is used for synchronization, the integrity of system logs and the security of the system could be compromised. If the configuration files controlling time synchronization are not owned by a system group, unauthorized modifications could result in the failure of time synchronization.","checkContent":"Check \"/etc/ntp.conf\" file group ownership:\n# ls -al /etc/ntp.conf\n\nThe above command should yield the following output:\n-rw-r-----    1 root     system          993 Aug 25 18:26 /etc/ntp.conf\n\nIf the file is not group-owned by \"system\", this is a finding.","fixText":"Change the group owner of the files in \"/etc/news\" to \"system\" using:\n# chgrp system /etc/ntp.conf","ccis":["CCI-000366"]},{"vulnId":"V-215274","ruleId":"SV-215274r991589_rule","severity":"medium","ruleTitle":"The AIX /etc/group file must be owned by root.","description":"The \"/etc/group\" file contains information regarding groups that are configured on the system. Protection of this file is important for system security.","checkContent":"Verify the \"/etc/group\" file is owned by \"root\" using command: \n# ls -l /etc/group \n\nThe above command should yield the following output:\n-rw-r--r--    1 root     security        387 Sep 06 11:40 /etc/group\n\nIf the file is not owned by \"root\", this is a finding.","fixText":"Change the owner of the \"/etc/group\" file to \"root\": \n# chown root /etc/group","ccis":["CCI-000366"]},{"vulnId":"V-215275","ruleId":"SV-215275r991589_rule","severity":"medium","ruleTitle":"The AIX /etc/group file must be group-owned by security.","description":"The \"/etc/group\" file contains information regarding groups that are configured on the system. Protection of this file is important for system security.","checkContent":"Verify the \"/etc/group\" file is group-owned by \"security\" using command: \n# ls -l /etc/group \n\nThe above command should yield the following output:\n-rw-r--r--    1 root     security        387 Sep 06 11:40 /etc/group\n\nIf the file is not group-owned by \"security\", this is a finding.","fixText":"Change the group of the \"/etc/group\" file to \"security\": \n# chgrp security /etc/group","ccis":["CCI-000366"]},{"vulnId":"V-215276","ruleId":"SV-215276r991592_rule","severity":"medium","ruleTitle":"All AIX interactive users home directories must be owned by their respective users.","description":"System binaries are executed by privileged users as well as system services, and restrictive permissions are necessary to ensure that their execution of these programs cannot be co-opted.","checkContent":"Check the ownership of each user's home directory listed in the \"/etc/passwd file\": \n\n# cut -d: -f6 /etc/passwd | xargs ls -lLd\n\ndrwxr-xr-x   21 root     system         4096 Jan 29 09:58 /\n\ndrwxr-xr-x    4 bin      bin           45056 Jan 24 12:31 /bin\n\ndrwxr-xr-x    2 doejohn  staff           256 Jan 25 13:18 /home/doejohn\n\ndrwxr-xr-x    2 sshd     system          256 Aug 11 2017  /home/srvproxy\n\ndrwx------    2 root     system          256 Jan 30 12:54 /root\n\ndrwxrwxr-x    4 bin      bin             256 Mar 23 2017  /usr/sys\n\ndrwxrwxr-x   15 root     adm            4096 Jan 24 12:26 /var/adm\n\ndrwxr-xr-x    6 root     system         4096 Jan 24 07:34 /var/adm/invscout\n\ndrwxr-xr-x    8 esaadmin system          256 Jan 24 09:02 /var/esa\n\n\nIf any user's home directory is not owned by the assigned user, this is a finding.","fixText":"Change the owner of a user's home directory to its assigned user using command: \n# chown <user> <home directory>","ccis":["CCI-000366"]},{"vulnId":"V-215277","ruleId":"SV-215277r991592_rule","severity":"medium","ruleTitle":"All AIX interactive users home directories must be group-owned by the home directory owner primary group.","description":"If the Group Identifier (GID) of the home directory is not the same as the GID of the user, this would allow unauthorized access to files.","checkContent":"Check the group ownership for each user in the \"/etc/passwd\" file using command: \n\n# cut -d: -f6 /etc/passwd | xargs ls -lLd\n\ndrwxr-xr-x   21 root     system         4096 Jan 29 09:58 /\n\ndrwxr-xr-x    4 bin      bin           45056 Jan 24 12:31 /bin\n\ndrwxr-xr-x    2 doejohn  staff           256 Jan 25 13:18 /home/doejohn\n\ndrwxr-xr-x    2 sshd     system          256 Aug 11 2017  /home/srvproxy\n\ndrwx------    2 root     system          256 Jan 30 12:54 /root\n\ndrwxrwxr-x    4 bin      bin             256 Mar 23 2017  /usr/sys\n\ndrwxrwxr-x   15 root     adm            4096 Jan 24 12:26 /var/adm\n\ndrwxr-xr-x    6 root     system         4096 Jan 24 07:34 /var/adm/invscout\n\ndrwxr-xr-x    8 esaadmin system          256 Jan 24 09:02 /var/esa\n\nIf any user's home directory is not group-owned by the assigned user's primary group, this is a finding. \n\nHome directories for application accounts requiring different group ownership must be documented using site-defined procedures.","fixText":"Change the group owner for users home directories to the primary group of the assigned user: \n# chgrp <groupname> <directoryname> \n\n(Replace examples with appropriate group and home directory.) \n\nDocument all changes.","ccis":["CCI-000366"]},{"vulnId":"V-215278","ruleId":"SV-215278r991592_rule","severity":"medium","ruleTitle":"All files and directories contained in users home directories on AIX must be group-owned by a group in which the home directory owner is a member.","description":"If the Group Identifier (GID) of the home directory is not the same as the GID of the user, this would allow unauthorized access to files.","checkContent":"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. \n\nList the user accounts: \n\n# cut -d : -f 1 /etc/passwd \nroot\ndaemon\nbin\nsys\nadm\nuucp\nnobody\ninvscout\nsnapp\nipsec\nsrvproxy\nesaadmin\nsshd\ndoejohn\ndirtjoe\n\nFor each user account, get a list of group names for files in the user's home directory: \n\n# find < users home directory > -exec ls -lLd {} \\;\n\nObtain the list of group names associated with the user's account:\n\n# lsuser -a groups < user name > \ndoejohn groups=staff\n\nCheck the group name lists:\n\n# cat /etc/group\nsystem:!:0:root,srvproxy,esaadmin\nstaff:!:1:ipsec,srvproxy,esaadmin,sshd,doejohn\nbin:!:2:root,bin\nsys:!:3:root,bin,sys\nadm:!:4:bin,adm\nmail:!:6:\nsecurity:!:7:root\ncron:!:8:root\naudit:!:10:root\necs:!:28:\nnobody:!:4294967294:nobody,lpd\nusr:!:100:dirtjoe\nperf:!:20:\nshutdown:!:21:\ninvscout:!:12:invscout\nsnapp:!:13:snapp\nipsec:!:200:\nsshd:!:201:sshd\n\nIf there are group names in the file list not present in the user list, this is a finding.","fixText":"Change the group of a file not group-owned by a group where the home directory's owner is a member using command: \n# chgrp [user's primary group] [file with bad group ownership]","ccis":["CCI-000366"]},{"vulnId":"V-215279","ruleId":"SV-215279r991560_rule","severity":"medium","ruleTitle":"AIX library files must have mode 0755 or less permissive.","description":"Unauthorized access could destroy the integrity of the library files.","checkContent":"Check the mode of library files by running the following command:\n# ls -lLR /usr/lib /lib \n\nIf any of the library files have a mode more permissive than \"0755\", this is a finding.","fixText":"Change the mode of library files to \"0755\" or less permissive by running the following command: \n# chmod 0755 <path>/<library-file> \n\nNOTE: Library files should have an extension of .a or .so (a=archive, so=shared object) extension, possibly followed by a version.","ccis":["CCI-001499"]},{"vulnId":"V-215280","ruleId":"SV-215280r991589_rule","severity":"medium","ruleTitle":"Samba packages must be removed from AIX.","description":"If the smbpasswd file has a mode more permissive than 0600, the smbpasswd file may be maliciously accessed or modified, potentially resulting in the compromise of Samba accounts.","checkContent":"Run the following command to check if samba packages are installed on AIX:\n# lslpp -l samba*\n\nIf the above command shows that samba packages are installed, this is a finding.","fixText":"Run the following command to un-install the samba packages:\n# installp -ug samba*","ccis":["CCI-000366"]},{"vulnId":"V-215281","ruleId":"SV-215281r991589_rule","severity":"medium","ruleTitle":"AIX time synchronization configuration file must have mode 0640 or less permissive.","description":"A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. If an illicit time source is used for synchronization, the integrity of system logs and the security of the system could be compromised. File permissions more permissive than 0640 for time synchronization configuration file may allow     access and change the config file by system intruders or malicious users, could result in the failure of time synchronization.","checkContent":"Determine the mode of the ntp.conf file: \n# ls -l /etc/ntp.conf \n\nThe above command should yield the following output:\n-rw-r-----    1 root     system          993 Aug 25 18:26 /etc/ntp.conf\n\nIf the mode is more permissive than \"0640\", this is a finding.","fixText":"Change the mode of the \"ntp.conf\" file to \"0640\" or less permissive: \n# chmod 0640 /etc/ntp.conf","ccis":["CCI-000366"]},{"vulnId":"V-215282","ruleId":"SV-215282r991589_rule","severity":"medium","ruleTitle":"The AIX /etc/group file must have mode 0644 or less permissive.","description":"The \"/etc/group\" file contains information regarding groups that are configured on the system. Protection of this file is important for system security.","checkContent":"Verify the \"/etc/group\" file has the mode \"0644\" using command: \n# ls -l /etc/group \n\nThe above command should yield the following output:\n-rw-r--r--    1 root     security        387 Sep 06 11:40 /etc/group\n\nIf the file does not have mode \"0644\" or less permissive, this is a finding.","fixText":"Change the mode of the \"/etc/group\" file to \"0644\": \n# chmod 0644 /etc/group","ccis":["CCI-000366"]},{"vulnId":"V-215283","ruleId":"SV-215283r991589_rule","severity":"medium","ruleTitle":"AIX must encrypt user data at rest using AIX Encrypted File System (EFS) if it is required.","description":"The AIX Encrypted File System (EFS) is a J2 filesystem-level encryption through individual key stores. This allows for file encryption in order to protect confidential data from attackers with physical access to the computer. User authentication and access control lists can protect files from unauthorized access (even from root user) while the operating system is running. \n\nOperating systems handling data requiring \"data at rest\" protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information at rest.\n\nSelection of a cryptographic mechanism is based on the need to protect the integrity of organizational information. The strength of the mechanism is commensurate with the security category and/or classification of the information. Organizations have the flexibility to either encrypt all information on storage devices (i.e., full disk encryption) or encrypt specific data structures (e.g., files, records, or fields).\n\nSatisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000405-GPOS-00184, SRG-OS-000404-GPOS-00183","checkContent":"If the organization does not require to encrypt the data at rest, this is Not Applicable.\n\nCheck if \"clic.rte\" fileset is installed:\n# lslpp -l |grep clic\n\nThe above command should yield the following output:\n  clic.rte.kernext          4.10.0.1  COMMITTED  CryptoLite for C Kernel\n  clic.rte.lib                    4.10.0.1  COMMITTED  CryptoLite for C Library\n  clic.rte.kernext          4.10.0.1  COMMITTED  CryptoLite for C Kernel\n\nIf the \"clic.rte.lib\", or the \"clic.rte.kernext\", fileset is not installed, this is a finding.\n\nTo check if a JFS2 file system (mounted as /fs2_mnt) is EFS-enabled, use the following command:\n# lsfs -q /fs2_mnt\n\nName            Nodename   Mount Pt               VFS   Size    Options    Auto Accounting\n/dev/fslv00     --         /fs2_mnt                   jfs2  262144  --         no   no \n  (lv size: 262144, fs size: 262144, block size: 4096, sparse files: yes, inline log: no, inline log size: 0, EAformat: v2, Quota: no, DMAPI: no, VIX: yes, EFS: no, ISNAPSHOT: no, MAXEXT: 0, MountGuard: no)\n\nIf the above command shows \"EFS: no\", this is a finding.","fixText":"Install \"clic.rte\" filesets from AIX DVD Volume 1 using the following commands (assuming that the DVD device is /dev/cd0):\n# installp -aXYgd /dev/cd0 -e /tmp/install.log clic.rte.lib\n# installp -aXYgd /dev/cd0 -e /tmp/install.log clic.rte.kernext\n\nRun the follow command to initialize and enable EFS on the system:\n# efsenable -a\n\nTo create a new EFS-enabled JFS2 file system and mount the file system, using the following commands:\n# crfs -v jfs2 -g rootvg -m /fs2 -a size=100M -a efs=yes\n# mount /fs2\n\nTo enable EFS on a JFS2 file system (like, /fs3), run the following command:\nchfs -a efs=yes /fs3","ccis":["CCI-000366","CCI-002475","CCI-002476"]},{"vulnId":"V-215284","ruleId":"SV-215284r958908_rule","severity":"medium","ruleTitle":"AIX must protect the confidentiality and integrity of transmitted information during preparation for transmission and maintain the confidentiality and integrity of information during reception and disable all non-encryption network access methods.","description":"Without protection of the transmitted or received information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered. \n\nUse of this requirement will be limited to situations where the data owner has a strict requirement for ensuring data integrity and confidentiality is maintained at every step of the data transfer and handling process. This requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printers, copiers, scanners, and facsimile machines). Communication paths outside the physical protection of a controlled boundary are exposed to the possibility of interception and modification. \n\nProtecting the confidentiality and integrity of organizational information can be accomplished by physical means (e.g., employing physical distribution systems) or by logical means (e.g., employing cryptographic techniques). If physical means of protection are employed, then logical means (cryptography) do not have to be employed, and vice versa.\n\nSatisfies: SRG-OS-000423-GPOS-00187, SRG-OS-000424-GPOS-00188, SRG-OS-000425-GPOS-00189, SRG-OS-000426-GPOS-00190, SRG-OS-000393-GPOS-00173, SRG-OS-000394-GPOS-00174","checkContent":"Run the following command to check if SSH server package is installed:\n \n# lslpp -l | grep -i ssh \nopenssh.base.client     6.0.0.6201  COMMITTED  Open Secure Shell Commands\nopenssh.base.server     6.0.0.6201  COMMITTED  Open Secure Shell Server\nopenssh.man.en_US       6.0.0.6201  COMMITTED  Open Secure Shell\n\nIf package \"openssh.base.server\" is not installed, this is a finding.\n\nRun the following command to check if the SSH daemon is running:\n\n# lssrc -s sshd | grep active\nsshd             ssh              3670408      active\n\nIf \"sshd\" is \"inoperative\", this is a finding.","fixText":"If the SSH server package is not installed, install \"openssh.base.server\" package and config the SSH daemon. \n\nIf the ssh demon is not \"active\", run the following command to start it:\n# startsrc -s sshd","ccis":["CCI-002418","CCI-002420","CCI-002421","CCI-002422","CCI-002890","CCI-003123"]},{"vulnId":"V-215285","ruleId":"SV-215285r958406_rule","severity":"medium","ruleTitle":"AIX must monitor and record successful remote logins.","description":"Remote access services, such as those providing remote access to network devices and information systems, which lack automated monitoring capabilities, increase risk and make remote user access management difficult at best.\n\nRemote access is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.\n\nAutomated monitoring of remote access sessions allows organizations to detect cyber attacks and also ensure ongoing compliance with remote access policies by auditing connection activities of remote access capabilities, such as Remote Desktop Protocol (RDP), on a variety of information system components (e.g., servers, workstations, notebook computers, smartphones, and tablets).","checkContent":"Check if the file \"/var/adm/wtmp\" is a symlink by using the following command:\n# ls -al /var/adm/wtmp \n\nThe above command should yield the following output: \n-rw-rw-r--    1 adm      adm           45360 Sep 05 15:00 /var/adm/wtmp\n\nIf the file \"/var/adm/wtmp\" is a symlink, this is a finding.","fixText":"Remove the symlink of \"/var/adm/wtmp\" file by using the following command:\n# rm /var/adm/wtmp\n\nThe \"/var/adm/wtmp\" file will be created when the system logs event for successful or failed login.","ccis":["CCI-000067"]},{"vulnId":"V-215286","ruleId":"SV-215286r958406_rule","severity":"medium","ruleTitle":"AIX must monitor and record unsuccessful remote logins.","description":"Remote access services, such as those providing remote access to network devices and information systems, which lack automated monitoring capabilities, increase risk and make remote user access management difficult at best.\n\nRemote access is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.\n\nAutomated monitoring of remote access sessions allows organizations to detect cyberattacks and also ensure ongoing compliance with remote access policies by auditing connection activities of remote access capabilities, such as Remote Desktop Protocol (RDP), on a variety of information system components (e.g., servers, workstations, notebook computers, smartphones, and tablets).","checkContent":"Check if the file \"/etc/security/failedlogin\" is a symlink by using the following command:\n# ls -al /etc/security/failedlogin\n\nThe above command should yield the following output: \n-rw-------    1 root     system          648 Sep 05 14:59 /etc/security/failedlogin\n\nIf the file \"/etc/security/failedlogin\" is a symlink, this is a finding.","fixText":"Remove the symlink of \"/etc/security/failedlogin\" file by using the following command:\n# rm /etc/security/failedlogin\n\nThe \"/etc/security/failedlogin\" file will be created when system logs event for a failed login.","ccis":["CCI-000067"]},{"vulnId":"V-215287","ruleId":"SV-215287r991589_rule","severity":"medium","ruleTitle":"On AIX, the SSH server must not permit root logins using remote access programs.","description":"Permitting direct root login reduces auditable information about who ran privileged commands on the system and also allows direct attack attempts on root's password.","checkContent":"Determine if the SSH daemon is configured to disable root logins:\n# grep -iE \"PermitRootLogin[[:blank:]]*no\" /etc/ssh/sshd_config | grep -v \\#\n\nIf the above command displays a line, the root login is disabled.\n\nIf the root login is not disabled, this is a finding.","fixText":"Edit the \"/etc/ssh/sshd_config\" file to have the following line and save the change: \nPermitRootLogin no\n\nRestart SSH daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000366"]},{"vulnId":"V-215288","ruleId":"SV-215288r991589_rule","severity":"medium","ruleTitle":"All AIX shells referenced in passwd file must be listed in /etc/shells file, except any shells specified for the purpose of preventing logins.","description":"The /etc/shells file lists approved default shells. It helps provide layered defense to the security approach by ensuring users cannot change their default shell to an unauthorized unsecure shell.","checkContent":"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 by running commands: \n\n#  more /etc/security/login.cfg | grep shells | grep -v '*'\n        shells = /bin/sh,/bin/bsh,/bin/csh,/bin/ksh,/bin/tsh,/bin/ksh93,/usr/bin/sh,/usr/bin/bsh,/usr/bin/csh,/usr/bin/ksh,/usr/bin/tsh \n\n# more /etc/shells \n/bin/csh\n/bin/ksh\n/bin/psh\n/bin/tsh\n/bin/bsh\n/usr/bin/csh\n/usr/bin/ksh\n/usr/bin/psh\n/usr/bin/tsh\n/usr/bin/bsh\n\nThe \"/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. \nIf a shell referenced in \"/etc/passwd\" is not listed in the shells stanza, excluding the above mentioned shells, this is a finding.","fixText":"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\". \n\nAlternatively, use the SMIT to change the \"/etc/passwd\" shell entry.","ccis":["CCI-000366"]},{"vulnId":"V-215289","ruleId":"SV-215289r958408_rule","severity":"medium","ruleTitle":"The AIX SSH server must use SSH Protocol 2.","description":"Without confidentiality protection mechanisms, unauthorized individuals may gain access to sensitive information via a remote access session.\n\nRemote access is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.\n\nEncryption provides a means to secure the remote connection to prevent unauthorized access to the data traversing the remote access connection (e.g., RDP), thereby providing a degree of confidentiality. The encryption strength of a mechanism is selected based on the security categorization of the information.","checkContent":"From the command prompt, run the following command:\n# grep ^Protocol /etc/ssh/sshd_config\n\nThe above command should yield the following output:\nProtocol 2\n\nIf the above command does not show the ssh server supporting \"Protocol 2\" only, this is a finding.","fixText":"Add or edit the following line in the \"/etc/ssh/sshd_config\" file to support \"Protocol 2\" only:\nProtocol 2\n\nSave the change to /etc/ssh/sshd_config\n\nRestart ssh daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000068"]},{"vulnId":"V-215290","ruleId":"SV-215290r958636_rule","severity":"medium","ruleTitle":"AIX must config the SSH idle timeout interval.","description":"Automatic session termination addresses the termination of user-initiated logical sessions in contrast to the termination of network connections that are associated with communications sessions (i.e., network disconnect). A logical session (for local, network, and remote access) is initiated whenever a user (or process acting on behalf of a user) accesses an organizational information system. Such user sessions can be terminated (and thus terminate user access) without terminating network sessions.\n\nSession termination terminates all processes associated with a user's logical session except those processes that are specifically created by the user (i.e., session owner) to continue after the session is terminated.\n\nConditions or trigger events requiring automatic session termination can include, for example, organization-defined periods of user inactivity, targeted responses to certain types of incidents, and time-of-day restrictions on information system use.\n\nThis capability is typically reserved for specific operating system functionality where the system owner, data owner, or organization requires additional assurance.\nSatisfies: SRG-OS-000163-GPOS-00072","checkContent":"Run the following command to check if \"ClientAliveInterval\" and \"ClientAliveCountMax\" are set for SSH server:\n\n# grep -E \"^ClientAliveInterval|^ClientAliveCountMax\" /etc/ssh/sshd_config\nClientAliveInterval 600\nClientAliveCountMax 0\n\nIf \"ClientAliveCountMax\" is not set or its value is not \"0\", this is a finding.\n\nIf \"ClientAliveInterval\" is not set, or its value is not \"600\" (10-minutes) or less, this is a finding.","fixText":"Add or update the following lines in \"/etc/ssh/sshd_config\":\nClientAliveInterval 600 \nClientAliveCountMax 0\n\nRestart sshd:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-001133","CCI-002361"]},{"vulnId":"V-215291","ruleId":"SV-215291r1009547_rule","severity":"medium","ruleTitle":"AIX must disable Kerberos Authentication in ssh config file to enforce access restrictions.","description":"Without auditing the enforcement of access restrictions against changes to the application configuration, it will be difficult to identify attempted attacks and an audit trail will not be available for forensic investigation for after-the-fact actions.\n\nEnforcement actions are the methods or mechanisms used to prevent unauthorized changes to configuration settings. Enforcement action methods may be as simple as denying access to a file based on the application of file permissions (access restriction). Audit items may consist of lists of actions blocked by access restrictions or changes identified after the fact.","checkContent":"Check the SSH daemon configuration for the Kerberos authentication setting: \n# grep -i KerberosAuthentication /etc/ssh/sshd_config | grep -v '^#' \n\nIf the setting is present and set to \"yes\", this is a finding.","fixText":"Edit the \"/etc/ssh/sshd_config\" file and add or change the \"KerberosAuthentication\" value of the setting to \"no\".\n\nRefresh sshd:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-003938","CCI-001814"]},{"vulnId":"V-215292","ruleId":"SV-215292r1050791_rule","severity":"medium","ruleTitle":"If GSSAPI authentication is not required on AIX, the SSH daemon must disable GSSAPI authentication.","description":"GSSAPI authentication is used to provide additional authentication mechanisms to applications. Allowing GSSAPI authentication through SSH exposes the system's GSSAPI to remote hosts, increasing the attack surface of the system. GSSAPI authentication must be disabled unless needed.","checkContent":"Ask the SA if GSSAPI authentication is used for SSH authentication to the system. If so, this is not applicable. \n\nCheck the SSH daemon configuration for the GSSAPI authentication setting: \n\n# grep -i GSSAPIAuthentication /etc/ssh/sshd_config | grep -v '^#' \nGSSAPIAuthentication no\n\nIf the setting is not set to \"no\", this is a finding.","fixText":"Edit \"/etc/ssh/sshd_config\" and remove the \"GSSAPIAuthentication\" setting or change the value to \"no\".\n\nRefresh sshd:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-004895","CCI-002038"]},{"vulnId":"V-215293","ruleId":"SV-215293r1009549_rule","severity":"medium","ruleTitle":"AIX must setup SSH daemon to disable revoked public keys.","description":"Without configuring a local cache of revocation data, there is the potential to allow access to users who are no longer authorized (users with revoked certificates).","checkContent":"If public keys are not used for SSH authentication, this is Not Applicable.\n\nRun the following command:\n\n# grep \"^RevokedKeys\" /etc/ssh/sshd_config\nRevokedKeys     /etc/ssh/RevokedKeys.txt\n\nIf the command does not find the \"RevokedKeys\" setting, or the value for \"RevokedKeys\" is set to \"none\", this is a finding.","fixText":"Obtain the file that contains all the public keys that need to be revoked from ISSO/SA and save the file in /etc/ssh/ directory.\n \nEdit the \"/etc/ssh/sshd_config\" file to allow \"RevokedKeys\" to point to the revoked key file obtained above.\n\nRestart the SSH daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-004068","CCI-001991"]},{"vulnId":"V-215294","ruleId":"SV-215294r991589_rule","severity":"medium","ruleTitle":"AIX SSH daemon must be configured to only use Message Authentication Codes (MACs) employing FIPS 140-2 approved cryptographic hash algorithms.","description":"DoD information systems are required to use FIPS 140-2 approved cryptographic hash functions.","checkContent":"Check the SSH daemon configuration for allowed MACs by running the following command: \n# grep -i macs /etc/ssh/sshd_config | grep -v '^#' \nMACs hmac-sha1,hmac-sha1-96,hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96\n\nIf no lines are returned, or the returned MAC list contains any MAC that is not FIPS 140-2 approved, this is a finding.","fixText":"Edit the \"/etc/ssh/sshd_config\" file and add/edit the following line to contain FIPS 140-2 approved ciphers:\nMACs hmac-sha1,hmac-sha1-96,hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96\n\nRestart SSH daemon:\n# stopsrc -s sshd\n# startsrc -s sshd\n\nNote: If the \"MACs\" configuration contains any ciphers that are not FIPS 140-2 approved, they should be removed from the configuration file.","ccis":["CCI-000366"]},{"vulnId":"V-215295","ruleId":"SV-215295r1009551_rule","severity":"medium","ruleTitle":"The AIX SSH daemon must be configured for IP filtering.","description":"The SSH daemon must be configured for IP filtering to provide a layered defense against connection attempts from unauthorized addresses.","checkContent":"Note: If the installed version of OpenSSH is 6.7 or above, this requirement is not applicable.\n\nCheck the TCP wrappers configuration files to determine if SSHD is configured to use TCP wrappers using commands: \n\n# grep sshd /etc/hosts.deny \nsshd : ALL\n\n# grep sshd /etc/hosts.allow \nsshd : 10.10.20.*\n\nIf no entries are returned, the TCP wrappers are not configured for SSHD, this is a finding.","fixText":"Add appropriate IP restrictions for SSH to the \"/etc/hosts.deny\" and/or \"/etc/hosts.allow\" files. \n\nTCP Wrappers can be installed from the AIX Expansion Pack by installing fileset \"netsec.options.tcpwrappers\" using the following command (assume AIX Expansion Pack is mounted on /dev/cd0):\n# installp -aXYgd /dev/cd0 -e /tmp/install.log netsec.options.tcpwrappers","ccis":["CCI-000366"]},{"vulnId":"V-215296","ruleId":"SV-215296r991589_rule","severity":"medium","ruleTitle":"The AIX SSH daemon must not allow compression.","description":"If compression is allowed in an SSH connection prior to authentication, vulnerabilities in the compression software could result in compromise of the system from an unauthenticated connection, potentially with root privileges.","checkContent":"Note:  If the installed version of OpenSSH is 7.4 or above, this requirement is not applicable.\n\nCheck the SSH daemon configuration for the Compression setting by running: \n# grep -i Compression /etc/ssh/sshd_config | grep -v '^#' \nCompression no\n\nIf the setting is not present, or it is not set to \"no\", this is a finding.","fixText":"Edit the \"/etc/ssh/sshd_config\" file and add (or modify) the following line:\nCompression no\n\nRestart the SSH daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000366"]},{"vulnId":"V-215297","ruleId":"SV-215297r991589_rule","severity":"medium","ruleTitle":"AIX must turn on SSH daemon privilege separation.","description":"SSH daemon privilege separation causes the SSH process to drop root privileges when not needed, which would decrease the impact of software vulnerabilities in the unprivileged section.","checkContent":"Check the SSH daemon configuration for the \"UsePrivilegeSeparation\" setting using command: \n\n# grep -i UsePrivilegeSeparation  /etc/ssh/sshd_config | grep -v '^#' \nUsePrivilegeSeparation yes\n\nIf the setting is not present or the setting is \"no\", this is a finding.","fixText":"Edit the \"/etc/sshd/sshd_config\" file and add the following line:\nUsePrivilegeSeparation yes\n\nRestart the SSH daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000366"]},{"vulnId":"V-215298","ruleId":"SV-215298r991589_rule","severity":"medium","ruleTitle":"AIX must turn on SSH daemon reverse name checking.","description":"If reverse name checking is off, SSH may allow a remote attacker to circumvent security policies and attempt to or actually login from IP addresses that are not permitted to access resources.","checkContent":"Check the SSH daemon configuration for the \"VerifyReverseMapping\" setting using command: \n\n# grep -i VerifyReverseMapping  /etc/ssh/sshd_config | grep -v '^#' \nVerifyReverseMapping yes\n\nIf the setting is not present or the setting is \"no\", this is a finding.","fixText":"Edit the \"/etc/sshd/sshd_config\" file and add the following line:\nVerifyReverseMapping yes\n\nRestart the SSH daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000366"]},{"vulnId":"V-215299","ruleId":"SV-215299r991589_rule","severity":"medium","ruleTitle":"AIX SSH daemon must perform strict mode checking of home directory configuration files.","description":"If other users have access to modify user-specific SSH configuration files, they may be able to log into the system as another user.","checkContent":"Check the SSH daemon configuration for the \"StrictModes\" setting using command: \n\n# grep -i StrictModes /etc/ssh/sshd_config | grep -v '^#' \nStrictModes yes\n\nIf the setting is missing or is set to \"no\", this is a finding.","fixText":"Edit the \"/etc/sshd/sshd_config\" file and add or change the \"StrictModes\"  setting to \"yes\".\n\nRestart the SSH daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000366"]},{"vulnId":"V-215300","ruleId":"SV-215300r991589_rule","severity":"medium","ruleTitle":"AIX must turn off X11 forwarding for the SSH daemon.","description":"X11 forwarding over SSH allows for the secure remote execution of X11-based applications. This feature can increase the attack surface of an SSH connection and should not be enabled unless needed.","checkContent":"If X11 forwarding has been authorized for use, this is Not Applicable.\n\nCheck the SSH daemon configuration for the \"X11Forwarding\" directive using command: \n\n# grep -i X11Forwarding /etc/ssh/sshd_config | grep -v '^#' \nX11Forwarding no\n\nIf the setting is not present or the setting is \"yes\", this is a finding.","fixText":"Edit the \"/etc/sshd/sshd_config\" file to add the following line and save the change:\nX11Forwarding no\n\nRestart the SSH daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000366"]},{"vulnId":"V-215301","ruleId":"SV-215301r991589_rule","severity":"medium","ruleTitle":"AIX must turn off TCP forwarding for the SSH daemon.","description":"SSH TCP connection forwarding provides a mechanism to establish TCP connections proxied by the SSH server. This function can provide similar convenience to a Virtual Private Network (VPN) with the similar risk of providing a path to circumvent firewalls and network ACLs.","checkContent":"If TCP forwarding is approved for use by the ISSO, this is not applicable.\n\nCheck the SSH daemon configuration for the \"AllowTcpForwarding\" directive using command: \n\n# grep -i AllowTcpForwarding /etc/ssh/sshd_config | grep -v '^#' \nAllowTcpForwarding no\n\nIf the setting is not present or the setting is \"yes\", this is a finding.","fixText":"Edit the \"/etc/sshd/sshd_config\" file to add the following line and save the change:\nAllowTcpForwarding no\n\nRestart the SSH daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000366"]},{"vulnId":"V-215302","ruleId":"SV-215302r991591_rule","severity":"medium","ruleTitle":"The AIX SSH daemon must be configured to disable empty passwords.","description":"When password authentication is allowed, PermitEmptyPasswords specifies whether the server allows login to accounts with empty password strings. If an account has an empty password, anyone could log in and run commands with the privileges of that account. Accounts with empty passwords should never be used in operational environments.","checkContent":"Check the SSH daemon configuration for allowed empty passwords using command: \n\n# grep -i PermitEmptyPasswords /etc/ssh/sshd_config | grep -v '^#' \nPermitEmptyPasswords no\n\nIf no lines are returned, or the returned \"PermitEmptyPasswords\" directive contains \"yes\", this is a finding.","fixText":"Edit \"/etc/ssh/sshd_config\" and add or edit the \"PermitEmptyPasswords \" line as:\nPermitEmptyPasswords  no\n\nSave the change and restart ssh daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000366"]},{"vulnId":"V-215303","ruleId":"SV-215303r991591_rule","severity":"medium","ruleTitle":"The AIX SSH daemon must be configured to disable user .rhosts files.","description":"Trust .rhost file means a compromise on one host can allow an attacker to move trivially to other hosts.","checkContent":"Check the SSH daemon configuration for allowed \".rhosts\" using command: \n\n# grep -i IgnoreRhosts /etc/ssh/sshd_config | grep -v '^#' \nIgnoreRhosts yes\n\nIf no lines are returned, or the returned \"IgnoreRhosts\" directive is not set to \"yes\", this is a finding.","fixText":"Edit \"/etc/ssh/sshd_config\" and add or update the \"IgnoreRhosts \" line as:\nIgnoreRhosts  yes\n\nSave the change and restart ssh daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000366"]},{"vulnId":"V-215304","ruleId":"SV-215304r991591_rule","severity":"medium","ruleTitle":"The AIX SSH daemon must be configured to not use host-based authentication.","description":"SSH trust relationships mean a compromise on one host can allow an attacker to move trivially to other hosts.","checkContent":"Check the SSH daemon configuration for allowed host-based authentication using command: \n\n# grep -i HostbasedAuthentication /etc/ssh/sshd_config | grep -v '^#'\nHostbasedAuthentication no\n\nIf no lines are returned, or the returned \"HostbasedAuthentication\" directive contains \"yes\", this is a finding.","fixText":"Edit \"/etc/ssh/sshd_config\" and add or update the \"HostbasedAuthentication\" line as:\nHostbasedAuthentication  no\n\nSave the change and restart ssh daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000366"]},{"vulnId":"V-215305","ruleId":"SV-215305r991591_rule","severity":"medium","ruleTitle":"The AIX SSH daemon must not allow RhostsRSAAuthentication.","description":"If SSH permits rhosts RSA authentication, a user may be able to log in based on the keys of the host originating the request and not any user-specific authentication.","checkContent":"Check the SSH daemon configuration for the \"RhostsRSAAuthentication\" setting by running: \n# grep -i RhostsRSAAuthentication /etc/ssh/sshd_config | grep -v '^#' \n\nThe above command should yield the following output:\nRhostsRSAAuthentication no\n\nIf the setting is present and set to \"yes\", this is a finding.","fixText":"Edit the \"/etc/ssh/sshd_config file\", add the following line, and save the change:\nRhostsRSAAuthentication no\n\nRestart the SSH daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000366"]},{"vulnId":"V-215306","ruleId":"SV-215306r991593_rule","severity":"medium","ruleTitle":"If AIX SSH daemon is required, the SSH daemon must only listen on the approved listening IP addresses.","description":"The SSH daemon should only listen on the approved listening IP addresses. Otherwise the SSH service could be subject to unauthorized access.","checkContent":"From the command prompt, run the following command to check if \"ListenAddress\" is defined in SSH config file:\n\n# grep -i ListenAddress /etc/ssh/sshd_config | grep -v '^#'\nListenAddress  10.17.76.74\n\nIf no configuration is returned, or if a returned listen configuration contains addresses not permitted, this is a finding.","fixText":"Edit the SSH daemon config file and add/modify the \"ListenAddress\" network addresses:\n# vi /etc/ssh/sshd_config\n\nRestart SSH daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000366"]},{"vulnId":"V-215308","ruleId":"SV-215308r991589_rule","severity":"medium","ruleTitle":"AIX system must require authentication upon booting into single-user and maintenance modes.","description":"This prevents attackers with physical access from trivially bypassing security on the machine and gaining root access. Such accesses are further prevented by configuring the bootloader password.","checkContent":"Verify that the \"root\" account has a password assigned:\n\n# cut -d: -f1,2 /etc/passwd | grep root\n\nroot:!\n\nIf the \"root\" account is not listed with an \"!\", this is a finding.","fixText":"Assign the \"root\" account a password using passwd command while logged on as \"root\":\n# passwd","ccis":["CCI-000366"]},{"vulnId":"V-215309","ruleId":"SV-215309r958640_rule","severity":"low","ruleTitle":"If bash is used, AIX must display logout messages.","description":"If a user cannot explicitly end an operating system session, the session may remain open and be exploited by an attacker; this is referred to as a zombie session. Users need to be aware of whether or not the session has been terminated.\n\nInformation resources to which users gain access via authentication include, for example, local workstations and remote services. Logoff messages can be displayed after authenticated sessions have been terminated. However, for some types of interactive sessions, including, for example, remote login, information systems typically send logoff messages as final messages prior to terminating sessions.","checkContent":"Identify any users that are using the BASH shell:\n\n# cut -d: -f1,7 /etc/passwd | grep -i bash\ndoejohn:/bin/bash\n\nIf no users are assigned the BASH shell, this is Not Applicable\n\nVerify that each BASH shell user has a \".bash_logout\" file:\n\n# for home in `cut -d: -f6 /etc/passwd`; do ls -alL $home/.bash_logout; done\n-rwxr-----    1 doejohn  staff           297 Jan 29 09:47 /home/doejohn/.bash_logout\n\nIf a user does not have their \".bash_logout\" file, this is a finding.\n\nVerify that each \".bash_logout\" file identified above contains a logout message:\n\n# cat <user_home_directory>/.bash_logout\necho \"You are being disconnected.\"\nsleep 5 \n\nIf the \".bash_logout\" file is not configured to display a logout message, this is a finding.","fixText":"Create the \".bash_logout\" file if it does not exist.\n\nAdd the following two lines to \".bash_logout\" to display a logout message and sleep for \"5\" seconds:\necho \"You are being disconnected.\"\nsleep 5","ccis":["CCI-002364"]},{"vulnId":"V-215310","ruleId":"SV-215310r958640_rule","severity":"low","ruleTitle":"If Bourne / ksh shell is used, AIX must display logout messages.","description":"If a user cannot explicitly end an operating system session, the session may remain open and be exploited by an attacker; this is referred to as a zombie session. Users need to be aware of whether or not the session has been terminated.\n\nInformation resources to which users gain access via authentication include, for example, local workstations and remote services. Logoff messages can be displayed after authenticated sessions have been terminated. However, for some types of interactive sessions, including, for example, remote login, information systems typically send logoff messages as final messages prior to terminating sessions.","checkContent":"Verify users have a \".logout\" file in their home directory:\n\n# for home in `cut -d: -f6 /etc/passwd`; do ls -alL $home/.logout; done\n-rwxr-----    1 root  system           297 Jan 29 09:47 /root/.logout\n-rwxr-----    1 doejohn  staff        297 Jul 4 00:47 /home/doejohn/.logout\n\nIf an interactive user does not have their \".logout\" file, this is a finding.\n\nVerify that each \".logout\" file identified above contains a logout message:\n\n# cat <user_home_directory>/.logout\necho \"You are being disconnected.\"\nsleep 5\n\nIf the \".logout\" file does not display a logout message, this is a finding.\n\nVerify each users' \".profile\" file calls \"$HOME/.logout\" while logging out:\n\n# grep \"trap '$HOME/.logout' EXIT \" <user_home_directory>/.profile\ntrap '$HOME/.logout' EXIT\n\nIf the \".profile\" file does not call \"$HOME/.logout\", this is a finding.","fixText":"Create the \".logout\" file if it does not exist.\n\nAdd the following two lines to \".logout\" to display a logout message and sleep for \"5\" seconds:\necho \"You are being disconnected.\"\nsleep 5\n\nCreate, or modify, \".profile\" to include the following line:\ntrap '$HOME/.logout' EXIT","ccis":["CCI-002364"]},{"vulnId":"V-215311","ruleId":"SV-215311r958640_rule","severity":"low","ruleTitle":"If csh/tcsh shell is used, AIX must display logout messages.","description":"If a user cannot explicitly end an operating system session, the session may remain open and be exploited by an attacker; this is referred to as a zombie session. Users need to be aware of whether or not the session has been terminated.\n\nInformation resources to which users gain access via authentication include, for example, local workstations and remote services. Logoff messages can be displayed after authenticated sessions have been terminated. However, for some types of interactive sessions, including, for example, remote login, information systems typically send logoff messages as final messages prior to terminating sessions.","checkContent":"Check if users have their \"$HOME/.logout\" files.\n\nIf a user does not have their \".logout\" file, or the \".logout\" file does not display a logout message, this is a finding.","fixText":"Create the \".logout\" file if it does not exist.\n\nAdd the following two lines to \".logout\" to display a logout message and sleep for \"5\" seconds:\necho \"You are being disconnected.\"\nsleep 5","ccis":["CCI-002364"]},{"vulnId":"V-215312","ruleId":"SV-215312r991589_rule","severity":"medium","ruleTitle":"AIX must implement a remote syslog server that is documented using site-defined procedures.","description":"If a remote log host is in use and it has not been justified and documented, sensitive information could be obtained by unauthorized users without the administrator’s knowledge.\n\nSatisfies: SRG-OS-000480-GPOS-00227, SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224","checkContent":"Examine the \"syslog.conf\" file for any references to remote log hosts using command: \n\n# grep -v \"^#\" /etc/syslog.conf | grep '@' \n@<loghost>\n\nAsk ISSO/SA for a list of valid remote syslog servers justified and documented using site-defined procedures.\n\nDestination locations beginning with \"@\" 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 syslog host documented using site-defined procedures. \n\nIf a loghost is not defined, not documented, or is commented out this is a finding.","fixText":"Edit the /etc/syslog.conf file to include a documented and approved remote log host.","ccis":["CCI-000366","CCI-001851"]},{"vulnId":"V-215313","ruleId":"SV-215313r991589_rule","severity":"medium","ruleTitle":"The AIX syslog daemon must not accept remote messages unless it is a syslog server documented using site-defined procedures.","description":"Unintentionally running a syslog server accepting remote messages puts the system at increased risk. Malicious syslog messages sent to the server could exploit vulnerabilities in the server software itself, could introduce misleading information in to the system's logs, or could fill the system's storage leading to a Denial of Service.","checkContent":"Verify \"syslogd\" is running with the \"-R\" option using command: \n# ps -ef | grep syslogd | grep -v grep \n\nThe above command should yield the following output:\n    root  4063356  3342368   0   Sep 11      -  0:01 /usr/sbin/syslogd -R\n\nIf the \"-R\" option is not present with the syslogd process, this is a finding.","fixText":"Change the \"syslogd\" arguments in the src subsystem control and restart the \"syslogd\" daemon using the following commands:\n# chssys -s syslogd -a '-R' \n# stopsrc -s syslogd \n# startsrc -s syslogd","ccis":["CCI-000366"]},{"vulnId":"V-215314","ruleId":"SV-215314r1009552_rule","severity":"medium","ruleTitle":"AIX must be configured to use syslogd to log events by TCPD.","description":"Without auditing the enforcement of access restrictions against changes to the application configuration, it will be difficult to identify attempted attacks and an audit trail will not be available for forensic investigation for after-the-fact actions.\n\nEnforcement actions are the methods or mechanisms used to prevent unauthorized changes to configuration settings. Enforcement action methods may be as simple as denying access to a file based on the application of file permissions (access restriction). Audit items may consist of lists of actions blocked by access restrictions or changes identified after the fact.","checkContent":"Normally, TCPD logs to the \"mail\" facility in \"/etc/syslog.conf\". Determine if syslog is configured to log events by TCPD. \n\nProcedure: \n# more /etc/syslog.conf \n\nLook for entries similar to the following: \nmail.debug  /var/adm/maillog \nmail.none  /var/adm/maillog \nmail.*  /var/log/mail \nauth.info  /var/log/messages \n\nThe above entries would indicate mail alerts are being logged. \n\nIf no entries for \"mail\" exist, then TCPD is not logging and this is a finding.","fixText":"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. Edit the \"/etc/syslog.conf\" file by writing the following to the file.\nauth.info /var/log/messages\n\n# touch /var/log/messages\n# refresh -s yslogd","ccis":["CCI-003938","CCI-001814"]},{"vulnId":"V-215315","ruleId":"SV-215315r958444_rule","severity":"medium","ruleTitle":"The AIX audit configuration files must be owned by root.","description":"Without the capability to restrict which roles and individuals can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events. Misconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.","checkContent":"Check that all the audit configuration files under /etc/security/audit/* have correct ownership. \n\n# ls -l /etc/security/audit/*\n-rw-r-----    1 root     audit            37 Oct 10 2016  /etc/security/audit/bincmds\n-rw-r-----    1 root     audit          2838 Sep 05 16:33 /etc/security/audit/config\n-rw-r-----    1 root     audit         26793 Oct 10 2016  /etc/security/audit/events\n-rw-r-----    1 root     audit           340 Oct 10 2016  /etc/security/audit/objects\n-rw-r-----    1 root     audit            54 Oct 10 2016  /etc/security/audit/streamcmds\n\nIf any file's ownership is not \"root\", this is a finding.","fixText":"Set the owner audit configuration files to \"root\".\n# chown root /etc/security/audit/*","ccis":["CCI-000171"]},{"vulnId":"V-215316","ruleId":"SV-215316r958444_rule","severity":"medium","ruleTitle":"The AIX audit configuration files must be group-owned by audit.","description":"Without the capability to restrict which roles and individuals can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events. Misconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.","checkContent":"Check that all the audit configuration files under /etc/security/audit/* have group ownership. \n\n# ls -l /etc/security/audit/*\n-rw-r-----    1 root     audit            37 Oct 10 2016  /etc/security/audit/bincmds\n-rw-r-----    1 root     audit          2838 Sep 05 16:33 /etc/security/audit/config\n-rw-r-----    1 root     audit         26793 Oct 10 2016  /etc/security/audit/events\n-rw-r-----    1 root     audit           340 Oct 10 2016  /etc/security/audit/objects\n-rw-r-----    1 root     audit            54 Oct 10 2016  /etc/security/audit/streamcmds\n\nIf any file's group ownership is not \"audit\",  this is a finding.","fixText":"Set the group of the audit configuration files to \"audit\".\n# chgrp audit /etc/security/audit/*","ccis":["CCI-000171"]},{"vulnId":"V-215317","ruleId":"SV-215317r958444_rule","severity":"medium","ruleTitle":"The AIX audit configuration files must be set to 640 or less permissive.","description":"Without the capability to restrict which roles and individuals can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events. Misconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.","checkContent":"Check that all the audit configuration files under /etc/security/audit/* have correct permissions. \n\n# ls -l /etc/security/audit/*\n-rw-r-----    1 root     audit            37 Oct 10 2016  /etc/security/audit/bincmds\n-rw-r-----    1 root     audit          2838 Sep 05 16:33 /etc/security/audit/config\n-rw-r-----    1 root     audit         26793 Oct 10 2016  /etc/security/audit/events\n-rw-r-----    1 root     audit           340 Oct 10 2016  /etc/security/audit/objects\n-rw-r-----    1 root     audit            54 Oct 10 2016  /etc/security/audit/streamcmds\n\nIf any file has a mode more permissive than \"640\",  this is a finding.","fixText":"Change the permission of the audit configuration files to \"640\".\n# chmod 640 /etc/security/audit/*","ccis":["CCI-000171"]},{"vulnId":"V-215318","ruleId":"SV-215318r958402_rule","severity":"medium","ruleTitle":"AIX must automatically lock after 15 minutes of inactivity in the CDE Graphical desktop environment.","description":"A session time-out lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not log out because of the temporary nature of the absence. Rather than relying on the user to manually lock their operating system session prior to vacating the vicinity, operating systems need to be able to identify when a user's session has idled and take action to initiate the session lock.\n\nThe session lock is implemented at the point where session activity can be determined and/or controlled.","checkContent":"If CDE (X11) is not used on AIX, this is Not Applicable.\n\nFrom the command prompt, run the following script:\nfor file in /usr/dt/config/*/sys.resources; do\n  etc_file=`echo $file | sed -e s/usr/etc/`\n  echo \"\\nChecking config file \"$etc_file\"...\"\n  if [[ ! -f $etc_file ]]; then\n    echo \"Missing config file \"$etc_file\n  else\n    cat $etc_file |grep 'dtsession\\*saverTimeout:'\n    cat $etc_file |grep 'dtsession\\*lockTimeout:'\n  fi\ndone\n\nThe above script should yield the following output:\nChecking config file /etc/dt/config/C/sys.resources...\nMissing config file /etc/dt/config/C/sys.resources\n\nChecking config file /etc/dt/config/POSIX/sys.resources...\ndtsession*saverTimeout: 15\ndtsession*lockTimeout: 30\n\nChecking config file /etc/dt/config/en_US/sys.resources...\ndtsession*saverTimeout: 15\ndtsession*lockTimeout: 25\n\nIf the result of the script shows any config file missing, or any of the \"dtsession*saverTimeout\" or \"dtsession*lockTimeout\" values are greater than \"15\", this is a finding.","fixText":"From the command prompt, run the following script to set the default timeout parameters \"dtsession*saverTimeout:\" and \"dtsession*lockTimeout:\" as \"15\" minutes: \nfor file in /usr/dt/config/*/sys.resources; do\n  etc_file=`echo $file | sed -e s/usr/etc/`\n  echo \"\\nupdating config file \"$etc_file\"...\"\n  if [[ ! -f $etc_file ]]; then\n    dir=`dirname $file | sed -e s/usr/etc/`\n    mkdir -p $dir\n    echo 'dtsession*saverTimeout: 15' >> $dir/sys.resources\n    echo 'dtsession*lockTimeout: 15' >> $dir/sys.resources\n  else\n    cp $etc_file $etc_file.bak\n    cat $etc_file | grep -v 'dtsession\\*saverTimeout:' > $etc_file.sav\n    cat $etc_file.sav | grep -v 'dtsession\\*lockTimeout:' > $etc_file\n    echo 'dtsession*saverTimeout: 15' >> $etc_file\n    echo 'dtsession*lockTimeout: 15' >> $etc_file\n  fi\ndone","ccis":["CCI-000057"]},{"vulnId":"V-215320","ruleId":"SV-215320r1009553_rule","severity":"medium","ruleTitle":"AIX must set inactivity time-out on login sessions and terminate all login sessions after 10 minutes of inactivity.","description":"Automatic session termination addresses the termination of user-initiated logical sessions in contrast to the termination of network connections that are associated with communications sessions (i.e., network disconnect). A logical session (for local, network, and remote access) is initiated whenever a user (or process acting on behalf of a user) accesses an organizational information system. Such user sessions can be terminated (and thus terminate user access) without terminating network sessions.\n\nSession termination terminates all processes associated with a user's logical session except those processes that are specifically created by the user (i.e., session owner) to continue after the session is terminated.\n\nIf a maintenance session or connection remains open after maintenance is completed, it may be hijacked by an attacker and used to compromise or damage the system.\n\nSome maintenance and test tools are either standalone devices with their own operating systems or are applications bundled with an operating system.\n\nConditions or trigger events requiring automatic session termination can include, for example, organization-defined periods of user inactivity, targeted responses to certain types of incidents, and time-of-day restrictions on information system use.\n\nThis capability is typically reserved for specific operating system functionality where the system owner, data owner, or organization requires additional assurance.\n\nTerminating network connections associated with communications sessions includes, for example, de-allocating associated TCP/IP address/port pairs at AIX level, and de-allocating networking assignments at the application level if multiple application sessions are using a single operating system-level network connection. This does not mean that AIX terminates all sessions or network access; it only ends the inactive session and releases the resources associated with that session.\n\n\nSatisfies: SRG-OS-000279-GPOS-00109, SRG-OS-000163-GPOS-00072, SRG-OS-000126-GPOS-00066","checkContent":"Check if \"TMOUT\" and \"TIMEOUT\" environment variables are set to \"600\" (in seconds) in \"/etc/profile\" file:\n\n# grep -E \" TMOUT|TIMEOUT\" /etc/profile\nreadonly TMOUT=600; readonly TIMEOUT=600; export TMOUT TIMEOUT\n\nIf they are not set in \"/etc/profile\" file, are commented out, or their values are greater than \"600\", this is a finding.","fixText":"Add or update the following line in the \"/etc/profile\" file:\nreadonly TMOUT=600; readonly TIMEOUT=600; export TMOUT TIMEOUT","ccis":["CCI-001133","CCI-002361","CCI-000879"]},{"vulnId":"V-215321","ruleId":"SV-215321r958450_rule","severity":"medium","ruleTitle":"AIX SSH private host key files must have mode 0600 or less permissive.","description":"If the private key is discovered, an attacker can use the key to authenticate as an authorized user and gain access to the network infrastructure.\n\nThe cornerstone of the PKI is the private key used to encrypt or digitally sign information.\n\nIf the private key is stolen, this will lead to the compromise of the authentication and non-repudiation gained through PKI because the attacker can use the private key to digitally sign documents and pretend to be the authorized user.\n\nBoth the holders of a digital certificate and the issuing authority must protect the computers, storage devices, or whatever they use to keep the private keys.","checkContent":"Check the permissions for SSH private host key files: \n# ls -lL /etc/ssh/*key \n\nThe above command should yield the following output:\n-rw-------    1 root     system          668 Jan 18 2017  /etc/ssh/ssh_host_dsa_key\n-rw-------    1 root     system          227 Jan 18 2017  /etc/ssh/ssh_host_ecdsa_key\n-rw-------    1 root     system          965 Jan 18 2017  /etc/ssh/ssh_host_key\n-rw-------    1 root     system         1675 Jan 18 2017  /etc/ssh/ssh_host_rsa_key\n\nIf any file has a mode more permissive than \"0600\", this is a finding.","fixText":"Change the permissions for the SSH private host key files:\n# chmod 0600 /etc/ssh/*key","ccis":["CCI-000186"]},{"vulnId":"V-215322","ruleId":"SV-215322r987796_rule","severity":"high","ruleTitle":"AIX must disable /usr/bin/rcp,\n/usr/bin/rlogin,\n/usr/bin/rsh, /usr/bin/rexec and /usr/bin/telnet commands.","description":"The listed applications permit the transmission of passwords in plain text.  Alternative applications such as SSH, which encrypt data, should be use instead.","checkContent":"From the command prompt, execute the following commands:\n# ls -l /usr/bin/rcp | awk '{print $1}'\n# ls -l /usr/bin/rlogin | awk '{print $1}'\n# ls -l /usr/bin/rsh | awk '{print $1}'\n# ls -l /usr/bin/telnet | awk '{print $1}'\n# ls -l /usr/bin/rexec | awk '{print $1}'\n\nEach of the above commands should return with the following permissions:\n ----------\n\nIf the permissions are more permissive, this is a finding.","fixText":"Use the chmod command to remove all permissions on these commands: \n# chmod ugo= /usr/bin/rcp\n# chmod ugo= /usr/bin/rlogin\n# chmod ugo= /usr/bin/rsh\n# chmod ugo= /usr/bin/rexec\n# chmod ugo= /usr/bin/telnet","ccis":["CCI-000197"]},{"vulnId":"V-215323","ruleId":"SV-215323r958566_rule","severity":"medium","ruleTitle":"AIX log files must have mode 0640 or less permissive.","description":"Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify AIX or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives.\n\nThe structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.","checkContent":"Check the mode of log files:\n\n# ls -lL /var/log /var/log/syslog /var/adm \n/var/adm:\ntotal 376\ndrw-r-----    2 root     system          256 Jan 24 12:31 SRC\ndrwx------    4 root     system          256 Jan 24 07:28 config\n-rw-r-----    1 root     system         1081 Jan 24 09:05 dev_pkg.fail\n-rw-r-----    1 root     system          250 Jan 24 09:05 dev_pkg.success\n-rw-------    1 root     system           64 Jan 24 09:43 sulog\ndrwxr-xr-x    3 root     system          256 Jan 24 12:28 sw\ndrwx------    2 root     system          256 Jan 24 08:06 wpars\n\n/var/log:\ntotal 8\ndrwxr-xr-x    2 root     system          256 Jan 24 08:44 aso\n-rw-r-----    1 root     system          603 Jan 24 10:30 cache_mgt.dr.log\n\nIf any of the log files have modes more permissive than \"0640\", this is a finding.\n\nNOTE: Do not confuse system logfiles with audit logs. Any subsystems that require less stringent permissions must be documented.","fixText":"Change the mode of the system log file(s) to \"0640\" or less permissive: \n# chmod 0640 /path/to/system-log-file","ccis":["CCI-001314"]},{"vulnId":"V-215324","ruleId":"SV-215324r958566_rule","severity":"medium","ruleTitle":"AIX log files must not have extended ACLs, except as needed to support authorized software.","description":"Only authorized personnel should be aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify AIX or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives.\n\nThe structure and content of error messages must be carefully considered by the organization and development team. The extent to which the information system is able to identify and handle error conditions is guided by organizational policy and operational requirements.","checkContent":"With the assistance of the system administrator, identify all of the system log files.\n\nFor each system log file identified, verify that extended ACL's are disabled:\n\n#aclget <system_log_file>\n*\n* ACL_type   AIXC\n*\nattributes:\nbase permissions\n    owner(root):  rw-\n    group(system):  r--\n    others:  r--\nextended permissions\n    disabled\n\nIf \"extended permissions\" is set to \"enabled\" and is not documented, this is a finding.","fixText":"Remove the extended ACL(s) from the system log file(s):\n# acledit <system_log_file>\n\nSet \"extended permissions\" to \"disabled\".","ccis":["CCI-001314"]},{"vulnId":"V-215325","ruleId":"SV-215325r991560_rule","severity":"medium","ruleTitle":"All system command files must not have extended ACLs.","description":"Restricting permissions will protect system command files from unauthorized modification. System command files include files present in directories used by the operating system for storing default system executables and files present in directories included in the system's default executable search paths.","checkContent":"Verify all system command files have no extended ACLs by running the following commands:\n# aclget /etc \n# aclget /bin \n# aclget /usr/bin \n# aclget /usr/lbin \n# aclget /usr/ucb \n# aclget /sbin \n# aclget /usr/sbin \n\nIf any of the command files have extended permissions enabled, this is a finding.","fixText":"Remove the extended ACL(s) from the system command file(s) and set the extended permissions to disabled by running the following command: \n# acledit [command-path ]/[ command-file]","ccis":["CCI-001499"]},{"vulnId":"V-215326","ruleId":"SV-215326r991560_rule","severity":"medium","ruleTitle":"All library files must not have extended ACLs.","description":"Unauthorized access could destroy the integrity of the library files.","checkContent":"The following system library directories need to be checked:\n/usr/lib/security/\n/usr/lib/methods/\n\nDetermine if any system library file has an extended ACL by running the follow script:\n\nfind /usr/lib/security /usr/lib/methods/ -type f | while read file\ndo\naclget -o /tmp/111.acl $file > /dev/null 2>&1\nif [ $? -eq 0 ]; then\ngrep -e \"[[:space:]]enabled$\" /tmp/111.acl > /dev/null 2>&1\nif [ $? -eq 0 ]; then\necho \"$file has ACL\"\nfi\nfi\ndone\n\nIf the above script yield any output, this is a finding.","fixText":"Remove the extended ACL(s) from the system library file(s) and disable extended permissions using the follow script:\n\nfind /usr/lib/security /usr/lib/methods/ -type f | while read file\ndo\naclget -o /tmp/111.acl $file > /dev/null 2>&1\nif [ $? -eq 0 ]; then\ngrep -e \"[[:space:]]enabled$\" /tmp/111.acl > /dev/null 2>&1\nif [ $? -eq 0 ]; then\necho \"Removing ACL from \"$file\ncat /tmp/111.acl | head -n9 > /tmp/222.acl\necho \"    disabled\" >> /tmp/222.acl\naclput -i /tmp/222.acl $file\nfi\nfi\ndone","ccis":["CCI-001499"]},{"vulnId":"V-215327","ruleId":"SV-215327r991589_rule","severity":"medium","ruleTitle":"AIX passwd.nntp file must have mode 0600 or less permissive.","description":"File permissions more permissive than 0600 for /etc/news/passwd.nntp may allow access to privileged information by system intruders or malicious users.","checkContent":"If NNTP is not being used, this is Not Applicable.\n\nCheck passwd.nntp file permissions using command:\n# find / -name passwd.nntp -exec ls -lL {} \\; \n\nThe above command may yield the following output:\n-rw-------    1 root     system           19 Oct 16 10:46 /etc/news/passwd.nntp\n\nIf a \"passwd.nntp\" file has a mode more permissive than \"0600\", this is a finding.","fixText":"Change the mode of all the found passwd.nntp files that have mode more permissive than \"0600\" using command: \n# chmod 0600 <passwd.nntp_file>","ccis":["CCI-000366"]},{"vulnId":"V-215328","ruleId":"SV-215328r991589_rule","severity":"medium","ruleTitle":"The AIX /etc/group file must not have an extended ACL.","description":"The \"/etc/group\" file contains information regarding groups that are configured on the system. Protection of this file is important for system security.","checkContent":"Check the ACL of the \"/etc/group\" file:\n# aclget /etc/group \n\nThe above command should yield the following output:\n*\n* ACL_type   AIXC\n*\nattributes: \nbase permissions\n    owner(root):  rw-\n    group(security):  r--\n    others:  r--\nextended permissions\n    disabled\n\nIf the extended ACL are not \"disabled\", this is a finding.","fixText":"Remove the extended ACL from the \"/etc/group\" using command: \n# acledit /etc/group","ccis":["CCI-000366"]},{"vulnId":"V-215329","ruleId":"SV-215329r991589_rule","severity":"medium","ruleTitle":"The AIX ldd command must be disabled.","description":"The ldd command provides a list of dependent libraries needed by a given binary, which is useful for troubleshooting software. Instead of parsing the binary file, some ldd implementations invoke the program with a special environment variable set, which causes the system dynamic linker to display the list of libraries. Specially crafted binaries can specify an alternate dynamic linker which may cause a program to be executed instead of examined. If the program is from an untrusted source, such as in a user home directory, or a file suspected of involvement in a system compromise, unauthorized software may be executed with the rights of the user running ldd.","checkContent":"Consult vendor documentation concerning the \"ldd\" command. \n\nIf the command provides protection from the execution of untrusted executables, this is not a finding. \n\nDetermine the location of the system's \"ldd\" command:\n# find / -name ldd \n\nIf no file exists, this is not a finding. \n\nCheck the permissions of the found \"ldd\" file: \n\n# ls -lL <path to ldd> \n----------    1 bin      bin            6289 Feb 28 2017  /usr/bin/ldd\n\nIf the file mode of the file is more permissive than \"0000\", this is a finding","fixText":"Disable the \"ldd\" command by removing its permissions using command:\n# chmod 0000 <path to ldd>","ccis":["CCI-000366"]},{"vulnId":"V-215330","ruleId":"SV-215330r991589_rule","severity":"medium","ruleTitle":"AIX NFS server must be configured to restrict file system access to local hosts.","description":"The NFS access option limits user access to the specified level. This assists in protecting exported file systems. If access is not restricted, unauthorized hosts may be able to access the system's NFS exports.","checkContent":"Check the permissions on exported NFS file systems by running command: \n\n# exportfs -v \n/export/shared -ro,access=10.17.76.74\n\nIf the exported file systems do not contain the \"rw\" or \"ro\" options specifying a list of hosts or networks, this is a finding.","fixText":"Edit \"/etc/exports\" and add \"ro\" and/or \"rw\" options (as appropriate) specifying a list of hosts or networks which are permitted access. \n\nRe-export the file systems:\n# /usr/sbin/exportfs -a","ccis":["CCI-000366"]},{"vulnId":"V-215331","ruleId":"SV-215331r991592_rule","severity":"medium","ruleTitle":"All AIX users home directories must have mode 0750 or less permissive.","description":"Excessive permissions on home directories allow unauthorized access to user files.","checkContent":"Check the home directory mode of each interactive user in \"/etc/passwd\":\n\n#cut -d : -f 6 /etc/passwd | xargs -n1 ls -ld | more \ndrwxr-xr-x   20 root     system         4096 Jan 28 13:46 /\ndrwxr-xr-x   33 root     system         8192 Jan 28 13:51 /etc\nlrwxrwxrwx    1 bin      bin               8 Jan 24 07:23 /bin -> /usr/bin\ndrwxrwxr-x    4 bin      bin             256 Mar 23 2017  /usr/sys\ndrwxrwxr-x   15 root     adm            4096 Jan 24 12:26 /var/adm\ndrwxr-xr-x    2 root     sys            4096 Jan 24 08:43 /usr/lib/uucp\ndrwxr-xr-x    6 root     system         4096 Jan 24 07:34 /var/adm/invscout\ndrwxr-xr-x    3 ipsec    ipsec           256 Jan 24 08:43 /etc/ipsec\ndrwxr-xr-x    2 sshd     system          256 Aug 11 2017  /home/srvproxy\ndrwxr-xr-x    8 esaadmin system          256 Jan 24 09:02 /var/esa\ndrwxr-x---    2 doejohn  staff           256 Jan 25 13:18 /home/doejohn\n\nIf an interactive user's home directory's mode is more permissive than \"0750\", this is a finding. \n\nNOTE: Application directories are allowed and may need \"0755\" permissions (or greater) for correct operation.","fixText":"Change the mode of interactive users' home directories to \"0750\" or less permissive using the following command:\n# chmod 0750 <home directory>","ccis":["CCI-000366"]},{"vulnId":"V-215332","ruleId":"SV-215332r991592_rule","severity":"medium","ruleTitle":"The AIX user home directories must not have extended ACLs.","description":"Excessive permissions on home directories allow unauthorized access to user files.","checkContent":"Verify user home directories have no extended ACLs using command: \n\n# cat /etc/passwd | cut -f 6,6 -d \":\" | xargs -n1 aclget \n*\n* ACL_type   AIXC\n*\nattributes:\nbase permissions\n    owner(root):  rwx\n    group(system):  r-x\n    others:  r---\nextended permissions\n    disabled\n\nIf extended permissions are not disabled, this is a finding.","fixText":"Remove the extended ACL from the user home directory and disable extended permissions: \n# acledit <directory>","ccis":["CCI-000366"]},{"vulnId":"V-215333","ruleId":"SV-215333r958702_rule","severity":"medium","ruleTitle":"AIX must use Trusted Execution (TE) Check policy.","description":"Discretionary Access Control (DAC) is based on the notion that individual users are \"owners\" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment. DAC allows the owner to determine who will have access to objects they control. An example of DAC includes user-controlled file permissions.\n\nWhen discretionary access control policies are implemented, subjects are not constrained with regard to what actions they can take with information for which they have already been granted access. Thus, subjects that have been granted access to information are not prevented from passing (i.e., the subjects have the discretion to pass) the information to other subjects or objects. A subject that is constrained in its operation by Mandatory Access Control policies is still able to operate under the less rigorous constraints of this requirement. Thus, while Mandatory Access Control imposes constraints preventing a subject from passing information to another subject operating at a different sensitivity level, this requirement permits the subject to pass the information to any subject at the same sensitivity level. The policy is bounded by the information system boundary. Once the information is passed outside the control of the information system, additional means may be required to ensure the constraints remain in effect. While the older, more traditional definitions of discretionary access control require identity-based access control, that limitation is not required for this use of discretionary access control.","checkContent":"Run the following command to show the current status of the \"TE\", \"CHKEXEC\", and \"CHKKERNEXT\" on the system:\n# trustchk -p 2>&1 | egrep -e \"TE=|CHKEXEC|CHKKERNEXT\"\n\nThe above command should yield the following output:\nTE=ON\nCHKEXEC=ON\nCHKKERNEXT=ON\n\nIf \"TE\", \"CHKEXEC\", or \"CHKKERNEXT\" is \"OFF\", this is a finding.","fixText":"Run the following command to turn on the all parts of Trusted Execution (TE):\n# trustchk -p TE=on CHKEXEC=on CHKKERNEXT=on","ccis":["CCI-002165"]},{"vulnId":"V-215334","ruleId":"SV-215334r1009554_rule","severity":"high","ruleTitle":"AIX must disable trivial file transfer protocol.","description":"Without auditing the enforcement of access restrictions against changes to the application configuration, it will be difficult to identify attempted attacks and an audit trail will not be available for forensic investigation for after-the-fact actions.\n\nEnforcement actions are the methods or mechanisms used to prevent unauthorized changes to configuration settings. Enforcement action methods may be as simple as denying access to a file based on the application of file permissions (access restriction). Audit items may consist of lists of actions blocked by access restrictions or changes identified after the fact.","checkContent":"From the command prompt, execute the following command: \n# grep \"^tftp[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, it is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"tftp\" entry: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'tftp' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-003938","CCI-001814"]},{"vulnId":"V-215335","ruleId":"SV-215335r958804_rule","severity":"medium","ruleTitle":"AIX must employ a deny-all, permit-by-exception policy to allow the execution of authorized software programs.","description":"Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at AIX-level.\n\nSome of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline.\n\nMethods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles).\n\nThe organization must identify authorized software programs and permit execution of authorized software. The process used to identify software programs that are authorized to execute on organizational information systems is commonly referred to as whitelisting.\n\nVerification of white-listed software occurs prior to execution or at system startup.\n\nThis requirement applies to operating system programs, functions, and services designed to manage system processes and configurations (e.g., group policies).\n\nSatisfies: SRG-OS-000368-GPOS-00154, SRG-OS-000370-GPOS-00155","checkContent":"Run the following command to show the current status of the \"TE\" running on the system:\n# trustchk -p\n\nThe above command should yield the following output:\nTE=ON\n\nIf the output is \"TE=OFF\", this is a finding.","fixText":"Run the following command to turn on Trusted Execution:\n# trustchk -p TE=ON","ccis":["CCI-001764","CCI-001774"]},{"vulnId":"V-215336","ruleId":"SV-215336r958936_rule","severity":"medium","ruleTitle":"AIX must remove all software components after updated versions have been installed.","description":"Previous versions of software components that are not removed from the information system after updates have been installed may be exploited by adversaries. Some information technology products may remove older versions of software automatically from the information system.","checkContent":"Run the following command to check any installed components that are in APPLY state:\n# lslpp -cl | grep :APPLIED:\n\nIf the command returns any entries, this is a finding.","fixText":"Run the following command to commit any applied components:\n# installp -c all","ccis":["CCI-002617"]},{"vulnId":"V-215337","ruleId":"SV-215337r991588_rule","severity":"medium","ruleTitle":"AIX must enforce a delay of at least 4 seconds between login prompts following a failed login attempt.","description":"Limiting the number of login attempts over a certain time interval reduces the chances that an unauthorized user may gain access to an account.","checkContent":"From the command prompt, run the following command to check the default \"logindelay\" value:\n# lssec -f /etc/security/login.cfg -s default -a logindelay\n\nThe above command should yield the following output:\ndefault logindelay=4\n\nIf the above command displays the \"logindelay\" value less than \"4\", this is a finding.","fixText":"From the command prompt, run the following command to set \"logindelay=4\" for the default stanza in \"/etc/security/login.cfg\":\n# chsec -f /etc/security/login.cfg -s default -a logindelay=4","ccis":["CCI-000366"]},{"vulnId":"V-215338","ruleId":"SV-215338r991589_rule","severity":"medium","ruleTitle":"AIX system must restrict the ability to switch to the root user to members of a defined group.","description":"Configuring a supplemental group for users permitted to switch to the root user prevents unauthorized users from accessing the root account, even with knowledge of the root credentials.","checkContent":"Examine the \"sugroups\" of the root user. Generally only users in the adm group should have su to root capacity.\n\nRun the following command: \n\n# lsuser -a sugroups root \nroot sugroups=system,staff,security\n\nIf \"sugroups\" is blank or \"ALL\", this is a finding.","fixText":"Use the \"chsec\" command to only allow users in the adm group to su to root:\n\n# chsec -f /etc/security/user -s root -a sugroups=adm","ccis":["CCI-000366"]},{"vulnId":"V-215339","ruleId":"SV-215339r991589_rule","severity":"medium","ruleTitle":"All AIX Group Identifiers (GIDs) referenced in the /etc/passwd file must be defined in the /etc/group file.","description":"If a user is assigned the GID of a group not existing on the system, and a group with that GID is subsequently created, the user may have unintended rights to the group.","checkContent":"Verify that there are no GIDs referenced in \"/etc/passwd\" that are not defined in \"/etc/group\":\n\n# cut -d: -f4 /etc/passwd\n0\n1\n2\n3\n4\n203\n204\n\n# cut -d: -f3 /etc/group\n0\n1\n2\n3\n4\n203\n204\n\nIf there are GID's listed in the \"/etc/passwd\" file that are not listed in the \"/etc/group\" file, this is a finding.","fixText":"Add a group to the system for each GID referenced without a corresponding group by running \"mkgroup\" command.","ccis":["CCI-000366"]},{"vulnId":"V-215340","ruleId":"SV-215340r991589_rule","severity":"medium","ruleTitle":"All AIX files and directories must have a valid owner.","description":"Unowned files do not directly imply a security problem, but they are generally a sign that something is amiss. They may be caused by an intruder, by incorrect software installation or draft software removal, or by failure to remove all files belonging to a deleted account. The files should be repaired so they will not cause problems when accounts are created in the future, and the cause should be discovered and addressed.","checkContent":"Check the system for files with no assigned owner using the following command:\n# find / -nouser -print \n\nIf any files have no assigned owner, this is a finding.","fixText":"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. \n\nFrom the command prompt, run the following command to set the owner and/or group on a file:\n# chown <a-valid-user>.<a-valid-group> <directory>/<file>","ccis":["CCI-000366"]},{"vulnId":"V-215341","ruleId":"SV-215341r991589_rule","severity":"medium","ruleTitle":"The sticky bit must be set on all public directories on AIX systems.","description":"Failing to set the sticky bit on public directories allows unauthorized users to delete files in the directory structure. The only authorized public directories are those temporary directories supplied with the system, or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system, and by users for temporary file storage - such as /tmp - and for directories requiring global read/write access.","checkContent":"Verify all world-writable directories have the sticky bit set by running the command: \n\n# find / -type d -perm -002 ! -perm -1000 > wwlist \n# cat wwlist\n\nIf any directories are listed in the \"wwlist\" file, this is a finding.","fixText":"Set the sticky bit on all public directories, such as: \n# chmod 1777 /tmp \n\n(Replace /tmp with the public directory missing the sticky bit, if necessary.)","ccis":["CCI-000366"]},{"vulnId":"V-215342","ruleId":"SV-215342r991589_rule","severity":"medium","ruleTitle":"The AIX global initialization files must contain the mesg -n or mesg n commands.","description":"Command \"mesg -n\" allows only the root user the permission to send messages to your workstation to avoid having others clutter your display with incoming messages.","checkContent":"Check global initialization files for the presence of \"mesg n\" command by running: \n\n# grep \"mesg\" /etc/profile /etc/environment /etc/security/environ /etc/security/.profile /etc/csh.login /etc/csh.cshrc \n/etc/profile:mesg n\n/etc/environment:mesg n\n\nIf any global initialization file does not contain \"mesg n\", or it contains the \"mesg y\" command, this is a finding.","fixText":"Edit the global initialization files that do not contain \"mesg n\" command and add the following line to the initialization files:\nmesg n","ccis":["CCI-000366"]},{"vulnId":"V-215343","ruleId":"SV-215343r991589_rule","severity":"medium","ruleTitle":"The AIX hosts.lpd file must not contain a + character.","description":"Having the '+' character in the hosts.lpd (or equivalent) file allows all hosts to use local system print resources.","checkContent":"Look for the presence of a print service configuration file by running the following commands: \n\n# find /etc -name hosts.lpd -print \n# find /etc -name Systems -print \n# find /etc -name printers.conf\n\nIf none of the files are found, this is not applicable. \n\nOtherwise, examine the configuration file by running: \n\n# more <print service file> | grep \"+\"\n@+hamlet\n+lear\n@+prospero\n\nIf any lines are found that contain only a \"+\" character, this is a finding.","fixText":"Remove the \"+\" entries from the \"hosts.lpd\" (or equivalent) file.","ccis":["CCI-000366"]},{"vulnId":"V-215344","ruleId":"SV-215344r991589_rule","severity":"medium","ruleTitle":"AIX sendmail logging must not be set to less than nine in the sendmail.cf file.","description":"If Sendmail is not configured to log at level 9, system logs may not contain the information necessary for tracking unauthorized use of the sendmail service.","checkContent":"Check if \"Sendmail\" logging is set to level \"9\" by running command:\n\n# grep \"^O LogLevel\" /etc/mail/sendmail.cf \nO LogLevel=9\n\nIf logging is set to less than \"9\", this is a finding.","fixText":"Edit /etc/mail/sendmail.cf file, locate the \"O LogLevel\" line, or add a new line if necessary, and change the log level to \"9\". The new LogLevel line should be:\nO LogLevel=9","ccis":["CCI-000366"]},{"vulnId":"V-215345","ruleId":"SV-215345r991589_rule","severity":"medium","ruleTitle":"AIX run control scripts executable search paths must contain only absolute paths.","description":"The executable search path (typically the PATH environment variable) contains a list of directories for the shell to search to find executables. If this path includes the current working directory or other relative paths, executables in these directories may be executed instead of system commands.","checkContent":"Verify run control scripts' library search paths by running: \n\n# grep -r PATH /etc/rc* \n/etc/rc:PATH=/usr/sbin:/usr/bin:/usr/ucb:/etc\n/etc/rc:export PATH ODMDIR\n/etc/rc.C2:export PATH=/usr/bin:/etc:/usr/sbin:/sbin:/usr/ucb\n/etc/rc.CC:export PATH=/usr/bin:/etc:/usr/sbin:/sbin:/usr/ucb\n/etc/rc.bsdnet:export PATH=/usr/bin:/usr/sbin:$PATH\n\nThis variable is formatted as a colon-separated list of directories. \n\nIf there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. \n\nIf an entry begins with a character other than a slash (/) or other than \"$PATH\", it is a relative path, this is a finding.","fixText":"Edit the run control script and remove the relative path entry from the executable search path variable.","ccis":["CCI-000366"]},{"vulnId":"V-215346","ruleId":"SV-215346r987796_rule","severity":"high","ruleTitle":"The AIX rsh daemon must be disabled.","description":"The rsh daemon permits username and passwords to be passed over the network in clear text.","checkContent":"From the command prompt, run the following command:\n# grep -v \"^#\" /etc/inetd.conf |grep rshd \n\nThe above command may show the daemon is enabled like this:\nshell   stream  tcp6    nowait  root    /usr/sbin/rshd  rshd \n\nIf the above grep command returned a line that contains \"rshd\", this is a finding.","fixText":"Edit the \"/etc/inetd.conf\" file and comment out the \"rshd\" service. \n\nRestart the inetd service:\n# refresh -s inetd","ccis":["CCI-000197"]},{"vulnId":"V-215347","ruleId":"SV-215347r987796_rule","severity":"high","ruleTitle":"The AIX rlogind service must be disabled.","description":"The rlogin daemon permits username and passwords to be passed over the network in clear text.","checkContent":"Determine if the \"rlogind\" service is running by running the following command:\n# grep -v \"^#\" /etc/inetd.conf |grep rlogin \n\nIf the above grep command returned a line that contains \"rlogin\", this is a finding.","fixText":"Disable the rlogind service by editing the \"'etc/inetd.conf\" file. \n\n# vi /etc/inetd.conf \n\nComment out the \"rlogind\" service. \n\nRestart the inetd service: \n# refresh -s inetd","ccis":["CCI-000197"]},{"vulnId":"V-215348","ruleId":"SV-215348r958478_rule","severity":"medium","ruleTitle":"The AIX qdaemon must be disabled if local or remote printing is not required.","description":"The qdaemon program is the printing scheduling daemon that manages the submission of print jobs to the piobe service.\n\nTo prevent remote attacks this daemon should not be enabled unless there is no alternative.","checkContent":"From the command prompt, execute the following command:\n# lsitab qdaemon\n\nIf the command yields any output, this is a finding.","fixText":"In \"/etc/inittab\", remove the \"qdaemon\" entry by running the following command:\n# rmitab qdaemon\n\nTo request the init command to re-examine the \"/etc/inittab\" file, enter: \n# telinit q","ccis":["CCI-000381"]},{"vulnId":"V-215349","ruleId":"SV-215349r958478_rule","severity":"medium","ruleTitle":"If AIX system does not act as a remote print server for other servers, the lpd daemon must be disabled.","description":"The lpd daemon accepts remote print jobs from other systems.\n\nTo prevent remote attacks this daemon should not be enabled unless there is no alternative.","checkContent":"From the command prompt, execute the following command:\n# lsitab lpd\n\nIf the command yields any output, this is a finding.","fixText":"In \"/etc/inittab\", remove the \"lpd\" entry by running the following command:\n# rmitab lpd\n\nTo request the init command to re-examine the \"/etc/inittab\" file, enter: \n# telinit q","ccis":["CCI-000381"]},{"vulnId":"V-215350","ruleId":"SV-215350r958478_rule","severity":"medium","ruleTitle":"If AIX system does not support either local or remote printing, the piobe service must be disabled.","description":"The piobe daemon is the I/O back end for the printing process, handling the job scheduling and spooling.\n\nTo prevent remote attacks this daemon should not be enabled unless there is no alternative.","checkContent":"From the command prompt, execute the following command:\n# lsitab piobe\n\nIf the command yields any output, this is a finding.","fixText":"In \"/etc/inittab\", remove the \"piobe\" entry by running the following command:\n# rmitab piobe\n\nTo request the init command to re-examine the \"/etc/inittab\" file, enter: \n# telinit q","ccis":["CCI-000381"]},{"vulnId":"V-215351","ruleId":"SV-215351r958478_rule","severity":"medium","ruleTitle":"If there are no X11 clients that require CDE on AIX, the dt service must be disabled.","description":"This entry executes the CDE startup script which starts the AIX Common Desktop Environment.\n\nTo prevent attacks this daemon should not be enabled unless there is no alternative.","checkContent":"From the command prompt, execute the following command:\n# lsitab dt\n\nIf the command yields any output, this is a finding.","fixText":"In \"/etc/inittab\", remove the \"dt\" entry by running the following command:\n# rmitab dt\n\nTo request the init command to re-examine the \"/etc/inittab\" file, enter: \n# telinit q","ccis":["CCI-000381"]},{"vulnId":"V-215352","ruleId":"SV-215352r958478_rule","severity":"medium","ruleTitle":"If NFS is not required on AIX, the NFS daemon must be disabled.","description":"The rcnfs entry starts the NFS daemons during system boot.\n\nNFS is a service with numerous historical vulnerabilities and should not be enabled unless there is no alternative. If NFS serving is required, then read-only exports are recommended and no filesystem or directory should be exported with root access. Unless otherwise required the NFS daemons (rcnfs) will be disabled.","checkContent":"From the command prompt, execute the following command:\n# lsitab rcnfs\n\nIf the command yields any output, this is a finding.","fixText":"In \"/etc/inittab\", remove the \"rcnfs\" entry by running the following command:\n# rmitab rcnfs\n\nTo request the init command to re-examine the \"/etc/inittab\" file, enter: \n# telinit q","ccis":["CCI-000381"]},{"vulnId":"V-215353","ruleId":"SV-215353r958478_rule","severity":"medium","ruleTitle":"If sendmail is not required on AIX, the sendmail service must be disabled.","description":"The sendmail service has many historical vulnerabilities and, where possible, should be disabled. If the system is not required to operate as a mail server i.e. sending, receiving or processing e-mail, disable the sendmail daemon.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/lib/sendmail\" /etc/rc.tcpip\n\nIf the above command produces any output, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"sendmail\" entry by running command: \n# chrctcp -d sendmail","ccis":["CCI-000381"]},{"vulnId":"V-215354","ruleId":"SV-215354r958478_rule","severity":"medium","ruleTitle":"If SNMP is not required on AIX, the snmpd service must be disabled.","description":"The snmpd daemon is used by many 3rd party applications to monitor the health of the system. This allows remote monitoring of network and server configuration.\n\nTo prevent remote attacks this daemon should not be enabled unless there is no alternative.","checkContent":"Verify there is no \"snmpd\" service running on the AIX by doing the following:\n\nFrom the command prompt, execute the following command: \n\n# grep \"^start[[:blank:]]/usr/sbin/snmpd\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"snmpd\" entry by running command: \n# chrctcp -d snmpd","ccis":["CCI-000381"]},{"vulnId":"V-215355","ruleId":"SV-215355r958478_rule","severity":"medium","ruleTitle":"The AIX DHCP client must be disabled.","description":"The dhcpcd daemon receives address and configuration information from the DHCP server. DHCP relies on trusting the local network. If the local network is not trusted, then it should not be used.\n\nTo prevent remote attacks this daemon should not be enabled unless there is no alternative.\n\nSatisfies: SRG-OS-000095-GPOS-00049, SRG-OS-000480-GPOS-00227","checkContent":"If the DHCP client is needed by the system and is documented, this is Not Applicable. \n\nDetermine if the DHCP client is running: \n\n# ps -ef |grep dhcpcd \n\nIf \"dhcpcd\" is running, this is a finding.\n\nVerify that DHCP is disabled on startup:\n\n# grep \"^start[[:blank:]]/usr/sbin/dhcpcd\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"Disable the system's DHCP client. \n\nIn \"/etc/rc.tcpip\", comment out the \"dhcpcd\" entry by running command:\n\n# chrctcp -d dhcpcd\n\nReboot the system to ensure the DHCP client has been disabled fully. \n\nConfigure a static IP for the system, if network connectivity is required.","ccis":["CCI-000366","CCI-000381"]},{"vulnId":"V-215356","ruleId":"SV-215356r958478_rule","severity":"medium","ruleTitle":"If DHCP is not enabled in the network on AIX, the dhcprd daemon must be disabled.","description":"The dhcprd daemon listens for broadcast packets, receives them, and forwards them to the appropriate server.\n\nTo prevent remote attacks this daemon should not be enabled unless there is no alternative.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/dhcprd\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"dhcprd\" entry by running command: \n# chrctcp -d dhcprd","ccis":["CCI-000381"]},{"vulnId":"V-215357","ruleId":"SV-215357r958478_rule","severity":"medium","ruleTitle":"If IPv6 is not utilized on AIX server, the autoconf6 daemon must be disabled.","description":"\"autoconf6\" is used to automatically configure IPv6 interfaces at boot time. Running this service may allow other hosts on the same physical subnet to connect via IPv6, even when the network does not support it. Disable this unless you use IPv6 on the server.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/autoconf6\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"autoconf6\" entry by running command: \n# chrctcp -d autoconf6","ccis":["CCI-000381"]},{"vulnId":"V-215358","ruleId":"SV-215358r958478_rule","severity":"medium","ruleTitle":"If AIX server is not functioning as a network router, the gated daemon must be disabled.","description":"This daemon provides gateway routing functions for protocols such as RIP and SNMP.\n\nTo prevent remote attacks this daemon should not be enabled unless there is no alternative.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/gated\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"gated\" entry by running command: \n# chrctcp -d gated","ccis":["CCI-000381"]},{"vulnId":"V-215359","ruleId":"SV-215359r958478_rule","severity":"medium","ruleTitle":"If AIX server is not functioning as a multicast router, the mrouted daemon must be disabled.","description":"This daemon is an implementation of the multicast routing protocol.\n\nTo prevent remote attacks this daemon should not be enabled unless there is no alternative.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/mrouted\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"mrouted\" entry by running command: \n# chrctcp -d mrouted","ccis":["CCI-000381"]},{"vulnId":"V-215360","ruleId":"SV-215360r958478_rule","severity":"medium","ruleTitle":"If AIX server is not functioning as a DNS server, the named daemon must be disabled.","description":"This is the server for the DNS protocol and controls domain name resolution for its clients.\n\nTo prevent attacks this daemon should not be enabled unless there is no alternative.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/named\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"named\" entry by running command: \n# chrctcp -d named","ccis":["CCI-000381"]},{"vulnId":"V-215361","ruleId":"SV-215361r958478_rule","severity":"medium","ruleTitle":"If AIX server is not functioning as a network router, the routed daemon must be disabled.","description":"The routed daemon manages the network routing tables in the kernel.\n\nTo prevent attacks this daemon should not be enabled unless there is no alternative.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/routed\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"routed\" entry by running command: \n# chrctcp -d routed","ccis":["CCI-000381"]},{"vulnId":"V-215362","ruleId":"SV-215362r958478_rule","severity":"medium","ruleTitle":"If rwhod is not required on AIX, the rwhod daemon must be disabled.","description":"This is the remote WHO service.\n\nTo prevent remote attacks this daemon should not be enabled unless there is no alternative.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/rwhod\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"rwhod\" entry by running command: \n# chrctcp -d rwhod","ccis":["CCI-000381"]},{"vulnId":"V-215363","ruleId":"SV-215363r958478_rule","severity":"medium","ruleTitle":"The timed daemon must be disabled on AIX.","description":"This is the old UNIX time service.\n\nThe timed daemon is the old UNIX time service. Disable this service and use xntp, if time synchronization is required in the environment.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/timed\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"timed\" entry by running command: \n# chrctcp -d timed","ccis":["CCI-000381"]},{"vulnId":"V-215364","ruleId":"SV-215364r958478_rule","severity":"medium","ruleTitle":"If AIX server does not host an SNMP agent, the dpid2 daemon must be disabled.","description":"The dpid2 daemon acts as a protocol converter, which enables DPI (SNMP v2) sub-agents, such as hostmibd, to talk to a SNMP v1 agent that follows SNMP MUX protocol.\n\nTo prevent attacks this daemon should not be enabled unless there is no alternative.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/dpid2\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"dpid2\" entry by running command: \n# chrctcp -d dpid2","ccis":["CCI-000381"]},{"vulnId":"V-215365","ruleId":"SV-215365r958478_rule","severity":"medium","ruleTitle":"If SNMP is not required on AIX, the snmpmibd daemon must be disabled.","description":"The snmpmibd daemon is a dpi2 sub-agent which manages a number of MIB variables. If snmpd is not required, it is recommended that it is disabled.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/snmpmibd\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"snmpmibd\" entry by running command: \n# chrctcp -d snmpmibd","ccis":["CCI-000381"]},{"vulnId":"V-215366","ruleId":"SV-215366r958478_rule","severity":"medium","ruleTitle":"The aixmibd daemon must be disabled on AIX.","description":"The aixmibd daemon is a dpi2 sub-agent which manages a number of MIB variables. \n\nTo prevent attacks this daemon should not be enabled unless there is no alternative.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/aixmibd\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"aixmibd\" entry by running command: \n# chrctcp -d aixmibd","ccis":["CCI-000381"]},{"vulnId":"V-215367","ruleId":"SV-215367r958478_rule","severity":"medium","ruleTitle":"The ndpd-host daemon must be disabled on AIX.","description":"This is the Neighbor Discovery Protocol (NDP) daemon, required in IPv6.\n\nThe ndpd-host is the NDP daemon for the server. Unless the server utilizes IPv6, this is not required and should be disabled to prevent attacks.","checkContent":"If the system is using IPv6, this is Not Applicable.\n\nFrom the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/ndpd-host\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"ndpd-host\" entry by running command: \n# chrctcp -d ndpd-host","ccis":["CCI-000381"]},{"vulnId":"V-215368","ruleId":"SV-215368r958478_rule","severity":"medium","ruleTitle":"The ndpd-router must be disabled on AIX.","description":"This manages the Neighbor Discovery Protocol (NDP) for non-kernel activities, required in IPv6.\n\nThe ndpd-router manages NDP for non-kernel activities. Unless the server utilizes IPv6, this is not required and should be disabled to prevent attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/ndpd-router\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"ndpd-router\" entry by running command: \n# chrctcp -d ndpd-router","ccis":["CCI-000381"]},{"vulnId":"V-215369","ruleId":"SV-215369r958478_rule","severity":"medium","ruleTitle":"The daytime daemon must be disabled on AIX.","description":"The daytime service provides the current date and time to other servers on a network.\n\nThis daytime service is a defunct time service, typically used for testing purposes only. The service should be disabled as it can leave the system vulnerable to DoS ping attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^daytime[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"daytime\" entries by running commands: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'daytime' -p 'tcp' \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'daytime' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215370","ruleId":"SV-215370r958478_rule","severity":"medium","ruleTitle":"The cmsd daemon must be disabled on AIX.","description":"This is a calendar and appointment service for CDE.\n\nThe cmsd service is utilized by CDE to provide calendar functionality. If CDE is not required, this service should be disabled to prevent attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^#cmsd[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"cmsd\" entry by running command:\n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'cmsd' -p 'sunrpc_udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215371","ruleId":"SV-215371r958478_rule","severity":"medium","ruleTitle":"The ttdbserver daemon must be disabled on AIX.","description":"The ttdbserver service is the tool-talk database service for CDE. This service runs as root and should be disabled. Unless required the ttdbserver service will be disabled to prevent attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^#ttdbserver[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"ttdbserver\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'ttdbserver' -p 'sunrpc_tcp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215372","ruleId":"SV-215372r958478_rule","severity":"medium","ruleTitle":"The uucp (UNIX to UNIX Copy Program) daemon must be disabled on AIX.","description":"This service facilitates file copying between networked servers.\n\nThe uucp (UNIX to UNIX Copy Program), service allows users to copy files between networked machines. Unless an application or process requires UUCP this should be disabled to prevent attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^uucp[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"uucp\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'uucp' -p 'tcp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215373","ruleId":"SV-215373r958478_rule","severity":"medium","ruleTitle":"The time daemon must be disabled on AIX.","description":"This service can be used to synchronize system clocks.\n\nThe time service is an obsolete process used to synchronize system clocks at boot time. This has been superseded by NTP, which should be used if time synchronization is necessary. Unless required the time service must be disabled.","checkContent":"From the command prompt, execute the following command: \n# grep \"^time[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"time\" entries by running commands: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'time' -p 'udp' \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'time' -p 'tcp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215374","ruleId":"SV-215374r958478_rule","severity":"medium","ruleTitle":"The talk daemon must be disabled on AIX.","description":"This talk service is used to establish an interactive two-way communication link between two UNIX users. Unless required the talk service will be disabled to prevent attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^talk[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"talkd\" entry by running command:\n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'talk' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215375","ruleId":"SV-215375r958478_rule","severity":"high","ruleTitle":"The ntalk daemon must be disabled on AIX.","description":"This service establishes a two-way communication link between two users, either locally or remotely. Unless required the ntalk service will be disabled to prevent attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^ntalk[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"ntalk\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'ntalk' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215376","ruleId":"SV-215376r958478_rule","severity":"medium","ruleTitle":"The chargen daemon must be disabled on AIX.","description":"This service is used to test the integrity of TCP/IP packets arriving at the destination.\n\nThis chargen service is a character generator service and is used for testing the integrity of TCP/IP packets arriving at the destination. An attacker may spoof packets between machines running the chargen service and thus provide an opportunity for DoS attacks. Disable this service to prevent attacks unless testing the network.","checkContent":"From the command prompt, execute the following command: \n# grep \"^chargen[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"chargen\" entries by running commands: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'chargen' -p 'tcp' \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'chargen' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215377","ruleId":"SV-215377r958478_rule","severity":"medium","ruleTitle":"The discard daemon must be disabled on AIX.","description":"The discard service is used as a debugging and measurement tool. It sets up a listening socket and ignores data that it receives. This is a /dev/null service and is obsolete. This can be used in DoS attacks and therefore, must be disabled to prevent attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^discard[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"discard\" entries by running commands: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'discard' -p 'tcp' \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'discard' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215378","ruleId":"SV-215378r958478_rule","severity":"medium","ruleTitle":"The dtspc daemon must be disabled on AIX.","description":"The dtspc service deals with the CDE interface of the X11 daemon. It is started automatically by the inetd daemon in response to a CDE client requesting a process to be started on the daemon's host. This makes it vulnerable to buffer overflow attacks, which may allow an attacker to gain root privileges on a host. This service must be disabled unless it is absolutely required.","checkContent":"From the command prompt, execute the following command: \n# grep \"^dtspc[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"dtspc\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'dtspc' -p 'tcp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215379","ruleId":"SV-215379r958478_rule","severity":"medium","ruleTitle":"The pcnfsd daemon must be disabled on AIX.","description":"The pcnfsd service is an authentication and printing program, which uses NFS to provide file transfer services. This service is vulnerable and exploitable and permits the machine to be compromised both locally and remotely. If PC NFS clients are required within the environment, Samba is recommended as an alternative software solution. The pcnfsd daemon predates Microsoft's release of SMB specifications. This service should therefore be disabled to prevent attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^pcnfsd[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"pcnfsd\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'pcnfsd' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215380","ruleId":"SV-215380r958478_rule","severity":"medium","ruleTitle":"The rstatd daemon must be disabled on AIX.","description":"The rstatd service is used to provide kernel statistics and other monitorable parameters pertinent to the system such as: CPU usage, system uptime, network usage etc. An attacker may use this information in a DoS attack. This service should be disabled.","checkContent":"From the command prompt, execute the following command: \n# grep \"^rstatd[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"rstatd\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'rstatd' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215381","ruleId":"SV-215381r958478_rule","severity":"medium","ruleTitle":"The rusersd daemon must be disabled on AIX.","description":"The rusersd service runs as root and provides a list of current users active on a system. An attacker may use this service to learn valid account names on the system. This is not an essential service and should be disabled.","checkContent":"From the command prompt, execute the following command: \n# grep \"^rusersd[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"rusersd\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'rusersd' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215382","ruleId":"SV-215382r958478_rule","severity":"medium","ruleTitle":"The sprayd daemon must be disabled on AIX.","description":"The sprayd service is used as a tool to generate UDP packets for testing and diagnosing network problems. The service must be disabled if NFS is not in use, as it can be used by attackers in a Distributed Denial of Service (DDoS) attack.","checkContent":"From the command prompt, execute the following command: \n# grep \"^sprayd[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"sprayd\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'sprayd' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215383","ruleId":"SV-215383r958478_rule","severity":"medium","ruleTitle":"The klogin daemon must be disabled on AIX.","description":"The klogin service offers a higher degree of security than traditional rlogin or telnet by eliminating most clear-text password exchanges on the network. However, it is still not as secure as SSH, which encrypts all traffic. If using klogin to log in to a system, the password is not sent in clear text; however, if using \"su\" to another user, that password exchange is open to detection from network-sniffing programs. The recommendation is to use SSH wherever possible instead of klogin.\n\nIf the klogin service is used, use the latest Kerberos version available and make sure that all the latest patches are installed.","checkContent":"From the command prompt, execute the following command: \n# grep \"^klogin[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"klogin\" entry by running command:  \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'klogin' -p 'tcp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215384","ruleId":"SV-215384r958478_rule","severity":"medium","ruleTitle":"The kshell daemon must be disabled on AIX.","description":"The kshell service offers a higher degree of security than traditional rsh services. However, it still does not use encrypted communications. The recommendation is to use SSH wherever possible instead of kshell.\n\nIf the kshell service is used, you should use the latest Kerberos version available and must make sure that all the latest patches are installed.","checkContent":"From the command prompt, execute the following command: \n# grep \"^kshell[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"kshell\" entry by running command:  \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'kshell' -p 'tcp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215385","ruleId":"SV-215385r958478_rule","severity":"medium","ruleTitle":"The rquotad daemon must be disabled on AIX.","description":"The rquotad service allows NFS clients to enforce disk quotas on file systems that are mounted on the local system. This service should be disabled if to prevent attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^rquotad[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"rquotad\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'rquotad' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215386","ruleId":"SV-215386r958478_rule","severity":"medium","ruleTitle":"The tftp daemon must be disabled on AIX.","description":"The tftp service allows remote systems to download or upload files to the tftp server without any authentication. It is therefore a service that should not run, unless needed. One of the main reasons for requiring this service to be activated is if the host is a NIM master. However, the service can be enabled and then disabled once a NIM operation has completed, rather than left running permanently.","checkContent":"From the command prompt, execute the following command: \n# grep \"^tftp[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"tftp\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'tftp' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215387","ruleId":"SV-215387r958478_rule","severity":"medium","ruleTitle":"The imap2 service must be disabled on AIX.","description":"The imap2 service or Internet Message Access Protocol (IMAP) supports the IMAP4 remote mail access protocol. It works with sendmail and bellmail. This service should be disabled if it is not required to prevent attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^imap2[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"imap2\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'imap2' -p 'tcp'\n\nRestart inetd:\n#  refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215388","ruleId":"SV-215388r958478_rule","severity":"medium","ruleTitle":"The pop3 daemon must be disabled on AIX.","description":"The pop3 service provides a pop3 server. It supports the pop3 remote mail access protocol. It works with sendmail and bellmail. This service should be disabled if it is not required to prevent attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^pop3[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"pop3\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'pop3' -p 'tcp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215389","ruleId":"SV-215389r958478_rule","severity":"medium","ruleTitle":"The finger daemon must be disabled on AIX.","description":"The fingerd daemon provides the server function for the finger command. This allows users to view real-time pertinent user login information on other remote systems. This service should be disabled as it may provide an attacker with a valid user list to target.","checkContent":"From the command prompt, execute the following command: \n# grep \"^finger[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"finger\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'finger' -p 'tcp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215390","ruleId":"SV-215390r958478_rule","severity":"medium","ruleTitle":"The instsrv daemon must be disabled on AIX.","description":"The instsrv service is part of the Network Installation Tools, used for servicing servers running AIX 3.2. This service should be disabled to prevent attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^instsrv[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"instsrv\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'instsrv' -p 'tcp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215391","ruleId":"SV-215391r958478_rule","severity":"medium","ruleTitle":"The echo daemon must be disabled on AIX.","description":"The echo service can be used in Denial of Service or SMURF attacks. It can also be used by someone else to get through a firewall or start a data storm. The echo service is unnecessary and it increases the attack vector of the system.","checkContent":"Check the /etc/inetd.conf for TCP and UDP echo service entries using command: \n# grep echo /etc/inetd.conf | grep -v \\# \n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"echo\" entries by running commands: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'echo' -p 'tcp'\n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'echo' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215392","ruleId":"SV-215392r958478_rule","severity":"medium","ruleTitle":"The Internet Network News (INN) server must be disabled on AIX.","description":"Internet Network News (INN) servers access Usenet newsfeeds and store newsgroup articles. INN servers use the Network News Transfer Protocol (NNTP) to transfer information from the Usenet to the server and from the server to authorized remote hosts. \n\nIf this function is necessary to support a valid mission requirement, its use must be authorized and approved in the system accreditation package.","checkContent":"From the command prompt, run the following command:\n# ps -ef | egrep \"innd|nntpd\" \n\nIf the above command produced any result, this is a finding. \n\nCheck if \"innd\" or \"nntpd\" is started from \"/etc/onetd.conf\" using the following command:\n# egrep \"innd|nntpd\" /etc/inetd.conf | grep -v ^#\n\nIf the above command produced any result, this is a finding. \n\nCheck if \"innd\" or \"nntpd\" is added as a subsystem to the System Resource Controller (SRC):\n# lssrc -s innd\n# lssrc -s nntpd\n\nIf the above commands found that \"innd\" or \"nntpd\" is defined in SRC, this is a finding.","fixText":"To stop \"innd\" or \"nntpd\" from running, use the following commands:\n# stopsrc -s innd\n# stopsrc -s nntpd\n\nSome versions of \"innd\" and \"nntpd\" need the following commands to stop them: \n# kill -1 [innd_pid]\n# kill -1 [nntpd_pid]\n\nTo remove \"innd\" and 'nntpd\" from SRC, run the following commands:\n# rmssys -s innd\n# rmssys -s nntpd\n\nTo stop running \"innd\" and \"nntpd\" from \"/etc/inetd.conf\", comment out the \"innd\" and \"nntpd\" lines in \"/etc/inetd.conf\", then refresh the \"inetd\":\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215393","ruleId":"SV-215393r958480_rule","severity":"medium","ruleTitle":"If Stream Control Transmission Protocol (SCTP) must be disabled on AIX.","description":"The Stream Control Transmission Protocol (SCTP) is an IETF-standardized transport layer protocol. This protocol is not yet widely used. Binding this protocol to the network stack increases the attack surface of the host. Unprivileged local processes may be able to cause the system to dynamically load a protocol handler by opening a socket using the protocol.","checkContent":"Check the system to determine if SCTP is installed: \n\n# lslpp -L bos.net.sctp\nFileset                      Level  State  Type  Description (Uninstaller)\n  ----------------------------------------------------------------------------\nlslpp: 0504-132  Fileset bos.net.sctp not installed.\n\nIf the \"bos.net.sctp\" fileset is not listed, SCTP is not installed, this is not a finding. \n\nIf the \"bos.net.sctp\" fileset is listed then SCTP is installed, this is a finding.","fixText":"If SCTP is installed, unload it from the kernel and uninstall it from the system using the following commands: \n# sctpctrl unload\n# installp -ug bos.net.sctp","ccis":["CCI-000382"]},{"vulnId":"V-215394","ruleId":"SV-215394r958480_rule","severity":"medium","ruleTitle":"The Reliable Datagram Sockets (RDS) protocol must be disabled on AIX.","description":"The Reliable Datagram Sockets (RDS) protocol is a relatively new protocol developed by Oracle for communication between the nodes of a cluster. Binding this protocol to the network stack increases the attack surface of the host. Unprivileged local processes may be able to cause the system to dynamically load a protocol handler by opening a socket using the protocol.\n\nAIX 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.\n\nTo prevent possible attacks this protocol must be disabled unless required.","checkContent":"Determine if RDS is currently loaded:\n# genkex | grep rds \n\nIf there is any output from the command, this is a finding.","fixText":"Configure the system to not automatically load the RDS protocol handler. \n\nCheck startup scripts for \"bypasscrtl load rds\" and comment out the \"bypassctrl\" commands.\n\nUnload the driver from the kernel: \n# bypassctrl unload rds","ccis":["CCI-000382"]},{"vulnId":"V-215395","ruleId":"SV-215395r958820_rule","severity":"medium","ruleTitle":"If automated file system mounting tool is not required on AIX, it must be disabled.","description":"Automated file system mounting tools may provide unprivileged users with the ability to access local media and network shares. If this access is not necessary for the system’s operation, it must be disabled to reduce the risk of unauthorized access to these resources.","checkContent":"Determine if the system uses \"automated\" by using command:\n\n# lssrc -s automountd\nSubsystem         Group            PID          Status\nautomountd       autofs                        inoperative\n\nIf the automountd process is active, this is a finding.","fixText":"Disable the automated file system mounting tools. \n\nEmpty the /etc/auto_master file.\n\nFrom the command prompt, run the following command:\n# stopsrc -s automountd","ccis":["CCI-001958"]},{"vulnId":"V-215396","ruleId":"SV-215396r991589_rule","severity":"medium","ruleTitle":"AIX process core dumps must be disabled.","description":"A core dump includes a memory image taken at the time the operating system terminates an application. The memory image could contain sensitive data and is generally useful only for developers trying to debug problems.","checkContent":"From the command prompt, run the following command:\n\n# lsuser -a core ALL \nroot core=0\ndaemon core=0\nbin core=0\nsys core=0\nadm core=0\nuucp core=0\nsnapp core=0\nipsec core=0\nsrvproxy core=0\nesaadmin core=0\nsshd core=0\ndoejohn core=0\n\nIf any user does not have a value of \"core = 0\", this is a finding.","fixText":"Run command:\n# chsec -f /etc/security/limits -s default -a core=0","ccis":["CCI-000366"]},{"vulnId":"V-215397","ruleId":"SV-215397r991589_rule","severity":"medium","ruleTitle":"AIX kernel core dumps must be disabled unless needed.","description":"Kernel core dumps may contain the full contents of system memory at the time of the crash. Kernel core dumps may consume a considerable amount of disk space and may result in Denial of Service by exhausting the available space on the target file system. The kernel core dump process may increase the amount of time a system is unavailable due to a crash. Kernel core dumps can be useful for kernel debugging.","checkContent":"Determine if kernel core dumps are enabled on the system using command: \n\n# sysdumpdev -l \nprimary              /dev/sysdumpnull\nsecondary            /dev/sysdumpnull\n\nLook at both the primary and secondary dump devices. \n\nIf either the primary or secondary dump device is not \"/dev/sysdumpnull\", this is a finding.","fixText":"Disable kernel core dumps on the system by setting primary and secondary dump devices to \"sysdumpnull\" by running following commands:\n# sysdumpdev -P -p /dev/sysdumpnull \n# sysdumpdev -P -s /dev/sysdumpnull","ccis":["CCI-000366"]},{"vulnId":"V-215398","ruleId":"SV-215398r958528_rule","severity":"medium","ruleTitle":"AIX must set Stack Execution Disable (SED) system wide mode to all.","description":"DoS is a condition when a resource is not available for legitimate users. When this occurs, the organization either cannot accomplish its mission or must operate at degraded capacity. \n\nManaging excess capacity ensures that sufficient capacity is available to counter flooding attacks. Employing increased capacity and service redundancy may reduce the susceptibility to some DoS attacks. Managing excess capacity may include, for example, establishing selected usage priorities, quotas, or partitioning.\n\nSatisfies: SRG-OS-000142-GPOS-00071, SRG-OS-000480-GPOS-00227, SRG-OS-000433-GPOS-00192","checkContent":"From the command prompt, run the following command to display SED systemwide mode:\n\n# sedmgr\nStack Execution Disable (SED) mode: all\nSED configured in kernel: all\n\nIf the above command shows a systemwide SED mode other than \"all\", this is a finding.","fixText":"From the command prompt, run the following command to set the SED systemwide mode to select:\n# sedmgr -m all\n\nAIX has to be rebooted for the new SED mode to take effect.","ccis":["CCI-000366","CCI-001095","CCI-002824"]},{"vulnId":"V-215399","ruleId":"SV-215399r958902_rule","severity":"medium","ruleTitle":"AIX must protect against or limit the effects of Denial of Service (DoS) attacks by ensuring AIX is implementing rate-limiting measures on impacted network interfaces.","description":"DoS is a condition when a resource is not available for legitimate users. When this occurs, the organization either cannot accomplish its mission or must operate at degraded capacity.\n\nThis requirement addresses the configuration of AIX to mitigate the impact of DoS attacks that have occurred or are ongoing on system availability. For each system, known and potential DoS attacks must be identified and solutions for each type implemented. A variety of technologies exist to limit or, in some cases, eliminate the effects of DoS attacks (e.g., limiting processes or establishing memory partitions). Employing increased capacity and bandwidth, combined with service redundancy, may reduce the susceptibility to some DoS attacks.","checkContent":"Check to see if bos.net.tcp.client_core package is installed:\n\n# lslpp -l | grep bos.net.tcp.client_core\nbos.net.tcp.client_core    7.2.1.1  COMMITTED  TCP/IP Client Core Support\nbos.net.tcp.client_core    7.2.1.1  COMMITTED  TCP/IP Client Core Support\n\nIf the packages are not \"COMMITTED\", this is a finding.\n\nCheck that the value set for \"clean_partial_conns\" is \"1\":\n\n# /usr/sbin/no -o clean_partial_conns \nclean_partial_conns = 1\n\nIf the value returned is \"0\", this is a finding.","fixText":"Make sure \"bos.net.tcp.client_core\" package is installed on the system. \n\nSet the Network performance tuning attribute value for \"clean_partial_connections to \"1\" to avoid SYN attacks.\n# /usr/sbin/no -o clean_partial_conns=1","ccis":["CCI-002385"]},{"vulnId":"V-215400","ruleId":"SV-215400r958702_rule","severity":"medium","ruleTitle":"AIX must allow admins to send a message to all the users who logged in currently.","description":"Discretionary Access Control (DAC) is based on the notion that individual users are \"owners\" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment. DAC allows the owner to determine who will have access to objects they control. An example of DAC includes user-controlled file permissions.\n\nWhen discretionary access control policies are implemented, subjects are not constrained with regard to what actions they can take with information for which they have already been granted access. Thus, subjects that have been granted access to information are not prevented from passing (i.e., the subjects have the discretion to pass) the information to other subjects or objects. A subject that is constrained in its operation by Mandatory Access Control policies is still able to operate under the less rigorous constraints of this requirement. Thus, while Mandatory Access Control imposes constraints preventing a subject from passing information to another subject operating at a different sensitivity level, this requirement permits the subject to pass the information to any subject at the same sensitivity level. The policy is bounded by the information system boundary. Once the information is passed outside the control of the information system, additional means may be required to ensure the constraints remain in effect. While the older, more traditional definitions of discretionary access control require identity-based access control, that limitation is not required for this use of discretionary access control.","checkContent":"Run following command to see if wall command is installed:\n# ls -al /usr/sbin/wall\n\nIf \"/usr/sbin/wall\" does not exist, this is a finding.","fixText":"Install the \"bos.rte.misc_cmds\" package from AIX DVD Volume 1 using the following command (assuming that the DVD device is /dev/cd0):\n# installp -aXYgd /dev/cd0 -e /tmp/install.log bos.rte.misc_cmds","ccis":["CCI-002164","CCI-002165"]},{"vulnId":"V-215401","ruleId":"SV-215401r958702_rule","severity":"medium","ruleTitle":"AIX must allow admins to send a message to a user who logged in currently.","description":"Discretionary Access Control (DAC) is based on the notion that individual users are \"owners\" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment. DAC allows the owner to determine who will have access to objects they control. An example of DAC includes user-controlled file permissions.\n\nWhen discretionary access control policies are implemented, subjects are not constrained with regard to what actions they can take with information for which they have already been granted access. Thus, subjects that have been granted access to information are not prevented from passing (i.e., the subjects have the discretion to pass) the information to other subjects or objects. A subject that is constrained in its operation by Mandatory Access Control policies is still able to operate under the less rigorous constraints of this requirement. Thus, while Mandatory Access Control imposes constraints preventing a subject from passing information to another subject operating at a different sensitivity level, this requirement permits the subject to pass the information to any subject at the same sensitivity level. The policy is bounded by the information system boundary. Once the information is passed outside the control of the information system, additional means may be required to ensure the constraints remain in effect. While the older, more traditional definitions of discretionary access control require identity-based access control, that limitation is not required for this use of discretionary access control.","checkContent":"Run following command to see if the \"write\" command is installed:\n\n# ls -al /usr/bin/write\n\nIf \"/usr/bin/write\" does not exist, this is a finding.","fixText":"Install the \"bos.rte.misc_cmds\" package from AIX DVD Volume 1 using the following command (assuming that the DVD device is /dev/cd0):\n# installp -aXYgd /dev/cd0 -e /tmp/install.log bos.rte.misc_cmds","ccis":["CCI-002165"]},{"vulnId":"V-215402","ruleId":"SV-215402r958408_rule","severity":"medium","ruleTitle":"The AIX SSH daemon must be configured to only use FIPS 140-2 approved ciphers.","description":"Without confidentiality protection mechanisms, unauthorized individuals may gain access to sensitive information via a remote access session.\n\nRemote access is access to DoD nonpublic information systems by an authorized user (or an information system) communicating through an external, non-organization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.\n\nEncryption provides a means to secure the remote connection to prevent unauthorized access to the data traversing the remote access connection (e.g., RDP), thereby providing a degree of confidentiality. The encryption strength of a mechanism is selected based on the security categorization of the information.","checkContent":"Check the SSH daemon configuration for allowed ciphers by running the following command: \n# grep -i ciphers /etc/ssh/sshd_config | grep -v '^#' \n\nThe above command should yield the following output:\nCiphers aes128-ctr,aes192-ctr,aes256-ctr\n\nIf any of the following conditions are true, this is a finding.\n1. No line is returned (default ciphers);\n2. The returned ciphers list contains any cipher not starting with aes;\n3. The returned ciphers list contains any cipher ending with cbc.","fixText":"Edit the \"/etc/ssh/sshd_config\" file and add or edit a \"Ciphers\" line like this:\nCiphers aes128-ctr,aes192-ctr,aes256-ctr\n\nRestart the SSH daemon:\n# stopsrc -s sshd\n# startsrc -s sshd","ccis":["CCI-000068"]},{"vulnId":"V-215403","ruleId":"SV-215403r1009555_rule","severity":"high","ruleTitle":"The AIX system must have no .netrc files on the system.","description":"Unencrypted passwords for remote FTP servers may be stored in .netrc files. Policy requires passwords be encrypted in storage and not used in access scripts.","checkContent":"Check the system for the existence of any \".netrc\" files by running the following command: \n# find / -name .netrc \n\nIf any \".netrc\" file exists, this is a finding.","fixText":"Remove all \".netrc\" file(s):\n#  find / -name .netrc -exec  rm {} \\;","ccis":["CCI-004062","CCI-000196"]},{"vulnId":"V-215404","ruleId":"SV-215404r1137691_rule","severity":"medium","ruleTitle":"AIX must turn on enhanced Role-Based Access Control (RBAC) to isolate security functions from nonsecurity functions, to grant system privileges to other operating system admins, and prohibit user installation of system software without explicit privileged status.","description":"To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DoD-approved PKIs, all DoD systems (e.g., web servers and web portals) must be properly configured to incorporate access control methods that do not rely solely on the possession of a certificate for access. Successful authentication must not automatically give an entity access to an asset or security boundary. Authorization procedures and controls must be implemented to ensure each authenticated entity also has a validated and current authorization. Authorization is the process of determining whether an entity, once authenticated, is permitted to access a specific asset. Information systems use access control policies and enforcement mechanisms to implement this requirement.\n\nAccess control policies include: identity-based policies, role-based policies, and attribute-based policies. Access enforcement mechanisms include: access control lists, access control matrices, and cryptography. These policies and mechanisms must be employed by the application to control access between users (or processes acting on behalf of users) and objects (e.g., devices, files, records, processes, programs, and domains) in the information system.\n\nSecurity functions are the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Operating systems implement code separation (i.e., separation of security functions from nonsecurity functions) in a number of ways, including through the provision of security kernels via processor rings or processor modes. For non-kernel code, security function isolation is often achieved through file system protections that serve to protect the code on disk and address space protections that protect executing code.\n\nDiscretionary Access Control (DAC) is based on the notion that individual users are \"owners\" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment. DAC allows the owner to determine who will have access to objects they control. An example of DAC includes user-controlled file permissions.\n\nOperating system functionality will vary, and while users are not permitted to install unapproved software, there may be instances where the organization allows the user to install approved software packages, such as from an approved software repository.\n\nAIX or software configuration management utility must enforce control of software installation by users based upon what types of software installations are permitted (e.g., updates and security patches to existing software) and what types of installations are prohibited (e.g., software whose pedigree with regard to being potentially malicious is unknown or suspect) by the organization.\n\nSatisfies: SRG-OS-000080-GPOS-00048, SRG-OS-000134-GPOS-00068, SRG-OS-000312-GPOS-00123, SRG-OS-000362-GPOS-00149","checkContent":"Run the following command to retrieve the system RBAC mode:\n# lsattr -E -l sys0 -a enhanced_RBAC\nenhanced_RBAC true Enhanced RBAC Mode\n\nIf the RBAC mode is not \"true\", this is a finding.","fixText":"Enable the enhanced RBAC mode by running the following command:\n# chdev -l sys0 -a enhanced_RBAC=true\n\nReboot the system:\n# reboot","ccis":["CCI-000213","CCI-001084","CCI-003980","CCI-002165","CCI-001812"]},{"vulnId":"V-215405","ruleId":"SV-215405r958478_rule","severity":"medium","ruleTitle":"If DHCP server is not required on AIX, the DHCP server must be disabled.","description":"The dhcpsd daemon is the DHCP server that serves addresses and configuration information to DHCP clients in the network.\n\nTo prevent remote attacks this daemon should not be enabled unless there is no alternative.","checkContent":"From the command prompt, execute the following command: \n# grep \"^start[[:blank:]]/usr/sbin/dhcpsd\" /etc/rc.tcpip\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/rc.tcpip\", comment out the \"dhcpsd\" entry by running command: \n# chrctcp -d dhcpsd","ccis":["CCI-000381"]},{"vulnId":"V-215406","ruleId":"SV-215406r958478_rule","severity":"medium","ruleTitle":"The rwalld daemon must be disabled on AIX.","description":"The rwalld service allows remote users to broadcast system wide messages. The service runs as root and should be disabled unless absolutely necessary to prevent attacks.","checkContent":"From the command prompt, execute the following command: \n# grep \"^rwalld[[:blank:]]\" /etc/inetd.conf\n\nIf there is any output from the command, this is a finding.","fixText":"In \"/etc/inetd.conf\", comment out the \"rwalld\" entry by running command: \n# chsubserver -r inetd -C /etc/inetd.conf -d -v 'rwalld' -p 'udp'\n\nRestart inetd:\n# refresh -s inetd","ccis":["CCI-000381"]},{"vulnId":"V-215407","ruleId":"SV-215407r991562_rule","severity":"medium","ruleTitle":"In the event of a system failure, AIX must preserve any information necessary to determine cause of failure and any information necessary to return to operations with least disruption to mission processes.","description":"Failure to a known state can address safety or security in accordance with the mission/business needs of the organization. Failure to a known secure state helps prevent a loss of confidentiality, integrity, or availability in the event of a failure of the information system or a component of the system. \n\nPreserving operating system state information helps to facilitate operating system restart and return to the operational mode of the organization with least disruption to mission/business processes.","checkContent":"To display the current dump device settings enter the following command:\n#sysdumpdev -l\n \nprimary              /dev/lg_dumplv\nsecondary            /dev/sysdumpnull\ncopy directory       /var/adm/ras\nforced copy flag     TRUE\nalways allow dump    FALSE\ndump compression     ON\ntype of dump         fw-assisted\nfull memory dump     disallow\n\nIf the primary device and copy directory is not configured, this is a finding.","fixText":"The \"sysdumpdev\" command should be used to configure dump device.\n\n#sysdumpdev -p \"Primary dump device\"\n#sysdumpdev -d  <directory>\n\nNote: The \"-d <directory> \" specifies the directory the device is copied to at boot time.","ccis":["CCI-001665"]},{"vulnId":"V-215408","ruleId":"SV-215408r991589_rule","severity":"medium","ruleTitle":"The /etc/shells file must exist on AIX systems.","description":"The shells file (or equivalent) lists approved default shells. It helps provide layered defense to the security approach by ensuring users cannot change their default shell to an unauthorized unsecure shell.","checkContent":"AIX ships the following shells that should be considered as \"approved\" shells:\n\n/bin/sh\n/bin/bsh\n/bin/csh\n/bin/ksh\n/bin/tsh\n/bin/ksh93\n/usr/bin/sh\n/usr/bin/bsh\n/usr/bin/csh\n/usr/bin/ksh\n/usr/bin/tsh\n/usr/bin/ksh93\n/usr/bin/rksh\n/usr/bin/rksh93\n/usr/sbin/uucp/uucico\n/usr/sbin/sliplogin\n/usr/sbin/snappd\n\nISSO/SA may install other shells. Ask ISSO/SA for other approved shells other than the shells shipped by AIX.\n\nCheck if file \"/etc/shells\" exists by running:\n\n# ls -la /etc/shells \nrw-r--r--    1 bin      bin             111 Jun 01 2015  /etc/shells\n\nIf \"/etc/shells\" file does not exist, this is a finding.\n\nVerify that \"/etc/shells\" only contains approved shells:\n\n# cat /etc/shells\n/bin/csh\n/bin/ksh\n/bin/psh\n/bin/tsh\n/bin/bsh\n/usr/bin/csh\n/usr/bin/ksh\n/usr/bin/tsh\n/usr/bin/bsh\n\nIf \"/etc/shells\" file contains a non-approved shell, this is a finding.\n\nCheck \"/etc/security/login.cfg\" for the shells attribute value of \"usw:\" stanza:\n\n# lssec -f /etc/security/login.cfg -s usw -a shells\nusw shells=/bin/sh,/bin/bsh,/bin/csh,/bin/ksh,/bin/tsh,/bin/ksh93,/usr/bin/sh,/usr/bin/bsh,/usr/bin/csh,/usr/bin/ksh,/usr/bin/tsh,/usr/bin/ksh93,/usr/bin/rksh,/usr/bin/rksh93,/usr/sbin/uucp/uucico,/usr/sbin/sliplogin,/usr/sbin/snappd\n\nIf the shells attribute value does not exist or is empty, this is a finding.\nIf the returned shells attribute value contains a shell that is not defined in \"/etc/shells\" file, this is a finding.\nIf the returned shells attribute value contains a non-approved shell, this is a finding.","fixText":"Run the following command to set shells attribute for stanza usw in \"/etc/security/login.cfg\": \n# chsec -f /etc/security/login.cfg -s usw -a shells=<list of approved shells separated by comma> \n\nCreate the \"/etc/shells\" file and add all approved shells there, one shell per line: \n# vi /etc/shells\n\nChange the ownership and mode-bit of \"/etc/shells\":\n# chown bin.bin /etc/shells\n# chmod 644 /etc/shells","ccis":["CCI-000366"]},{"vulnId":"V-215409","ruleId":"SV-215409r991589_rule","severity":"medium","ruleTitle":"AIX public directories must be the only world-writable directories and world-writable files must be located only in public directories.","description":"World-writable files and directories make it easy for a malicious user to place potentially compromising files on the system. The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage (e.g., /tmp) and for directories requiring global read/write access.","checkContent":"Check the system for world-writable files and directories by running command:\n# find / -perm -2 -a \\( -type d -o -type f \\) -exec ls -ld {} \\; \n\nIf 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.","fixText":"Remove or change the mode for any world-writable file or directory on the system that is not required to be world-writable by running command: \n# chmod o-w <file/directory> \n\nDocument all changes.","ccis":["CCI-000366"]},{"vulnId":"V-215410","ruleId":"SV-215410r991589_rule","severity":"medium","ruleTitle":"AIX must be configured to only boot from the system boot device.","description":"The ability to boot from removable media is the same as being able to boot into single user or maintenance mode without a password. This ability could allow a malicious user to boot the system and perform changes possibly compromising or damaging the system. It could also allow the system to be used for malicious purposes by a malicious anonymous user.","checkContent":"Determine if the system is configured to boot from devices other than the system startup media by running command: \n# bootlist -m normal -o \n\nThe returned values should be \"hdisk{x}\". \n\nIf the system is setup to boot from a non-hard disk device, this is a finding. \n\nAdditionally, 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. \n\nIf \"multi-boot\" is enabled, this is a finding.","fixText":"Configure the system to only boot from system startup media:\n# bootlist -m normal hdisk<x> \n\nSet \"multi-boot\" to \"off\" in the SMS application.","ccis":["CCI-000366"]},{"vulnId":"V-215411","ruleId":"SV-215411r991589_rule","severity":"medium","ruleTitle":"AIX must not use removable media as the boot loader.","description":"Malicious users with removable boot media can gain access to a system configured to use removable media as the boot loader.","checkContent":"Check the servers boot lists for the \"normal\", \"service\", \"both\", or \"prevboot\" modes by command:\n# bootlist -m <mode> -o \n\nEnsure \"hdisk{x}\" is the only devices listed. If boot devices, such as \"cd{x}\", \"fd{x}\", \"rmt{x}\", or \"ent{x}\" are used, this is a finding.","fixText":"Configure the system to use a bootloader installed on fixed media, such as:\n# bootlist -m normal hdisk0 \n# bootlist -m service hdisk0","ccis":["CCI-000366"]},{"vulnId":"V-215412","ruleId":"SV-215412r991589_rule","severity":"low","ruleTitle":"If the AIX host is running an SMTP service, the SMTP greeting must not provide version information.","description":"The version of the SMTP service can be used by attackers to plan an attack based on vulnerabilities present in the specific version.","checkContent":"If the AIX host is not running an SMTP service, this is Not Applicable.\n\nCheck the value of the \"SmtpGreetingMessage\" parameter in the \"sendmail.cf\" file:\n# grep SmtpGreetingMessage /etc/mail/sendmail.cf\n\nIf the value of the \"SmtpGreetingMessage\" parameter contains the \"$v\" or \"$Z\" macros, this is a finding.","fixText":"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 from: \nO SmtpGreetingMessage=$j Sendmail $v/$Z; $b \n\nto: \n\nO SmtpGreetingMessage= Mail Server Ready ; $b","ccis":["CCI-000366"]},{"vulnId":"V-215413","ruleId":"SV-215413r991589_rule","severity":"low","ruleTitle":"AIX must contain no .forward files.","description":"The .forward file allows users to automatically forward mail to another system. Use of .forward files could allow the unauthorized forwarding of mail and could potentially create mail loops which could degrade system performance.","checkContent":"Search for any \".forward\" files on the system using command: \n# find / -name .forward -print \n\nIf any \".forward\" files are found on the system, this is a finding.","fixText":"Run the following command to remove all \".forward\" files on the system:\n# find / -name .forward -exec rm -rf {} \\;","ccis":["CCI-000366"]},{"vulnId":"V-215414","ruleId":"SV-215414r991589_rule","severity":"medium","ruleTitle":"The sendmail server must have the debug feature disabled on AIX systems.","description":"Debug mode is a feature present in older versions of Sendmail which, if not disabled, may allow an attacker to gain access to a system through the Sendmail service.","checkContent":"Check the version of \"sendmail\" installed on the system using: \n# echo \\$Z | /usr/sbin/sendmail -bt -d0 \n\nThe above command should yield the following output:\nVersion AIX7.2/8.14.4\n Compiled with: DNSMAP LDAPMAP LDAP_REFERRALS LOG MAP_REGEX MATCHGECOS\n                MILTER MIME7TO8 MIME8TO7 NAMED_BIND NDBM NETINET NETINET6\n                NETUNIX NEWDB NIS NISPLUS PIPELINING SCANF USERDB USE_LDAP_INIT\n                USE_TTYPATH XDEBUG\n\nIf the \"sendmail\" reported version is less than \"8.6\", this is a finding.","fixText":"Obtain and install a more recent version of \"Sendmail\", which does not implement the DEBUG feature.","ccis":["CCI-000366"]},{"vulnId":"V-215415","ruleId":"SV-215415r991589_rule","severity":"medium","ruleTitle":"SMTP service must not have the EXPN or VRFY features active on AIX systems.","description":"The SMTP EXPN function allows an attacker to determine if an account exists on a system, providing significant assistance to a brute force attack on user accounts. EXPN may also provide additional information concerning users on the system, such as the full names of account owners. The VRFY (Verify) command allows an attacker to determine if an account exists on a system, providing significant assistance to a brute force attack on user accounts. VRFY may provide additional information about users on the system, such as the full names of account owners.","checkContent":"Check the \"PrivacyOptions\" parameter in \"/etc/mail/sendmail.cf\":\n# grep -v \"^#\" /etc/mail/sendmail.cf |grep -i privacyoptions \n\nThe above command should yield the following output:\nO PrivacyOptions=goaway\n\nThe \"O PrivacyOptions\" should have the \"goaway\" option (covering both noexpn and novrfy). \n\nIf the \"O PrivacyOptions\" value does not contain \"goaway\", this is a finding.","fixText":"Edit the \"sendmail.cf\" file and add or edit the following line: \nO PrivacyOptions=goaway \n\nRestart the \"Sendmail\" service:\n# startsrc -s sendmail -a \"-bd -q30m\"","ccis":["CCI-000366"]},{"vulnId":"V-215416","ruleId":"SV-215416r991589_rule","severity":"medium","ruleTitle":"All global initialization file executable search paths must contain only absolute paths.","description":"Failure to restrict system access to authenticated users negatively impacts operating system security.","checkContent":"Check the global initialization files' executable search paths using: \n\n# grep -i PATH /etc/profile /etc/bashrc /etc/csh.login /etc/csh.cshrc /etc/environment /etc/.login /etc/security/environ \n/etc/environment:PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java7_64/jre/bin:/usr/java7_64/bin\n/etc/environment:LOCPATH=/usr/lib/nls/loc\n/etc/environment:NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat:/usr/lib/nls/msg/%l.%c/%N:/usr/lib/nls/msg/%l.%c/%N.cat\n\nThis variable is formatted as a colon-separated list of directories. \n\nIf there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. \n\nIf an entry begins with a character other than a slash (/) or other than \"$PATH\", it is a relative path, and this is a finding.","fixText":"Edit the global initialization file(s) with \"PATH\" variables containing relative paths. Edit the file and remove the relative path from the PATH variable.","ccis":["CCI-000366"]},{"vulnId":"V-215417","ruleId":"SV-215417r991589_rule","severity":"medium","ruleTitle":"The SMTP service HELP command must not be enabled on AIX.","description":"The HELP command should be disabled to mask version information. The version of the SMTP service software could be used by attackers to target vulnerabilities present in specific software versions.","checkContent":"Run the following command to get the \"HELP\" file location:\n# grep \"^O HelpFile\" /etc/mail/sendmail.cf\n\nThe above command should yield the following output:\nO HelpFile=/etc/mail/helpfile\n\nIf the above command does not yield any output, this is not a finding.\n\nThe \"HELP\" file should be referenced by the \"HelpFile\" option.\n \nCheck to see if the \"HELP\" file exists:\n# ls <helpfile_path>\n\nIf the \"HELP\" file exists, this is a finding.","fixText":"To disable the SMTP service HELP command remove the HELP file using command:\n# rm <helpfile_path>","ccis":["CCI-000366"]},{"vulnId":"V-215418","ruleId":"SV-215418r991589_rule","severity":"medium","ruleTitle":"NIS maps must be protected through hard-to-guess domain names on AIX.","description":"The use of hard-to-guess NIS domain names provides additional protection from unauthorized access to the NIS directory information.","checkContent":"Check the domain name for NIS maps using command:\n\n# domainname \n\nIf no ouput is returned or the name returned is simple to guess, such as the organization name, building, or room name, etc., this is a finding.","fixText":"Change the NIS domain name to a value difficult to guess. Consult vendor documentation for the required procedure.","ccis":["CCI-000366"]},{"vulnId":"V-215419","ruleId":"SV-215419r991589_rule","severity":"medium","ruleTitle":"The AIX systems access control program must be configured to grant or deny system access to specific hosts.","description":"If the system's access control program is not configured with appropriate rules for allowing and denying access to system network resources, services may be accessible to unauthorized hosts.","checkContent":"Check for the existence of the \"/etc/hosts.allow\" and \"/etc/hosts.deny\" files using commands: \n\n# ls -la /etc/hosts.allow \n-rw-r--r--    1 root     system           11 Jan 28 11:09 /etc/hosts.allow\n\n# ls -la /etc/hosts.deny\n-rw-r--r--    1 root     system            0 Jan 28 11:02 /etc/hosts.deny\n \nIf either file does not exist, this is a finding. \n\nCheck for the presence of a default deny entry using command: \n\n# grep -E \"ALL:[[:blank:]]*ALL\" /etc/hosts.deny \nALL:ALL\n\nIf 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. \n\nIf the entry is not in \"/etc/hosts.deny\", this is a finding.","fixText":"Edit the \"/etc/hosts.allow\" and \"/etc/hosts.deny\" files to configure access restrictions.\n\nAdd \"ALL: ALL\" entry to \"/etc/hosts.deny\" file.","ccis":["CCI-000366"]},{"vulnId":"V-215420","ruleId":"SV-215420r991589_rule","severity":"medium","ruleTitle":"All AIX files and directories must have a valid group owner.","description":"Failure to restrict system access to authenticated users negatively impacts operating system security.","checkContent":"Determine if any file on the system does not have a valid group owner using command:\n# find / -nogroup -print \n\nIf any such files are found, this is a finding.","fixText":"Change the group owner for each file without a valid group owner using command:\n# chgrp <a-valid-group> /tmp/a-file-without-a-valid-group-owner","ccis":["CCI-000366"]},{"vulnId":"V-215421","ruleId":"SV-215421r991589_rule","severity":"medium","ruleTitle":"AIX control scripts library search paths must contain only absolute paths.","description":"The library search path environment variable(s) contain a list of directories for the dynamic linker to search to find libraries. If this path includes the current working directory or other relative paths, libraries in these directories may be loaded instead of system libraries. 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 interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.","checkContent":"Verify run control scripts' library search paths:\n\n# grep -r LIBPATH /etc/rc* \n/etc/rc.teboot:export LIBPATH=/../usr/lib\n/etc/rc.teboot:export LIBPATH=/usr/lib\n\nThis variable is formatted as a colon-separated list of paths. \n\nIf there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. \n\nIf an entry begins with a character other than a slash (/) or other than \"$PATH\", it is a relative path, and this is a finding.","fixText":"Edit run control scripts' library search \"PATH\" variables. Remove empty entries or entries that are not absolute paths.","ccis":["CCI-000366"]},{"vulnId":"V-215422","ruleId":"SV-215422r991589_rule","severity":"medium","ruleTitle":"The control script lists of preloaded libraries must contain only absolute paths on AIX systems.","description":"The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries relative to the current working directory, unintended libraries may be preloaded.","checkContent":"Verify run control scripts' library preload list using command:\n\n# grep -r LDR_PRELOAD /etc/rc* \n/etc/rc.teboot:export LDR_PRELOAD=/../usr/bin\n/etc/rc.teboot:export LDR_PRELOAD=/usr/bin\n\nThis variable is formatted as a colon-separated list of paths. \n\nIf there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. \n\nIf an entry begins with a character other than a slash (/) or other than \"$PATH\", it is a relative path, and this is a finding.","fixText":"Edit the run control scripts' library preload list and remove relative paths.","ccis":["CCI-000366"]},{"vulnId":"V-215423","ruleId":"SV-215423r991589_rule","severity":"medium","ruleTitle":"The global initialization file lists of preloaded libraries must contain only absolute paths on AIX.","description":"The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries relative to the current working directory, unintended libraries may be preloaded.","checkContent":"Check the global initialization files' library preload list using command:\n\n# grep LDR_PRELOAD /etc/profile /etc/bashrc /etc/security/.login /etc/environment /etc/security/environ \n/etc/environment:LDR_PRELOAD=:/usr/bin/X11:/sbin:/usr/java7_64/jre/bin:/usr/java7_64/bin\n\nThis variable is formatted as a colon-separated list of paths. \n\nIf there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. \n\nIf an entry begins with a character other than a slash (/) or other than \"$PATH\", it is a relative path, and this is a finding.","fixText":"Edit the global initialization files and remove the relative path entry from the library preload list variable 'LDR_PRELOAD'.","ccis":["CCI-000366"]},{"vulnId":"V-215424","ruleId":"SV-215424r991589_rule","severity":"medium","ruleTitle":"The local initialization file library search paths must contain only absolute paths on AIX.","description":"The library search path environment variable(s) contain a list of directories for the dynamic linker to search to find libraries. If this path includes the current working directory or other relative paths, libraries in these directories may be loaded instead of system libraries. 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 interpreted as the current working directory.","checkContent":"Identify local initialization files that have library search paths:  \n\n# cat /etc/passwd | cut -f 1,1 -d \":\" | xargs -n1 -IUSER sh -c 'grep -l LIB ~USER/.*' \n/root/.sh_history\n/home/doejohn/.profile\n/home/doejane/.profile\n\nFor each file identified above, verify the search path contains only absolute paths:\n\nNote: The \"LIBPATH\" and \"LD_LIBRARY_PATH\" variables are formatted as a colon-separated list of directories.\n\n# cat <local_initilization_file> | grep -Ei 'lib|library'\nLD_LIBRARY_PATH=/usr/lib\nLIBPATH=/usr/lib\n\nIf there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. \n\nIf an entry begins with a character other than a slash (/) or other than \"$PATH\", it is a relative path, and this is a finding.","fixText":"Edit the local initialization file(s) and remove the relative path entry from the library search path.","ccis":["CCI-000366"]},{"vulnId":"V-215425","ruleId":"SV-215425r991589_rule","severity":"medium","ruleTitle":"The local initialization file lists of preloaded libraries must contain only absolute paths on AIX.","description":"The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries relative to the current working directory, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries.","checkContent":"Identify local initialization files that have library search paths:  \n\n# cat /etc/passwd | cut -f 1,1 -d \":\" | xargs -n1 -IUSER sh -c 'grep -l LDR_PRELOAD ~USER/.*' \n/root/.sh_history\n/home/doejohn/.profile\n/home/doejane/.profile\n\nFor each file identified above, verify the search path contains only absolute paths:\nNote: This variable is formatted as a colon-separated list of paths.\n\n# cat <local_initilization_file> | grep -Ei 'ldr|preload'\nLDR_PRELOAD=/usr/lib\n\nIf the paths listed have not been documented and authorized by the ISSO/ISSM, this is a finding.\nIf there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. \nIf an entry begins with a character other than a slash (/) or other than \"$PATH\", it is a relative path, and this is a finding.","fixText":"Edit the local initialization file and remove the relative path entry from the library preload variable \"LDR_PRELOAD\".","ccis":["CCI-000366"]},{"vulnId":"V-215426","ruleId":"SV-215426r991589_rule","severity":"medium","ruleTitle":"AIX package management tool must be used daily to verify system software.","description":"Verification using the system package management tool can be used to determine that system software has not been tampered with. This requirement is not applicable to systems not using package management tools.","checkContent":"Check the root crontab for a daily job invoking the system package management tool to verify the integrity of installed packages.\n\nFrom the command prompt, run the following command: \n\n# crontab -l | grep lppchk \n55 22 * * * /lppchk.sh # Daily LPP check script\n\nIf no such job exists, this is a finding.","fixText":"Add a job to the root crontab invoking the following system package management tool to verify the integrity of installed packages and email the result to root user.\n\nRun the following command to add the cron job: \n# crontab -e\n\nWithin crontab command, add the following daily job to the cron table, then save the change:\n0 23 * * * /usr/bin/lppchk -c > /tmp/111 2>&1; sendmail root < /tmp/111","ccis":["CCI-000366"]},{"vulnId":"V-215427","ruleId":"SV-215427r991589_rule","severity":"medium","ruleTitle":"The AIX DHCP client must not send dynamic DNS updates.","description":"Dynamic DNS updates transmit unencrypted information about a system including its name and address and should not be used unless needed.","checkContent":"If AIX does not use DHCP client, this is Not Applicable.\n\nDetermine if the system's DHCP client is configured to send dynamic DNS updates: \n# grep \"^updateDNS\" /etc/dhcpc.opt /etc/dhcpcd.ini \n\nIf any lines are returned, this is a finding.","fixText":"Configure the system's DHCP client to not send dynamic DNS updates. \n\nRemove or comment-out \"updateDNS\" lines from the \"/etc/dhcpcd.ini\" and \"/etc/dhcpc.opt\" files.","ccis":["CCI-000366"]},{"vulnId":"V-215428","ruleId":"SV-215428r991589_rule","severity":"medium","ruleTitle":"AIX must not run any routing protocol daemons unless the system is a router.","description":"Routing protocol daemons are typically used on routers to exchange network topology information with other routers. If this software is used when not required, system network information may be unnecessarily transmitted across the network.","checkContent":"Check for any running routing protocol daemons by running:\n# ps -ef | egrep '(ospf|route|bgp|zebra|quagga|gate)' \n\nIf any routing protocol daemons are listed, this is a finding.","fixText":"Kill any routing protocol daemons by running the following command:\n# ps -ef |egrep '(ospf|route|bgp|zebra|quagga|gate)' | grep -v egrep | awk -F \" \" '{print $2}' | while read pid;do kill $pid;done","ccis":["CCI-000366"]},{"vulnId":"V-215429","ruleId":"SV-215429r991589_rule","severity":"medium","ruleTitle":"AIX must not process ICMP timestamp requests.","description":"The processing of Internet Control Message Protocol (ICMP) timestamp requests increases the attack surface of the system.","checkContent":"From the command prompt, run the following command to check if \"ipsec_v4\" and \"ipsec_v6\" devices are active:\n# lsdev -Cc ipsec\n\nThe above command should yield the following output:\nipsec_v4 Available  IP Version 4 Security Extension\nipsec_v6 Available  IP Version 6 Security Extension\n\nIf \"ipsec_v4\" or \"ipsec_v6\" is not displayed, or it is not in \"Available\" state, this is a finding.\n\nDetermine if the system is configured to respond to ICMP Timestamp requests using the following command: \n# lsfilt\n\nBeginning of IPv4 filter rules.\nRule 1:\nRule action         : permit\nSource Address      : 0.0.0.0\nSource Mask         : 0.0.0.0\nDestination Address : 0.0.0.0\nDestination Mask    : 0.0.0.0\nSource Routing      : no\nProtocol            : udp\nSource Port         : eq  4001\nDestination Port    : eq  4001\nScope               : both\nDirection           : both\nLogging control     : no\nFragment control    : all packets\nTunnel ID number    : 0\nInterface           : all\nAuto-Generated      : yes\nExpiration Time     : 0\nDescription         : Default Rule\n\nRule 2:\n*** Dynamic filter placement rule for IKE tunnels ***\nLogging control     : no\n\nRule 3:\nRule action         : deny\nSource Address      : 0.0.0.0\nSource Mask         : 0.0.0.0\nDestination Address : 0.0.0.0\nDestination Mask    : 0.0.0.0\nSource Routing      : yes\nProtocol            : icmp\nICMP type           : any 0\nICMP code           : eq  13\nScope               : both\nDirection           : inbound\nLogging control     : no\nFragment control    : all packets\nTunnel ID number    : 0\nInterface           : all\nAuto-Generated      : no\nExpiration Time     : 0\nDescription         : \n\nRule 4:\nRule action         : deny\nSource Address      : 0.0.0.0\nSource Mask         : 0.0.0.0\nDestination Address : 0.0.0.0\nDestination Mask    : 0.0.0.0\nSource Routing      : yes\nProtocol            : icmp\nICMP type           : eq  14\nICMP code           : any 0\nScope               : both\nDirection           : outbound\nLogging control     : no\nFragment control    : all packets\nTunnel ID number    : 0\nInterface           : all\nAuto-Generated      : no\nExpiration Time     : 0\nDescription         : \n\nRule 0:\nRule action         : permit\nSource Address      : 0.0.0.0\nSource Mask         : 0.0.0.0\nDestination Address : 0.0.0.0\nDestination Mask    : 0.0.0.0\nSource Routing      : yes\nProtocol            : all\nSource Port         : any 0\nDestination Port    : any 0\nScope               : both\nDirection           : both\nLogging control     : no\nFragment control    : all packets\nTunnel ID number    : 0\nInterface           : all\nAuto-Generated      : no\nExpiration Time     : 0\nDescription         : Default Rule\n\nEnd of IPv4 filter rules.\n\nIf there is no rule blocking ICMP packet type of \"13\" and ICMP packet type of \"14\" (rule #3 and rule #4 above), this is a finding.","fixText":"From the command prompt, run the following commands to create and activate \"ipsec_v4\" and \"ipsec_v6\" devices:\n# mkdev -l ipsec -t 4\n# mkdev -l ipsec -t 6\n\nRun the following commands to create 2 IPsec rules to block the ICMP timestamp request and reply:\n# genfilt -v 4 -a D -s 0 -m 0 -d 0 -M 0 -c icmp -O eq -P 13 -r B -w I -i all\n# genfilt -v 4 -a D -s 0 -m 0 -d 0 -M 0 -c icmp -o eq -p 14 -r B -w O -i all\n\nFrom the command prompt, run the following command to activate all the filter rules in the rule database:\n# mkfilt -u","ccis":["CCI-000366"]},{"vulnId":"V-215430","ruleId":"SV-215430r991589_rule","severity":"medium","ruleTitle":"AIX must not respond to ICMPv6 echo requests sent to a broadcast address.","description":"Responding to broadcast ICMP echo requests facilitates network mapping and provides a vector for amplification attacks.","checkContent":"From the command prompt, run the following command:\n# /usr/sbin/no -o bcastping \nbcastping = 0\n\nIf the value returned is not \"0\", this is a finding.","fixText":"Configure the system to not respond to IPv6 multicast ICMP ECHO_REQUESTs by running:\n# /usr/sbin/no -p -o bcastping=0","ccis":["CCI-000366"]},{"vulnId":"V-215431","ruleId":"SV-215431r991590_rule","severity":"medium","ruleTitle":"AIX must define default permissions for all authenticated users in such a way that the user can only read and modify their own files.","description":"Setting the most restrictive default permissions ensures that when new accounts are created they do not have unnecessary access.","checkContent":"Check if \"/etc/security/.profile\" contains the proper \"umask\" setting by running the following command:\n# grep \"umask 077\" /etc/security/.profile\numask 077\n\nIf the above command does not output the \"umask 077\", this is a finding.\n\nFrom the command prompt, run the following command to check if \"umask=077\" for the default stanza in \"/etc/security/user\":\n# lssec -f /etc/security/user -s default -a umask\ndefault umask=077\n\nIf the \"umask\" for the default stanza is not \"077\", or the \"umask\" is not set, this is a finding.","fixText":"Add the following line to \"/etc/security/.profile\":\numask 077\n\nRun the following command to set \"umask=077\" for the default stanza in \"/etc/security/user\":\n# chsec -f /etc/security/user -s default -a umask=077","ccis":["CCI-000366"]},{"vulnId":"V-215432","ruleId":"SV-215432r991591_rule","severity":"medium","ruleTitle":"There must be no .rhosts, .shosts, hosts.equiv, or shosts.equiv files on the AIX system.","description":"Trust files are convenient, but when used in conjunction with the remote login services, they can allow unauthenticated access to a system.","checkContent":"Check for the existence of the files using: \n# find / -name .rhosts \n# find / -name .shosts \n# find / -name hosts.equiv \n# find / -name shosts.equiv \n\nIf \".rhosts\", \".shosts\", \"hosts.equiv\", or \"shosts.equiv\" are found, this is a finding.","fixText":"Remove the \".rhosts\", \".shosts\", \"hosts.equiv\", and/or \"shosts.equiv\" files.","ccis":["CCI-000366"]},{"vulnId":"V-215433","ruleId":"SV-215433r991591_rule","severity":"medium","ruleTitle":"The .rhosts file must not be supported in AIX PAM.","description":".rhosts files are used to specify a list of hosts permitted remote access to a particular account without authenticating. The use of such a mechanism defeats strong identification and authentication requirements.","checkContent":"Check the PAM configuration for \"rhosts_auth\" using command: \n# grep rhosts_auth /etc/pam.conf |grep -v \\# \n\nIf a \"rhosts_auth\" entry is found, this is a finding.","fixText":"Edit \"/etc/pam.conf\" and remove the reference(s) to the \"rhosts_auth\" module.","ccis":["CCI-000366"]},{"vulnId":"V-215434","ruleId":"SV-215434r991592_rule","severity":"medium","ruleTitle":"The AIX root user home directory must not be the root directory (/).","description":"Changing the root home directory to something other than / and assigning it a 0700 protection makes it more difficult for intruders to manipulate the system by reading the files that root places in its default directory. It also gives root the same discretionary access control for root's home directory as for the other plain user home directories.","checkContent":"Determine if root is assigned a home directory other than \"/\" by listing its home directory by running command: \n\n# grep \"^root\" /etc/passwd | awk -F\":\" '{print $6}' \n/root\n\nIf the root user's home directory is \"/\", this is a finding.","fixText":"The root home directory should be something other than \"/\" (such as /root). \n\nRun commands: \n# mkdir /root \n# chown root /root \n# chgrp system /root \n# chmod 700 /root \n\nThen, edit the passwd file and change the root home directory to \"/root\".","ccis":["CCI-000366"]},{"vulnId":"V-215435","ruleId":"SV-215435r991592_rule","severity":"medium","ruleTitle":"All AIX interactive users must be assigned a home directory in the passwd file and the directory must exist.","description":"All users must be assigned a home directory in the passwd file. Failure to have a home directory may result in the user being put in the root directory. This could create a Denial of Service because the user would not be able to perform useful tasks in this location.","checkContent":"Verify each interactive user is assigned a home directory:\n\n# cut -d: -f1,6 /etc/passwd\nroot\nsrvproxy\ndoejohn\n\nIf an interactive user is not assigned a home directory, this is a finding.\n\nVerify that the interactive user home directories exist on the system:\n\n# cut -d: -f6 /etc/passwd | xargs -n1 ls -ld\n\ndrwxr-xr-x    2 doejohn  staff           256 Jan 25 13:18 /home/doejohn\n\ndrwxr-xr-x    2 sshd     system          256 Aug 11 2017  /home/srvproxy\n\ndrwx------    2 root     system          256 Jan 30 12:54 /root\n\nIf any interactive user home directory does not exist, this is a finding.","fixText":"Remove any unauthorized accounts with no home directory. \n\nIf the account is valid, create the home directory using the appropriate system administration utility or process.","ccis":["CCI-000366"]},{"vulnId":"V-215436","ruleId":"SV-215436r1009557_rule","severity":"medium","ruleTitle":"The AIX operating system must use Multi Factor Authentication.","description":"To assure accountability and prevent unauthenticated access, privileged and non-privileged users must utilize multifactor authentication to prevent potential misuse and compromise of the system. \nMultifactor authentication uses two or more factors to achieve authentication.\n\nFactors include: \n1. Something you know (e.g., password/PIN);\n2. Something you have (e.g., cryptographic identification device, token); and\n3. Something you are (e.g., biometric).\n\nThe DoD CAC with DoD-approved PKI is an example of multifactor authentication.\n\n\nSatisfies: SRG-OS-000105-GPOS-00052, SRG-OS-000106-GPOS-00053, SRG-OS-000107-GPOS-00054, SRG-OS-000108-GPOS-00055, SRG-OS-000375-GPOS-00160","checkContent":"Verify that all required packages are installed:\n\n# lslpp -l |grep -i powerscmfa\n\n  powerscMFA.license        1.2.0.1  COMMITTED  PowerSC MFA license files\n  powerscMFA.pam.base        1.2.0.1 COMMITTED  PowerSC MFA standard inband\n  powerscMFA.pam.fallback    1.2.0.1 COMMITTED  PowerSC MFA Password fallback\n  powerscMFA.pam.pmfamapper  1.2.0.1  COMMITTED USB Smartcard Interface to\n  powerscMFA.pam.usbsmartcard\n\nIf any of the above packages are not installed, this is a finding.","fixText":"Install the IBM PowerSC MFA product.","ccis":["CCI-000765","CCI-000766","CCI-004046","CCI-000767","CCI-000768","CCI-001948"]},{"vulnId":"V-215437","ruleId":"SV-215437r991589_rule","severity":"medium","ruleTitle":"The AIX operating system must be configured to authenticate using Multi Factor Authentication.","description":"To assure accountability and prevent unauthenticated access, privileged and non-privileged users must utilize multifactor authentication to prevent potential misuse and compromise of the system. \nMultifactor authentication uses two or more factors to achieve authentication.\n\nFactors include: \n1. Something you know (e.g., password/PIN);\n2. Something you have (e.g., cryptographic identification device, token); and\n3. Something you are (e.g., biometric).\n\nThe DoD CAC with DoD-approved PKI is an example of multifactor authentication.","checkContent":"Verify the global \"auth_type\" is configured to use PAM: \n\n# grep auth_type /etc/security/login.cfg |grep AUTH \n\nauth_type = PAM_AUTH\n\nIf \"auth_type\" is not set to \"PAM_AUTH\", this is a finding.\n\n\nVerify that the user stanza is configured to use PAM:\n\n# lssec -f /etc/security/login.cfg -susw -a auth_type\n   \nusw auth_type=PAM_AUTH\n\nIf \"auth_type\" is not set to \"PAM_AUTH\", this is a finding.","fixText":"Run the following command to set the global and user stanza \"auth_type\":\n\n# chsec -f /etc/security/login.cfg -susw -a auth_type=PAM_AUTH","ccis":["CCI-000366"]},{"vulnId":"V-215438","ruleId":"SV-215438r991589_rule","severity":"medium","ruleTitle":"The AIX operating system must be configured to use Multi Factor Authentication for remote connections.","description":"To assure accountability and prevent unauthenticated access, privileged and non-privileged users must utilize multifactor authentication to prevent potential misuse and compromise of the system. \nMultifactor authentication uses two or more factors to achieve authentication.\n\nFactors include: \n1. Something you know (e.g., password/PIN);\n2. Something you have (e.g., cryptographic identification device, token); and\n3. Something you are (e.g., biometric).\n\nThe DoD CAC with DoD-approved PKI is an example of multifactor authentication.","checkContent":"Verify SSH is configured to use multi factor authentication:\n\n# grep ^sshd /etc/pam.conf | head -3\n\nsshd auth required   pam_ckfile\nsshd auth required   pam_permission file=/etc/security/access.conf found=allow\nsshd auth required   pam_pmfa /etc/security/pmfa/pam_pmfa.conf\n\nIf the output does not match the above lines, any lines are missing, or commented out, this is a finding.","fixText":"Add or update the following lines in the /etc/pam.conf file:\n\nsshd auth required   pam_ckfile\nsshd auth required   pam_permission file=/etc/security/access.conffound=allow\nsshd auth required   pam_pmfa /etc/security/pmfa/pam_pmfa.conf","ccis":["CCI-000366"]},{"vulnId":"V-215439","ruleId":"SV-215439r991589_rule","severity":"medium","ruleTitle":"AIX must have the have the PowerSC Multi Factor Authentication Product configured.","description":"To assure accountability and prevent unauthenticated access, privileged and non-privileged users must utilize multifactor authentication to prevent potential misuse and compromise of the system. \nMultifactor authentication uses two or more factors to achieve authentication.\n\nFactors include: \n1. Something you know (e.g., password/PIN);\n2. Something you have (e.g., cryptographic identification device, token); and\n3. Something you are (e.g., biometric).\n\nThe DoD CAC with DoD-approved PKI is an example of multifactor authentication.","checkContent":"Verify /etc/security/pmfa/pam_pmfa.conf is configured correctly.\n\n# grep -i \"trustedcas\" /etc/security/pmfa/pam_pmfa.conf | grep -v '#'\n\nTRUSTEDCAS = /<path_to_file>/server_ca.pem\n\nNote: Verify with the SA/ISSO as to the location of the \"server_ca.pem\" file.\n\nIf \"TRUSTEDCAS\" is not configured to point to a valid \"server_ca.pem\" file or is missing, this is a finding.\n\n# grep -i \"mfa-url\" /etc/security/pmfa/pam_pmfa.conf | grep -v '#'\n\nMFA-URL = https://pmfa.example.com:6793/policyAuth/\n\nIf the \"MFA-URL\" is missing or does not point to a valid address, this is a finding.\n\n# grep -i \"server-version\" /etc/security/pmfa/pam_pmfa.conf | grep -v '#'\n\nSERVER-VERSION = 2\n\nIf \"SERVER-VERSION\" is missing or is not set to \"2\", this is a finding.\n\n# grep -i \"ctc-prompt\" /etc/security/pmfa/pam_pmfa.conf | grep -v '#'\n\nCTC-PROMPT-ONLY = Y\n\nIf \"CTC-PROMPT-ONLY\" is missing or is not set to \"Y\", this is a finding.","fixText":"Add or update the following lines in the \"/etc/security/pmfa/pam_pmfa.conf\" file:\n\nTRUSTEDCAS = /<path_to_file>/server_ca.pem\n\nNote: Verify with the SA/ISSO as to the location of the \"server_ca.pem\" file.\n\nMFA-URL = https://pmfa.example.com:6793/policyAuth/\n\nSERVER-VERSION = 2\n\nCTC-PROMPT-ONLY = Y","ccis":["CCI-000366"]},{"vulnId":"V-215440","ruleId":"SV-215440r991589_rule","severity":"medium","ruleTitle":"The AIX operating system must be configured to use a valid server_ca.pem file.","description":"To assure accountability and prevent unauthenticated access, privileged and non-privileged users must utilize multifactor authentication to prevent potential misuse and compromise of the system. \nMultifactor authentication uses two or more factors to achieve authentication.\n\nFactors include: \n1. Something you know (e.g., password/PIN);\n2. Something you have (e.g., cryptographic identification device, token); and\n3. Something you are (e.g., biometric).\n\nThe DoD CAC with DoD-approved PKI is an example of multifactor authentication.","checkContent":"Verify the location of the \"server_ca.pem\" file:\n\n# grep -i \"trustedcas\" /etc/security/pmfa/pam_pmfa.conf | grep -v '#'\n\nTRUSTEDCAS = /<path_to_file>/server_ca.pem\n\nVerify that the configured \"server_ca.pem\" file exists in the defined location:\n\n# ls -la /<path_to_file>/server_ca.pem\n\nIf the file does not exist, this is a finding.","fixText":"Configure the system to use a valid \"server_ca.pem\" file.","ccis":["CCI-000366"]},{"vulnId":"V-215441","ruleId":"SV-215441r958816_rule","severity":"medium","ruleTitle":"The AIX operating system must accept and verify Personal Identity Verification (PIV) credentials.","description":"The use of PIV credentials facilitates standardization and reduces the risk of unauthorized access.\n\nDoD has mandated the use of the CAC to support identity management and personal authentication for systems covered under Homeland Security Presidential Directive (HSPD) 12, as well as making the CAC a primary component of layered protection for national security systems.\n\nSatisfies: SRG-OS-000376-GPOS-00161, SRG-OS-000377-GPOS-00162","checkContent":"Verify that the \" bos.ahafs\" package is installed:\n\n# lslpp -l |grep bos.ahafs\n                \n  bos.ahafs                7.1.5.15  COMMITTED  Aha File System\n\nIf the \"bos.ahafs\" package is not installed, this is a finding.\n\nVerify \"pmfahotplugd\" service is running:\n\n# lssrc -s pmfahotplugd\n\nIf the \" pmfahotplugd\" service is not running, this is a finding.","fixText":"Install \"bos.ahafs\" fileset from the PowerSC MFA DVD using the following command (assuming that the DVD device is mounted to /dev/cd0):\n\n# installp -aXYgd /dev/cd0 -e /tmp/install.log bos.ahafs\n\nStart the \"pmfahotplugd\" service:\n\n# startsrc-s pmfahotplugd","ccis":["CCI-001953","CCI-001954"]},{"vulnId":"V-219057","ruleId":"SV-219057r991589_rule","severity":"medium","ruleTitle":"AIX must employ a deny-all, allow-by-exception firewall policy for allowing connections to other systems.","description":"Failure to restrict network connectivity only to authorized systems permits inbound connections from malicious systems. It also permits outbound connections that may facilitate exfiltration of DoD data.","checkContent":"From the command prompt, run the following commands to check if the \"all traffic\" filter rules, the predefined rule with Rule-ID 0, are defined to deny all packages:\n\n# lsfilt -v4 -n0\n# lsfilt -v6 -n0 \n\nRule 0:\nRule action         : deny\nSource Address      : 0.0.0.0\nSource Mask         : 0.0.0.0\nDestination Address : 0.0.0.0\nDestination Mask    : 0.0.0.0\nSource Routing      : yes\nProtocol            : all\nSource Port         : any 0\nDestination Port    : any 0\nScope               : both\nDirection           : both\nLogging control     : no\nFragment control    : all packets\nTunnel ID number    : 0\nInterface           : all\nAuto-Generated      : no\nExpiration Time     : 0\nDescription         : Default Rule\n\nRule 0:\nRule action         : deny\nSource Address      : ::\nSource Mask         : 0\nDestination Address : ::\nDestination Mask    : 0\nSource Routing      : yes\nProtocol            : all\nSource Port         : any 0\nDestination Port    : any 0\nScope               : both\nDirection           : both\nLogging control     : no\nFragment control    : all packets\nTunnel ID number    : 0\nInterface           : all\nAuto-Generated      : no\nExpiration Time     : 0\nDescription         : Default Rule\n\nIf any of the \"all traffic\" rules has \"Rule action : permit\", this is a finding.","fixText":"From the command prompt, run the following commands to create and activate \"ipsec_v4\" and \"ipsec_v6\" devices:\n# mkdev -l ipsec -t 4\n# mkdev -l ipsec -t 6\n\nFrom the command prompt, run the following commands to change the \"all traffic\" rules to block all packages:\n# chfilt -a D -v 4 -n 0\n# chfilt -a D -v 6 -n 0\n\nAssume that the local host has IP address 10.10.10.10 and the remote host has IP address 11.11.11.11, run the following command to generate a user-defined filter rule that allow all IPv4 traffic between these 2 hosts:\n# genfilt -w B -v 4 -s 10.10.10.10 -p 0 -P 0 -o any -O any -m 255.255.255.255 -M 255.255.255.255 -i all -g Y -d 11.11.11.11 -c all -a P\n\nFrom the command prompt, run the following command to activate all the filter rules in the rule database:\n# mkfilt -u","ccis":["CCI-000366","CCI-002080"]},{"vulnId":"V-219956","ruleId":"SV-219956r958754_rule","severity":"medium","ruleTitle":"AIX must be configured so that the audit system takes appropriate action when the audit storage volume is full.","description":"Taking appropriate action in case of a filled audit storage volume will minimize the possibility of losing audit records.","checkContent":"Verify the action the operating system takes if the disk the audit records are written to becomes full.\n\nVerify that the file \"/etc/security/audit/config\" includes the required settings with the following command:\n\n# cat /etc/security/audit/config\n\nbin:\ntrail = /audit/trail\nbin1 = /audit/bin1\nbin2 = /audit/bin2\nbinsize = 25000\ncmds = /etc/security/audit/bincmds\nfreespace = 65536\nbackuppath = /audit\nbackupsize = 0\nbincompact = off\n\nIf any of the configurations listed above is missing or not set to the listed value or greater, this is a finding.","fixText":"Edit the /etc/security/audit/config file and add/modify the following values:\n\nNote: The values for \"binsize\" and \"freespace\" are the minimum required values. These values can be increased to meet organizationally defined values that exceed the listed values.\n\nbin:\ntrail = /audit/trail\nbin1 = /audit/bin1\nbin2 = /audit/bin2\nbinsize = 25000\ncmds = /etc/security/audit/bincmds\nfreespace = 65536\nbackuppath = /audit\nbackupsize = 0\nbincompact = off\n\nRestart the audit process:\n# /usr/sbin/audit shutdown\n# /usr/sbin/audit start","ccis":["CCI-001851"]},{"vulnId":"V-245557","ruleId":"SV-245557r991589_rule","severity":"medium","ruleTitle":"The AIX /etc/hosts file must be owned by root.","description":"Unauthorized ownership of the /etc/hosts file can lead to the ability for a malicious actor to redirect traffic to servers of their choice. It is also possible to use the /etc/hosts file to block detection by security software by blocking the traffic to all the download or update servers of well-known security vendors.","checkContent":"Check the ownership of /etc/hosts using command:\n# ls -al /etc/hosts\n\nThe above command should yield the following output:\n-rw-r----- 1 root system 993 Mar 11 07:04 /etc/hosts\n\nIf the file is not owned by root, this is a finding.","fixText":"Change the ownership of the file to root using command: \n# chown root /etc/hosts","ccis":["CCI-000366"]},{"vulnId":"V-245558","ruleId":"SV-245558r991589_rule","severity":"medium","ruleTitle":"The AIX /etc/hosts file must be group-owned by system.","description":"Unauthorized group ownership of the /etc/hosts file can lead to the ability for a malicious actor to redirect traffic to servers of their choice. It is also possible to use the /etc/hosts file to block detection by security software by blocking the traffic to all the download or update servers of well-known security vendors.","checkContent":"Check the group ownership of /etc/hosts using command:\n# ls -al /etc/hosts\n\nThe above command should yield the following output:\n-rw-r----- 1 root system 993 Mar 11 07:04 /etc/hosts\n\nIf the file is not group-owned by system, this is a finding.","fixText":"Change the group ownership of the file to system using command: \n# chgrp system /etc/hosts","ccis":["CCI-000366"]},{"vulnId":"V-245559","ruleId":"SV-245559r991589_rule","severity":"medium","ruleTitle":"The AIX /etc/hosts file must have a mode of 0640 or less permissive.","description":"Unauthorized permissions of the /etc/hosts file can lead to the ability for a malicious actor to redirect traffic to servers of their choice. It is also possible to use the /etc/hosts file to block detection by security software by blocking the traffic to all the download or update servers of well-known security vendors.","checkContent":"Check the mode of /etc/hosts using command:\n# ls -al /etc/hosts\n\nThe above command should yield the following output:\n-rw-r----- 1 root system 993 Mar 11 07:04 /etc/hosts\n\nIf the file has a mode more permissive than \"0640\", this is a finding.","fixText":"Change the mode of the file to 0640 using command: \n# chmod 0640 /etc/hosts","ccis":["CCI-000366"]},{"vulnId":"V-245560","ruleId":"SV-245560r991589_rule","severity":"medium","ruleTitle":"AIX cron and crontab directories must have a mode of 0640 or less permissive.","description":"Incorrect permissions of the cron or crontab directories could permit unauthorized users the ability to alter cron jobs and run automated jobs as privileged users. Failure to set proper permissions of cron or crontab directories provides unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.","checkContent":"Check the mode of the \"crontab\" directory using command:\n\n# ls -ld /var/spool/cron/crontabs \ndrw-r----- 2 bin cron 256 Jan 25 12:33 /var/spool/cron/crontabs\n\nIf the file has a mode more permissive than \"0640\", this is a finding.","fixText":"Change the owner of the \"crontab\" directory:\n# chmod 640 /var/spool/cron/crontabs","ccis":["CCI-000366"]},{"vulnId":"V-245561","ruleId":"SV-245561r991589_rule","severity":"medium","ruleTitle":"The AIX /etc/syslog.conf file must be owned by root.","description":"Unauthorized ownership of the /etc/syslog.conf file can lead to the ability for a malicious actor to alter or disrupt system logging activities. This can aid the malicious actor in avoiding detection and further their ability to conduct malicious activities on the system.","checkContent":"Check the ownership of /etc/syslog.conf using command:\n# ls -al /etc/syslog.conf\n\nThe above command should yield the following output:\n-rw-r----- 1 root system 993 Mar 11 07:04 /etc/syslog.conf\n\nIf the file is not owned by root, this is a finding.","fixText":"Change the ownership of the file to root using command: \n# chown root /etc/syslog.conf","ccis":["CCI-000366"]},{"vulnId":"V-245562","ruleId":"SV-245562r991589_rule","severity":"medium","ruleTitle":"The AIX /etc/syslog.conf file must be group-owned by system.","description":"Unauthorized group ownership of the /etc/syslog.conf file can lead to the ability for a malicious actor to alter or disrupt system logging activities. This can aid the malicious actor in avoiding detection and further their ability to conduct malicious activities on the system.","checkContent":"Check the group ownership of /etc/syslog.conf using command:\n# ls -al /etc/syslog.conf\n\nThe above command should yield the following output:\n-rw-r----- 1 root system 993 Mar 11 07:04 /etc/syslog.conf\n\nIf the file is not group-owned by system, this is a finding.","fixText":"Change the group ownership of the file to system using command: \n# chgrp system /etc/syslog.conf","ccis":["CCI-000366"]},{"vulnId":"V-245563","ruleId":"SV-245563r991589_rule","severity":"medium","ruleTitle":"The AIX /etc/syslog.conf file must have a mode of 0640 or less permissive.","description":"Unauthorized permissions of the /etc/syslog.conf file can lead to the ability for a malicious actor to alter or disrupt system logging activities. This can aid the malicious actor in avoiding detection and further their ability to conduct malicious activities on the system.","checkContent":"Check the mode of /etc/syslog.conf using command:\n# ls -al /etc/syslog.conf\n\nThe above command should yield the following output:\n-rw-r----- 1 root system 993 Mar 11 07:04 /etc/syslog.conf\n\nIf the file has a mode more permissive than \"0640\", this is a finding.","fixText":"Change the mode of the file to 0640 using command: \n# chmod 0640 /etc/syslog.conf","ccis":["CCI-000366"]},{"vulnId":"V-245564","ruleId":"SV-245564r991589_rule","severity":"medium","ruleTitle":"The inetd.conf file on AIX must be group owned by the \"system\" group.","description":"Failure to give ownership of sensitive files or utilities to system groups may provide unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.","checkContent":"Check the group ownership of \"/etc/inetd.conf\": \n# ls -al /etc/inetd.conf\n\nThe above command should yield the following output:\n-rw-r----- root system /etc/inetd.conf\n\nIf the file is not group owned by system, this is a finding.","fixText":"Change the group ownership of \"/etc/inetd.conf\": \n# chgrp system /etc/inetd.conf","ccis":["CCI-000366"]},{"vulnId":"V-245565","ruleId":"SV-245565r991589_rule","severity":"medium","ruleTitle":"The AIX /etc/inetd.conf file must have a mode of 0640 or less permissive.","description":"Failure to set proper permissions of sensitive files or utilities may provide unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.","checkContent":"Check the group ownership of \"/etc/inetd.conf\": \n# ls -al /etc/inetd.conf\n\nThe above command should yield the following output:\n-rw-r----- root system /etc/inetd.conf\n\nIf the file has a mode more permissive than \"0640\", this is a finding.","fixText":"Change the ownership of the file to root using command: \n# chmod 0640 /etc/inetd.conf","ccis":["CCI-000366"]},{"vulnId":"V-245566","ruleId":"SV-245566r991589_rule","severity":"medium","ruleTitle":"The AIX /var/spool/cron/atjobs directory must be owned by root or bin.","description":"Unauthorized ownership of the /var/spool/cron/atjobs directory could permit unauthorized users the ability to alter atjobs and run automated jobs as privileged users. Failure to set proper permissions of the /var/spool/cron/atjobs directory provides unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.","checkContent":"Check the ownership of the /var/spool/cron/atjobs directory using command:\n# ls -ld /var/spool/cron/atjobs\n\nThe above command should yield the following output:\ndrw-r----- 1 bin cron 993 Mar 11 07:04 /var/spool/cron/atjobs\n\nIf the owner of the \"atjobs\" directory is not \"root\" or \"bin\", this is a finding.","fixText":"Change the ownership of the \"atjobs\" directory to bin using command: \n# chown bin /var/spool/cron/atjobs","ccis":["CCI-000366"]},{"vulnId":"V-245567","ruleId":"SV-245567r991589_rule","severity":"medium","ruleTitle":"The AIX /var/spool/cron/atjobs directory must be group-owned by cron.","description":"Unauthorized group ownership of the /var/spool/cron/atjobs directory could permit unauthorized users the ability to alter atjobs and run automated jobs as privileged users. Failure to set proper permissions of the /var/spool/cron/atjobs directory provides unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.","checkContent":"Check the group ownership of the /var/spool/cron/atjobs directory using command:\n# ls -ld /var/spool/cron/atjobs\n\nThe above command should yield the following output:\ndrw-r----- 1 bin cron 993 Mar 11 07:04 /var/spool/cron/atjobs\n\nIf the group owner of the \"atjobs\" directory is not \"cron\", this is a finding.","fixText":"Change the group ownership of the \"atjobs\" directory to cron using command: \n# chgrp cron /var/spool/cron/atjobs","ccis":["CCI-000366"]},{"vulnId":"V-245568","ruleId":"SV-245568r991589_rule","severity":"medium","ruleTitle":"The AIX /var/spool/cron/atjobs directory must have a mode of 0640 or less permissive.","description":"Incorrect permissions of the /var/spool/cron/atjobs directory could permit unauthorized users the ability to alter atjobs and run automated jobs as privileged users. Failure to set proper permissions of the /var/spool/cron/atjobs directory provides unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.","checkContent":"Check the mode of the /var/spool/cron/atjobs directory using command:\n\n# ls -ld /var/spool/cron/atjobs \ndrw-r----- 1 daemon daemon 993 Mar 11 07:04 /var/spool/cron/atjobs\n\nIf the directory has a mode more permissive than \"0640\", this is a finding.","fixText":"Change the mode of the /var/spool/cron/atjobs directory:\n# chmod 640 /var/spool/cron/atjobs","ccis":["CCI-000366"]},{"vulnId":"V-245569","ruleId":"SV-245569r991589_rule","severity":"medium","ruleTitle":"The AIX cron and crontab directories must be group-owned by cron.","description":"Incorrect group ownership of the cron or crontab directories could permit unauthorized users the ability to alter cron jobs and run automated jobs as privileged users. Failure to give ownership of cron or crontab directories to root or to bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.","checkContent":"Check the group owner of the \"crontab\" directory using command:\n\n# ls -ld /var/spool/cron/crontabs \ndrwxrwx--- 2 bin cron 256 Jan 25 12:33 /var/spool/cron/crontabs\n\nIf the group owner of the \"crontab\" directory is not \"cron\", this is a finding.","fixText":"Change the group owner of the \"crontab\" directory:\n# chgrp cron /var/spool/cron/crontabs","ccis":["CCI-000366"]}]}