Cis Ibm Aix 5.3-6.1 Benchmark v1.0.0
Cis Ibm Aix 5.3-6.1 Benchmark v1.0.0
Cis Ibm Aix 5.3-6.1 Benchmark v1.0.0
2|Page
terms of these Agreed Terms of Use: Except to the extent that we may have received additional authorization pursuant to a written agreement with CIS, each user may download, install and use each of the Products on a single computer; Each user may print one or more copies of any Product or any component of a Product that is in a .txt, .pdf, .doc, .mcw, or .rtf format, provided that all such copies are printed in full and are kept intact, including without limitation the text of this Agreed Terms of Use in its entirety. Retention of intellectual property rights; limitations on distribution. The Products are protected by copyright and other intellectual property laws and by international treaties. We acknowledge and agree that we are not acquiring title to any intellectual property rights in the Products and that full title and all ownership rights to the Products will remain the exclusive property of CIS or CIS Parties. CIS reserves all rights not expressly granted to users in the preceding section entitled Grant of limited rights. Subject to the paragraph entitled Special Rules (which includes a waiver, granted to some classes of CIS Members, of certain limitations in this paragraph), and except as we may have otherwise agreed in a written agreement with CIS, we agree that we will not (i) decompile, disassemble, reverse engineer, or otherwise attempt to derive the source code for any software Product that is not already in the form of source code; (ii) distribute, redistribute, encumber, sell, rent, lease, lend, sublicense, or otherwise transfer or exploit rights to any Product or any component of a Product; (iii) post any Product or any component of a Product on any website, bulletin board, ftp server, newsgroup, or other similar mechanism or device, without regard to whether such mechanism or device is internal or external, (iv) remove or alter trademark, logo, copyright or other proprietary notices, legends, symbols or labels in any Product or any component of a Product; (v) remove these Agreed Terms of Use from, or alter these Agreed Terms of Use as they appear in, any Product or any component of a Product; (vi) use any Product or any component of a Product with any derivative works based directly on a Product or any component of a Product; (vii) use any Product or any component of a Product with other products or applications that are directly and specifically dependent on such Product or any component for any part of their functionality, or (viii) represent or claim a particular level of compliance with a CIS Benchmark, scoring tool or other Product. We will not facilitate or otherwise aid other individuals or entities in any of the activities listed in this paragraph. We hereby agree to indemnify, defend and hold CIS and all of its officers, directors, members, contributors, employees, authors, developers, agents, affiliates, licensors, information and service providers, software suppliers, hardware suppliers, and all other persons who aided CIS in the creation, development or maintenance of the Products or Recommendations (CIS Parties) harmless from and against any and all liability, losses, costs and expenses (including attorneys' fees and court costs) incurred by CIS or any CIS Party in connection with any claim arising out of any violation by us of the preceding paragraph, including without limitation CISs right, at our expense, to assume the exclusive defense and control of any matter subject to this indemnification, and in such case, we agree to cooperate with CIS in its defense of such claim. We further agree that all CIS Parties are third-party beneficiaries of our undertakings in these Agreed Terms of Use. Special rules. CIS has created and will from time to time create special rules for its members and for other persons and organizations with which CIS has a written contractual relationship. Those special rules will override and supersede these Agreed Terms of Use with respect to the users who are covered by the
3|Page
special rules. CIS hereby grants each CIS Security Consulting or Software Vendor Member and each CIS Organizational User Member, but only so long as such Member remains in good standing with CIS and complies with all of the terms of these Agreed Terms of Use, the right to distribute the Products and Recommendations within such Members own organization, whether by manual or electronic means. Each such Member acknowledges and agrees that the foregoing grant is subject to the terms of such Members membership arrangement with CIS and may, therefore, be modified or terminated by CIS at any time. Choice of law; jurisdiction; venue. We acknowledge and agree that these Agreed Terms of Use will be governed by and construed in accordance with the laws of the State of Maryland, that any action at law or in equity arising out of or relating to these Agreed Terms of Use shall be filed only in the courts located in the State of Maryland, that we hereby consent and submit to the personal jurisdiction of such courts for the purposes of litigating any such action. If any of these Agreed Terms of Use shall be determined to be unlawful, void, or for any reason unenforceable, then such terms shall be deemed severable and shall not affect the validity and enforceability of any remaining provisions. We acknowledge and agree that we have read these Agreed Terms of Use in their entirety, understand them and agree to be bound by them in all respects.
4|Page
Table of Contents
Terms of Use Agreement .................................................................................................................................... 2 Table of Contents................................................................................................................................................... 5 Overview................................................................................................................................................................ 11 Consensus Guidance ............................................................................................................................................ 11 Intended Audience ............................................................................................................................................... 11 Acknowledgements ............................................................................................................................................. 12 Typographic Conventions ................................................................................................................................. 12 Configuration Levels ........................................................................................................................................... 12 Level-I Benchmark settings/actions ........................................................................................................ 12 Level-II Benchmark settings/actions....................................................................................................... 12 Scoring Status ........................................................................................................................................................ 13 Scorable ............................................................................................................................................................... 13 Not Scorable....................................................................................................................................................... 13 Introduction ......................................................................................................................................................... 13 Scope ......................................................................................................................................................................... 13 Approach.................................................................................................................................................................. 13 Maintenance Cadence ....................................................................................................................................... 14 Considerations ....................................................................................................................................................... 14 Summary .................................................................................................................................................................. 14 AIX Security Expert Introduction ................................................................................................................. 15 Security Levels....................................................................................................................................................... 15 Low Level Security .......................................................................................................................................... 15 Medium Level Security .................................................................................................................................. 16 High Level Security ......................................................................................................................................... 16 Custom Level Security ........................................................................................................................................ 16 Implementing the Custom Level Policy .................................................................................................. 16 1. AIX Security Expert Recommendations ............................................................................................... 19 1.1 AIX Security Expert Password Policy................................................................................................. 19 1.1.1 /etc/security/user - mindiff (Level 1, Scorable) ...................................................................... 19 1.1.2 /etc/security/user - minage (Level 1, Scorable) ...................................................................... 20 1.1.3 /etc/security/user - maxage (Level 1, Scorable) ..................................................................... 20 1.1.4 /etc/security/user - minlen (Level 1, Scorable)....................................................................... 21 1.1.5 /etc/security/user - minalpha (Level 1, Scorable).................................................................. 22 1.1.6 /etc/security/user- minother (Level 1, Scorable) ................................................................... 23 1.1.7 /etc/security/user - maxrepeats (Level 1, Scorable) ............................................................. 24 1.1.8 /etc/security/user - histexpire (Level 1, Scorable) ................................................................ 24 1.1.9 /etc/security/user - histsize (Level 1, Scorable) ..................................................................... 25 1.1.10 /etc/security/user - maxexpired (Level 1, Scorable) .......................................................... 26 1.1.11 /etc/security/login.cfg pwd_algorithm (AIX 5.3 TL-07 +) (Level 2, Scorable) ...... 27 1.2 AIX Security Expert Login Policy ......................................................................................................... 28 1.2.1 /etc/security/login.cfg - logininterval (Level 1, Scorable) ............................................. 28 1.2.2 /etc/security/login.cfg - logindisable (Level 1, Scorable) .............................................. 29 1.2.3 /etc/security/login.cfg - loginreenable (Level 1, Scorable) ................................................. 30
5|Page
1.2.4 /etc/security/login.cfg - logintimeout (Level 1, Scorable)................................................... 31 1.2.5 /etc/security/login.cfg - logindelay (Level 1, Scorable)........................................................ 31 1.2.6 /etc/security/user - loginretries (Level 1, Scorable) ............................................................. 32 1.2.7 /etc/security/user - rlogin (Level 1, Scorable) ......................................................................... 33 1.2.8 /etc/security/user - sugroups (Level 1, Scorable) .................................................................. 34 1.2.9 System account lockdown (Level 2, Scorable) .......................................................................... 35 1.3 AIX Security Expert System Services Management ...................................................................... 36 1.3.1 /etc/inittab - qdaemon (Level 2, Scorable) ................................................................................ 36 1.3.2 /etc/inittab - lpd (Level 2, Scorable) ............................................................................................ 37 1.3.3 /etc/inittab - piobe (Level 2, Scorable)........................................................................................ 39 1.3.4 /etc/inittab dt (Level 2, Scorable) .............................................................................................. 40 1.3.5 /etc/inittab - rcnfs (Level 2, Scorable) ........................................................................................ 41 1.3.6 /etc/rc.tcpip sendmail (Level 2, Scorable) .............................................................................. 42 1.3.7 /etc/rc.tcpip snmpd (Level 2, Scorable) .................................................................................. 43 1.3.8 /etc/rc.tcpip dhcpcd (Level 2, Scorable).................................................................................. 45 1.3.9 /etc/rc.tcpip dhcprd (Level 2, Scorable) .................................................................................. 46 1.3.10 /etc/rc.tcpip dhcpsd (Level 2, Scorable) ............................................................................... 47 1.3.11 /etc/rc.tcpip autoconf6 (Level 2, Scorable) ......................................................................... 48 1.3.12 /etc/rc.tcpip gated (Level 2, Scorable) .................................................................................. 49 1.3.13 /etc/rc.tcpip mrouted (Level 2, Scorable) ............................................................................ 51 1.3.14 /etc/rc.tcpip named (Level 2, Scorable) ................................................................................ 52 1.3.15 /etc/rc.tcpip routed (Level 2, Scorable) ................................................................................ 53 1.3.16 /etc/rc.tcpip rwhod (Level 2, Scorable) ................................................................................ 54 1.3.17 /etc/rc.tcpip timed (Level 2, Scorable) .................................................................................. 56 1.3.18 /etc/rc.tcpip dpid2 (Level 2, Scorable) .................................................................................. 57 1.3.19 /etc/rc.tcpip hostmibd (Level 2, Scorable) .......................................................................... 58 1.3.20 /etc/rc.tcpip snmpmibd (Level 2, Scorable) ........................................................................ 60 1.3.21 /etc/rc.tcpip aixmibd (Level 2, Scorable) ............................................................................. 61 1.3.22 /etc/rc.tcpip ndpd-host (Level 2, Scorable) ......................................................................... 62 1.3.23 /etc/rc.tcpip ndpd-router (Level 2, Scorable) .................................................................... 63 1.3.24 /etc/inetd.conf telnet (Level 2, Scorable) ............................................................................. 64 1.3.25 /etc/inetd.conf exec (Level 2, Scorable) ................................................................................ 66 1.3.26 /etc/inetd.conf daytime (Level 2, Scorable) ........................................................................ 67 1.3.27 /etc/inetd.conf shell (Level 2, Scorable) ............................................................................... 68 1.3.28 /etc/inetd.conf cmsd (Level 2, Scorable) .............................................................................. 70 1.3.29 /etc/inetd.conf ttdbserver (Level 2, Scorable) ................................................................... 71 1.3.30 /etc/inetd.conf uucp (Level 2, Scorable) ............................................................................... 72 1.3.31 /etc/inetd.conf time (Level 2, Scorable)................................................................................ 73 1.3.32 /etc/inetd.conf login (Level 2, Scorable)............................................................................... 75 1.3.33 /etc/inetd.conf talk (Level 2, Scorable) ................................................................................. 76 1.3.34 /etc/inetd.conf ntalk (Level 2, Scorable) .............................................................................. 77 1.3.35 /etc/inetd.conf ftp (Level 2, Scorable) ................................................................................... 78 1.3.36 /etc/inetd.conf chargen (Level 2, Scorable) ........................................................................ 80 1.3.37 /etc/inetd.conf discard (Level 2, Scorable) .......................................................................... 81 1.3.38 /etc/inetd.conf dtspc (Level 2, Scorable) .............................................................................. 82 1.3.39 /etc/inetd.conf echo (Level 2, Scorable) ............................................................................... 83
6|Page
1.3.40 /etc/inetd.conf pcnfs (Level 2, Scorable) .............................................................................. 84 1.3.41 /etc/inetd.conf rstatd (Level 2, Scorable)............................................................................. 85 1.3.42 /etc/inetd.conf rusersd (Level 2, Scorable) ......................................................................... 86 1.3.43 /etc/inetd.conf rwalld (Level 2, Scorable)............................................................................ 87 1.3.44 /etc/inetd.conf sprayd (Level 2, Scorable) ........................................................................... 88 1.3.45 /etc/inetd.conf klogin (Level 2, Scorable) ............................................................................ 89 1.3.46 /etc/inetd.conf kshell (Level 2, Scorable) ............................................................................. 91 1.3.47 /etc/inetd.conf rquotad (Level 2, Scorable) ........................................................................ 92 1.3.48 /etc/inetd.conf tftp (Level 2, Scorable) ................................................................................. 93 1.3.49 /etc/inetd.conf imap (Level 2, Scorable)............................................................................... 94 1.3.50 /etc/inetd.conf pop3 (Level 2, Scorable) .............................................................................. 95 1.3.51 /etc/inetd.conf fingerd (Level 2, Scorable) .......................................................................... 96 1.3.52 /etc/inetd.conf instsrv (Level 2, Scorable) ........................................................................... 97 1.3.53 /etc/inetd.conf permissions and ownership (Level 1, Scorable) ................................ 98 1.4 AIX Security Expert Disabling Remote Services ............................................................................ 99 1.4.1 Remote command lockdown (Level 2, Scorable) ..................................................................... 99 1.4.2 Remote daemon lockdown (Level 2, Scorable) ....................................................................... 101 1.5 AIX Security Expert Automated Authentication .......................................................................... 102 1.5.1 Removal of .rhosts and .netrc files (Level 2, Scorable) ........................................................ 103 1.5.2 Removal of entries from /etc/hosts.equiv (Level 2, Scorable) ......................................... 104 1.6 AIX Security Expert TCP/IP Hardening........................................................................................... 105 1.6.1 TCP/IP Tuning - ipsrcrouteforward (Level 2, Scorable) ..................................................... 105 1.6.2 TCP/IP Tuning - ipignoreredirects (Level 2, Scorable) ....................................................... 106 1.6.3 TCP/IP Tuning - clean_partial_conns (Level 2, Scorable) ................................................... 108 1.6.4 TCP/IP Tuning - ipsrcroutesend (Level 2, Scorable) ............................................................ 109 1.6.5 TCP/IP Tuning - ipforwarding (Level 2, Scorable) ................................................................ 110 1.6.6 TCP/IP Tuning - ipsendredirects (Level 2, Scorable) ........................................................... 112 1.6.7 TCP/IP Tuning - ip6srcrouteforward (Level 2, Scorable)................................................... 113 1.6.8 TCP/IP Tuning directed_broadcast (Level 2, Scorable) ................................................... 114 1.6.9 TCP/IP Tuning tcp_pmtu_discover (Level 2, Scorable) .................................................... 116 1.6.10 TCP/IP Tuning bcastping (Level 2, Scorable) .................................................................... 117 1.6.11 TCP/IP Tuning icmpaddressmask (Level 2, Scorable)................................................... 118 1.6.12 TCP/IP Tuning udp_pmtu_discover (Level 2, Scorable) ................................................ 119 1.6.13 TCP/IP Tuning ipsrcrouterecv (Level 2, Scorable) ......................................................... 121 1.6.14 TCP/IP Tuning nonlocsrcroute (Level 2, Scorable)......................................................... 122 1.6.15 TCP/IP Tuning tcp_tcpsecure (Level 2, Scorable)............................................................. 123 1.6.16 TCP/IP Tuning sockthresh (Level 2, Scorable) ................................................................. 125 1.6.17 TCP/IP Tuning rfc1323 (Level 2, Scorable) ....................................................................... 126 1.6.18 TCP/IP Tuning tcp_sendspace (Level 2, Scorable) .......................................................... 128 1.6.19 TCP/IP Tuning tcp_recvspace (Level 2, Scorable) ........................................................... 129 1.6.20 TCP/IP Tuning tcp_mssdflt (Level 2, Scorable) ................................................................ 130 1.6.21 TCP/IP Tuning nfs_use_reserved_ports (Level 2, Scorable) ........................................ 131 1.7 AIX Security Expert Miscellaneous Enhancements .................................................................... 133 1.7.1 Miscellaneous Enhancements /.profile PATH (Level 1, Scorable) ............................... 133 1.7.2 Miscellaneous Enhancements /etc/environment PATH (AIX 5.3 only) (Level 1, Scorable) ........................................................................................................................................................... 134
7|Page
1.7.3 Miscellaneous Enhancements crontab access (Level 2, Scorable) ............................... 135 1.7.4 Miscellaneous Enhancements at access (Level 2, Scorable)........................................... 137 1.7.5 Miscellaneous Enhancements /etc/ftpusers (Level 1, Scorable) ................................. 138 1.7.6 Miscellaneous Enhancements login herald (Level 1, Scorable) .................................... 138 1.7.7 Miscellaneous Enhancements guest account removal (Level 1, Scorable) ............... 139 1.7.8 Miscellaneous Enhancements crontab permissions (Level 1, Scorable) ................... 140 1.7.9 Miscellaneous Enhancements default umask (Level 2, Scorable) ................................ 141 1.7.10 Miscellaneous Enhancements disabling core dumps (Level 2, Scorable) .............. 143 1.7.11 Miscellaneous Enhancements AIX Auditing (Level 2, Scorable) ................................ 144 2. Non AIX Security Expert Managed Recommendations .................................................................147 2.1 Configuring syslog ...................................................................................................................................... 148 2.1.1 Configuring syslog - local logging (Level 2, Scorable) .......................................................... 148 2.1.2 Configuring syslog remote logging (Level 2, Scorable) .................................................... 149 2.1.3 Configuring syslog - remote messages (Level 2, Scorable) ................................................ 151 2.2 Secure Remote Access ............................................................................................................................... 152 2.2.1 Configuring SSH installation (Level 2, Scorable) ................................................................ 152 2.2.2 Configuring SSH disabling direct root access (Level 1, Scorable) ................................ 153 2.2.3 Configuring SSH server protocol 2 (Level 1, Scorable) .................................................... 154 2.2.4 Configuring SSH client protocol 2 (Level 1, Scorable) ...................................................... 155 2.2.5 Configuring SSH banner configuration (Level 1, Scorable) ............................................ 156 2.2.6 Configuring SSH ignore .shosts and .rhosts (Level 1, Scorable) .................................... 157 2.2.7 Configuring SSH disable null passwords (Level 1, Scorable) ......................................... 158 2.2.9 Configuring SSH disallow host based authentication (Level 2, Scorable) ................. 159 2.2.10 Configuring SSH set privilege separation (Level 1, Scorable) ..................................... 160 2.2.11 Configuring SSH sshd_config permissions lockdown (Level 1, Scorable) .............. 161 2.2.12 Configuring SSH ssh_config permissions lockdown (Level 1, Scorable) ................. 162 2.2.13 Configuring SSH removal of .shosts files (Level 2, Scorable)....................................... 162 2.2.14 Configuring SSH removal of /etc/shosts.equiv (Level 2, Scorable) .......................... 163 2.3 Sendmail Configuration ............................................................................................................................ 164 2.3.1 /etc/mail/sendmail.cf SmtpGreetingMessage (Level 1, Scorable) .............................. 164 2.3.2 /etc/mail/sendmail.cf permissions and ownership (Level 1, Scorable) ................... 165 2.3.3 /var/spool/mqueue permissions and ownership (Level 1, Scorable) ....................... 166 2.4 Common Desktop Environment (CDE) ............................................................................................... 166 2.4.1 CDE de-installing CDE (Level 2, Scorable) ............................................................................. 166 2.4.2 CDE disabling dtlogin (Level 2, Scorable) .............................................................................. 167 2.4.3 CDE sgid/suid binary lockdown (Level 1, Scorable) ......................................................... 168 2.4.4 CDE remote GUI login disabled (Level 2, Scorable) ........................................................... 169 2.4.5 CDE screensaver lock (Level 1, Scorable) .............................................................................. 170 2.4.6 CDE /etc/dt/config/Xconfig permissions and ownership (Level 1, Scorable) ....... 171 2.4.7 CDE /etc/dt/config/Xservers permissions and ownership (Level 1, Scorable)..... 171 2.4.8 CDE login screen hostname masking (Level 1, Scorable) ................................................ 172 2.4.9 CDE /etc/dt/config/*/Xresources permissions and ownership (Level 1, Scorable) ............................................................................................................................................................................... 173 2.5 NFS .................................................................................................................................................................... 174 2.5.1 NFS de-install NFS (Level 2, Scorable) .................................................................................... 174 2.5.2 NFS nosuid on NFS client mounts (Level 1, Scorable) ...................................................... 175
8|Page
2.5.3 NFS localhost removal (Level 1, Scorable) ............................................................................ 176 2.5.4 NFS restrict NFS access (Level 2, Scorable) .......................................................................... 177 2.5.5 NFS no_root_squash option (Level 1, Scorable) .................................................................. 178 2.5.6 NFS secure NFS (Level 2, Scorable).......................................................................................... 179 2.6 NIS ..................................................................................................................................................................... 180 2.6.1 NIS disable NIS client (Level 2, Scorable) .............................................................................. 181 2.6.2 NIS disable NIS server (Level 2, Scorable) ............................................................................ 182 2.6.3 NIS remove NIS markers from password and group files (Level 2, Scorable) ........ 182 2.6.4 NIS restrict NIS server communication (Level 2, Scorable) ........................................... 183 2.7 SNMP ................................................................................................................................................................ 184 2.7.1 SNMP disable private community (Level 2, Scorable) ...................................................... 184 2.7.2 SNMP disable system community (Level 2, Scorable) ...................................................... 185 2.7.3 SNMP restrict public community access (Level 2, Scorable) ......................................... 186 2.7.4 SNMP disable Readwrite community (Level 2, Scorable) ............................................... 187 2.8 Securing inetd ............................................................................................................................................... 188 2.8.1 inetd - disabling inetd (Level 2, Scorable) ................................................................................ 188 2.9 Portmap Lockdown .................................................................................................................................... 189 2.9.1 /etc/rc.tcpip - portmap (Level 2, Scorable) ............................................................................. 189 2.10 TCP Wrappers ............................................................................................................................................ 190 2.10.1 TCP Wrappers installing TCP Wrappers (Level 2, Scorable) ....................................... 190 2.10.2 TCP Wrappers creating a hosts.deny file (Level 1, Scorable) ...................................... 192 2.10.3 TCP Wrappers creating a hosts.allow file (Level 1, Scorable) ..................................... 192 2.10.4 TCP Wrappers wrapping inetd services (Level 2, Scorable) ....................................... 193 2.11 Permissions and Ownership ................................................................................................................ 194 2.11.1 Permissions and Ownership /etc/security (Level 1, Scorable).................................. 195 2.11.2 Permissions and Ownership /etc/group (Level 1, Scorable) ...................................... 195 2.11.3 Permissions and Ownership /etc/passwd (Level 1, Scorable)................................... 196 2.11.4 Permissions and Ownership /etc/security audit (Level 1, Scorable) ...................... 196 2.11.5 Permissions and Ownership /audit (Level 1, Scorable) ................................................ 197 2.11.6 Permissions and Ownership /smit.log (Level 1, Scorable) .......................................... 197 2.11.7 Permissions and Ownership /var/adm/cron/log (Level 1, Scorable) .................... 198 2.11.8 Permissions and Ownership /var/spool/cron/crontabs (Level 1, Scorable)....... 199 2.11.9 Permissions and Ownership /var/adm/cron/at.allow (Level 1, Scorable) .......... 199 2.11.10 Permissions and Ownership /var/adm/cron/cron.allow (Level 1, Scorable) .. 200 2.11.11 Permissions and Ownership /etc/motd (Level 1, Scorable)..................................... 200 2.11.12 Permissions and Ownership /var/adm/ras (Level 1, Scorable) ............................. 201 2.11.13 Permissions and Ownership /var/ct/RMstart.log (Level 1, Scorable) ................. 202 2.11.14 Permissions and Ownership /var/tmp/dpid2.log (Level 1, Scorable) ................. 202 2.11.15 Permissions and Ownership /var/tmp/hostmibd.log (Level 1, Scorable) .......... 203 2.11.16 Permissions and Ownership /var/tmp/snmpd.log (Level 1, Scorable) ................ 203 2.11.17 Permissions and Ownership /var/adm/sa (Level 1, Scorable) ................................ 204 2.11.18 Permissions and Ownership world writable directory in root PATH (Level 1, Scorable) ........................................................................................................................................................... 205 2.11.19 Permissions and Ownership home directory configuration files (Level 1, Scorable) ........................................................................................................................................................... 206 2.11.20 Permissions and Ownership home directory permissions (Level 1, Scorable) . 207
9|Page
2.12 Miscellaneous Configuration Changes ............................................................................................. 208 2.12.1 Miscellaneous Config serial port restriction (Level 2, Scorable) ............................... 208 2.12.2 Miscellaneous Config disable i4ls (Level 2, Scorable) .................................................... 209 2.12.3 Miscellaneous Config disable NCS (Level 2, Scorable) ................................................... 209 2.12.4 Miscellaneous Config disable httpdlite (Level 2, Scorable) .......................................... 210 2.12.5 Miscellaneous Config disable pmd (Level 2, Scorable) .................................................. 211 2.12.6 Miscellaneous Config disable writesrv (Level 2, Scorable) .......................................... 212 2.12.7 Miscellaneous Config Block talk/write (Level 2, Scorable)......................................... 213 2.12.8 Miscellaneous Config enable sar accounting (Level 2, Scorable) ............................... 213 2.12.9 Miscellaneous Config /etc/ftpusers (Level 2, Scorable)................................................ 215 2.12.10 Miscellaneous Config - ftp umask (Level 1, Scorable) ..................................................... 216 2.12.11 Miscellaneous Config ftp banner (Level 1, Scorable) ................................................... 217 2.12.12 Miscellaneous Config /etc/motd (Level 1, Scorable) ................................................... 218 2.12.13 Miscellaneous Config authorized users in at.allow (Level 1, Scorable) ................ 219 2.12.14 Miscellaneous Config authorized users in cron.allow (Level 1, Scorable) ........... 219 2.12.15 Miscellaneous Config all unlocked accounts must have a password (Level 1, Scorable) ........................................................................................................................................................... 220 2.12.16 Miscellaneous Config All user id must be unique (Level 1, Scorable) ................... 221 2.12.17 Miscellaneous Config All group id must be unique (Level 1, Scorable) ................ 222 2.12.18 Miscellaneous Config unnecessary user and group removal (Level 2, Scorable) ............................................................................................................................................................................... 223 2.12.19 Miscellaneous Config /etc/environment PATH (AIX 6.1 only) (Level 1, Scorable) ............................................................................................................................................................................... 224 2.12.20 Miscellaneous Config /etc/profile PATH (Level 1, Scorable) ....................................... 224 2.13 Privileged Command Management ................................................................................................... 225 2.13.1 PCM - sudo (Level 2, Scorable) ................................................................................................... 225 2.13.2 PCM enhanced RBAC (AIX 6.1 only) (Level 2, Scorable) .............................................. 227 2.14 Encrypted Filesystems (EFS) (AIX 6.1 only) .................................................................................. 228 2.14.1 EFS - implementation (AIX 6.1 only) (Level 2, Scorable) ................................................ 228 2.15 Trusted Execution (TE) (AIX 6.1 only) ............................................................................................. 230 2.15.1 TE - implementation (AIX 6.1 only) (Level 2, Scorable) .................................................. 230 2.16 File Permissions Manager (FPM) ....................................................................................................... 232 2.16.1 FPM - execution (Level 2, Scorable).......................................................................................... 233 2.16.2 FPM - un-owned and world writable files (Level 2, Scorable) ...................................... 235 3. Final Steps ......................................................................................................................................................236 3.1 System Reboot and Backup ..................................................................................................................... 236 Appendix A: References .................................................................................................................................237 Appendix B: Change History ........................................................................................................................240
10 | P a g e
Overview
This document, Security Configuration Benchmark for AIX 5.3 and AIX 6.1, provides prescriptive guidance for establishing a secure configuration posture for AIX versions 5.3 and 6.1 running on the Power Systems platform. This guide was tested against AIX 5.3 TL-05 / TL07 and AIX 6.1 TL-01, installed from IBM base installation media. To obtain the latest version of this guide, please visit http://cisecurity.org. If you have questions, comments, or have identified ways to improve this guide, please write us at [email protected].
Consensus Guidance
This benchmark was created using a consensus review process comprised of volunteer and contract subject matter experts. Consensus participants provide perspective from a diverse set of backgrounds including consulting, software development, audit and compliance, security research, operations, government, and legal. Each CIS benchmark undergoes two phases of consensus review. The first phase occurs during initial benchmark development. During this phase, subject matter experts convene to discuss, create, and test working drafts of the benchmark. This discussion occurs until consensus has been reached on benchmark recommendations. The second phase begins after the benchmark has been released to the public Internet. During this phase, all feedback provided by the Internet community is reviewed by the consensus team for incorporation in to the CIS benchmark. If you are interested in participating in the consensus review process, please send us a note to [email protected].
Intended Audience
This document is intended for system and application administrators, security specialists, auditors, help desk, and platform deployment personnel, who plan to develop, deploy, assess, or secure solutions that incorporate AIX 5.3 and AIX 6.1 on the Power Systems platform. A working knowledge of vi is assumed in order to implement some of the configuration changes.
11 | P a g e
Acknowledgements
This benchmark exemplifies the great things a community of users, vendors, and subject matter experts can accomplish through consensus collaboration. The CIS community thanks the entire consensus team with special recognition to the following individuals who contributed greatly to the creation of this guide: Authors Paul Sharpe Contributors and Reviewers Shailesh Athalye, Symantec Inc. Christiane Cuculo, CPqD Blake Frantz, Center for Internet Security Huibert Kivits Boris Kleiman, Lightening International Nikhil Mittal Steve Parham, IBM
Typographic Conventions
The following typographical conventions are used throughout this guide: Convention
Stylized Monospace font
Meaning Used for blocks of code, command, and script examples. Text should be interpreted exactly as presented. Used for inline code, commands, or examples. Text should be interpreted exactly as presented. Italic texts set in angle brackets denote a variable requiring substitution for a real value. Used to denote the title of a book, article, or other publication. Additional information or caveats
Configuration Levels
This section defines the configuration levels that are associated with each benchmark recommendation. Configuration levels represent increasing levels of security assurance.
12 | P a g e
are intended for environments or use cases where security is paramount acts as defense in depth measure may negatively inhibit the utility or performance of the technology
Scoring Status
This section defines the scoring statuses used within this document. The scoring status indicates whether compliance with the given recommendation is discernable in an automated manner.
Scorable
The platforms compliance with the given recommendation can be determined via automated means.
Not Scorable
The platforms compliance with the given recommendation cannot be determined via automated means.
Introduction Scope
This guide provides security configuration guidance for use during the configuration of AIX 5.3 and 6.1 Operating Systems. There is a particular emphasis on the configuration of AIX 6.1, but as there is common affinity between the two releases much of the guide is relevant regardless of version specifics. Where function is not available for AIX 5.3, this will be clearly highlighted and where there is a different approach, this will be clearly defined. The scope of the guide is applicable to AIX 5.3 TL-05+ and AIX 6.1. The reason for the minimum version requirement of AIX 5.3 TL-05 is because the AIX Security Expert tool will be used to automate a large proportion of the best practice and recommendations and this is the AIX 5.3 Technology Level in which the tool was first released.
Approach
The suggested approach in terms of implementing this guide would be to install a vanilla AIX image, via NIM or the AIX product CD/DVDs, followed by the recommendations detailed in this guide and any other corporate standardization i.e. software installation and filesystem and user creation. Once completed, a mksysb backup of the system could then be taken and this image could be deployed via NIM for any subsequent operating system builds. This would provide a standard build mechanism, ensuring 100% compliance to all company standards and the best practice recommendations detailed in this benchmark. Within the AIX Base Operating System Installation Menus it is recommended that the following options are selected: 64-bit kernel
13 | P a g e
JFS2 filesystems All devices and kernels are installed = yes * Trusted Computing Base Install = yes **
* This is to ensure that all device drivers are contained within the standard build image for deploying to different server hardware configurations. ** For AIX 5.3 systems only, it is recommended that Trusted Computing Base (TCB) is installed. This is an install time only option.
Summary
The recommended maintenance strategy is as follows: Stay current and refresh the TL of each system at least once a year For maximum system stability wait until SP3 is released on the newer TL and then migrate.
14 | P a g e
Review the Service Packs for any security or critical fixes apply these regularly throughout the life cycle of a TL. Do not apply interim fixes or individual fixes unless there is an urgent requirement to do so. Instead apply full TLs and SPs for maximum stability. There should be a monthly review of the security advisory bulletins to remain apprised of all known security issues. These can currently be viewed at the following URL: http://www14.software.ibm.com/webapp/set2/subscriptions/pqvcmjd
The security fixes published in the vulnerability advisories are posted here for download: ftp://aix.software.ibm.com/aix/efixes/security
When any new AIX operating system images are deployed, review the latest available TL and SP releases and update where required. The information regarding the latest fixes can be gleaned from the IBM Fix Central website: http://www-933.ibm.com/support/fixcentral/
Further details on the IBM recommended maintenance strategies can be found in The IBM AIX Operating System Service Strategy Details and Best Practices guide: http://www14.software.ibm.com/webapp/set2/sas/f/best/home.html
Security Levels
There are three standard security levels, other than default, and the ability to create a customized hybrid policy.
15 | P a g e
AIX 6.1:
16 | P a g e
This will place the customized XML file into its default location:For AIX 5.3:
/etc/security/aixpert/custom/custom_5.3.xml
Prior to implementing the AIX Security Expert customized settings, please review the benchmark recommendations in the next section. If there are any settings that need to be changed from a recommended value, based on environmental requirements, edit the XML file using the vi command. All AIX Security Expert managed Level 2 recommendations have a procedure detailing which applicable setting to change for reversion, if required. As much of the guide as possible has been automated within the AIX Security Expert customized XML file. This includes a number of recommendations normally outside the remit of the tool. In these instances the execmds functionality has been used to execute the appropriate commands and implement the recommendations. One of the recommendations within this benchmark is to setup and configure AIX auditing (1.7.11). In the introductory section of this document, it was recommended that the Operating System be installed utilizing jfs2 filesystems. The default AIX Security Expert scripts (AIX 5.3 TL-07) created a jfs based /audit filesystem during testing, so to ensure that a jfs2 audit filesystem is utilized, it can be manually created. If the system was installed utilizing jfs filesystems, or if auditing is not to be implemented, the commands below can be ignored:
mklv -y auditlv -t jfs2 -u 2 -c 1 rootvg 1 hdisk0 crfs -v jfs2 -d auditlv -m /audit -A yes -t no mount /audit chfs a size=256M /audit
NOTE: The chfs resizing is only valid when the physical partition size of rootvg is less than 256MB. The logical volume name can be changed from the example to reflect any internal standards. Once the recommendations have been reviewed, implementation of the customized XML file should be performed in the following way: AIX 5.3:
17 | P a g e
aixpert -f /etc/security/aixpert/custom/custom_5.3.xml
AIX 6.1:
aixpert -f /etc/security/aixpert/custom/custom_6.1.xml
Once the XML has been successfully implemented, the applied settings are placed in the following file:
cat /etc/security/aixpert/core/appliedaixpert.xml
The values set by the customized XML file can be validated via:
aixpert c
This compares the settings, defined in the appliedaixpert.xml file, to those currently set on the system. If there is deviation from these standards i.e. a setting has been changed, it will be reported in the following log file:
cat /etc/security/aixpert/check_report.txt
Any deviations can be corrected manually, or the AIX Security Expert Customized XML file can be re-applied. During the customized XML implementation, the following files are copied prior to being changed:
cp p /etc/inittab /etc/inittab.orig.$date cp -p /etc/rc.tcpip /etc/rc.tcpip.orig.$date cp p /etc/inetd.conf /etc/inetd.conf.orig.$date
18 | P a g e
19 | P a g e
Default AIX Security Expert policy values: High Level policy mindiff=4 Medium Level policy mindiff =3 Low Level policy No effect
Default Value: No limit Default AIX Security Expert policy values: High Level policy minage=1 Medium Level policy minage =4 Low Level policy No effect
20 | P a g e
Remediation: In /etc/security/user, set the default user stanza maxage attribute to be less than or equal to 13. This means that a user password must be changed 13 weeks after being set. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chsec -f /etc/security/user -s default -a maxage=13
Default Value: No limit Default AIX Security Expert policy values: High Level policy maxage =13 Medium Level policy maxage = 13 Low Level policy maxage = 52
21 | P a g e
Default Value: No limit Default AIX Security Expert policy values: High Level policy minlen = 8 Medium Level policy minlen = 8 Low Level policy minlen = 8
22 | P a g e
default minalpha=2
Default Value: No limit Default AIX Security Expert policy values: High Level policy minalpha = 2 Medium Level policy minalpha = 1 Low Level policy No effect
Default Value: No limit Default AIX Security Expert policy values: High Level policy minother = 2 Medium Level policy minother = 1 Low Level policy no effect
23 | P a g e
Default Value: 8 Default AIX Security Expert policy values: High Level policy maxrepeats = 2 Medium Level policy no effect Low Level policy no effect
24 | P a g e
This means that a user will not be able to re-use any password set in the last 13 weeks. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chsec -f /etc/security/user -s default -a histexpire=13
Default Value: No limit Default AIX Security Expert policy values: High Level policy histexpire = 13 Medium Level policy histexpire = 13 Low Level policy histexpire = 26
25 | P a g e
Default Value: No limit Default AIX Security Expert policy values: High Level policy histsize = 20 Medium Level policy histsize = 4 Low Level policy histsize = 4
Default Value: No limit Default AIX Security Expert policy values: High Level policy maxexpired = 2
26 | P a g e
Reversion: If there is a requirement to continue to use the crypt algorithm or the system is running on a level older than AIX 5.3 TL-07, edit the customized XML file prior to implementing:
27 | P a g e
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs>"chsec -f /etc/security/login.cfg -s usw a pwd_algorithm=ssha256"</AIXPertArgs>
With:
<!-- <AIXPertArgs>"chsec -f /etc/security/login.cfg -s usw -a pwd_algorithm=ssha256"</AIXPertArgs> -->
Default Value: crypt Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
28 | P a g e
Default Value: No limit Default AIX Security Expert policy values: High Level policy logininterval = 300 Medium Level policy logininterval = 60 Low Level policy no effect
29 | P a g e
default logindisable=10
Default Value: No limit Default AIX Security Expert policy values: High Level policy logindisable = 10 Medium Level policy logindisable = 10 Low Level policy no effect
Default Value: No limit Default AIX Security Expert policy values: High Level policy loginreenable = 360 Medium Level policy loginreenable = 30 Low Level policy no effect
30 | P a g e
Default Value: 60 Default AIX Security Expert policy values: High Level policy logintimeout = 30 Medium Level policy logintimeout = 60 Low Level policy logintimeout = 60
31 | P a g e
In setting the logindelay attribute, this implements a delay multiplier in-between unsuccessful login attempts. Remediation: In /etc/security/login.cfg, set the default stanza logindelay attribute to be greater than or equal to 10. This means that a user will have to wait 10 seconds before being able to re-enter their password. During subsequent attempts this delay will increase as a multiplier of (the number of failed login attempts * logindelay) Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chsec -f /etc/security/login.cfg -s default -a logindelay=10
Default Value: No limit Default AIX Security Expert policy values: High Level policy logindelay = 10 Medium Level policy logindelay = 5 Low Level policy logindelay = 5
32 | P a g e
Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chsec -f /etc/security/user -s default -a loginretries=3
Default Value: No limit Default AIX Security Expert policy values: High Level policy loginretries = 3 Medium Level policy loginretries = 4 Low Level policy AIX 5.3 =No effect AIX 6.1 = 5
33 | P a g e
Default Value: No limit Default AIX Security Expert policy values: High Level policy rlogin = false Medium Level policy rlogin = false Low Level policy rlogin = true
Default Value: N/A Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
34 | P a g e
The lockdown of the non-interactive system users is not a managed process within the default AIX Security Expert framework. This change is managed as a customized entry in the XML files. Rationale: This change disables direct local and remote login to the generic system accounts i.e. daemon, bin, sys, adm, uucp, nobody and lpd. It is recommended that a password is not set on these accounts to ensure that the only access is via su from the root account. There should not be a requirement to log in as any of these users directly. All users should be given specific logon ids to ensure traceability and accountability. Remediation: Change the login and remote login user flags to disable access. Please note the commands below are for information only, as the setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chuser chuser chuser chuser chuser chuser chuser login=false login=false login=false login=false login=false login=false login=false rlogin=false rlogin=false rlogin=false rlogin=false rlogin=false rlogin=false rlogin=false daemon bin sys adm uucp nobody lpd
Audit:
lsuser -a login rlogin <user>
Reversion: If there is a requirement to enable generic account remote access, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs>"chuser login=false rlogin=false daemon; chuser login=false rlogin=false bin; chuser login=false rlogin=false sys; chuser login=false
35 | P a g e
rlogin=false adm; chuser login=false rlogin=false uucp; chuser login=false rlogin=false nobody; chuser login=false rlogin=false lpd"</AIXPertArgs>
With:
<!-- <AIXPertArgs>"chuser login=false rlogin=false daemon; chuser login=false rlogin=false bin; chuser login=false rlogin=false sys; chuser login=false rlogin=false adm; chuser login=false rlogin=false uucp; chuser login=false rlogin=false nobody; chuser login=false rlogin=false lpd"</AIXPertArgs> -->
Default Value: No effect Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
Audit:
36 | P a g e
The above command should yield not yield output Reversion: If there is a requirement to implement print queues on the system, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>qdaemon: /etc/inittab : d disqdaemonhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>qdaemon: /etc/inittab : d hls_disqdaemon</AIXPertArgs> -->
Default Value: Uncommented Default AIX Security Expert policy values: High Level policy Entry removed Medium Level policy Entry removed Low Level policy No effect
37 | P a g e
Remediation: In /etc/inittab, remove the lpd entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
rmitab lpd
The above command should not yield output Reversion: If there is a requirement to allow remote print queues on the system, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>lpd: /etc/inittab : d dislpdhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs> lpd: /etc/inittab : d hls_dislpd</AIXPertArgs> -->
Default Value: Uncommented Default AIX Security Expert policy values: High Level policy Entry removed Medium Level policy Entry removed Low Level policy No effect
38 | P a g e
The above command should yield not yield output Reversion: If there is a requirement to implement print queues on the system, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>piobe: /etc/inittab : d dispiobehls</AIXPertArgs -->
With:
<!-- <AIXPertArgs>piobe: /etc/inittab : d hls_dispiobe</AIXPertArgs -->
39 | P a g e
Default Value: Uncommented Default AIX Security Expert policy values: High Level policy Entry removed Medium Level policy Entry removed Low Level policy No effect
The above command should yield not yield output Reversion: No reversion is required if an lft is attached, it will not be disabled. If there is a requirement to run CDE, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>"dt:" "/etc/inittab" ":" d discdehls</AIXPertArgs> -->
40 | P a g e
With:
<!-- <AIXPertArgs>"dt:" "/etc/inittab" ":" d hls_discde</AIXPertArgs> -->
Default Value: Uncommented (if an lft is present) Default AIX Security Expert policy values: High Level policy Entry removed (if an lft is not present) Medium Level policy Entry removed (if an lft is not present) Low Level policy No effect
The above command should yield not yield output Reversion: If there is a requirement to run NFS, edit the customized XML file prior to implementing:
41 | P a g e
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>d disablenfshls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>d hls_disablenfs</AIXPertArgs> -->
Default Value: No effect Default AIX Security Expert policy values: High Level policy NFS disabled Medium Level policy No effect Low Level policy No effect
Audit:
42 | P a g e
Reversion: If there is a requirement to run sendmail, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>sendmail d dismaildmnhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>sendmail d hls_dismaildmn</AIXPertArgs> -->
Default Value: Uncommented Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy No effect Low Level policy No effect
43 | P a g e
Remediation: In /etc/rc.tcpip, comment out the snmpd entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chrctcp -d snmpd
Reversion: If there is a requirement to run snmpd, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>snmpd d dissnmpdmnhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>snmpd d hls_dissnmpdmn</AIXPertArgs> -->
Default Value: Uncommented Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy Commented out Low Level policy No effect
44 | P a g e
Reversion: If there is a requirement to run dhcpcd, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>dhcpcd d disdhcpclienthls</AIXPertArgs> -->
45 | P a g e
With:
<!-- <AIXPertArgs>dhcpcd d hls_disdhcpclient</AIXPertArgs> -->
Default Value: Commented out Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy Commented out Low Level policy No effect
Reversion: If there is a requirement to run dhcprd, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
46 | P a g e
With:
<!-- <AIXPertArgs>dhcprd d disdhcpagenthls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>dhcprd d hls_disdhcpagent</AIXPertArgs> -->
Default Value: Commented out Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy Commented out Low Level policy No effect
47 | P a g e
Reversion: If there is a requirement to run dhcpsd, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>dhcpsd d disdhcpservhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>dhcpsd d hls_disdhcpserv</AIXPertArgs> -->
Default Value: Commented out Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy Commented out Low Level policy No effect
Remediation: In /etc/rc.tcpip, comment out the autoconf6 entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chrctcp -d autoconf6
48 | P a g e
Reversion: If there is a requirement to run autoconf6, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>autoconf6 d disautoconf6hls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>autoconf6 d hls_disautoconf6</AIXPertArgs> -->
Default Value: Commented out Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy No effect Low Level policy No effect
49 | P a g e
The gated daemon provides gateway routing functions for protocols such as RIP and SNMP. It is recommended that this daemon is disabled, unless the server is functioning as a network router. Remediation: In /etc/rc.tcpip, comment out the gated entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chrctcp -d gated
Reversion: If there is a requirement to run gated, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>gated d disgateddmnhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>gated d hls_disgateddmn</AIXPertArgs> -->
Default Value: Commented out Default AIX Security Expert policy values:
50 | P a g e
High Level policy Commented out Medium Level policy Commented out Low Level policy Commented out
Reversion: If there is a requirement to run mrouted, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>mrouted d dismrouteddmnhls</AIXPertArgs> -->
AIX 6.1
51 | P a g e
Replace:
<AIXPertArgs>mrouted d hls_dismrouteddmn</AIXPertArgs>
With:
<!-- <AIXPertArgs>mrouted d hls_dismrouteddmn</AIXPertArgs> -->
Default Value: Commented out Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy No effect Low Level policy No effect
Reversion: If there is a requirement to run named, edit the customized XML file prior to implementing: AIX 5.3
52 | P a g e
Replace:
<AIXPertArgs>named d disdnsdmnhls</AIXPertArgs>
With:
<!-- <AIXPertArgs>named d disdnsdmnhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>named d hls_disdnsdmn</AIXPertArgs> -->
Default Value: Commented out Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy No effect Low Level policy No effect
53 | P a g e
Reversion: If there is a requirement to run routed, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>routed d disrtngdmnhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>mrouted d hls_dismrouteddmn</AIXPertArgs> -->
Default Value: Commented out Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy No effect Low Level policy No effect
54 | P a g e
chrctcp -d rwhod
Reversion: If there is a requirement to run rwhod, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>rwhod d disrwhoddmnhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>rwhod d hls_disrwhoddmn</AIXPertArgs> -->
Default Value: Commented out Default AIX Security Expert policy values: High Level policy Commented out
55 | P a g e
Reversion: If there is a requirement to run timed, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>timed d distimedmnhls</AIXPertArgs> -->
AIX 6.1
56 | P a g e
Replace:
<AIXPertArgs>timed d hls_distimedmn</AIXPertArgs>
With:
<!-- <AIXPertArgs>timed d hls_distimedmn</AIXPertArgs> -->
Default Value: Commented out Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy Commented out Low Level policy Commented out
57 | P a g e
Reversion: If there is a requirement to run dpid2, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>dipid2 d disdpid2dmnhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>dpid2 d hls_disdpid2dmn</AIXPertArgs> -->
Default Value: Commented out Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy No effect Low Level policy No effect
58 | P a g e
The hostmibd 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. The specific MIB variables which are managed by hostmibd are defined by RFC 2790. Further details relating to these MIBS can be found in the URL below: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.cmds/doc/ aixcmds2/hostmibd.htm Remediation: In /etc/rc.tcpip, comment out the hostmibd entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chrctcp -d hostmibd
Reversion: If there is a requirement to run hostmibd, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs>"chrctcp -d hostmibd"</AIXPertArgs>
With:
<!-- <AIXPertArgs>"chrctcp -d hostmibd"</AIXPertArgs> -->
Default Value: Uncommented Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A
59 | P a g e
N/A
Reversion: If there is a requirement to run snmpmibd, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs>"chrctcp -d snmpmibd"</AIXPertArgs>
With:
60 | P a g e
Default Value: Uncommented Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
61 | P a g e
Reversion: If there is a requirement to run aixmibd, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs>"chrctcp -d aixmibd"</AIXPertArgs>
With:
<!-- <AIXPertArgs>"chrctcp d aixmibd"</AIXPertArgs> -->
Default Value: Uncommented Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
62 | P a g e
Reversion: If there is a requirement to run ndpd-host, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs>"chrctcp -d ndpd-host"</AIXPertArgs>
With:
<!-- <AIXPertArgs>"chrctcp d ndpd-host"</AIXPertArgs> -->
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
63 | P a g e
chrctcp -d ndpd-router
Reversion: If there is a requirement to run ndpd-router, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs>"chrctcp -d ndpd-router"</AIXPertArgs>
With:
<!-- <AIXPertArgs>"chrctcp d ndpd-router"</AIXPertArgs> -->
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
64 | P a g e
passed over the network in clear text and therefore insecurely. Unless required the telnetd daemon will be disabled. Many older legacy systems do not support SSH and still require telnet as a protocol for access. If this is not required, it is recommended that telnet is disabled and SSH is used as a replacement authentication mechanism. Remediation: In /etc/inetd.conf, comment out the telnet entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chsubserver -r inetd -C /etc/inetd.conf -d -v 'telnet' -p 'tcp6'
Reversion: If there is a requirement to run telnet, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>telnet tcp d telnethls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>telnet tcp d hls_telnet</AIXPertArgs> -->
65 | P a g e
Default Value: Commented in Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy No effect Low Level policy No effect
Reversion: If there is a requirement to run exec, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
66 | P a g e
With:
<!-- <AIXPertArgs>exec tcp d rexecdhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>exec tcp d hls_rexecd</AIXPertArgs> -->
Default Value: Commented in Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy Commented out Low Level policy No effect
67 | P a g e
#daytime #daytime
stream dgram
tcp udp
nowait wait
root root
internal internal
Reversion: If there is a requirement to run daytime, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>daytime tcp d tcpdaytimehls</AIXPertArgs> --> <!-- <AIXPertArgs>daytime udp d udpdaytimehls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>daytime tcp d hls_tcpdaytime</</AIXPertArgs> --> <!-- <AIXPertArgs>daytime udp d hls_udpdaytime</AIXPertArgs> -->
Default Value: Commented in Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy No effect Low Level policy No effect
68 | P a g e
Remediation: In /etc/inetd.conf, comment out the shell entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chsubserver -r inetd -C /etc/inetd.conf -d -v 'shell' -p 'tcp6'
Reversion: If there is a requirement to run shell, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>shell tcp d shellhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>shell tcp d hls_shell</AIXPertArgs> -->
Default Value: Commented in Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy Commented out Low Level policy Commented out
69 | P a g e
Reversion: If there is a requirement to run cmsd, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>cmsd udp d cmsdhls</AIXPertArgs> -->
70 | P a g e
With:
<!-- <AIXPertArgs>cmsd udp d hls_cmsd</AIXPertArgs> -->
Default Value: Commented in Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy No effect Low Level policy No effect
Reversion: If there is a requirement to run ttdbserver, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
71 | P a g e
With:
<!-- <AIXPertArgs>ttdbserver tcp d ttdbserverhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>ttdbserver tcp d hls_ttdbserver</AIXPertArgs> -->
Default Value: Commented in Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy No effect Low Level policy No effect
72 | P a g e
Reversion: If there is a requirement to run uucp, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>uucp tcp d uucphls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>uucp tcp d hls_uucp</AIXPertArgs> -->
Default Value: Commented in Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy No effect Low Level policy No effect
73 | P a g e
In /etc/inetd.conf, comment out the time entries. Please note the commands below are for information only, as these settings will be automatically applied when the customized AIX Security Expert XML file is implemented.
chsubserver -r inetd -C /etc/inetd.conf -d chsubserver -r inetd -C /etc/inetd.conf -d -v 'time' -p 'udp' -v 'time' -p 'tcp'
Reversion: If there is a requirement to run time, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>time tcp d tcptimehls</AIXPertArgs> --> <!-- <AIXPertArgs>time udp d udptimehls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>time tcp d hls_tcptime</AIXPertArgs> --> <!-- <AIXPertArgs>time udp d hls_udptime</AIXPertArgs> -->
Default Value: Commented in Default AIX Security Expert policy values: High Level policy Commented out
74 | P a g e
Reversion: If there is a requirement to run login, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>login tcp d rloginhls</AIXPertArgs> -->
75 | P a g e
With:
<!-- <AIXPertArgs>login tcp d hls_rlogin</AIXPertArgs> -->
Default Value: Commented in Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy Commented out Low Level policy No effect
Reversion: If there is a requirement to run talk, edit the customized XML file prior to implementing:
76 | P a g e
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>talk udp d talkhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>talk udp d hls_talk</AIXPertArgs> -->
Default Value: Commented in Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy Commented out Low Level policy Commented out
77 | P a g e
-v 'ntalk' -p 'udp'
Reversion: If there is a requirement to run ntalk, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> -v 'ntalk' -p 'udp'"
With:
<!-- "chsubserver -r inetd -C /etc/inetd.conf -d -v 'ntalk' -p 'udp'" -->
Default Value: Commented in Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
78 | P a g e
Remediation: In /etc/inetd.conf, comment out the ftp entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chsubserver -r inetd -C /etc/inetd.conf -d -v 'ftp' -p 'tcp6'
Reversion: If there is a requirement to run ftp, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>ftp tcp d ftphls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>ftp tcp d hls_ftp</AIXPertArgs> -->
Default Value: Commented in Default AIX Security Expert policy values: High Level policy Commented out Medium Level policy No effect Low Level policy No effect
79 | P a g e
Reversion: If there is a requirement to run chargen, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'tcp'" </AIXPertArgs> -v 'chargen' -p -v 'chargen' -p
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> --> <!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'tcp'" </AIXPertArgs> --> -v 'chargen' -p -v 'chargen' -p
80 | P a g e
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
Reversion: If there is a requirement to run discard, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'tcp'" </AIXPertArgs> -v 'discard' -p -v 'discard' -p
81 | P a g e
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> --> <!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'tcp'" </AIXPertArgs> --> -v 'discard' -p -v 'discard' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
Reversion: If there is a requirement to run dtspc, edit the customized XML file prior to implementing:
82 | P a g e
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> -v 'dtspc' -p 'tcp'"
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'tcp'" </AIXPertArgs> --> -v 'dtspc' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
83 | P a g e
Reversion: If there is a requirement to run discard, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> -v 'echo' -p 'udp'" -v 'echo' -p 'tcp'"
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> --> <!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'tcp'" </AIXPertArgs> --> -v 'echo' -p -v 'echo' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
Audit:
84 | P a g e
Reversion: If there is a requirement to run pcnfsd, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> -v 'pcnfsd' -p 'udp'"
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> --> -v 'pcnfsd' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
85 | P a g e
-v 'rstatd' -p 'udp'
Reversion: If there is a requirement to run rstatd, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> -v 'rstatd' -p 'udp'"
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> --> -v 'rstatd' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
86 | P a g e
Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chsubserver -r inetd -C /etc/inetd.conf -d -v 'rusersd' -p 'udp'
Reversion: If there is a requirement to run rusersd, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> -v 'rusersd' -p
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> --> -v 'rusersd' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
87 | P a g e
Remediation: In /etc/inetd.conf, comment out the rwalld entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chsubserver -r inetd -C /etc/inetd.conf -d -v 'rwalld' -p 'udp'
Reversion: If there is a requirement to run rwalld, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> -v 'rwalld' -p 'udp'"
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> --> -v 'rwalld' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
88 | P a g e
The sprayd service is used as a tool to generate UDP packets for testing and diagnosing network problems. The service must be disabled if you are not running NFS, as it can be used by attackers in a Distributed Denial of Service (DDoS) attack. Remediation: In /etc/inetd.conf, comment out the sprayd entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chsubserver -r inetd -C /etc/inetd.conf -d -v 'sprayd' -p 'udp'
Reversion: If there is a requirement to run sprayd, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> -v 'sprayd' -p 'udp'"
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> --> -v 'sprayd' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
89 | P a g e
This entry starts the klogin service when required. This is a kerberized login service, which provides a higher degree of security over traditional rlogin and telnet. Rationale: 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 you use klogin to login to a system, the password is not sent in clear text; however, if you su to another user, that password exchange is open to detection from network-sniffing programs. The recommendation is to utilize SSH wherever possible instead of klogin. If the klogin service is used, you must use the latest kerberos version available and make sure that all the latest patches are installed. Remediation: In /etc/inetd.conf, comment out the klogin entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chsubserver -r inetd -C /etc/inetd.conf -d -v 'klogin' -p 'tcp'
Reversion: If there is a requirement to run klogin, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> -v 'klogin' -p 'tcp'"
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'tcp'" </AIXPertArgs> --> -v 'klogin' -p
90 | P a g e
Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
Reversion: If there is a requirement to run klogin, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> -v 'kshell' -p 'tcp'"
With:
91 | P a g e
-v 'kshell' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
Reversion: If there is a requirement to run rquotad, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> -v 'rquotad' -p
92 | P a g e
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> --> -v 'rquotad' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
Reversion: If there is a requirement to run tftp, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
93 | P a g e
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> -v 'tftp' -p 'udp'"
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'udp'" </AIXPertArgs> --> -v 'tftp' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
Reversion: If there is a requirement to run imap2, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
94 | P a g e
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> -v 'imap2' -p 'tcp'"
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'tcp'" </AIXPertArgs> --> -v 'imap2' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
Reversion: If there is a requirement to run pop3, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
95 | P a g e
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> -v 'pop3' -p 'tcp"
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'tcp'" </AIXPertArgs> --> -v 'pop3' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
Reversion: If there is a requirement to run fingerd, edit the customized XML file prior to implementing:
96 | P a g e
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d </AIXPertArgs> -v 'finger' -p 'tcp'"
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'tcp'" </AIXPertArgs> --> -v 'finger' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
Reversion: If there is a requirement to run instsrv, edit the customized XML file prior to implementing:
97 | P a g e
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'tcp'" </AIXPertArgs> -v 'instsrv' -p
With:
<!-- <AIXPertArgs> "chsubserver -r inetd -C /etc/inetd.conf -d 'tcp'" </AIXPertArgs> --> -v 'instsrv' -p
Default Value: Commented out Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
If there is a requirement to leave the current ownership and permissions in place, edit the customized XML file prior to implementing:
98 | P a g e
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs> "chmod 644 /etc/inetd.conf; chown root:system /etc/inetd.conf" </AIXPertArgs>
With:
<!-- <AIXPertArgs> "chmod 644 /etc/inetd.conf; chown root:system /etc/inetd.conf" </AIXPertArgs> -->
Default Value: 644, root:system Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
99 | P a g e
These remote services send usernames and passwords in clear text and should not be used. Unless required these binaries will be disabled for all users. The SSH suite of commands should be utilized to provide equivalent functionality. Remediation: Use the chmod command to remove all permissions on the remote services. Please note the commands below are for information only, as these settings will be automatically applied when the customized AIX Security Expert XML file is implemented.
chmod ugo= /usr/bin/rcp chmod ugo= /usr/bin/rlogin chmod ugo= /usr/bin/rsh
Each of the above commands should return with the following permissions:
----------
Reversion: If there is a requirement to run any of these services, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>d disrmtcmdshls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>d hls_disrmtcmds</AIXPertArgs> -->
100 | P a g e
If there is a requirement to just revert one or more services, implement the customized AIX Security Expert XML file and execute the relevant command/s:
chmod ugo=rx,u+s /usr/bin/rcp chmod ugo=rx,u+s /usr/bin/rlogin chmod ugo=rx,u+s /usr/bin/rsh
Default Value: No effect Default AIX Security Expert policy values: High Level policy Permissions removed Medium Level policy No effect Low Level policy No effect
These remote services both send and receive usernames and passwords in clear text and should not be used. Unless required these daemons will be disabled for all users. Remediation: Use the chmod command to remove all permissions on the remote daemons. Please note the commands below are for information only, as these settings will be automatically applied when the customized AIX Security Expert XML file is implemented.
chmod ugo= /usr/sbin/rlogind chmod ugo= /usr/sbin/rshd chmod ugo= /usr/sbin/tftpd
Each of the above commands should return with the following permissions:
101 | P a g e
----------
Reversion: If there is a requirement to run any of these services, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>d disrmtdmnshls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>d hls_disrmtdmns</AIXPertArgs> -->
If there is a requirement to just revert one or more daemons, implement the customized AIX Security Expert XML file and execute the relevant command/s:
chmod ug=rx,o=r /usr/sbin/rlogind chmod ug=rx,o=r /usr/sbin/rshd chmod ug=rx,o=r /usr/sbin/tftpd
Default Value: No effect Default AIX Security Expert policy values: High Level policy Permissions removed Medium Level policy No effect Low Level policy No effect
102 | P a g e
The above commands should not yield output Reversion: If there is a requirement to implement .nertrc and .rhosts files, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>h rmrhostsnetrchls</AIXPertArgs> -->
103 | P a g e
With:
<!-- <AIXPertArgs>h hls_rmrhostsnetrc</AIXPertArgs> -->
Default Value: No effect Default AIX Security Expert policy values: High Level policy All files removed from all home directories Medium Level policy All files removed from all home directories Low Level policy All files removed from root home directory only
Note: the above command removes blank lines and comments out any non comments entries. Audit: From the command prompt, execute the following command:
grep -v "^\s*#" /etc/hosts.equiv
The above command should not yield output Reversion: If there is a requirement to have entries in this file, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
AIX 5.3
104 | P a g e
Replace:
<AIXPertArgs>rmetchostsequivhls</AIXPertArgs>
With:
<!-- <AIXPertArgs>rmetchostsequivhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>hls_rmetchostsequiv</AIXPertArgs> -->
Default Value: No effect Default AIX Security Expert policy values: High Level policy Remove all entries from /etc/hosts.equiv Medium Level policy Remove all entries from /etc/hosts.equiv Low Level policy Remove all entries from /etc/hosts.equiv
105 | P a g e
no -p -o ipsrcrouteforward=0
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "ipsrcrouteforward" /etc/tunables/nextboot
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>ipsrcrouteforward=0 s ipsrcrouteforwardhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>ipsrcrouteforward=0 s hls_ipsrcrouteforward</AIXPertArgs> -->
Default Value: 1 Default AIX Security Expert policy values: High Level policy 0 Medium Level policy 0 Low Level policy No effect
106 | P a g e
The ipignoreredirects parameter determines whether or not the system will process IP redirects. Rationale: The ipignoreredirects will be set to 1, to prevent IP re-directs being processed by the system. Remediation: In /etc/tunables/nextboot, add the ipignoreredirects entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
no -p -o ipignoreredirects=1
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "ipignoreredirects" /etc/tunables/nextboot
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>ipignoreredirects=1 s ipignoreredirectshls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>ipignoreredirects=1 s hls_ipignoreredirects</AIXPertArgs> -->
107 | P a g e
Default Value: 0 Default AIX Security Expert policy values: High Level policy 1 Medium Level policy 0 Low Level policy No effect
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "clean_partial_conns" /etc/tunables/nextboot
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
AIX 5.3
108 | P a g e
Replace:
<AIXPertArgs>clean_partial_conns=1 s clean_partial_connshls</AIXPertArgs>
With:
<!-- <AIXPertArgs>clean_partial_conns=1 s clean_partial_connshls </AIXPertArgs> -->
With:
<!-- <AIXPertArgs>clean_partial_conns=1 s hls_clean_partial_conns</AIXPertArgs> -->
Default Value: 0 Default AIX Security Expert policy values: High Level policy 1 Medium Level policy 1 Low Level policy 1
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
109 | P a g e
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>ipsrcroutesend=0 s ipsrcroutesendhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>ipsrcroutesend=0 s hls_ipsrcroutesend</AIXPertArgs> -->
Default Value: 1 Default AIX Security Expert policy values: High Level policy 0 Medium Level policy 1 Low Level policy 1
110 | P a g e
Remediation: In /etc/tunables/nextboot, add the ipforwarding entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
no -p o ipforwarding=0
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "ipforwarding" /etc/tunables/nextboot
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>ipforwarding=0 s ipforwardinghls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>ipforwarding=0 s hls_ipforwarding</AIXPertArgs> -->
Default Value: 1 Default AIX Security Expert policy values: High Level policy 0
111 | P a g e
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "ipsendredirects" /etc/tunables/nextboot
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>ipsendredirects=0 s ipsendredirectshls</AIXPertArgs> -->
112 | P a g e
With:
<!-- <AIXPertArgs>ipsendredirects=0 s hls_ipsendredirects</AIXPertArgs> -->
Default Value: 1 Default AIX Security Expert policy values: High Level policy 0 Medium Level policy 1 Low Level policy 1 References: 1. CCE-ID TBC
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "ip6srcrouteforward" /etc/tunables/nextboot
113 | P a g e
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>ip6srcrouteforward=0 s ip6srcrouteforwardhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>ip6srcrouteforward=0 s hls_ip6srcrouteforward</AIXPertArgs> ->
Default Value: 1 Default AIX Security Expert policy values: High Level policy 0 Medium Level policy 1 Low Level policy 1
114 | P a g e
no -p o directed_broadcast=0
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "directed_broadcast" /etc/tunables/nextboot
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>directed_broadcast=0 s directed_broadcasthls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>directed_broadcast=0 s hls_directed_broadcast</AIXPertArgs> ->
Default Value: 1 Default AIX Security Expert policy values: High Level policy 0 Medium Level policy 0 Low Level policy 0
115 | P a g e
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "tcp_pmtu_discover" /etc/tunables/nextboot
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>tcp_pmtu_discover=0 s tcp_pmtu_discoverhls</AIXPertArgs> -->
116 | P a g e
<AIXPertArgs>tcp_pmtu_discover=0 s hls_tcp_pmtu_discover</AIXPertArgs>
With:
<!-- <AIXPertArgs>tcp_pmtu_discover=0 s hls_tcp_pmtu_discover</AIXPertArgs> -->
Default Value: 1 Default AIX Security Expert policy values: High Level policy 0 Medium Level policy 0 Low Level policy 0
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "bcastping" /etc/tunables/nextboot
Reversion:
117 | P a g e
If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>bcastping=0 s bcastpinghls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>bcastping=0 s hls_bcastping</AIXPertArgs> -->
Default Value: 1 Default AIX Security Expert policy values: High Level policy 0 Medium Level policy 0 Low Level policy 0
118 | P a g e
no -p o icmpaddressmask=0
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "icmpaddressmask" /etc/tunables/nextboot
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>icmpaddressmask=0 s icmpaddressmaskhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>icmpaddressmask=0 s hls_icmpaddressmask</AIXPertArgs> -->
Default Value: 1 Default AIX Security Expert policy values: High Level policy 0 Medium Level policy 0 Low Level policy 0
119 | P a g e
Rationale: The udp_pmtu_discover parameter will be set to 0. The idea of MTU discovery is to avoid packet fragmentation between remote networks. This is achieved by discovering the network route and utilizing the smallest MTU size within that path when transmitting packets. When udp_pmtu_discover is enabled, it leaves the system vulnerable to source routing attacks. Remediation: In /etc/tunables/nextboot, add the udp_pmtu_discover entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
no -p o udp_pmtu_discover=0
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "udp_pmtu_discover" /etc/tunables/nextboot
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>udp_pmtu_discover=0 s udp_pmtu_discoverhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>udp_pmtu_discover=0 s hls_udp_pmtu_discover</AIXPertArgs> -->
120 | P a g e
Default Value: 1 Default AIX Security Expert policy values: High Level policy 0 Medium Level policy 0 Low Level policy 0
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "ipsrcrouterecv" /etc/tunables/nextboot
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
AIX 5.3
121 | P a g e
Replace:
<AIXPertArgs>ipsrcrouterecv=0 s ipsrcrouterecvhls</AIXPertArgs>
With:
<!-- <AIXPertArgs>ipsrcrouterecv=0 s ipsrcrouterecvhls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>ipsrcrouterecv=0 s hls_ipsrcrouterecv</AIXPertArgs> -->
Default Value: 1 Default AIX Security Expert policy values: High Level policy 0 Medium Level policy No effect Low Level policy No effect
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "nonlocsrcroute" /etc/tunables/nextboot
122 | P a g e
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>nonlocsrcroute=0 s nonlocsrcroutehls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>nonlocsrcroute=0 s hls_nonlocsrcroute</AIXPertArgs> -->
Default Value: 1 Default AIX Security Expert policy values: High Level policy 0 Medium Level policy No effect Low Level policy No effect
123 | P a g e
Fake data A hacker may inject fake data into an established connection. A tcp_tcpsecure value of 4 protects the system from this vulnerability. The tcp_tcpsecure parameter is, by default, only managed within the AIX 6.1 Security Expert framework. The parameter will also be set for AIX 5.3 as it has been added as a customized entry in the XML file. Rationale: The tcp_tcpsecure parameter will be set to 7. This means that the system will be protected from any connection reset and data integrity attacks. Remediation: In /etc/tunables/nextboot, add the tcp_tcpsecure entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
no -p o tcp_tcpsecure=7
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "tcp_tcpsecure" /etc/tunables/nextboot
Reversion: If there is a requirement have this parameter set to the default, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>"no -p -o tcp_tcpsecure=7"</AIXPertArgs> -->
124 | P a g e
With:
<!-- <AIXPertArgs>tcp_tcpsecure=7 s hls_tcp_tcpsecure</AIXPertArgs> -->
Default Value: 0 Default AIX Security Expert policy values: High Level policy 7 Medium Level policy 7 Low Level policy 5
framework. The parameter will also be set for AIX 5.3 as it has been added as a customized entry in the XML file. Rationale: The sockthresh parameter will be set to 60. This means that 60% of network memory can be used to service new socket connections, the remaining 40% is reserved for existing sockets. This ensures a quality of service for existing connections. Remediation: In /etc/tunables/nextboot, add the sockthresh entry. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
no -p o sockthresh=60
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "sockthresh" /etc/tunables/nextboot
125 | P a g e
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>"no -p -o sockthresh=60"</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>sockthresh=60 s hls_sockthresh</AIXPertArgs> -->
Default Value: No limit Default AIX Security Expert policy values: High Level policy 60 Medium Level policy 70 Low Level policy 85
126 | P a g e
Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
no -p o rfc1323=1
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "rfc1323" /etc/tunables/nextboot
Reversion: If there is a requirement have this parameter enabled, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>rfc1323=1 s rfc1323hls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>rfc1323=1 s hls_rfc1323</AIXPertArgs> -->
Default Value: 0 Default AIX Security Expert policy values: High Level policy 1 Medium Level policy 1 Low Level policy 1
127 | P a g e
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "tcp_sendspace" /etc/tunables/nextboot
Reversion: If there is a requirement to leave this parameter at the default value, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>tcp_sendspace=262144 s tcp_sendspacehls</AIXPertArgs> -->
AIX 6.1
128 | P a g e
Replace:
<AIXPertArgs>tcp_sendspace=262144 s hls_tcp_sendspace</AIXPertArgs>
With:
<!-- <AIXPertArgs>tcp_sendspace=262144 s hls_tcp_sendspace</AIXPertArgs> -->
Default Value: 16384 Default AIX Security Expert policy values: High Level policy 262144 Medium Level policy 262144 Low Level policy 262144
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "tcp_recvspace" /etc/tunables/nextboot
Reversion:
129 | P a g e
If there is a requirement to leave this parameter at the default value, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>tcp_recvspace=262144 s tcp_recvspacehls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>tcp_recvspace=262144 s hls_tcp_recvspace</AIXPertArgs> -->
Default Value: 16384 Default AIX Security Expert policy values: High Level policy 262144 Medium Level policy 262144 Low Level policy 262144
130 | P a g e
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
grep "tcp_mssdflt" /etc/tunables/nextboot
Reversion: If there is a requirement to leave this parameter at the default value, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>tcp_mssdflt=1448 s tcp_mssdflthls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>tcp_mssdflt=1448 s hls_tcp_mssdflt</AIXPertArgs> -->
Default Value: 1460 Default AIX Security Expert policy values: High Level policy 1448 Medium Level policy 1448 Low Level policy 1448
131 | P a g e
Rationale: The portcheck and nfs_use_reserved_ports parameters will both be set to 1. This value means that NFS client requests that do not originate from the privileged ports range (ports less than 1024) will be ignored by the local system. Remediation: In /etc/tunables/nextboot, add the portcheck and nfs_use_reserved_ports entries. Please note the command below is for information only, as this setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
nfso -p -o portcheck=1 nfso -p -o nfs_use_reserved_ports=1
This makes the change permanent by adding the entry into /etc/tunables/nextboot Audit:
egrep "portcheck|nfs_use_reserved_ports" /etc/tunables/nextboot
Reversion: If there is a requirement to leave this parameter at the default value, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs>"nfso -p -o portcheck=1; nfso -p -o nfs_use_reserved_ports=1"</AIXPertArgs>
With:
<!-- <AIXPertArgs>"nfso -p -o portcheck=1; nfso -p -o nfs_use_reserved_ports=1"<AIXPertArgs> -->
Default Value: 0 Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
132 | P a g e
Audit:
grep "PATH=" ~root/.profile | egrep ":\.:|:\.$"
The above command should yield no output. Reversion: If there is a requirement to leave the variable at the default level, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
133 | P a g e
<AIXPertArgs>rmdotfrmpathroothls</AIXPertArgs>
With:
<!-- <AIXPertArgs>rmdotfrmpathroothls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>hls_rmdotfrmpathroot</AIXPertArgs> -->
Default Value: dot present Default AIX Security Expert policy values: High Level policy dot removed Medium Level policy dot removed Low Level policy dot removed
1.7.2 Miscellaneous Enhancements /etc/environment PATH (AIX 5.3 only) (Level 1, Scorable)
Description: This change removes any . entries from the PATH environment variable in /etc/environment. This determines whether or not the current working directory is included in the search path. Rationale: The . will be removed from the PATH variable in /etc/environment. All directories must be explicitly defined within the PATH variable. This removes current working directory searching for all users. NOTE: This automated functionality is not available in AIX 6.1 aixpert implementation. Remediation: Edit the PATH variable in /etc/environment Please note the command below is for information only, as the setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
grep "PATH=" /etc/environment | egrep ":\.:|:\.$"
134 | P a g e
Audit:
grep "PATH=" /etc/environment | egrep ":\.:|:\.$"
The above command should yield no output. Reversion: If there is a requirement to leave the variable at the default level, edit the customized XML file prior to implementing: AIX 5.3
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs>r rmdotfrmpathetcenvhls</AIXPertArgs>
With:
<!-- <AIXPertArgs>r rmdotfrmpathetcenvhls</AIXPertArgs> -->
Default Value: dot present Default AIX Security Expert policy values: High Level policy dot removed Medium Level policy dot removed Low Level policy dot removed
135 | P a g e
Create the /var/adm/cron/cron.allow file Please note the command below is for information only, as the setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
echo "root" > /var/adm/cron/cron.allow echo "adm" >> /var/adm/cron/cron.allow
Audit:
grep "root" /var/adm/cron/cron.allow grep "adm" /var/adm/cron/cron.allow
Reversion: If there is a requirement to leave cron access at the default level, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>h limitsysacchls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs>h hls_limitsysacc</AIXPertArgs> -->
Default Value: No effect Default AIX Security Expert policy values: High Level policy File created Medium Level policy No effect
136 | P a g e
No effect
Audit:
grep "root" /var/adm/cron/at.allow
Reversion: If there is a requirement to leave at access at the default level, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs>"echo root > /var/adm/cron/at.allow; rm /var/adm/cron/at.deny"</AIXPertArgs>
With:
137 | P a g e
Default Value: No effect Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
Audit:
grep "root" /etc/ftpusers
Default Value: No effect Default AIX Security Expert policy values: High Level policy Entry added Medium Level policy Entry added Low Level policy No effect
138 | P a g e
Rationale: This change puts into place a suggested login herald to replace the default entry. As the herald is presented to a user prior to logon, it should not provide any information about the operating system or version. Instead, it should detail a company standard acceptable use policy. This herald can be subsequently tailored to reflect a corporate standard policy. Remediation: Add a default login herald to /etc/security/login.cfg Please note the command below is for information only, as the setting will be automatically applied when the customized AIX Security Expert XML file is implemented.
chsec -f /etc/security/login.cfg -s default -a herald="Unauthorized use of\ this system is prohibited.\nlogin:"
Audit:
lssec f /etc/security/login.cfg s default a herald
Default AIX Security Expert policy values: High Level policy Herald configured Medium Level policy Herald configured Low Level policy Herald configured
139 | P a g e
rm r /home/guest
Audit:
lsuser guest
Default Value: Account exists Default AIX Security Expert policy values: High Level policy Account removed Medium Level policy Account removed Low Level policy Account removed
Audit:
ls l <PATH to file>
140 | P a g e
Default Value: No effect Default AIX Security Expert policy values: High Level policy Permissions checked Medium Level policy Permissions checked Low Level policy Permissions checked
If a umask of 077 is required, reflect the following changes in the AIX Security Expert XML files: AIX 5.3 Replace:
<AIXPertArgs>umask=27 ALL umaskmls</AIXPertArgs>
With:
<AIXPertArgs>umask=77 ALL umaskmls</AIXPertArgs>
141 | P a g e
With:
<AIXPertArgs> umask=77 ALL hls_umask</AIXPertArgs>
Reversion: If there is a requirement to not change the default umask value, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
With:
<!-- <AIXPertArgs>umask=27 ALL umaskmls</AIXPertArgs> -->
With:
<!-- <AIXPertArgs> umask=27 ALL hls_umask</AIXPertArgs> -->
Default Value: 022 Default AIX Security Expert policy values: High Level policy 077 Medium Level policy 027 Low Level policy 022
142 | P a g e
Audit: From the command prompt, execute the following command to validate the /etc/security/limits changes:
lssec -f /etc/security/limits -s default -a core a core_hard
Ensure that the fullcore kernel parameter has been set to false:
lsattr -El sys0 -a fullcore
Reversion:
143 | P a g e
If there is a requirement to enable core dumps, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
Replace:
<AIXPertArgs>"chsec -f /etc/security/limits -s default -a core=0 -a core_hard=0; chdev -l sys0 -a fullcore=false"</AIXPertArgs>
With:
<!-- <AIXPertArgs>"chsec -f /etc/security/limits -s default -a core=0 -a core_hard=0; chdev -l sys0 -a fullcore=false"</AIXPertArgs> -->
Default Value: Core dumps enabled Default AIX Security Expert policy values: High Level policy N/A Medium Level policy N/A Low Level policy N/A
144 | P a g e
Add in:
start: binmode = on streammode = off bin: trail = /audit/trail bin1 = /audit/bin1 bin2 = /audit/bin2 binsize = 10240 cmds = /etc/security/audit/bincmds
Add the auditing entries for root and all other users below the pre-defined audit classes:
users: root = general,SRC,mail,cron,tcpip,ipsec,lvm <user 1> = general,SRC,cron,tcpip <user 2> = general,SRC,cron,tcpip etc.
Update the /usr/lib/security/mkuser.default auditclasses entry to ensure that auditing is set up for any newly created users:
chsec f /usr/lib/security/mkuser.default s user a auditclasses=general,SRC,cron,tcpip
A cron job is implemented to monitor the free space in /audit, running hourly, to ensure that /audit does not fill up. If /audit is greater than 90% used, /audit/trail is moved to /audit/trailOneLevelBack:
crontab e
Add in:
0 * * * * /etc/security/aixpert/bin/cronaudit
NOTE: The implementation of a script to suit internal security policy is recommended to further enhance the log rotation process. Add the audit startup command into /etc/inittab:
mkitab "audit:2:boot:audit start > /dev/console 2>&1 # Start audit"
145 | P a g e
Audit: Ensure that the /audit filesystem has been created and mounted:
df k /audit
Validate the configuration in the /etc/security/audit/config file, this should match the changes made in the remediation section:
cat /etc/security/audit/config
Ensure that the cron audit rotation script has been implemented:
crontab l |grep "cronaudit"
Ensure that the audit startup line has been added into /etc/inittab:
lsitab audit
Reversion: If there is a requirement to not implement auditing, edit the customized XML file prior to implementing:
vi /etc/security/aixpert/custom/custom_aix<OS>.xml
AIX 5.3
146 | P a g e
Replace:
<AIXPertArgs>h hls_binaudit</AIXPertArgs>
With:
<!-- <AIXPertArgs>h hls_binaudit/AIXPertArgs> -->
With:
<!-- <AIXPertArgs>h binaudithls</AIXPertArgs> -->
Default Value: Auditing not configured Default AIX Security Expert policy values: High Level policy Auditing configured Medium Level policy Auditing configured Low Level policy Auditing configured
147 | P a g e
NOTE: This ensures that remote login, sudo or su attempts are logged separately Create the authlog file and make it readable by root only:
touch /var/adm/authlog chown root:system /var/adm/authlog chmod u=rw,go= /var/adm/authlog
Create an entry in /etc/syslog.conf to capture all other output of level info or higher, excluding authentication information, as this is to be captured within /var/adm/authlog:
printf "*.info;auth.none\t/var/adm/syslog rotate time 1w files 4\n" >> /etc/syslog.conf
148 | P a g e
Audit: Ensure that the log entries have been added successfully:
tail -2 /etc/syslog.conf
Check that the authlog and syslog files have been created:
ls l /var/adm/authlog /var/adm/syslog
Reversion: Edit the /etc/syslog.conf and the remove the authlog and syslog entries:
vi /etc/syslog.conf
Remove:
auth.info *.info;auth.none /var/adm/authlog rotate time 1w files 4 /var/adm/syslog rotate time 1w files 4
149 | P a g e
recommendation assumes that a remote and secure syslog server is available on the network. If this is not the case, please skip to the next recommendation. The primary reason for logging remotely is to provide an un-editable audit trail of system access. If a hacker were to access a system and gain super user authority it would be easy to edit local files and remove all traces of access, providing the system administrator with no way of identifying the individual or group responsible. If the log data is sent remotely at the point of access, these remote logs can then be reconciled with local data to identify tampered and altered files. The logs can also be used as evidence in any subsequent prosecution. Remediation: Explicitly define a remote host for auth.info data in /etc/syslog.conf (enter the remote host IP address in the example below):
printf "auth.info\t\t@<IP address of remote syslog server>\n" >> \ /etc/syslog.conf
NOTE: This ensures that remote login, sudo or su attempts are logged separately Create a remote host entry in /etc/syslog.conf to capture all other output of level info or higher:
printf "*.info;auth.none\t@<IP address of remote syslog server>\n" >> \ /etc/syslog.conf
Audit: Ensure that the log entries have been added successfully:
tail -2 /etc/syslog.conf
Reversion: Edit the /etc/syslog.conf and the remove the remote syslog entries:
vi /etc/syslog.conf
Remove:
auth.info @<IP address of remote syslog server>
150 | P a g e
*.info;auth.none
Audit: Ensure that daemon is running with the newly updated configuration:
ps ef |grep "syslogd"
NOTE: The -r flag should be present at the end out of the output. Reversion: Remove the suppression of remote syslog messages:
chssys -s syslogd -a ""
151 | P a g e
152 | P a g e
NOTE: A login is required to download OpenSSL. Remediation: Place the OpenSSH and OpenSSL software into a convenient location, such as /tmp and install via:
/usr/lib/instl/sm_inst installp_cmd -a -Q -d /tmp f openssl,openssh.license,openssh.base,openssh.man.en_US,openssh.msg.en_US -c -N g -X -G -Y
NOTE: If the software is not located in /tmp, reflect the actual location in the command above. Audit: Validate the installation of the software:
lslpp L |egrep "openssh|ssl"
NOTE: The version numbers may differ based on the source of the software Ensure that the SSH daemon is set to automatically start during system IPL:
ls l /etc/rc.d/rc2.d/Ssshd | awk '{print $1 " " $3 " " $4 " " $9}'
153 | P a g e
The recommendation is to edit the /etc/ssh/sshd_config file to disable direct root login. By default direct root login via SSH is enabled. Rationale: All root access should be facilitated through a local logon with a unique and identifiable user ID and then via the su command once locally authenticated. Direct root login is extremely insecure and offers little in the way of audit trailing for accountability. Remediation: Edit the /etc/ssh/sshd_config file and disable direct root login for SSH:
vi /etc/ssh/sshd_config
Replace:
#PermitRootLogin yes
With:
PermitRootLogin no
154 | P a g e
There are publicly known vulnerabilities in SSH1 protocol, because of which the SSH1 protocol was deprecated in early 2001. SSH2 is a complete re-write of SSH1 with additional security features. All SSH connections should communicate over the SSH2 protocol. There are numerous benefits of utilizing SSH2 over SSH1, these include: an enhanced and stronger crypto integrity check and support for RSA and DSA keys, rather than just RSA key support in SSH1. The recommendation is to edit the /etc/ssh/sshd_config file and allow the SSH2 protocol only. Remediation: Edit the /etc/ssh/sshd_config file and explicitly define the SSH2 protocol:
vi /etc/ssh/sshd_config
Replace:
#Protocol 2,1
With:
Protocol 2
155 | P a g e
features. All SSH connections should communicate over the SSH2 protocol. There are numerous benefits of utilizing SSH2 over SSH1, these include: an enhanced and stronger crypto integrity check and support for RSA and DSA keys, rather than just RSA key support in SSH1. The recommendation is to edit the /etc/ssh/ssh_config file and allow the SSH2 protocol only. Remediation: Edit the /etc/ssh/ssh_config file and explicitly define the SSH2 protocol:
vi /etc/ssh/ssh_config
Replace:
# Protocol 2,1
With:
Protocol 2
156 | P a g e
NOTE: The content of the banner file can reflect any internal acceptable usage policy standards Edit the /etc/ssh/sshd_config file and customize the Banner parameter:
vi /etc/ssh/sshd_config
Replace:
#Banner /some/path
With:
Banner /etc/ssh/ssh_banner
157 | P a g e
been known and exploited for a long time. Since this authentication method is not secure, it must be disabled. Remediation: Edit the /etc/ssh/sshd_config file to disable the .shosts and .rhosts authentication parameter:
vi /etc/ssh/sshd_config
Replace:
#IgnoreRhosts yes
With:
IgnoreRhosts yes
158 | P a g e
vi /etc/ssh/sshd_config
Replace:
#PermitEmptyPasswords no
With:
PermitEmptyPasswords no
Replace:
#HostbasedAuthentication no
159 | P a g e
With:
HostbasedAuthentication no
Replace:
HostbasedAuthentication no
With:
# HostbasedAuthentication no
160 | P a g e
and this then handles incoming network traffic. The aim of this is to prevent privilege escalation through the initial root process. Remediation: Edit the /etc/ssh/sshd_config file to ensure that privilege separation is enabled:
vi /etc/ssh/sshd_config
Replace:
#UsePrivilegeSeparation yes
With:
UsePrivilegeSeparation yes
161 | P a g e
Audit: Ensure that the /etc/ssh/sshd_config permissions have been successfully changed:
ls -l /etc/ssh/sshd_config | awk '{print $1 " " $3 " " $4 " " $9}'
Audit: Ensure that the /etc/ssh/ssh_config permissions have been successfully changed:
ls -l /etc/ssh/ssh_config | awk '{print $1 " " $3 " " $4 " " $9}'
162 | P a g e
The existence of .shosts files in a user home directory, combined with the correct SSH parameter can allow passwordless authentication between servers. As previous recommendations in this section disable this authentication method, these files, if they exist, should be removed. Remediation: List out all of the existing .shost files:
find / -name ".shosts" -print
Review the list of .shost files and remove them individually, or all at once: Individually:
rm (full pathname)
All at once:
find / -name ".shosts" exec rm {} \;
Audit: Ensure that the all of the .shost files have been successfully removed:
find / -name ".shosts" -print
The above command should yield no output. Reversion: Any deleted files would need to be restored from a backup. Default Value: N/A
163 | P a g e
Audit: Ensure that the /etc/shosts.equiv file has been successfully removed:
ls /etc/shosts.equiv
The above command should yield no output. Reversion: The /etc/shosts.equiv file would need to be restored from a backup. Default Value: N/A
Edit:
vi /etc/mail/sendmail.cf
Change:
O SmtpGreetingMessage=$j Sendmail $b
164 | P a g e
To:
O SmtpGreetingMessage=mailerready
165 | P a g e
166 | P a g e
The recommendation is to de-install CDE from the system, assuming that it is not required and is already installed. Rationale: The CDE has a history of security problems and should be disabled. NOTE: If CDE is required, it is vital to patch the software and consider TCP Wrappers to further enhance security. Remediation: Identity if CDE is already installed:
lslpp l |grep i CDE
If there are CDE filesets installed de-install them if CDE is not required. For each fileset preview the de-installation:
installp up <fileset name>
Review the fileset removal preview output, paying particular attention to the other prerequisites that will also be removed. Typically only X11.Dt filesets should be de-installed as pre-requisites. Once reviewed, de-install the fileset and pre-requisites:
installp ug <fileset name>
NOTE: Repeat until all CDE filesets are de-installed Audit: Validate the de-installation of the software:
lslpp l |grep i CDE
The above command should yield no output. Reversion: Re-install the CDE software from the AIX media. Default Value: N/A
167 | P a g e
Rationale: The implementation of the customized aixpert XML file disables CDE if there is not a graphical console attached to the system. If there is a graphical console consider disabling CDE anyway. Remediation: Disable CDE start up:
/usr/dt/bin/dtconfig -d
NOTE: If CDE is not installed the command will not be found Audit: Validate the de-installation of the software:
lsitab dt
The above command should yield no output. Reversion: To re-configure the auto-start of the CDE software:
/usr/dt/bin/dtconfig -e
168 | P a g e
ls ls ls ls
l l l l
/usr/dt/bin/dtaction | awk '{print $1 " " $3 " " $4 " " $9}' /usr/dt/bin/dtappgather | awk '{print $1 " " $3 " " $4 " " $9}' /usr/dt/bin/dtprintinfo | awk '{print $1 " " $3 " " $4 " " $9}' /usr/dt/bin/dtsession | awk '{print $1 " " $3 " " $4 " " $9}'
Replace:
# Dtlogin.requestPort: 0
With:
Dtlogin.requestPort: 0
Audit:
169 | P a g e
Reflect:
# Dtlogin.requestPort: 0
170 | P a g e
171 | P a g e
Rationale: The /etc/dt/config/Xservers contains entries to start the Xserver on the local display. The default file, /usr/dt/config/Xservers, is unconditionally overwritten upon subsequent installation. It is recommended that the appropriate permissions and ownership are applied to secure the file. Remediation: Check to see if the /etc/dt/config/Xservers exists:
ls l /etc/dt/config/Xservers
Replace:
Dtlogin.servers: Xservers
With:
Dtlogin*servers: /etc/dt/config/Xservers
172 | P a g e
The Dtlogin*greeting.persLabelString is the message displayed in the second dialogue box on the CDE login screen. This is where the password is entered. Rationale: Potential hackers may gain access to valuable information such as the hostname and the version of the operating system from the default AIX login screen. This information would assist hackers in choosing the exploitation methods to break into the system. For security reasons, change the login screen default messages. Remediation: Copy the files from /usr/dt/config/*/Xresources to /etc/dt/config/*/Xresources and add the Dtlogin*greeting.labelString and Dtlogin*greeting.persLabelString parameters to all copied Xresources files:
for file in /usr/dt/config/*/Xresources; do dir=`dirname $file | sed s/usr/etc/` mkdir -p $dir if [ ! -f $dir/Xresources ]; then cp $file $dir/Xresources fi WARN="Authorized uses only. All activity may be monitored and reported." echo "Dtlogin*greeting.labelString: $WARN" >>$dir/Xresources echo "Dtlogin*greeting.persLabelString: $WARN" >>$dir/Xresources done
173 | P a g e
The /etc/dt/config/*/Xresources file defines the customization of the Dtlogin screen. The default file, /usr/dt/config/*/Xresources, is unconditionally overwritten upon subsequent installation. It is recommended that the appropriate permissions and ownership are applied to secure the file. Remediation: Set the appropriate permissions and ownership on all Xresources files:
chown root:sys /etc/dt/config/*/Xresources chmod u=rw,go=r /etc/dt/config/*/Xresources
2.5 NFS
During the implementation of the default customized aixpert XML file, NFS services will have been disabled as the /etc/rc.nfs startup file will have been removed from /etc/inittab. The first recommendation in this section is to de-install NFS to complete the lockdown of this service. However, if the server acts as either an NFS server or NFS client there are further security recommendations to implement.
174 | P a g e
The above command should yield no output. Or the file should not exist. De-install the NFS sever software:
installp u bos.net.nfs.server
The above command should yield no output. Reversion: Re-install the software from the product DVDs Default Value: N/A
175 | P a g e
For each NFS filesystem add the nosuid option, this change should be made via an edit to the /etc/filesystems file. Create a copy of /etc/filesystems:
cp p /etc/filesystems /etc/filesystems.pre_cis
For each NFS mount edit the options line to reflect the nosuid option:
vi /etc/filesystems
NOTE: The above options line is an example, the nosuid should be added to the existing options The NFS mount needs to be re-mounted to reflect this change Audit: For each NFS filesystem, ensure that the options have been changed to reflect the nosuid option:
mount |grep "nfs" |wc l mount |grep "nfs" |grep "nosuid" |wc -l
Both commands should yield the same output. Default Value: N/A
176 | P a g e
Remediation: Remove any reference to localhost or localhost aliases in /etc/exports: Review the content of /etc/exports and check for localhost or localhost aliases:
cat /etc/exports
NOTE: If instances of localhost or localhost aliases are found, edit the file and remove them. Create a copy of /etc/exports:
cp -p /etc/exports /etc/exports.pre_cis
Edit the relevant NFS exports to remove the localhost access, for example:
/nfsexport sec=sys,rw,access=localhost:testserver
If /etc/exports is updated, as localhost references have been removed, update the current NFS export options:
exportfs -a
Audit: Re-review /etc/exports if the file was updated, to validate the changes:
cat /etc/exports
177 | P a g e
Remediation: Ensure that all exports defined in /etc/exports have explicit client access options which clearly define the host or hosts allowed access: Review the content of /etc/exports and that all exports have explicit access lists:
cat /etc/exports
Ensure that each NFS export has an explicit access line, for example:
/usr/spool/mail -access=symmachine
If the file is updated, to reflect client access changes, update the current NFS export options:
exportfs -a
Audit: Re-review /etc/exports if the file was updated, to validate the changes:
cat /etc/exports
178 | P a g e
As a more secure option you can set the option to anon=-1, which disables anonymous access. By default, secure NFS accepts non-secure requests as anonymous. NOTE: The root user on the client can still use su to become any other user and access and change that users files, assuming that the same user exists on the NFS server and owns files and/or directories in the NFS export. Remediation: Use smitty to change/validate this value for all NFS exported filesystems:
smitty chnfsexp
For each filesystem, as defined in the F4 list, set the following option:
Anonymous UID [-2]
NOTE: Press enter to accept the change Once all exported filesystems have been successfully validated or changed, re-export the filesystems and directories to activate the new options:
exportfs -a
Audit: As -2 is the default NFS export value, ensure that there are no explicit anon= options set in
/etc/exports: cat /etc/exports |grep "anon="
179 | P a g e
smitty chnfsexp
For each filesystem, as defined in the F4 list. There are five security methods which can be used to define different security access methods for different clients:
Security method 1 * Mode to export directory Hostname list. If exported read-mostly Hosts & netgroups allowed client access Hosts allowed root access [sys,krb5p,krb5i,krb5,d> + read-write + [] [] []
Once all exported filesystems have been successfully validated or changed, re-export the filesystems and directories to activate the new options:
exportfs -a
The above should command should return each export and the security mode of the export. Reversion: Copy back the original /etc/exports:
cp -p /etc/exports.pre_cis /etc/exports
2.6 NIS
Network Information Service (NIS) or Yellow Pages (YP), is a client/server directory service protocol used for distributing system configuration data, such as: users, groups, passwords and hosts between computers in a network. This is typically done in larger environments to centralize the management of this data. If the NIS software is installed but not configured, an attacker can cripple a machine by starting NIS. In environments where NIS is utilized, tools like
180 | P a g e
ypsnarf allow an attacker to grab the contents of your NIS maps, providing large amounts of
information about your site. The first recommendation in this section is to de-install NIS, if it is installed, to lockdown this service. However, if NIS is used in the environment it is recommended that NIS+ is used instead. NIS+ is structured differently from NIS and supports secure and encrypted RPC, which resolves many of the security issues. The configuration of NIS+ is not within the scope of this benchmark; however the links below can be used for initial reference: AIX 5.3: NIS+ transition AIX 6.1: NIS+ transition
The above should command should return a not found error. Reversion: Re-install the software from the product DVDs: Default Value: N/A
181 | P a g e
The above should command should return a not found error. Reversion: Re-install the software from the product DVDs: Default Value: N/A
2.6.3 NIS remove NIS markers from password and group files (Level 2, Scorable)
Description: If NIS has been de-installed in the environment, or has historically been used, ensure the + markers are removed from /etc/passwd and /etc/group. Rationale: The + entries in /etc/passwd and /etc/group were used as markers to insert data from a NIS map. These entries may provide an avenue for attackers to gain privileged access on the system. The + entries must be deleted if they still exist. Remediation: Examine the /etc/passwd and /etc/group files:
grep ^+: /etc/passwd /etc/group
182 | P a g e
vi /etc/passwd vi /etc/group
The command above should yield no output. Reversion: Add the + line back to the same point in the file/s:
vi /etc/passwd vi /etc/group
183 | P a g e
NOTE: The format of the file is netmask netaddr as shown in the example above. Explicitly define all valid network subnets (one entry per line). Stop and start NIS to implement the configuration changes:
stopsrc g yp startsrc g yp
NOTE: A test should be performed from an allowed client and non-allowed subnet to validate the securenets configuration Reversion: Remove the /var/yp/securenets file:
rm /var/yp/securenets
2.7 SNMP
During the implementation of the default customized aixpert XML file, the snmpd daemon will have been disabled. However, if SNMP is active and required in the environment, the recommendations in this section should be applied. The Simple Network Management Protocol (SNMP) is a commonly used service that provides network management and monitoring capabilities. SNMP offers the capability to poll networked devices and monitor data such as utilization and errors from various subsystems on the host. SNMP is also capable of changing the configurations on the host, allowing remote management of the system. The protocol uses a community string for authentication from the SNMP client to the SNMP agent on the managed device. In AIX, two SNMP community names, private and system, are enabled with read/write privileges, but only allow access from localhost connections. Nevertheless, a local user may install an SNMP client and modify sensitive variables. If SNMP is required, the community strings must be greater than six characters and include a combination of letters, numbers, and special characters to avoid a brute force attack.
184 | P a g e
Rationale: In AIX, two SNMP community names, private and system, are enabled with read/write privileges, but are allowed access only from localhost connections. As these SNMP names are the default, they must not be used. Any SNMP community name strings should be a combination of letters, numbers and special characters to enhance security. Remediation: Create a backup of /etc/snmpd.conf:
cp -p /etc/snmpd.conf /etc/snmpd.conf.pre_cis
Audit: Ensure the private entry has been commented out from /etc/snmpd.conf:
grep "^#community" /etc/snmpd.conf.
185 | P a g e
Audit: Ensure the system entry has been commented out from /etc/snmpd.conf:
grep "^#community" /etc/snmpd.conf
186 | P a g e
NOTE: validate the allowed IP address and netmasks Reversion: Copy back the original /etc/snmpd.conf file:
cp -p /etc/snmpd.conf.pre_cis /etc/snmpd.conf
With:
community community <community name> <IP addresses> <netmask> [ readOnly <view>]
Audit:
187 | P a g e
NOTE: ensure that there is no readWrite access. Reversion: Copy back the original /etc/snmpd.conf file:
cp -p /etc/snmpd.conf.pre_cis /etc/snmpd.conf
NOTE: If there are active services and the services are required, do not disable inetd. Skip to the next section and consider the implementation of TCP Wrappers to secure access to these active services. If the active services are not required disable them via the chsubserver command. Disable inetd if there are no active services:
chrctcp -d inetd stopsrc -s inetd
Audit: Ensure that inetd startup has been commented out of /etc/rc.tcpip:
188 | P a g e
NOTE: If there are active RPC services and the services are required, do not disable portmap. Disable portmap if there are no active RPC services:
chrctcp d portmap stopsrc -s portmap
Audit: Ensure that portmap startup has been commented out of /etc/rc.tcpip:
189 | P a g e
190 | P a g e
If there are any active services, download and install the TCP Wrappers software: TCP Wrappers is bundled on the AIX media expansion cdrom. Alternatively, the source code may be downloaded and compiled from: TCP Wrappers Source Code NOTE: Ensure that the latest version is downloaded. The installation example below assumes that the AIX media expansion pack cdrom has been used as the source of the software. Place the TCP Wrappers software into a convenient location, such as /tmp and install via:
/usr/lib/instl/sm_inst installp_cmd -a -Q -d /tmp f netsec.options.tcpwrapper,netsec.options.idprotocol -c -N -g -X -G -Y
NOTE: If the software is not located in /tmp, reflect the actual location in the command above. Audit: Validate the installation of the software:
lslpp L |grep "netsec.options"
NOTE: The version numbers may differ based on the source of the software Reversion: De-install the TCP Wrappers software:
installp -u netsec.options*
191 | P a g e
Deny all traffic by default, explicit access will be defined in the /etc/hosts.allow file:
vi /etc/hosts.deny
Add:
ALL: ALL
192 | P a g e
This file describes the names of the hosts which are allowed to access the local inetd services as decided by the /usr/sbin/tcpd server. Access is granted when a (daemon,client) pair matches an entry in the /etc/hosts.allow file. Access is denied when a (daemon,client) pair matches an entry in the /etc/hosts.deny file. However, access is granted if matching entry does not exist in both the files. Remediation: Create a /etc/hosts.allow file:
touch /etc/hosts.allow chown root:system /etc/hosts.allow chmod u=rw,go= /etc/hosts.allow
An example configuration:
ALL: LOCAL @some_netgroup ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
The above command should reflect the defined configuration file. NOTE:- Since the /etc/hosts.allow file is processed before /etc/hosts.deny , ensure that there are no entries in /etc/hosts.allow that may accidentally grant access to a system which are then subsequently denied in /etc/hosts.deny. Default Value: N/A
193 | P a g e
Prior to implementing this recommendation it is important that hosts.deny and hosts.allow files have been created. For each active inetd service, change the entry in /etc/inetd.conf, so that tcpd is executed. Copy the current /etc/inetd.conf file for reversion purposes:
cp p /etc/inetd.conf /etc/inetd.conf.pre_tcp_wrappers
Change:
telnet stream tcp6 nowait root /usr/sbin/telnetd telnetd
To:
telnet stream tcp nowait root /usr/sbin/tcpd telnetd
Repeat the change for other services. Audit: Ensure that the amended service line reflects the tcpd path:
grep "service" /etc/inetd.conf |grep "tcpd"
The above command should yield output. Reversion: Copy back the original /etc/inetd.conf file:
cp p /etc/inetd.conf.pre_tcp_wrappers /etc/inetd.conf
194 | P a g e
Some of the files and directories changed in this section may not exist on your system. In this instance the recommendation can be ignored.
Audit:
195 | P a g e
196 | P a g e
197 | P a g e
Rationale: The /smit.log file may contain sensitive information regarding system configuration, which may be of interest to an attacker. This log file must be secured from unauthorized access and modifications. Remediation: Remove world read and write access to /smit.log :
chmod o-rw /smit.log
198 | P a g e
Audit:
199 | P a g e
200 | P a g e
NOTE: The output from the command above will contain numerous files. No files should have read or write permission for other Default Value: N/A
201 | P a g e
202 | P a g e
ls l /var/tmp/dpid2.log | awk '{print $1 " " $3 " " $4 " " $9}'
203 | P a g e
The /var/tmp/snmpd.log logfile contains sensitive information through which an attacker can find out about the SNMP deployment architecture in your network. This log file must be secured from unauthorized access. As part of the default implementation of the customized XML file, snmpd will have been disabled. Remediation: Remove world read and write from /var/tmp/snmpd.log:
chmod o-rw /var/tmp/snmpd.log
204 | P a g e
2.11.18 Permissions and Ownership world writable directory in root PATH (Level 1, Scorable)
Description: To secure the root users executable PATH, all directories must not be group and world writable. Rationale: There should not be group or world writable directories in the root users executable path. This may allow an attacker to gain super user access by forcing an administrator operating as root to execute a Trojan horse program. Remediation: Search and report on group or world writable directories in roots PATH. The command must be run as the root user:
find `echo $PATH | tr ':' ' '` -type d \( -perm -002 -o -perm -020 \) -ls
NOTE: Review the output and manually change the directories, if possible. To manually change permissions on the directories: To remove group writable access:
chmod g-w <dir name>
Once completed validate the permissions for the main parent directories i.e. / and /usr
ls -ld /usr | awk '{print $1 " " $3 " " $4 " " $9}' ls -ld / | awk '{print $1 " " $3 " " $4 " " $9}'
205 | P a g e
drwxr-xr-x drwxr-xr-x
bin root
bin system
/usr /
2.11.19 Permissions and Ownership home directory configuration files (Level 1, Scorable)
Description: The user configuration files in each home directory e.g. $HOME/.profile, must not be group or world writable. Rationale: Group or world-writable user configuration files may enable malicious users to steal or modify other user's data, or to gain elevated privileges. Remediation: Search and remediate any user configuration files which have group or world writable access:
lsuser -a home ALL |cut -f2 -d= | while read HOMEDIR; do echo "Examining $HOMEDIR" if [ -d $HOMEDIR ]; then ls -a $HOMEDIR | grep -Ev "^.$|^..$" | \ while read FILE; do if [ -f $FILE ]; then ls l $FILE chmod go-w $FILE fi done else echo "No home dir for $HOMEDIR" fi done
NOTE: The permission change is automatically applied Audit: Re-execute the remediation script and all listed files in each user directory, should not have group or world writable permissions. Default Value: N/A
206 | P a g e
NOTE: The permission change is automatically applied to all user directories with a user ID over 200. Modify /usr/lib/security/mkuser.sys to ensure that all new user home directories will be created with a default permission of 750:
vi /usr/lib/security/mkuser.sys
Replace:
mkdir $1
With:
mkdir $1 && chmod u=rwx,g=rx,g= $1
207 | P a g e
NOTE: All listed directories should have drwxr-x--- permissions Ensure that the change has been made to /usr/lib/security/mkuser.sys to reflect permissions setting:
grep -c 'mkdir $1 && chmod u=rwx,g=rx,g= $1' /usr/lib/security/mkuser.sys
NOTE: The output from the command above should be 1 Default Value: N/A
If any tty devices are returned from the previous output, lock down each one via:
chitab "tty2:2:off:/usr/sbin/getty /dev/tty2"
NOTE: Replace tty2 with the relevant port Audit: Ensure that all tty devices are now disabled:
lsitab a |grep "on:/usr/sbin/getty"
208 | P a g e
NOTE: Replace tty2 with the relevant port Default Value: N/A
The above command should yield no output. Reversion: Re-add the i4ls startup line to /etc/inittab:
mkitab "i4ls:2:wait:/etc/i4ls.rc > /dev/null 2>&1 # Start i4ls"
209 | P a g e
The recommendation is to disable Network Computing System (NCS). It provide tools for designing, implementing, and supporting applications requiring distributed data and distributed computing. Rationale: NCS is an implementation of the Network Computing Architecture developed to provide tools for designing, implementing, and supporting applications requiring distributed data and distributed computing. It is recommended that NCS is disabled, unless it is required within the environment. Remediation: Identify if NCS is enabled:
lsitab a |grep "/etc/rc.ncs" | cut -f1 -d:
NOTE: If the output from the lsitab command was not rcncs, substitute that above. Audit: Ensure that NCS is now disabled:
lsitab rcncs
NOTE: If the output from the lsitab command was not rcncs, substitute that above. The above command should yield no output. Reversion: Re-add the NCS startup line to /etc/inittab:
mkitab "rcncs:2:wait:/etc/rc.ncs > /dev/console 2>&1 #Start NCS"
210 | P a g e
NOTE: The man command does not need this to work correctly. Remediation: Identify if httpdlite is enabled:
lsitab httpdlite
The above command should yield no output. Reversion: Re-add the httpdlite startup line to /etc/inittab:
mkitab "httpdlite:2:once:/usr/IMNSearch/httpdlite/httpdlite r /etc/IMNSearch/httpdlite/httpdlite.conf & >/dev/console 2>&1"
211 | P a g e
lsitab pmd
The above command should yield no output. Reversion: Readd the pmd startup line to /etc/inittab:
mkitab "pmd:2:wait:/usr/bin/pmd > /dev/console 2>&1 # Start PM daemon"
The above command should yield no output. Reversion: Readd the writesrv startup line to /etc/inittab:
mkitab "writesrv:2:wait:/usr/bin/startsrc -swritesrv"
212 | P a g e
NOTE: Both commands should return a value of 1 Reversion: Remove the mesg entries from /etc/profile and /etc/csh.login:
vi /etc/profile vi /etc/csh.login
213 | P a g e
password cracking being executed and activity outside of normal usage hours may be detected due to departure from the normal system performance baseline. It is recommended that the collection script is run on an hourly basis, every day, to help to detect any anomalies. It is also important to generate and review the system activity report on a daily basis. There may be 3rd party tools, or in-house written scripts in place which perform a similar function. In this instance this recommendation can be ignored. Remediation: Prior to configuring sar reporting, ensure that the bos.acct fileset is installed:
lslpp -l bos.acct
NOTE: The bos.acct fileset should be listed, along with the currently installed version If the software is not installed, install from the relevant AIX media pack:
/usr/lib/instl/sm_inst installp_cmd -a -Q -d /tmp f bos.acct -c -N -g -X -G -Y
NOTE: If the software is not located in /tmp, reflect the actual location in the command above. Edit the adm user crontab:
vi /var/spool/cron/crontabs/adm
NOTE: There are commented out example system activity report lines. Review and tailor to the needs of the environment:
#================================================================= # SYSTEM ACTIVITY REPORTS # 8am-5pm activity reports every 20 mins during weekdays. # activity reports every an hour on Saturday and Sunday. # 6pm-7am activity reports every an hour during weekdays. # Daily summary prepared at 18:05. #================================================================= #0 8-17 * * 1-5 /usr/lib/sa/sa1 1200 3 & #0 * * * 0,6 /usr/lib/sa/sa1 & #0 18-7 * * 1-5 /usr/lib/sa/sa1 & #5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 3600 -ubcwyaqvm &
NOTE: Change and uncomment the lines where appropriate. Refer to the sar documentation for further guidance Create the reporting directory structure and apply the appropriate permissions:
mkdir -p /var/adm/sa chown adm:adm /var/adm/sa chmod u=rwx,go=rx /var/adm/sa
214 | P a g e
The above command should yield output which reflects the changes made in the remediation section. Reversion: Comment out the entries in the adm user crontab:
vi /var/spool/cron/crontabs/adm
NOTE: Review the list of users Add all users with a UID of less that 200 to the/etc/ftpusers file:
lsuser -c ALL | grep -v ^#name |grep -v root | cut -f1 -d: | while read NAME; do if [ `lsuser -f $NAME | grep id | cut -f2 -d=` -lt 200 ] > /dev/null 2>&1; then echo $NAME >> /etc/ftpusers fi done
215 | P a g e
Audit: Review the content /etc/ftpusers, ensure there are no duplicate entries:
cat /etc/ftpusers
NOTE: The umask above restricts read/write permissions for both group and other Audit: Validate the umask setting:
grep -i ftp /etc/inetd.conf
216 | P a g e
NOTE: If the fileset is not installed, install it from the AIX media or another software repository. The fileset should reflect the language used on the server. Once installed set the ftp AUP banner:
dspcat -g /usr/lib/nls/msg/en_US/ftpd.cat > /root/ftpd.tmp sed "s/\"\%s FTP server (\%s) ready.\"/\"\%s Authorized uses only. All activity may be monitored and reported\"/" /root/ftpd.tmp > /root/ftpd.msg gencat /usr/lib/nls/msg/en_US/ftpd.cat /root/ftpd.msg
217 | P a g e
NOTE: Replace its owner with the relevant company name Audit: Log back into the system via SSH:
ssh localhost
NOTE: The /etc/motd file will now be displayed Default Value: N/A
218 | P a g e
NOTE: Review the list of at schedules and remove any files which should not be there, or have no content Add the recommended system users to the at.allow list:
echo sys >> /var/adm/cron/at.allow echo adm >> /var/adm/cron/at.allow
Add any other users who require permissions to use the at scheduler:
echo <user> >> /var/adm/cron/at.allow
NOTE: Where <user> is the username Audit: Review the content /var/adm/cron/at.allow, ensure that the content reflects the changes made:
cat /var/adm/cron/at.allow
219 | P a g e
Rationale: The /var/adm/cron/cron.allow file defines which users are able to schedule jobs via cron. Review the current cron files and add any relevant users to the /var/adm/cron/cron.allow file. As part of the default implementation of the customized XML file the /var/adm/cron/at.allow file will have been created with a root user entry. Remediation: Review the current cron files:
ls l /var/spool/cron/crontabs cat /var/spool/cron/crontabs/*
NOTE: Review the list of cron schedules and remove any files which should not be there, or have no content Add the recommended system users to the cron.allow list:
echo sys >> /var/adm/cron/cron.allow echo adm >> /var/adm/cron/cron.allow
Add any other users who require permissions to use the cron scheduler:
echo <user> >> /var/adm/cron/cron.allow
NOTE: Where <user> is the username Audit: Review the content /var/adm/cron/cron.allow, ensure that the content reflects the changes made:
cat /var/adm/cron/cron.allow
2.12.15 Miscellaneous Config all unlocked accounts must have a password (Level 1, Scorable)
Description: All unlocked accounts on the server must have a password. Rationale: An account password is a secret code word that must be entered to gain access to the account. If an account exists that has a blank password, multiple users may access the account without authentication and leave a weak audit trail. An attacker may gain unauthorized system access or perform malicious actions, which then cannot be attributed to any specific individual.
220 | P a g e
If a number, or numbers are returned from the command above, these are UID which are not unique within the /etc/passwd file. Determine the effected username/s:
cut -f "1 3" -d : /etc/passwd |grep ":<UID>$"
NOTE: Any user names returned should either be deleted or have the UID changed To remove:
rmuser <username>
221 | P a g e
The command above should not yield output Default Value: N/A
If a number, or numbers are returned from the command above, these are GID which are not unique within the /etc/group file. Determine the effected group names:
cut -f "1 3" -d : /etc/group |grep ":<GID>$"
NOTE: Any group names returned should either be deleted or have the UID changed To remove:
rmgroup <groupname>
222 | P a g e
The command above should not yield output Default Value: N/A
2.12.18 Miscellaneous Config unnecessary user and group removal (Level 2, Scorable)
Description: Remove unnecessary administrative user accounts to further enhance security. Rationale: Remove unnecessary administrative user accounts and groups, if possible. Generic administrative user accounts are targeted by hackers in an attempt to gain unauthorized access to a server. Remediation: Remove the uucp, nuucp, lpd, and printq user accounts and respective groups, if possible:
# Remove users LIST="uucp nuucp lpd printq" for USERS in $LIST; do rmuser -p $USERS rmgroup $USERS done # Remove groups LIST="uucp printq" for USERS in $LIST; do rmgroup $USERS done
NOTE:- Other users and groups can be added to the list if required Audit: Ensure that the user accounts have been removed:
egrep "uucp|nuucp|lpd|printq" /etc/passwd
The command should not yield output Ensure that the groups have been removed:
egrep "uucp|printq" /etc/group
The command should not yield output Reversion: Re-create the user accounts.
223 | P a g e
2.12.19 Miscellaneous Config /etc/environment PATH (AIX 6.1 only) (Level 1, Scorable)
Description: This change removes any . entries from the PATH environment variable in /etc/environment. This determines whether or not the current working directory is included in the search path. Rationale: The . will be removed from the PATH variable in /etc/environment. All directories must be explicitly defined within the PATH variable. This removes current working directory searching for all users. NOTE: This recommendation is automatically applied to AIX 5.3 as part of the default customized AIX Security Expert XML file implementation. Remediation: Edit the PATH variable in /etc/environment if it contains any . entries:
grep "PATH=" /etc/environment | egrep ":\.:|:\.$"
Audit:
grep "PATH=" /etc/environment | egrep ":\.:|:\.$"
The above command should yield no output. Default Value: dot not present
224 | P a g e
Audit:
grep "PATH=" /etc/profile | egrep ":\.:|:\.$"
The above command should yield no output. Default Value: dot not present
225 | P a g e
implementations however may benefit from a combined approach, utilizing both sudo and enhanced RBAC. The sudo software is packaged as an RPM by IBM and is available on the AIX Toolbox for LINUX media, or via download from the following location: http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/download.html Remediation: Place the sudo software into a convenient location, such as /tmp and install via:
/usr/lib/instl/sm_inst installp_cmd -a -Q -d /tmp f sudo -c -N -g -X -G -Y
NOTE: If the software is not located in /tmp, reflect the actual location in the command above. Once installed refer to the sudo man page for information regarding the creation of a custom /etc/sudoers file. It is recommended that, to reduce rule complexity, privileges are assigned at a group level wherever possible: http://www.gratisoft.us/sudo/man/sudo.html NOTE: The configuration of sudo is completely dependant on the unique requirements of a given environment. All editing of the /etc/sudoers file must be performed by the following command:
visudo
Once the /etc/sudoers file has been successfully created, validate the syntax of the file:
visudo -c
NOTE: The version reflected above may differ from the one installed. Reversion: De-install the sudo software:
226 | P a g e
rpm -e sudo
The command used to list the active RBAC definitions, i.e. those loaded into the kernel:
lskst
227 | P a g e
Further details regarding planning and implementation of RBAC can be found within the IBM AIX 6.1 Infocentre: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.security/do c/security/rbac.htm NOTE: The configuration of enhanced RBAC is completely dependant on the unique requirements of a given environment. Audit: N/A Default Value: N/A
228 | P a g e
NOTE: If the software is not located in /tmp, reflect the actual location in the command above. Load the CLiC kernel extension:
/usr/lib/methods/loadkclic
As the EFS administrator, create the initial keystore. This is typically the root user:
efsenable -a
To decrypt:
efsmgr d <filename>
Further details regarding planning and implementation of EFS can be found within the IBM AIX 6.1 Infocentre: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.security/do c/security/efs_efs.htm NOTE: The configuration of EFS is completely dependant on the unique requirements of a given environment. Audit: Validate the installation of the CLiC software:
lslpp L |egrep "clic"
229 | P a g e
NOTE: The version numbers may differ based on the source of the software Validate that the CLiC kernel extension has loaded:
genkex |grep crypt
230 | P a g e
Rationale: One of the common ways a hacker infiltrates a system is through file tampering or the use of a Trojan horse. The implementation of TE can provide a number of integrity checks prior to loading a program into memory, any deviations can also be highlighted when programs and files are validated offline. This ensures that the programs executed are those which are intended to be and not malicious code masquerading as a true program. When a discrepancy is identified it is classified as either minor or major. A minor discrepancy is automatically reset to the value defined in the TSD. In the event of a major discrepancy the file access permissions are changed to make the file inaccessible. There is a pre-requisite requirement to install CLiC and SSL software. Remediation: It is recommended that TE is configured in online mode. This provides real time protection against Trojan horse attacks. The tsd.dat file contains the important security attributes relating to all of the managed files:
cat /etc/security/tsd/tsd.dat
NOTE: The trustchk command is used to manage the entries in this file. To enable TE, firstly enable online checking of executables and shell scripts:
trustchk p CHKEXEC=ON trustchk p CHKSCRIPT=ON
Stop the execution or loading of binaries and files into memory when the integrity checks fail:
trustchk p STOP_ON_CHKFAIL=ON
NOTE: Commands will not be executed if they reside outside of the TEP.
231 | P a g e
Further details regarding planning and implementation of TE can be found within the IBM AIX 6.1 Infocentre: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.security/do c/security/bos_trusted_execution.htm&tocNode=toc:front/front.cmb/0/0/11/0/0/1/ NOTE: The configuration of TE is dependant on the unique requirements of a given environment. Audit: Ensure that TE is enabled:
trustchk p TE
Disable TEP:
trustchk p TEP=off
232 | P a g e
NOTE: The input file list is: /usr/lib/security/fpm/data/high_fpm_list A review of the proposed changes may result in a need to implement sudo or RBAC configuration changes to replicate the suid or sgid functionality. This would then enable the bits of certain systems files and/or daemons to be removed. If there is a requirement to remove the suid or sgid bits from custom programs place the list in the /usr/lib/security/fpm/custom/high directory. Execute the fpm command to implement the changes:
fpm -l high
Further details regarding the use of the fpm tool can be found within the AIX 6.1 Infocentre: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.cmds/doc/ aixcmds2/fpm.htm AIX 5.3 TL-08 and below: As the fpm tool is not available within earlier versions of AIX 5.3, the find and chmod commands will be used to replicate this functionality.
233 | P a g e
Find all suid and sgid files installed on the system. Firstly, ensure that all NFS filesystems and cdrom media are un-mounted:
find / \( -perm -04000 -o -perm -02000 \) -type f -ls
Once the output has been reviewed, use the chmod command to remove the appropriate suid or sgid bits:
chmod u-s <file> chmod g-s <file>
Audit: AIX 5.3 TL-09 and above and AIX 6.1: To ensure file compliance to the high level security policy, validate via:
fpm -c -l high
NOTE: Any deviation from this standard is reported AIX 5.3 TL08 and below: Re-execute the find command and review the output. This should reflect the changes made in the remediation section:
find / \( -perm -04000 -o -perm -02000 \) -type f -ls
Reversion: AIX 5.3 TL-09 and above and AIX 6.1: When the fpm command is executed, a copy of the existing file permissions is made to a corresponding date and time log in /var/security/fpm/log. Identify and re-instate the default settings:
fpm -l default -f /var/security/fpm/log/<default log>
AIX 5.3 TL-08 and below: Use the chmod command to re-instate the suid and sgid bits to the relevant files:
chmod u+s <file> chmod g+s <file>
234 | P a g e
Review the world writable files and directories and where possible, if the application configuration allows, remove access via:
chmod o-w <dir or file>
If a directory must retain world writable access, ensure that sticky bit is set so that users can only remove the files they create:
chmod o+t <dir>
NOTE: This will retain world writable permissions, but add a sticky bit to the directory. Check for the presence of un-owned files and directories:
find / \( -nouser -o -nogroup \) -ls
NOTE: An un-owned file or directory is referred to via the GID or UID as it cannot be translated to a user or group name in /etc/group or /etc/passwd. This is typically caused by removing users or groups from the system. Remediate the un-owned file and directory list:
chown <owner> <file> chgrp <group> <file>
Audit: Re-execute the commands to list the world writable files and directories:
find / -type f -perm -o+w -exec ls -l {} \; find / -type d -perm -o+w -exec ls -ld {} \;
235 | P a g e
NOTE: Review the output based on the performed remediation Re-execute the command to check for the presence of un-owned files and directories:
find / \( -nouser -o -nogroup \) -ls
NOTE: Review the output based on the performed remediation Reversion: Revert the permissions on the relevant files:
chown <owner> <file> chgrp <group> <file>
When the system has been successfully rebooted, create a mksysb system backup to reflect the new server configuration: If writing to tape:
mksysb i /dev/rmt<x>
If writing to a file:
mksysb i /<pathname to file>
NOTE: The mksysb can subsequently be used as a source to install new systems, which ensures compliance to this benchmark. If this is intended, it is recommended that a bosinst_data resource is created within NIM and that the following parameter is defined:
RECOVER_DEVICES = no
NOTE: This ensures that no device information stored in the current systems ODM will be recovered on a target system during installation.
236 | P a g e
Appendix A: References
Resource (date webpage) IBM AIX Operating System Service Strategy Details and Best Practices Dec 2008 (As of Dec 28th 2008) AIX Security Expert Password Policy (AIX 5.3 and AIX 6.1 Infocenter Jan 2009) Location http://www14.software.ibm.com/webapp/set2/sas/f/best/home. html
AIX 5.3: http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp? topic=/com.ibm.aix.security/doc/security/aix_sec_expert_pwd_poli cy_settings.htm AIX 6.1: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic =/com.ibm.aix.security/doc/security/aix_sec_expert_pwd_policy_se ttings.htm
AIX Security Expert Login Policy (AIX 5.3 and AIX 6.1 Infocenter Jan 2009)
AIX 5.3: http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp? topic=/com.ibm.aix.security/doc/security/aix_sec_expert_login_poli cy_settings.htm AIX 6.1: http://publib.boulder.ibm.com/infocenter/systems/topic/com.ibm. aix.security/doc/security/aix_sec_expert_login_policy_settings.htm? tocNode=toc:front/front.cmb/0/0/11/2/10/
AIX Security Expert /etc/inittab Settings (AIX 5.3 and AIX 6.1 Infocenter Jan 2009)
AIX 5.3: http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp? topic=/com.ibm.aix.security/doc/security/aix_sec_expert_etcinittab _entries.htm AIX 6.1: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic =/com.ibm.aix.security/doc/security/aix_sec_expert_etcinittab_entr ies.htm&tocNode=toc:front/front.cmb/0/0/11/2/12/
237 | P a g e
p_services_settings.htm AIX 6.1: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic =/com.ibm.aix.security/doc/security/aix_sec_expert_etcrctcpip_ser vices_settings.htm&tocNode=toc:front/front.cmb/0/0/11/2/13/ AIX 5.3: http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp? topic=/com.ibm.aix.security/doc/security/aix_sec_expert_etcinetdc onf_settings.htm AIX 6.1: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic =/com.ibm.aix.security/doc/security/aix_sec_expert_etcinetdconf_s ettings.htm&tocNode=toc:front/front.cmb/0/0/11/2/14/ AIX 5.3: http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp? topic=/com.ibm.aix.security/doc/security/aix_sec_expert_remov_u nnec_services.htm AIX 6.1: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic =/com.ibm.aix.security/doc/security/aix_sec_expert_remov_unnec_ services.htm&tocNode=toc:front/front.cmb/0/0/11/2/16/ AIX 5.3: http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp? topic=/com.ibm.aix.security/doc/security/aix_sec_expert_removal_ nonauth_access.htm AIX 6.1: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic =/com.ibm.aix.security/doc/security/aix_sec_expert_removal_nona uth_access.htm&tocNode=toc:front/front.cmb/0/0/11/2/17/
AIX Security Expert /etc/inetd.conf Setting (AIX 5.3 and AIX 6.1 Infocenter Feb 09)
AIX Security Expert Disabling Remote Services (AIX 5.3 and AIX 6.1 Infocenter Feb 09)
AIX Security Expert Automated Authentication (AIX 5.3 and AIX 6.1 Infocenter Feb 09)
AIX Security Expert TCP/IP Hardening (AIX 5.3 and AIX 6.1 Infocenter Mar 09)
AIX 5.3: http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp? topic=/com.ibm.aix.security/doc/security/aix_sec_expert_tuning_n etwork_opts.htm AIX 6.1: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic =/com.ibm.aix.security/doc/security/aix_sec_expert_tuning_networ k_opts.htm&tocNode=toc:front/front.cmb/0/0/11/2/18/
238 | P a g e
AIX Security Expert Misc Changes (AIX 5.3 and AIX 6.1 Infocentre Mar 09)
AIX 5.3: http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp? topic=/com.ibm.aix.security/doc/security/aix_sec_expert_misc.htm AIX 6.1: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic =/com.ibm.aix.security/doc/security/aix_sec_expert_misc.htm&toc Node=toc: nt/front.cmb/0/0/11/2/20/
AIX Security Expert AIX 5.3: AIX Audit Policy (AIX 5.3 and AIX 6.1 http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp? Infocentre Mar 09) topic=/com.ibm.aix.security/doc/security/aix_sec_expert_aud_polic y_settings.htm AIX 6.1: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic =/com.ibm.aix.security/doc/security/aix_sec_expert_aud_policy_set tings.htm&tocNode=toc:front/front.cmb/0/0/11/2/11/ AIX 5L Auditing and Accounting (Redbook) SG246396-00 OpenSSH Configuration http://www.redbooks.ibm.com/redbooks/pdfs/sg246396.pdf
AIX 5.3 Differences Guide (Redbook) SG24-7463-00 AIX 6.1 Differences Guide (Redbook) SG24-7559-00 AIX 6 Advanced Security Features (Redbook) SG247430-00
239 | P a g e
240 | P a g e