Oracle Linux 5 Security Technical Implementation Guide
Pick two releases to diff their requirements.
Open a previous version of this STIG.
Digest of Updates −1 ✎ 563
Comparison against the immediately-prior release (V1R5). Rule matching uses the Group Vuln ID. Content-change detection compares the rule’s description, check, and fix text after stripping inline markup — cosmetic-only edits aren’t flagged.
Removed rules 1
- V-22575 Medium A root kit check tool must be run on the system at least weekly.
Content changes 563
- V-1010 Medium description Public directories must be the only world-writable directories and world-writable files must be located only in public directories.
- V-1011 Low description Inetd or xinetd logging/tracing must be enabled.
- V-1013 High description The system must be configured to only boot from the system boot device.
- V-1021 Medium description The X server must have the correct options enabled.
- V-1022 Medium description An X server must have none of the following options enabled: -ac, -core (except for debugging purposes), or -nolock.
- V-1023 Medium description The system must not run an Internet Network News (INN) server.
- V-1025 Medium description The /etc/security/access.conf file must be owned by root.
- V-1026 Medium description The Samba Web Administration Tool (SWAT) must be restricted to the local host or require SSL.
- V-1027 Medium description The /etc/smb.conf file must be owned by root.
- V-1028 Medium description The /etc/smb.conf file must have mode 0644 or less permissive.
- V-1029 Medium description The /etc/smbpasswd file must be owned by root.
- V-1030 Medium description The smb.conf file must use the hosts option to restrict access to Samba.
- V-1032 Medium description Users must not be able to change passwords more than once every 24 hours.
- V-1046 High description Root passwords must never be passed over a network in clear text form.
- V-1047 Medium description The system must not permit root logins using remote access programs such as ssh.
- V-1048 Medium description Audio devices must have mode 0660 or less permissive.
- V-1049 Medium description Audio devices must be owned by root.
- V-1054 Medium description The /etc/security/access.conf file must have a privileged group owner.
- V-1055 Medium description The /etc/security/access.conf file must have mode 0640 or less permissive.
- V-1056 Medium description The /etc/smb.conf file must be group-owned by root, bin, sys, or system.
- V-1058 Medium description The smbpasswd file must be group-owned by root.
- V-1059 Medium description The smbpasswd file must have mode 0600 or less permissive.
- V-1061 Medium description Audio devices must be group-owned by root, sys, bin, or system.
- V-1062 Low description The root shell must be located in the / file system.
- V-11940 High description The operating system must be a supported release.
- V-11945 Medium description A file integrity tool must be used at least weekly to check for unauthorized file changes, particularly the addition of unauthorized system libraries or binaries, or for unauthorized modification to authorized system libraries or binaries.
- V-11946 Medium description UIDs reserved for system accounts must not be assigned to non-system accounts.
- V-11947 Medium description The system must require passwords contain a minimum of 15 characters.
- V-11948 Medium description The system must require passwords contain at least one uppercase alphabetic character.
- V-11972 Medium description The system must require passwords contain at least one numeric character.
- V-11973 Medium description The system must require passwords contain at least one special character.
- V-11975 Medium description The system must require passwords contain no more than three consecutive repeating characters.
- V-11976 Medium description User passwords must be changed at least every 60 days.
- V-11977 Medium description All non-interactive/automated processing account passwords must be changed at least once per year or be locked.
- V-11979 Medium description The root account must not be used for direct log in.
- V-11980 Medium description The system must log successful and unsuccessful access to the root account.
- V-11981 Medium description All global initialization files must have mode 0644 or less permissive.
- V-11982 Medium description All global initialization files must be owned by root.
- V-11983 Medium description All global initialization files must be group-owned by root, sys, bin, other, system, or the system default.
- V-11984 Medium description All skeleton files and directories (typically in /etc/skel) must be owned by root or bin.
- V-11985 Medium descriptioncheck All global initialization files executable search paths must contain only absolute paths.
- V-11986 Medium descriptioncheck All local initialization files executable search paths must contain only absolute paths.
- V-11987 Medium description The .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files must not contain a plus (+) without defining entries for NIS+ netgroups.
- V-11988 High description There must be no .rhosts, .shosts, hosts.equiv, or shosts.equiv files on the system.
- V-11989 Medium description The .rhosts file must not be supported in PAM.
- V-11990 Medium description All public directories must be group-owned by root, sys, bin, or an application group.
- V-11994 Medium description Crontabs must be owned by root or the crontab creator.
- V-11995 Medium description Default system accounts (with the exception of root) must not be listed in the cron.allow file or must be included in the cron.deny file, if cron.allow does not exist.
- V-11996 Low description Process core dumps must be disabled unless needed.
- V-11997 Low descriptioncheckfix The kernel core dump data directory must be owned by root.
- V-11999 Medium description The system must implement non-executable program stacks.
- V-12002 Medium description The system must not forward IPv4 source-routed packets.
- V-12003 Low description A separate file system must be used for user home directories (such as /home or an equivalent).
- V-12004 Medium description The system must log informational authentication data.
- V-12005 Medium description Inetd and xinetd must be disabled or removed if no network services utilizing them are enabled.
- V-12006 Medium description The SMTP service HELP command must not be enabled.
- V-12010 Medium description Unencrypted FTP must not be used on the system.
- V-12011 Medium description All FTP users must have a default umask of 077.
- V-12014 Medium description All .Xauthority files must have mode 0600 or less permissive.
- V-12016 Medium description .Xauthority or X*.hosts (or equivalent) file(s) must be used to restrict access to the X server.
- V-12017 Medium description The .Xauthority utility must only permit access to authorized hosts.
- V-12018 Medium description X Window System connections not required must be disabled.
- V-12020 Medium description The system must not be used as a syslog server (loghost) for systems external to the enclave.
- V-12021 Medium description The syslog daemon must not accept remote messages unless it is a syslog server documented using site-defined procedures.
- V-12022 Medium description The SSH daemon must be configured for IP filtering.
- V-12023 Medium description IP forwarding for IPv4 must not be enabled, unless the system is a router.
- V-12024 Medium description The system must not have a public Instant Messaging (IM) client installed.
- V-12025 Medium description The system must not have any peer-to-peer file-sharing application installed.
- V-12026 Medium description NIS maps must be protected through hard-to-guess domain names.
- V-12028 Medium description The system vulnerability assessment tool, host-based intrusion detection tool, and file integrity tool must notify the SA and the IAO of a security breach or a suspected security breach.
- V-12030 Medium description The systems access control program must be configured to grant or deny system access to specific hosts.
- V-12038 Medium description The /etc/securetty file must be group-owned by root, sys, or bin.
- V-12039 Medium description The /etc/securetty file must be owned by root.
- V-12040 Medium description The /etc/securetty file must have mode 0600 or less permissive.
- V-12049 Medium description Network analysis tools must not be installed.
- V-12765 Medium description The system must use and update a DoD-approved virus scan program.
- V-22290 Medium description The system clock must be synchronized continuously.
- V-22291 Medium description The system must use at least two time sources for clock synchronization.
- V-22292 Low description The system must use time sources local to the enclave.
- V-22294 Medium description The time synchronization configuration file (such as /etc/ntp.conf) must be owned by root.
- V-22295 Medium description The time synchronization configuration file (such as /etc/ntp.conf) must be group-owned by root, bin, or sys.
- V-22296 Medium description The time synchronization configuration file (such as /etc/ntp.conf) must have mode 0640 or less permissive.
- V-22297 Medium description The time synchronization configuration file (such as /etc/ntp.conf) must not have an extended ACL.
- V-22298 Low description The system must limit users to 10 simultaneous system logins, or a site-defined number, in accordance with operational requirements.
- V-22299 Low description The system must display the date and time of the last successful account login upon login.
- V-22301 Low description The system must display a publicly-viewable pattern during a graphical desktop environment session lock.
- V-22302 Medium description The system must enforce compliance of the entire password during authentication.
- V-22303 Medium description The system must use a FIPS 140-2 approved cryptographic hashing algorithm for generating account password hashes.
- V-22304 Medium description The password hashes stored on the system must have been generated using a FIPS 140-2 approved cryptographic hashing algorithm.
- V-22305 Medium description The system must require passwords contain at least one lowercase alphabetic character.
- V-22306 Medium description The system must require at least eight characters be changed between the old and new passwords during a password change.
- V-22307 Medium description The system must prevent the use of dictionary words for passwords.
- V-22308 Low description The system must restrict the ability to switch to the root user to members of a defined group.
- V-22309 Medium description The root accounts home directory must not have an extended ACL.
- V-22310 Medium description The root accounts library search path must be the system default and must contain only absolute paths.
- V-22311 Medium description The root accounts list of preloaded libraries must be empty.
- V-22312 Medium description All files and directories must have a valid group-owner.
- V-22313 Medium description All network services daemon files must not have extended ACLs.
- V-22314 Medium description All system command files must not have extended ACLs.
- V-22315 Medium description System log files must not have extended ACLs, except as needed to support authorized software.
- V-22316 Low descriptioncheck All manual page files must not have extended ACLs.
- V-22317 Medium descriptioncheck All library files must not have extended ACLs.
- V-22318 Medium description NIS/NIS+/yp command files must not have extended ACLs.
- V-22319 Medium description The /etc/resolv.conf file must be owned by root.
- V-22320 Medium description The /etc/resolv.conf file must be group-owned by root, bin, or sys.
- V-22321 Medium description The /etc/resolv.conf file must have mode 0644 or less permissive.
- V-22322 Medium description The /etc/resolv.conf file must not have an extended ACL.
- V-22323 Medium description The /etc/hosts file must be owned by root.
- V-22324 Medium description The /etc/hosts file must be group-owned by root, bin, or sys.
- V-22325 Medium description The /etc/hosts file must have mode 0644 or less permissive.
- V-22326 Medium description The /etc/hosts file must not have an extended ACL.
- V-22327 Medium description The /etc/nsswitch.conf file must be owned by root.
- V-22328 Medium description The /etc/nsswitch.conf file must be group-owned by root, bin, or sys.
- V-22329 Medium description The /etc/nsswitch.conf file must have mode 0644 or less permissive.
- V-22330 Medium description The /etc/nsswitch.conf file must not have an extended ACL.
- V-22331 Low description For systems using DNS resolution, at least two name servers must be configured.
- V-22332 Medium description The /etc/passwd file must be owned by root.
- V-22333 Medium description The /etc/passwd file must be group-owned by root, bin, or sys.
- V-22334 Medium description The /etc/passwd file must not have an extended ACL.
- V-22335 Medium description The /etc/group file must be owned by root.
- V-22336 Medium description The /etc/group file must be group-owned by root, bin, or sys.
- V-22337 Medium description The /etc/group file must have mode 0644 or less permissive.
- V-22338 Medium description The /etc/group file must not have an extended ACL.
- V-22339 Medium description The /etc/shadow file (or equivalent) must be group-owned by root, bin, or sys.
- V-22340 Medium description The /etc/shadow file must not have an extended ACL.
- V-22341 Medium description The /etc/gshadow file must be owned by root.
- V-22342 Medium description The /etc/gshadow file must be group-owned by root.
- V-22343 Medium description The /etc/gshadow file must have mode 0400.
- V-22344 Medium description The /etc/gshadow file must not have an extended ACL.
- V-22347 Medium description The /etc/passwd file must not contain password hashes.
- V-22348 Medium description The /etc/group file must not contain any group password hashes.
- V-22349 Medium description The /etc/gshadow file must not contain any group password hashes.
- V-22350 Low description User home directories must not have extended ACLs.
- V-22351 Medium description All files and directories contained in user home directories must be group-owned by a group of which the home directorys owner is a member.
- V-22352 Medium description All files and directories contained in user home directories must not have extended ACLs.
- V-22353 Medium description All run control scripts must have no extended ACLs.
- V-22354 Medium descriptioncheck Run control scripts library search paths must contain only absolute paths.
- V-22355 Medium descriptioncheck Run control scripts lists of preloaded libraries must contain only absolute paths.
- V-22356 Medium description All global initialization files must not have extended ACLs.
- V-22357 Medium description Skeleton files must not have extended ACLs.
- V-22358 Medium description All skeleton files (typically in /etc/skel) must be group-owned by root, bin, sys, system, or other.
- V-22359 Medium descriptioncheck Global initialization files library search paths must contain only absolute paths.
- V-22360 Medium descriptioncheck Global initialization files lists of preloaded libraries must contain only absolute paths.
- V-22361 Medium description Local initialization files must be group-owned by the users primary group or root.
- V-22362 Medium description Local initialization files must not have extended ACLs.
- V-22363 Medium descriptioncheck Local initialization files library search paths must contain only absolute paths.
- V-22364 Medium descriptioncheck Local initialization files lists of preloaded libraries must contain only absolute paths.
- V-22365 Medium description All shell files must be group-owned by root, bin, sys, or system.
- V-22366 Medium description All shell files must not have extended ACLs.
- V-22367 Medium description Audio devices must not have extended ACLs.
- V-22368 Medium description Removable media, remote file systems, and any file system not containing approved device files must be mounted with the nodev option.
- V-22369 Medium description All system audit files must not have extended ACLs.
- V-22370 Low description System audit tool executables must be owned by root.
- V-22371 Low description System audit tool executables must be group-owned by root, bin, sys, or system.
- V-22372 Low description System audit tool executables must have mode 0750 or less permissive.
- V-22373 Low description System audit tool executables must not have extended ACLs.
- V-22374 Low description The audit system must alert the SA in the event of an audit processing failure.
- V-22375 Medium description The audit system must alert the SA when the audit storage volume approaches its capacity.
- V-22376 Low description The audit system must be configured to audit account creation.
- V-22377 Low description The audit system must be configured to audit account modification.
- V-22378 Low description The audit system must be configured to audit account disabling.
- V-22382 Low description The audit system must be configured to audit account termination.
- V-22383 Medium description The audit system must be configured to audit the loading and unloading of dynamic kernel modules.
- V-22384 Medium description The cron.allow file must not have an extended ACL.
- V-22385 Medium description Crontab files must be group-owned by root, cron, or the crontab creators primary group.
- V-22386 Medium description Crontab files must not have extended ACLs.
- V-22387 Medium description Cron and crontab directories must not have extended ACLs.
- V-22388 Medium description The cron log files must not have extended ACLs.
- V-22389 Medium description The cron.deny file must not have an extended ACL.
- V-22390 Medium description The at.allow file must not have an extended ACL.
- V-22391 Medium description The cron.allow file must be group-owned by root, bin, sys, or cron.
- V-22392 Medium description The at.deny file must have mode 0600 or less permissive.
- V-22393 Medium description The at.deny file must not have an extended ACL.
- V-22394 Medium description The cron.deny file must be group-owned by root, bin, or sys.
- V-22395 Medium description The at directory must not have an extended ACL.
- V-22396 Medium description The at directory must be group-owned by root, bin, sys, or cron.
- V-22397 Medium description The at.allow file must be group-owned by root, bin, sys, or cron.
- V-22398 Medium description The at.deny file must be group-owned by root, bin, sys, or cron.
- V-22404 Medium description Kernel core dumps must be disabled unless needed.
- V-22405 Low description The kernel core dump data directory must be group-owned by root, bin, sys, or system.
- V-22406 Low descriptioncheckfix The kernel core dump data directory must have mode 0700 or less permissive.
- V-22407 Low descriptioncheckfix The kernel core dump data directory must not have an extended ACL.
- V-22408 Medium description Network interfaces must not be configured to allow user control.
- V-22409 Low description The system must not process Internet Control Message Protocol (ICMP) timestamp requests.
- V-22410 Medium description The system must not respond to Internet Control Message Protocol v4 (ICMPv4) echoes sent to a broadcast address.
- V-22411 Medium description The system must not respond to Internet Control Message Protocol (ICMP) timestamp requests sent to a broadcast address.
- V-22414 Medium description The system must not accept source-routed IPv4 packets.
- V-22415 Medium description Proxy Address Resolution Protocol (Proxy ARP) must not be enabled on the system.
- V-22416 Medium description The system must ignore IPv4 Internet Control Message Protocol (ICMP) redirect messages.
- V-22417 Medium description The system must not send IPv4 Internet Control Message Protocol (ICMP) redirects.
- V-22418 Low description The system must log martian packets.
- V-22419 Medium description The system must be configured to use TCP syncookies when experiencing a TCP SYN flood.
- V-22421 Medium description The system must not be configured for network bridging.
- V-22422 Low description All local file systems must employ journaling or another mechanism ensuring file system consistency.
- V-22423 Medium description The inetd.conf file, xinetd.conf file, and the xinetd.d directory must be group-owned by root, bin, sys, or system.
- V-22424 Medium description The inetd.conf and xinetd.conf files must not have extended ACLs.
- V-22425 Medium description The xinetd.d directory must have mode 0755 or less permissive.
- V-22426 Medium description The xinetd.d directory must not have an extended ACL.
- V-22427 Medium description The services file must be group-owned by root, bin, sys, or system.
- V-22428 Medium description The services file must not have an extended ACL.
- V-22429 Medium description The portmap or rpcbind service must not be running unless needed.
- V-22430 Medium description The portmap or rpcbind service must not be installed unless needed.
- V-22431 Medium description The rshd service must not be installed.
- V-22432 Medium description The rlogind service must not be running.
- V-22433 Medium description The rlogind service must not be installed.
- V-22434 Medium description The rexecd service must not be installed.
- V-22435 Medium description The hosts.lpd (or equivalent) file must be group-owned by lp.
- V-22436 Medium description The hosts.lpd (or equivalent) file must not have an extended ACL.
- V-22437 Medium description The traceroute file must not have an extended ACL.
- V-22438 Medium description The aliases file must be group-owned by root, sys, bin, or system.
- V-22439 Medium description The alias file must not have an extended ACL.
- V-22440 Medium description Files executed through a mail aliases file must be group-owned by root, bin, sys, or system, and must reside within a directory group-owned by root, bin, sys, or system.
- V-22441 Medium description Files executed through a mail aliases file must not have extended ACLs.
- V-22442 Medium description The SMTP service log file must not have an extended ACL.
- V-22444 Medium description The ftpusers file must be group-owned by root, bin, sys, or system.
- V-22445 Medium description The ftpusers file must not have an extended ACL.
- V-22446 Medium description The .Xauthority files must not have extended ACLs.
- V-22447 Medium description The SNMP service must use only SNMPv3 or its successors.
- V-22448 Medium description The SNMP service must require the use of a FIPS 140-2 approved cryptographic hash algorithm as part of its authentication and integrity methods.
- V-22449 Medium description The SNMP service must require the use of a FIPS 140-2 approved encryption algorithm for protecting the privacy of SNMP messages.
- V-22450 Medium description Management Information Base (MIB) files must not have extended ACLs.
- V-22451 Medium description The snmpd.conf file must be group-owned by root, bin, sys, or system.
- V-22452 Medium description The snmpd.conf file must not have an extended ACL.
- V-22453 Medium description The /etc/syslog.conf file must have mode 0640 or less permissive.
- V-22454 Medium description The /etc/syslog.conf file must not have an extended ACL.
- V-22455 Medium description The system must use a remote syslog server (loghost).
- V-22456 Medium description The SSH client must be configured to only use the SSHv2 protocol.
- V-22457 Medium description The SSH daemon must only listen on management network addresses unless authorized for uses other than management.
- V-22458 Medium description The SSH daemon must be configured to only use FIPS 140-2 approved ciphers.
- V-22459 Medium description The SSH daemon must be configured to not use Cipher-Block Chaining (CBC) ciphers.
- V-22460 Medium description The SSH daemon must be configured to only use Message Authentication Codes (MACs) employing FIPS 140-2 approved cryptographic hash algorithms.
- V-22461 Medium description The SSH client must be configured to only use FIPS 140-2 approved ciphers.
- V-22462 Medium description The SSH client must be configured to not use Cipher-Block Chaining (CBC)-based ciphers.
- V-22463 Medium description The SSH client must be configured to only use Message Authentication Codes (MACs) employing FIPS 140-2 approved cryptographic hash algorithms.
- V-22470 Medium description The SSH daemon must restrict login ability to specific users and/or groups.
- V-22471 Medium description The SSH public host key files must have mode 0644 or less permissive.
- V-22472 Medium description The SSH private host key files must have mode 0600 or less permissive.
- V-22473 Low description The SSH daemon must not permit GSSAPI authentication unless needed.
- V-22474 Low description The SSH client must not permit GSSAPI authentication unless needed.
- V-22475 Low description The SSH daemon must not permit Kerberos authentication unless needed.
- V-22485 Medium description The SSH daemon must perform strict mode checking of home directory configuration files.
- V-22486 Medium description The SSH daemon must use privilege separation.
- V-22487 Medium description The SSH daemon must not allow rhosts RSA authentication.
- V-22488 Medium description The SSH daemon must not allow compression or must only allow compression after successful authentication.
- V-22489 Medium description The SSH daemon must be configured with the Department of Defense (DoD) logon banner.
- V-22490 Medium description The system must be configured with a default gateway for IPv6 if the system uses IPv6, unless the system is a router.
- V-22491 Medium description The system must not have IP forwarding for IPv6 enabled, unless the system is an IPv6 router.
- V-22492 Medium description The Network File System (NFS) export configuration file must be group-owned by root, bin, sys, or system.
- V-22493 Low description The Network File System (NFS) exports configuration file must not have an extended ACL.
- V-22496 Medium description All Network File System (NFS) exported system files and system directories must be group-owned by root, bin, sys, or system.
- V-22497 Medium description The /etc/smb.conf file must not have an extended ACL.
- V-22498 Medium description The /etc/smbpasswd file must not have an extended ACL.
- V-22499 Medium description Samba must be configured to use an authentication mechanism other than share.
- V-22500 Medium description Samba must be configured to use encrypted passwords.
- V-22501 Medium description Samba must be configured to not allow guest access to shares.
- V-22502 Medium description The /etc/news/incoming.conf file must not have an extended ACL.
- V-22503 Medium description The /etc/news/hosts.nntp.nolimit file must not have an extended ACL.
- V-22504 Medium description The /etc/news/nnrp.access file must not have an extended ACL.
- V-22505 Medium description The /etc/news/passwd.nntp file must not have an extended ACL.
- V-22506 Medium description The system package management tool must be used to verify system software periodically.
- V-22507 Low description The file integrity tool must be configured to verify ACLs.
- V-22508 Low description The file integrity tool must be configured to verify extended attributes.
- V-22509 Low description The file integrity tool must use FIPS 140-2 approved cryptographic hashes for validating file contents.
- V-22511 Medium description The Stream Control Transmission Protocol (SCTP) must be disabled unless required.
- V-22514 Medium description The Datagram Congestion Control Protocol (DCCP) must be disabled unless required.
- V-22524 Medium description The AppleTalk protocol must be disabled or not installed.
- V-22530 Medium description The Reliable Datagram Sockets (RDS) protocol must be disabled or not installed unless required.
- V-22533 Medium description The Transparent Inter-Process Communication (TIPC) protocol must be disabled or uninstalled.
- V-22539 Medium description The Bluetooth protocol handler must be disabled or not installed.
- V-22541 Medium description The IPv6 protocol handler must not be bound to the network stack unless needed.
- V-22542 Medium description The IPv6 protocol handler must be prevented from dynamic loading unless needed.
- V-22545 Medium description The system must not have 6to4 enabled.
- V-22546 Medium description The system must not have Teredo enabled.
- V-22547 Medium description The system must not have IP tunnels configured.
- V-22548 Medium description The DHCP client must be disabled if not needed.
- V-22549 Medium description The DHCP client must not send dynamic DNS updates.
- V-22550 Medium description The system must ignore IPv6 ICMP redirect messages.
- V-22553 Medium description The system must not forward IPv6 source-routed packets.
- V-22555 Medium description If the system is using LDAP for authentication or account information, the system must use a TLS connection using FIPS 140-2 approved cryptographic algorithms.
- V-22556 Medium description If the system is using LDAP for authentication or account information, certificates used to authenticate to the LDAP server must be provided from DoD PKI or a DoD-approved external PKI.
- V-22557 Medium description If the system is using LDAP for authentication or account information, the LDAP TLS connection must require the server provide a certificate with a valid trust path to a trusted CA.
- V-22558 Medium description If the system is using LDAP for authentication or account information, the system must verify the LDAP servers certificate has not been revoked.
- V-22559 Medium description If the system is using LDAP for authentication or account information the /etc/ldap.conf (or equivalent) file must have mode 0644 or less permissive.
- V-22560 Medium description If the system is using LDAP for authentication or account information, the /etc/ldap.conf (or equivalent) file must be owned by root.
- V-22561 Medium description If the system is using LDAP for authentication or account information, the /etc/ldap.conf (or equivalent) file must be group-owned by root, bin, sys, or system.
- V-22562 Medium description If the system is using LDAP for authentication or account information, the /etc/ldap.conf (or equivalent) file must not have an extended ACL.
- V-22563 Medium description If the system is using LDAP for authentication or account information, the TLS certificate authority file and/or directory (as appropriate) must be owned by root.
- V-22564 Medium description If the system is using LDAP for authentication or account information, the TLS certificate authority file and/or directory (as appropriate) must be group-owned by root, bin, sys, or system.
- V-22565 Medium description If the system is using LDAP for authentication or account information, the TLS certificate authority file and/or directory (as appropriate) must have mode 0644 (0755 for directories) or less permissive.
- V-22566 Medium description If the system is using LDAP for authentication or account information, the LDAP TLS certificate authority file and/or directory (as appropriate) must not have an extended ACL.
- V-22567 Medium description For systems using NSS LDAP, the TLS certificate file must be owned by root.
- V-22568 Medium description If the system is using LDAP for authentication or account information, the LDAP TLS certificate file must be group-owned by root, bin, sys, or system.
- V-22569 Medium description If the system is using LDAP for authentication or account information, the LDAP TLS certificate file must have mode 0644 or less permissive.
- V-22570 Medium description If the system is using LDAP for authentication or account information, the LDAP TLS certificate file must not have an extended ACL.
- V-22571 Medium description If the system is using LDAP for authentication or account information, the LDAP TLS key file must be owned by root.
- V-22572 Medium description If the system is using LDAP for authentication or account information, the LDAP TLS key file must be group-owned by root, bin, or sys.
- V-22573 Medium description If the system is using LDAP for authentication or account information, the LDAP TLS key file must have mode 0600 or less permissive.
- V-22574 Medium description If the system is using LDAP for authentication or account information, the LDAP TLS key file must not have an extended ACL.
- V-22576 Low description The system must use available memory address randomization techniques.
- V-22577 Low description Automated file system mounting tools must not be enabled unless needed.
- V-22578 Low description The system must have USB disabled unless needed.
- V-22579 Low description The system must have USB Mass Storage disabled unless needed.
- V-22580 Low description The system must have IEEE 1394 (Firewire) disabled unless needed.
- V-22582 Medium description The system must employ a local firewall.
- V-22583 Medium description The systems local firewall must implement a deny-all, allow-by-exception policy.
- V-22584 Low description The system must use a Linux Security Module configured to limit the privileges of system services.
- V-22585 Medium description The systems boot loader configuration file(s) must not have extended ACLs.
- V-22586 Medium description The systems boot loader configuration files must be owned by root.
- V-22587 Medium description The systems boot loader configuration file(s) must be group-owned by root, bin, sys, or system.
- V-22588 Low descriptioncheckfix The system package management tool must cryptographically verify the authenticity of software packages during installation.
- V-22589 Low description The system package management tool must not automatically obtain updates.
- V-22595 Medium description The access.conf file must not have an extended ACL.
- V-22596 Medium description The /etc/sysctl.conf file must not have an extended ACL.
- V-22598 Low description Auditing must be enabled at boot by setting a kernel parameter.
- V-22665 Medium description The system must not be running any routing protocol daemons, unless the system is a router.
- V-22702 Medium description System audit logs must be group-owned by root, bin, sys, or system.
- V-23732 Medium description The FTPS/FTP service on the system must be configured with the Department of Defense (DoD) login banner.
- V-23736 Low description The system must use a separate file system for /var.
- V-23738 Low description The system must use a separate file system for the system audit data path.
- V-23739 Low description The system must use a separate file system for /tmp (or equivalent).
- V-23741 Medium description TCP backlog queue sizes must be set appropriately.
- V-23952 Medium description Mail relaying must be restricted.
- V-23953 Medium description The ldd command must be disabled unless it protects against the execution of untrusted files.
- V-23972 Medium description The system must not respond to ICMPv6 echo requests sent to a broadcast address.
- V-24331 Medium description The Department of Defense (DoD) login banner must be displayed immediately prior to, or as part of, graphical desktop environment login prompts.
- V-24347 Medium description The system, if capable, must be configured to require the use of a CAC, PIV compliant hardware token, or Alternate Logon Token (ALT) for authentication.
- V-24384 Medium description If the system is using LDAP for authentication or account information, the /etc/ldap.conf file (or equivalent) must not contain passwords.
- V-24386 High description The telnet daemon must not be running.
- V-24624 Medium description The system boot loader must protect passwords using an MD5 or stronger cryptographic hash.
- V-27250 Medium description A file integrity baseline including cryptographic hashes must be created.
- V-27251 Medium description A file integrity baseline including cryptographic hashes must be maintained.
- V-27275 Medium description The system must not have the unnecessary news account.
- V-27276 Medium description The system must not have the unnecessary gopher account.
- V-27279 Medium description The system must not have the unnecessary ftp account.
- V-27283 Medium description The graphical desktop environment must set the idle timeout to no more than 15 minutes.
- V-27284 Medium description Graphical desktop environments provided by the system must have automatic lock enabled.
- V-27285 Medium description Global settings defined in system-auth must be applied in the pam.d definition files.
- V-29236 Medium description The audit system must be configured to audit failed attempts to access files and programs.
- V-29240 Medium description The audit system must be configured to audit file deletions.
- V-29241 Medium description The audit system must be configured to audit all administrative, privileged, and security actions.
- V-29242 Medium description The audit system must be configured to audit all administrative, privileged, and security actions.
- V-29243 Medium description The audit system must be configured to audit all administrative, privileged, and security actions.
- V-29244 Medium description The audit system must be configured to audit all administrative, privileged, and security actions.
- V-29245 Medium description The audit system must be configured to audit all administrative, privileged, and security actions.
- V-29246 Medium description The audit system must be configured to audit all administrative, privileged, and security actions.
- V-29247 Medium description The audit system must be configured to audit all administrative, privileged, and security actions.
- V-29248 Medium description The audit system must be configured to audit all administrative, privileged, and security actions.
- V-29249 Medium description The audit system must be configured to audit all administrative, privileged, and security actions.
- V-29250 Medium description The audit system must be configured to audit all discretionary access control permission modifications.
- V-29251 Medium description The audit system must be configured to audit all discretionary access control permission modifications.
- V-29252 Medium description The audit system must be configured to audit all discretionary access control permission modifications.
- V-29253 Medium description The audit system must be configured to audit all discretionary access control permission modifications.
- V-29255 Medium description The audit system must be configured to audit all discretionary access control permission modifications.
- V-29257 Medium description The audit system must be configured to audit all discretionary access control permission modifications.
- V-29259 Medium description The audit system must be configured to audit all discretionary access control permission modifications.
- V-29261 Medium description The audit system must be configured to audit all discretionary access control permission modifications.
- V-29272 Medium description The audit system must be configured to audit all discretionary access control permission modifications.
- V-29274 Medium description The audit system must be configured to audit all discretionary access control permission modifications.
- V-29275 Medium description The audit system must be configured to audit all discretionary access control permission modifications.
- V-29279 Medium description The audit system must be configured to audit all discretionary access control permission modifications.
- V-29281 Medium description The audit system must be configured to audit the loading and unloading of dynamic kernel modules - delete_module.
- V-29284 Medium description The audit system must be configured to audit the loading and unloading of dynamic kernel modules - /sbin/insmod.
- V-29286 Medium description The audit system must be configured to audit the loading and unloading of dynamic kernel modules -/sbin/modprobe.
- V-29288 Medium description The audit system must be configured to audit the loading and unloading of dynamic kernel modules - /sbin/rmmod
- V-29289 Medium description Files in cron script directories must have mode 0700 or less permissive.
- V-29376 Medium description The system must not have the unnecessary games account.
- V-4083 Medium description Graphical desktop environments provided by the system must automatically lock after 15 minutes of inactivity and the system must require users to re-authenticate to unlock the environment. Applications requiring continuous, real-time screen display (i.e., network management products) require the following and need to be documented with the IAO. -The logon session does not have administrator rights. -The display station (i.e., keyboard, monitor, etc.) is located in a controlled access area.
- V-4084 Medium description The system must prohibit the reuse of passwords within five iterations.
- V-4087 Medium description User start-up files must not execute world-writable programs.
- V-4089 Medium description All system start-up files must be owned by root.
- V-4090 Medium description All system start-up files must be group-owned by root, sys, bin, other, or system.
- V-4091 Medium description System start-up files must only execute programs owned by a privileged UID or an application.
- V-4246 Medium description System BIOS or system controllers supporting password protection must have administrator accounts/passwords configured, and no others.
- V-4247 High description The system must not use removable media as the boot loader.
- V-4248 High description For systems capable of using GRUB, the system must be configured with GRUB as the default boot loader unless another boot loader has been authorized, justified, and documented using site-defined procedures.
- V-4249 High description The system boot loader must require authentication.
- V-4250 Medium description The systems boot loader configuration file(s) must have mode 0600 or less permissive.
- V-4255 High description If the system boots from removable media, it must be stored in a safe or similarly secured container.
- V-4268 High description The system must not have special privilege accounts, such as shutdown and halt.
- V-4269 Medium description The system must not have unnecessary accounts.
- V-4273 Medium description The /etc/news/incoming.conf (or equivalent) must have mode 0600 or less permissive.
- V-4274 Medium description The /etc/news/infeed.conf (or equivalent) must have mode 0600 or less permissive.
- V-4275 Medium description The /etc/news/readers.conf (or equivalent) must have mode 0600 or less permissive.
- V-4276 Medium description The /etc/news/passwd.nntp file (or equivalent) must have mode 0600 or less permissive.
- V-4277 Medium description Files in /etc/news must be owned by root or news.
- V-4278 Medium description The files in /etc/news must be group-owned by root or news.
- V-4295 High description The SSH daemon must be configured to only use the SSHv2 protocol.
- V-4298 Medium description Remote consoles must be disabled or protected from unauthorized access.
- V-4301 Medium description The system clock must be synchronized to an authoritative DoD time source.
- V-4304 Medium description The root file system must employ journaling or another mechanism ensuring file system consistency.
- V-4321 Medium description The system must not run Samba unless needed.
- V-4334 Medium description The /etc/sysctl.conf file must be owned by root.
- V-4335 Medium description The /etc/sysctl.conf file must be group-owned by root.
- V-4336 Medium description The /etc/sysctl.conf file must have mode 0600 or less permissive.
- V-4339 High description The Linux NFS Server must not have the insecure file locking option.
- V-4342 High description The x86 CTRL-ALT-DELETE key sequence must be disabled.
- V-4346 Medium description The Linux PAM system must not grant sole access to admin privileges to the first user who logs into the console.
- V-4357 Medium description Audit logs must be rotated daily.
- V-4358 Medium description The cron.deny file must have mode 0600 or less permissive.
- V-4360 Low description Cron programs must not set the umask to a value less restrictive than 077.
- V-4361 Medium description The cron.allow file must be owned by root, bin, or sys.
- V-4364 Medium description The at directory must have mode 0755 or less permissive.
- V-4365 Medium description The at directory must be owned by root, bin, sys, daemon, or cron.
- V-4366 Medium description At jobs must not set the umask to a value less restrictive than 077.
- V-4367 Medium description The at.allow file must be owned by root, bin, or sys.
- V-4368 Medium description The at.deny file must be owned by root, bin, or sys.
- V-4369 Medium description The traceroute command owner must be root.
- V-4370 Medium description The traceroute command must be group-owned by sys, bin, root, or system.
- V-4371 Medium description The traceroute file must have mode 0700 or less permissive.
- V-4382 High description Administrative accounts must not run a web browser, except as needed for local service administration.
- V-4384 Low description The SMTP services SMTP greeting must not provide version information.
- V-4385 Medium description The system must not use .forward files.
- V-4387 High description Anonymous FTP accounts must not have a functional shell.
- V-4392 Medium description If the system is a Network Management System (NMS) server, it must only run the NMS and any software required by the NMS.
- V-4393 Medium description The /etc/syslog.conf file must be owned by root.
- V-4394 Medium description The /etc/syslog.conf file must be group-owned by root, bin, sys, or system.
- V-4395 Medium description The system must only use remote syslog servers (log hosts) that is justified and documented using site-defined procedures.
- V-4397 Medium description The system must be configured with a default gateway for IPv4 if the system uses IPv4, unless the system is a router.
- V-4398 Medium description A system used for routing must not run other network services or applications.
- V-4399 High description The system must not use UDP for NIS/NIS+.
- V-4427 Medium description All .rhosts, .shosts, or host.equiv files must only contain trusted host-user pairs.
- V-4428 Medium description All .rhosts, .shosts, .netrc, or hosts.equiv files must be accessible by only root or the owner.
- V-4430 Medium description The cron.deny file must be owned by root, bin, or sys.
- V-4687 High description The rsh daemon must not be running.
- V-4688 High description The rexec daemon must not be running.
- V-4689 High description The SMTP service must be an up-to-date version.
- V-4690 High description The sendmail server must have the debug feature disabled.
- V-4691 High description The SMTP service must not have a uudecode alias active.
- V-4692 Low description The SMTP service must not have the EXPN feature active.
- V-4693 Low description The SMTP service must not have the Verify (VRFY) feature active.
- V-4694 Low description The sendmail service must not have the wizard backdoor active.
- V-4695 High description Any active TFTP daemon must be authorized and approved in the system accreditation package.
- V-4696 Medium description The system must not have the UUCP service active.
- V-4697 High description X displays must not be exported to the world.
- V-4701 Low description The system must not have the finger service active.
- V-4702 Medium description If the system is an anonymous FTP server, it must be isolated to the DMZ network.
- V-756 Medium description The system must require authentication upon booting into single-user and maintenance modes.
- V-760 Medium description Direct logins must not be permitted to shared, default, application, or utility accounts.
- V-761 Medium description All accounts on the system must have unique user or account names.
- V-762 Medium description All accounts must be assigned unique User Identification Numbers (UIDs).
- V-763 Medium description The Department of Defense (DoD) login banner must be displayed immediately prior to, or as part of, console login prompts.
- V-765 Medium description Successful and unsuccessful logins and logouts must be logged.
- V-766 Medium description The system must disable accounts after three consecutive unsuccessful login attempts.
- V-768 Medium description The delay between login prompts following a failed login attempt must be at least 4 seconds.
- V-769 Medium description The root user must not own the logon session for an application requiring a continuous display.
- V-770 High description The system must not have accounts configured with blank or null passwords.
- V-773 Medium description The root account must be the only account having a UID of 0.
- V-774 Low description The root users home directory must not be the root directory (/).
- V-775 Medium description The root accounts home directory (other than /) must have mode 0700.
- V-776 Medium descriptioncheck The root accounts executable search path must be the vendor default and must contain only absolute paths.
- V-777 Medium description The root account must not have world-writable directories in its executable search path.
- V-778 Medium description The system must prevent the root account from directly logging in except from the system console.
- V-780 Medium description GIDs reserved for system accounts must not be assigned to non-system groups.
- V-781 Low description All GIDs referenced in the /etc/passwd file must be defined in the /etc/group file.
- V-782 Medium description The system must have a host-based intrusion detection tool installed.
- V-783 Medium description System security patches and updates must be installed and up-to-date.
- V-784 Medium description System files and directories must not have uneven access permissions.
- V-785 Medium description All files and directories must have a valid owner.
- V-786 Medium description All network services daemon files must have mode 0755 or less permissive.
- V-787 Medium description System log files must have mode 0640 or less permissive.
- V-788 Medium description All skeleton files (typically those in /etc/skel) must have mode 0644 or less permissive.
- V-789 Medium description NIS/NIS+/yp files must be owned by root, sys, or bin.
- V-790 Medium description NIS/NIS+/yp files must be group-owned by root, sys, or bin.
- V-791 Medium description The NIS/NIS+/yp command files must have mode 0755 or less permissive.
- V-792 Low descriptioncheck Manual page files must have mode 0644 or less permissive.
- V-793 Medium descriptioncheck Library files must have mode 0755 or less permissive.
- V-794 Medium description All system command files must have mode 0755 or less permissive.
- V-795 Medium description All system files, programs, and directories must be owned by a system account.
- V-796 Medium description System files, programs, and directories must be group-owned by a system group.
- V-797 Medium description The /etc/shadow (or equivalent) file must be owned by root.
- V-798 Medium description The /etc/passwd file must have mode 0644 or less permissive.
- V-800 Medium description The /etc/shadow (or equivalent) file must have mode 0400.
- V-801 Medium description The owner, group-owner, mode, ACL, and location of files with the setuid bit set must be documented using site-defined procedures.
- V-802 Medium description The owner, group-owner, mode, ACL and location of files with the setgid bit set must be documented using site-defined procedures.
- V-803 Medium description The system must be checked weekly for unauthorized setuid files as well as unauthorized modification to authorized setuid files.
- V-804 Medium description The system must be checked weekly for unauthorized setgid files as well as unauthorized modification to authorized setgid files.
- V-806 Low description The sticky bit must be set on all public directories.
- V-807 Medium description All public directories must be owned by root or an application account.
- V-808 Medium description The system and user default umask must be 077.
- V-810 Medium description Default system accounts must be disabled or removed.
- V-811 Medium description Auditing must be implemented.
- V-812 Medium description System audit logs must be owned by root.
- V-813 Medium description System audit logs must have mode 0640 or less permissive.
- V-814 Medium description The audit system must be configured to audit failed attempts to access files and programs.
- V-815 Medium description The audit system must be configured to audit files and programs deleted by the user.
- V-818 Medium description The audit system must be configured to audit login, logout, and session initiation.
- V-819 Medium description The audit system must be configured to audit all discretionary access control permission modifications.
- V-821 Medium description The inetd.conf file, xinetd.conf file, and the xinetd.d directory must be owned by root or bin.
- V-822 Medium description The xinetd configuration files must have mode 0640 or less permissive.
- V-823 Medium description The services file must be owned by root or bin.
- V-824 Medium description The services file must have mode 0644 or less permissive.
- V-825 Low description Global initialization files must contain the mesg -n or mesg n commands.
- V-827 Medium description The hosts.lpd file (or equivalent) must not contain a + character.
- V-828 Medium description The hosts.lpd (or equivalent) file must be owned by root, bin, sys, or lp.
- V-829 Medium description The hosts.lpd (or equivalent) must have mode 0644 or less permissive.
- V-831 Medium description The alias file must be owned by root.
- V-832 Medium description The alias file must have mode 0644 or less permissive.
- V-833 High description Files executed through a mail aliases file must be owned by root and must reside within a directory owned and writable only by root.
- V-834 Medium description Files executed through a mail aliases file must have mode 0755 or less permissive.
- V-835 Low description Sendmail logging must not be set to less than nine in the sendmail.cf file.
- V-836 Medium description The system syslog service must log informational and more severe SMTP service messages.
- V-837 Medium description The SMTP service log file must be owned by root.
- V-838 Medium description The SMTP service log file must have mode 0644 or less permissive.
- V-840 Medium description The ftpusers file must exist.
- V-841 Medium description The ftpusers file must contain account names not allowed to use FTP.
- V-842 Medium description The ftpusers file must be owned by root.
- V-843 Medium description The ftpusers file must have mode 0640 or less permissive.
- V-845 Low description The FTP daemon must be configured for logging or verbose mode.
- V-846 Medium description Anonymous FTP must not be active on the system unless authorized.
- V-847 High description The TFTP daemon must operate in secure mode which provides access only to a single directory on the host file system.
- V-848 High description The TFTP daemon must have mode 0755 or less permissive.
- V-849 Medium description The TFTP daemon must be configured to vendor specifications, including a dedicated TFTP user account, a non-login shell such as /bin/false, and a home directory owned by the TFTP user.
- V-850 Medium description Any X Windows host must write .Xauthority files.
- V-867 Medium description The Network Information System (NIS) protocol must not be used.
- V-899 Low description All interactive users must be assigned a home directory in the /etc/passwd file.
- V-900 Low description All interactive user home directories defined in the /etc/passwd file must exist.
- V-901 Medium description All user home directories must have mode 0750 or less permissive.
- V-902 Medium description All interactive user home directories must be owned by their respective users.
- V-903 Medium description All interactive user home directories must be group-owned by the home directory owners primary group.
- V-904 Medium description All local initialization files must be owned by the home directorys user or root.
- V-905 Medium description All local initialization files must have mode 0740 or less permissive.
- V-906 Medium description All run control scripts must have mode 0755 or less permissive.
- V-907 Medium description Run control scripts executable search paths must contain only absolute paths.
- V-910 High description Run control scripts must not execute world-writable programs or scripts.
- V-913 Medium description There must be no .netrc files on the system.
- V-914 Low description All files and directories contained in interactive user home directories must be owned by the home directorys owner.
- V-915 Low description All files and directories contained in user home directories must have mode 0750 or less permissive.
- V-916 Medium description The /etc/shells (or equivalent) file must exist.
- V-917 Medium description All shells referenced in /etc/passwd must be listed in the /etc/shells file, except any shells specified for the purpose of preventing logins.
- V-918 Medium description Accounts must be locked upon 35 days of inactivity.
- V-921 Medium description All shell files must be owned by root or bin.
- V-922 High description All shell files must have mode 0755 or less permissive.
- V-923 Low description The system must be checked for extraneous device files at least weekly.
- V-924 Medium description Device files and directories must only be writable by users with a system account or as configured by the vendor.
- V-925 Medium description Device files used for backup must only be readable and/or writable by root or the backup user.
- V-928 Medium description The Network File System (NFS) export configuration file must be owned by root.
- V-929 Low description The Network File System (NFS) export configuration file must have mode 0644 or less permissive.
- V-931 Medium description All Network File System (NFS) exported system files and system directories must be owned by root.
- V-932 Medium description The Network File System (NFS) anonymous UID and GID must be configured to values without permissions.
- V-933 Medium description The Network File System (NFS) server must be configured to restrict file system access to local hosts.
- V-935 Medium description The Network File System (NFS) server must not allow remote root access.
- V-936 Medium description The nosuid option must be enabled on all Network File System (NFS) client mounts.
- V-940 Medium description The system must use an access control program.
- V-941 Medium description The systems access control program must log each system access attempt.
- V-974 Medium description Access to the cron utility must be controlled using the cron.allow and/or cron.deny file(s).
- V-975 Medium description The cron.allow file must have mode 0600 or less permissive.
- V-976 Medium description Cron must not execute group-writable or world-writable programs.
- V-977 Medium description Cron must not execute programs in, or subordinate to, world-writable directories.
- V-978 Medium description Crontab files must have mode 0600 or less permissive, and files in cron script directories must have mode 0700 or less permissive.
- V-979 Medium description Cron and crontab directories must have mode 0755 or less permissive.
- V-980 Medium description Cron and crontab directories must be owned by root or bin.
- V-981 Medium description Cron and crontab directories must be group-owned by root, sys, bin or cron.
- V-982 Medium description Cron logging must be implemented.
- V-983 Medium description The cronlog file must have mode 0600 or less permissive.
- V-984 Medium description Access to the at utility must be controlled via the at.allow and/or at.deny file(s).
- V-985 Medium description The at.deny file must not be empty if it exists.
- V-986 Medium description Default system accounts (with the exception of root) must not be listed in the at.allow file or must be included in the at.deny file if the at.allow file does not exist.
- V-987 Medium description The at.allow file must have mode 0600 or less permissive.
- V-988 Medium description The at daemon must not execute group-writable or world-writable programs.
- V-989 Medium description The at daemon must not execute programs in, or subordinate to, world-writable directories.
- V-993 High description SNMP communities, users, and passphrases must be changed from the default.
- V-994 Medium description The snmpd.conf file must have mode 0600 or less permissive.
- V-995 Medium description Management Information Base (MIB) files must have mode 0640 or less permissive.
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- GEN000020
- Vuln IDs
-
- V-756
- Rule IDs
-
- SV-63087r2_rule
Checks: C-51841r1_chk
Check if the system requires a password for entering single-user mode. # grep ':S:' /etc/inittab If /sbin/sulogin is not listed, this is a finding.
Fix: F-53673r2_fix
Edit /etc/inittab and set sulogin to run in single-user mode. Example line in /etc/inittab: ~:S:wait:/sbin/sulogin Note: The first field in the /etc/inittab line may be any sequence of 1-4 characters.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- GEN000280
- Vuln IDs
-
- V-760
- Rule IDs
-
- SV-63187r2_rule
Checks: C-51911r5_chk
Use the last command to check for multiple accesses to an account from different workstations/IP addresses. # last -w If users log directly on to accounts, rather than using the switch user (su) command from their own named account to access them, this is a finding (such as logging directly onto oracle). Verify with the SA or the ISSO on documentation for users/administrators to log on to their own accounts first and then switch user (su) to the account to be shared has been maintained, including requirements and procedures. If no such documentation exists, this is a finding.
Fix: F-53761r1_fix
Use the switch user (su) command from a named account login to access shared accounts. Document requirements and procedures for users/administrators to log into their own accounts first and then switch user (su) to the account to be shared.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000764
- Version
- GEN000300
- Vuln IDs
-
- V-761
- Rule IDs
-
- SV-63251r1_rule
Checks: C-51963r2_chk
Check the system for duplicate account names. Example: # pwck -r If any duplicate account names are found, this is a finding.
Fix: F-53823r1_fix
Change user account names, or delete accounts, so each account has a unique name.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000764
- Version
- GEN000320
- Vuln IDs
-
- V-762
- Rule IDs
-
- SV-63255r1_rule
Checks: C-51969r1_chk
Perform the following to ensure there are no duplicate UIDs: # cut -d: -f3 /etc/passwd | uniq -d If any duplicate UIDs are found, this is a finding.
Fix: F-53831r1_fix
Edit user accounts to provide unique UIDs for each account.
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- GEN000400
- Vuln IDs
-
- V-763
- Rule IDs
-
- SV-63333r1_rule
Checks: C-52047r2_chk
Access the system console and make a login attempt. Check for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding. You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests- -not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. OR I've read & consent to terms in IS user agreem't.
Fix: F-53931r2_fix
Edit /etc/issue and add one of the DoD login banners (based on the character limitations imposed by the system). DoD Login Banners: You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests- -not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. OR I've read & consent to terms in IS user agreem't.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN000440
- Vuln IDs
-
- V-765
- Rule IDs
-
- SV-63363r1_rule
Checks: C-52075r1_chk
Determine if all logon attempts are being logged. Procedure: Verify successful logins are being logged: # last -R | more If the command does not return successful logins, this is a finding. Verify if unsuccessful logons are being logged: # lastb -R | more If the command does not return unsuccessful logins, this is a finding.
Fix: F-53961r1_fix
Make sure the collection files exist. Procedure: If there are no successful logins being returned from the "last" command, create /var/log/wtmp: # touch /var/log/wtmp If there are no unsuccessful logins being returned from the "lastb" command, create /var/log/btmp: # touch /var/log/btmp
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-000044
- Version
- GEN000460
- Vuln IDs
-
- V-766
- Rule IDs
-
- SV-63383r1_rule
Checks: C-52095r1_chk
Check the pam_tally configuration. # more /etc/pam.d/system-auth Confirm the following line is configured, before any "auth sufficient" lines: auth required pam_tally2.so deny=3 If no such line is found, this is a finding.
Fix: F-53983r1_fix
By default link /etc/pam.d/system-auth points to /etc/pam.d/system-auth-ac which is the file maintained by the authconfig utility. In order to add pam options other than those available via the utility create /etc/pam.d/system-auth-local with the options and including system-auth-ac. In order to set the account lockout to three failed attempts the content should be similar to: auth required pam_access.so auth required pam_tally2.so deny=3 auth include system-auth-ac account required pam_tally2.so account include system-auth-ac password include system-auth-ac session include system-auth-ac Once system-auth-local is written reset the /etc/pam.d/system-auth to point to system-auth-local. This is necessary because authconfig writes directly to system-auth-ac so any changes made by hand will be lost if authconfig is run.
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-002238
- Version
- GEN000480
- Vuln IDs
-
- V-768
- Rule IDs
-
- SV-63391r1_rule
Checks: C-52101r1_chk
Check the value of the FAIL_DELAY variable and the ability to use it. Procedure: # grep FAIL_DELAY /etc/login.defs If the value does not exist, or is less than 4, this is a finding. Check for the use of pam_faildelay. # grep pam_faildelay /etc/pam.d/system-auth* If pam_faildelay.so module is not present, this is a finding. If pam_faildelay is present only in /etc/pam.d/system-auth-ac: ensure that /etc/pam.d/system-auth includes /etc/pam.d/system-auth-ac. #grep system-auth-ac /etc/pam.d/system-auth This should return: auth include system-auth-ac account include system-auth-ac password include system-auth-ac session include system-auth-ac /etc/pam.d/system-auth-ac should only be included by /etc/pam.d/system-auth. All other pam files should include /etc/pam.d/system-auth. If pam_faildelay is not defined in /etc/pam.d/system-auth either directly or through inclusion of system-auth-ac, this is a finding.
Fix: F-53995r1_fix
Add the pam_faildelay module and set the FAIL_DELAY variable. Procedure: Edit /etc/login.defs and set the value of the FAIL_DELAY variable to 4 or more. The default link /etc/pam.d/system-auth points to /etc/pam.d/system-auth-ac which is the file maintained by the authconfig utility. In order to add pam options other than those available via the utility create or modify /etc/pam.d/system-auth-local with the options and including system-auth-ac. For example: auth required pam_access.so auth optional pam_faildelay.so delay=4000000 auth include system-auth-ac account include system-auth-ac password include system-auth-ac session include system-auth-ac Once system-auth-local is written ensure the /etc/pam.d/system-auth points to system-auth-local. This is necessary because authconfig writes directly to system-auth-ac so any manual changes made will be lost if authconfig is run.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000520
- Vuln IDs
-
- V-769
- Rule IDs
-
- SV-63649r1_rule
Checks: C-52281r1_chk
If there is an application running on the system continuously in use (such as a network monitoring application), ask the SA what the name of the application is. Verify documentation exists for the requirement and justification of the application. If no documentation exists, this is a finding. Execute "ps -ef | more" to determine which user owns the process(es) associated with the application. If the owner is root, this is a finding.
Fix: F-54241r1_fix
Configure the system so the owner of a session requires a continuous screen display, such as a network management display, is not root. Ensure the display is also located in a secure, controlled access area. Document and justify this requirement and ensure the terminal and keyboard for the display (or workstation) are secure from all but authorized personnel by maintaining them in a secure area, in a locked cabinet where a swipe card, or other positive forms of identification, must be used to gain entry.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN000560
- Vuln IDs
-
- V-770
- Rule IDs
-
- SV-63787r1_rule
Checks: C-52345r1_chk
Verify the system will not log in accounts with blank passwords. # grep nullok /etc/pam.d/system-auth /etc/pam.d/system-auth-ac If an entry for nullok is found, this is a finding on Linux.
Fix: F-54379r1_fix
Edit /etc/pam.d/system-auth and remove the "nullok" setting.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000880
- Vuln IDs
-
- V-773
- Rule IDs
-
- SV-64341r1_rule
Checks: C-52745r1_chk
Check the system for duplicate UID 0 assignments by listing all accounts assigned UID 0. Procedure: # awk -F: '($3 == 0) { print $1 }' /etc/passwd If any accounts other than root are assigned UID 0, this is a finding.
Fix: F-54927r1_fix
Remove or change the UID of accounts other than root that have UID 0.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN000900
- Vuln IDs
-
- V-774
- Rule IDs
-
- SV-64353r1_rule
Checks: C-52753r2_chk
Determine if root is assigned a home directory other than / by listing its home directory. Procedure: # awk -F: '($1 == "root") { print $6 }' /etc/passwd If the root user home directory is /, this is a finding.
Fix: F-54937r1_fix
The root home directory should be something other than / (such as /roothome). Procedure: # mkdir /rootdir # chown root /rootdir # chgrp root /rootdir # chmod 700 /rootdir # cp -r /.??* /rootdir/. Then, edit the passwd file and change the root home directory to /rootdir. The cp -r /.??* command copies all files and subdirectories of file names beginning with "." into the new root directory, which preserves the previous root environment. Ensure you are in the "/" directory when executing the "cp" command.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000920
- Vuln IDs
-
- V-775
- Rule IDs
-
- SV-64359r1_rule
Checks: C-52761r1_chk
Check the mode of the root home directory. Procedure: # find ~root -type d -prune -exec ls -ld {} \; If the mode of the directory is not equal to 0700, this is a finding. If the home directory is /, this check will be marked "Not Applicable".
Fix: F-54941r1_fix
The root home directory will have permissions of 0700. Do not change the protections of the / directory. Use the following command to change protections for the root home directory: # chmod 0700 /rootdir.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000940
- Vuln IDs
-
- V-776
- Rule IDs
-
- SV-64373r3_rule
Checks: C-52775r3_chk
To view the root user's PATH, log in as the root user, and execute: # env | grep PATH This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/) or other than "$PATH", it is a relative path and this is a finding. If directories beyond those in the vendor's default root path or locally approved additional directories are present, this is a finding.
Fix: F-54955r2_fix
Edit the root user's local initialization files ~/.profile,~/.bashrc (assuming root shell is bash). Change any found PATH variable settings to the vendor's default path for the root user. Remove any empty path entries or references to relative paths.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000960
- Vuln IDs
-
- V-777
- Rule IDs
-
- SV-64387r1_rule
Checks: C-53385r1_chk
Check for world-writable permissions on all directories in the root user's executable search path. Procedure: # ls -ld `echo $PATH | sed "s/:/ /g"` If any of the directories in the PATH variable are world-writable, this is a finding.
Fix: F-55731r1_fix
For each world-writable path in root's executable search path, do one of the following: 1. Remove the world-writable permission on the directory. Procedure: # chmod o-w <path> 2. Remove the world-writable directory from the executable search path. Procedure: Identify and edit the initialization file referencing the world-writable directory and remove it from the PATH variable.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- GEN000980
- Vuln IDs
-
- V-778
- Rule IDs
-
- SV-64389r1_rule
Checks: C-52789r1_chk
Check /etc/securetty # more /etc/securetty If the file does not exist, or contains more than "console" or a single "tty" device this is a finding.
Fix: F-54971r1_fix
Create if needed and set the contents of /etc/securetty to a "console" or "tty" device. # echo console > /etc/securetty or # echo tty1 > /etc/securetty
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000360
- Vuln IDs
-
- V-780
- Rule IDs
-
- SV-63299r1_rule
Checks: C-52003r1_chk
Confirm all accounts with a GID of 499 and below are used by a system account. Procedure: List all the users with a GID of 0-499. # cut -d: -f 1,4 /etc/passwd|egrep ":[1-4][0-9]{2}$|:[0-9]{1,2}$" If a GID reserved for system accounts (0 - 499) is used by a non-system account, this is a finding.
Fix: F-53887r1_fix
Change the primary group GID numbers for non-system accounts with reserved primary group GIDs (those less or equal to 499).
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN000380
- Vuln IDs
-
- V-781
- Rule IDs
-
- SV-63319r1_rule
Checks: C-52029r1_chk
Perform the following to ensure there are no GIDs referenced in /etc/passwd not defined in /etc/group: # pwck -r If GIDs referenced in /etc/passwd are not defined in /etc/group are returned, this is a finding.
Fix: F-53915r1_fix
Add a group to the system for each GID referenced without a corresponding group.
- RMF Control
- SI-4
- Severity
- M
- CCI
- CCI-001259
- Version
- GEN006480
- Vuln IDs
-
- V-782
- Rule IDs
-
- SV-63733r1_rule
Checks: C-52343r2_chk
Ask the SA or IAO if a host-based intrusion detection application is loaded on the system. The preferred intrusion detection system is McAfee HBSS available through Cybercom. If another host-based intrusion detection application, such as SELinux, is used on the system, this is not a finding. Procedure: Examine the system to see if the Host Intrusion Prevention System (HIPS) is installed #rpm -qa | grep MFEhiplsm If the MFEhiplsm package is installed, HBSS is being used on the system. If another host-based intrusion detection system is loaded on the system # find / -name <daemon name> Where <daemon name> is the name of the primary application daemon to determine if the application is loaded on the system. Determine if the application is active on the system. Procedure: # ps -ef | grep <daemon name> If no host-based intrusion detection system is installed on the system, this is a finding.
Fix: F-54363r1_fix
Install a host-based intrusion detection tool.
- RMF Control
- SI-2
- Severity
- M
- CCI
- CCI-001227
- Version
- GEN000120
- Vuln IDs
-
- V-783
- Rule IDs
-
- SV-63099r1_rule
Checks: C-51851r1_chk
Obtain the list of available package security updates from the operating system vendor. Check the available package security updates have been installed on the system. Use the "rpm" command to list the packages installed on the system. Example: # rpm -qa -last If updated packages are available and applicable to the system and have not been installed, this is a finding. For more information, see: (1) http://linux.oracle.com/errata/ and (2) http://linux.oracle.com/cve/.
Fix: F-53683r1_fix
Install the patches or updated packages available from the vendor.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001140
- Vuln IDs
-
- V-784
- Rule IDs
-
- SV-64461r1_rule
Checks: C-52835r1_chk
Check system directories for uneven file permissions. Procedure: # ls -lL /etc /bin /usr/bin /usr/lbin /usr/usb /sbin /usr/sbin Uneven file permissions exist if the file owner has less permissions than the group or other user classes. If any of the files in the above listed directories contain uneven file permissions, this is a finding.
Fix: F-55017r1_fix
Change the mode of files with uneven permissions so owners do not have less permission than group or world users.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001160
- Vuln IDs
-
- V-785
- Rule IDs
-
- SV-64463r2_rule
Checks: C-52845r2_chk
Check the system for files with no assigned owner. Procedure: # find / -ignore_readdir_race -nouser If any files have no assigned owner, this is a finding. Caution should be used when centralized authorization is used because valid files may appear as unowned due to communication issues.
Fix: F-55025r1_fix
All directories and files (executable and data) will have an identifiable owner and group name. Either trace files to an authorized user, change the file's owner to root, or delete them. Determine the legitimate owner of the files and use the chown command to set the owner and group to the correct value. If the legitimate owner cannot be determined, change the owner to root (but make sure none of the changed files remain executable because they could be Trojan horses or other malicious code). Examine the files to determine their origin and the reason for their lack of an owner/group.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001180
- Vuln IDs
-
- V-786
- Rule IDs
-
- SV-64467r1_rule
Checks: C-52873r1_chk
Check the mode of network services daemons. # find /usr/sbin -type f -perm +022 -exec stat -c %a:%n {} \; This will return the octal permissions and name of all files that are group or world writable. If any network services daemon listed is world or group writable (either or both of the 2 lowest order digits contain a 2, 3 or 6), this is a finding. Note: Network daemons not residing in these directories (such as httpd or sshd) must also be checked for the correct permissions.
Fix: F-55051r2_fix
Change the mode of the network services daemon. # chmod go-w <path>
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- GEN001260
- Vuln IDs
-
- V-787
- Rule IDs
-
- SV-64487r3_rule
Checks: C-52909r3_chk
Check the mode of log files. Procedure: # find /var/log /var/log/syslog /var/adm -type f -perm -640 \! -perm 640 With the exception of /var/log/wtmp, /var/log/Xorg.0.log, and /var/log/gdm/:0.log, if any of the log files have modes more permissive than 0640, this is a finding.
Fix: F-55087r1_fix
Change the mode of the system log file(s) to 0640 or less permissive. Procedure: # chmod 0640 /path/to/system-log-file Note: Do not confuse system log files with audit logs.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001800
- Vuln IDs
-
- V-788
- Rule IDs
-
- SV-63879r1_rule
Checks: C-52415r1_chk
Check skeleton files permissions. # ls -alL /etc/skel If a skeleton file has a mode more permissive than 0644, this is a finding.
Fix: F-54451r2_fix
Change the mode of skeleton files with incorrect mode: # chmod 0644 <skeleton file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001320
- Vuln IDs
-
- V-789
- Rule IDs
-
- SV-64537r1_rule
Checks: C-52951r1_chk
Perform the following to check NIS file ownership: # ls -la /var/yp/*; If the file ownership is not root, sys, or bin, this is a finding.
Fix: F-55133r2_fix
Change the ownership of NIS/NIS+/yp files to root, sys or bin. Procedure (example): # chown root <filename>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001340
- Vuln IDs
-
- V-790
- Rule IDs
-
- SV-64515r1_rule
Checks: C-52929r1_chk
Perform the following to check NIS file group ownership: # ls -la /var/yp/* If the file group ownership is not root, sys, or bin, this is a finding.
Fix: F-55111r1_fix
Perform the following to change NIS file ownership. # chgrp root /var/yp/*
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001360
- Vuln IDs
-
- V-791
- Rule IDs
-
- SV-64509r1_rule
Checks: C-52923r1_chk
Perform the following to check NIS file permissions. # ls -la /var/yp/* If the file's mode is more permissive than 0755, this is a finding.
Fix: F-55105r2_fix
Change the mode of NIS/NIS+/yp command files to 0755 or less permissive. Procedure (example): # chmod 0755 <filename>
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001280
- Vuln IDs
-
- V-792
- Rule IDs
-
- SV-64517r3_rule
Checks: C-52931r3_chk
Check the mode of the manual page files. Procedure: # find /usr/share/man /usr/share/info /usr/share/infopage -type f -perm +022 -exec stat -c %a:%n {} \; |> more Note: This list only displays manual files with offending permissions. If any of the manual page files have a mode more permissive than 0644, this is a finding.
Fix: F-55113r1_fix
Change the mode of manual page files to 0644 or less permissive. Procedure (example): # chmod 0644 /path/to/manpage
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001300
- Vuln IDs
-
- V-793
- Rule IDs
-
- SV-64525r2_rule
Checks: C-52941r2_chk
Check the mode of library files. Procedure: # DIRS="/usr/lib /lib /usr/lib64 /lib64";for DIR in $DIRS;do find $DIR -type f -perm +022 -exec stat -c %a:%n {} \;;done This will return the octal permissions and name of all group or world writable files. If any file listed is world or group writable (either or both of the 2 lowest order digits contain a 2, 3 or 6), this is a finding.
Fix: F-55123r2_fix
Change the mode of library files to 0755 or less permissive. Procedure (example): # chmod go-w </path/to/library-file> Note: Library files should have an extension of ".a" or a ".so" extension, possibly followed by a version number.
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001200
- Vuln IDs
-
- V-794
- Rule IDs
-
- SV-64477r2_rule
Checks: C-52895r3_chk
Check the permissions for files in /etc, /bin, /usr/bin, /usr/lbin, /usr/ucb, /sbin, and /usr/sbin. Procedure: # DIRS="/etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin";for DIR in $DIRS;do find $DIR -type f -perm +022 -exec stat -c %a:%n {} \;;done This will return the octal permissions and name of all group or world writable files. If any command file is listed and is world or group writable (either or both of the 2 lowest order digits contain a 2, 3 or 6), this is a finding. Note: Elevate to Severity Code I if any command file listed is world writable.
Fix: F-55071r2_fix
Change the mode for system command files to 0755 or less permissive taking into account necessary GIUD and SUID bits. Procedure: # chmod go-w <filename>
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001220
- Vuln IDs
-
- V-795
- Rule IDs
-
- SV-64483r1_rule
Checks: C-52899r1_chk
Check the ownership of system files, programs, and directories. Procedure: # ls -lLa /etc /bin /usr/bin /usr/lbin /usr/usb /sbin /usr/sbin If any of the system files, programs, or directories are not owned by a system account, this is a finding.
Fix: F-55077r1_fix
Change the owner of system files, programs, and directories to a system account. Procedure: # chown root /some/system/file (A different system user may be used in place of root.)
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001240
- Vuln IDs
-
- V-796
- Rule IDs
-
- SV-64485r1_rule
Checks: C-52903r1_chk
Check the group-ownership of system files, programs, and directories. Procedure: # ls -lLa /etc /bin /usr/bin /usr/lbin /usr/usb /sbin /usr/sbin If any system file, program, or directory is not owned by a system group, this is a finding.
Fix: F-55081r1_fix
Change the group-owner of system files to a system group. Procedure: # chgrp root /path/to/system/file (System groups other than root may be used.)
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001400
- Vuln IDs
-
- V-797
- Rule IDs
-
- SV-64569r1_rule
Checks: C-52983r1_chk
Check the ownership of the /etc/shadow file. # ls -lL /etc/shadow If the /etc/shadow file is not owned by root, this is a finding.
Fix: F-55165r1_fix
Change the ownership of the /etc/shadow (or equivalent) file. # chown root /etc/shadow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001380
- Vuln IDs
-
- V-798
- Rule IDs
-
- SV-64557r1_rule
Checks: C-52971r1_chk
Check the mode of the /etc/passwd file. Procedure: # ls -lL /etc/passwd If /etc/passwd has a mode more permissive than 0644, this is a finding.
Fix: F-55153r1_fix
Change the mode of the passwd file to 0644. Procedure: # chmod 0644 /etc/passwd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001420
- Vuln IDs
-
- V-800
- Rule IDs
-
- SV-64573r1_rule
Checks: C-52987r1_chk
Check the mode of the /etc/shadow file. # ls -lL /etc/shadow If the /etc/shadow file has a mode more permissive than 0400, this is a finding.
Fix: F-55169r1_fix
Change the mode of the /etc/shadow (or equivalent) file. # chmod 0400 /etc/shadow
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000368
- Version
- GEN002380
- Vuln IDs
-
- V-801
- Rule IDs
-
- SV-63399r4_rule
Checks: C-52099r5_chk
Check for the presence of aide on the system: # rpm -qa | grep aide If aide is not installed, ask the SA what file integrity tool is being used to check the system. Check the global crontabs for the presence of an "aide" job to run at least weekly, if aide is installed. Otherwise, check for the presence of a cron job to run the alternate file integrity checking application. # grep aide /etc/cron*/* If a tool is being run, then the configuration file for the appropriate tool needs to be checked for selection lines /bin, /sbin, /lib, and /usr. If the file integrity tool is set to check setuid and setgid, this is not a finding. List all setuid files on the system. Procedure: # find / -perm -4000 -exec ls -l {} \; | more Note: Executing these commands may result in large listings of files; the output may be redirected to a file for easier analysis. Ask the SA or ISSO if files with the setuid bit set have been documented. Documentation must include the owner, group-owner, mode, ACL, and location of the files. If any undocumented file has its setuid bit set, this is a finding.
Fix: F-53993r1_fix
Document the files with the suid bit set or unset the suid bit on the executable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000368
- Version
- GEN002440
- Vuln IDs
-
- V-802
- Rule IDs
-
- SV-63459r2_rule
Checks: C-52161r2_chk
If STIGID GEN000220 is satisfied, this is not a finding. List all setgid files on the system. Procedure: # find / -perm -2000 -exec ls -l {} \; | more Note: Executing these commands may result in large listings of files; the output may be redirected to a file for easier analysis. Ask the SA or IAO if files with the setgid bit set have been documented. Documentation must include owner, group-owner, mode, ACL, and location. If any undocumented file has its setgid bit set, this is a finding. If a tool is being run then the configuration file for the appropriate tool needs to be checked for selection lines /bin, /sbin, /lib, and /usr. If a file integrity tool is set to check setuid and setgid, this is not a finding.
Fix: F-54065r2_fix
Document the files with the sgid bit set or unset the sgid bit on the executable.
- RMF Control
- CM-3
- Severity
- M
- CCI
- CCI-000318
- Version
- GEN002400
- Vuln IDs
-
- V-803
- Rule IDs
-
- SV-63421r3_rule
Checks: C-52121r4_chk
Ask the SA for the weekly automated or manual process used to generate a list of setuid files on the system and compare it with the prior list. If no such process is in place, this is a finding. If a file integrity tool is configured to monitor setuid files weekly, this is not a finding. Review the process. If the process does not identify and report changes in setuid files, this is a finding. NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.
Fix: F-54025r3_fix
Establish a weekly automated or manual process to generate a list of suid files on the system and compare it with the prior list. To create a list of suid files: # find / -perm -4000 > suid-file-list NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.
- RMF Control
- CM-3
- Severity
- M
- CCI
- CCI-000318
- Version
- GEN002460
- Vuln IDs
-
- V-804
- Rule IDs
-
- SV-63589r3_rule
Checks: C-52239r3_chk
Ask the SA if a weekly automated or manual process is used to generate a list of setgid files on the system and compare it with the prior list. If no such process is in place, this is a finding. If a file integrity tool is configured to monitor setgid files weekly, this is not a finding. NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.
Fix: F-54193r3_fix
Establish a weekly automated or manual process to generate a list of setgid files on the system and compare it with the prior list. To create a list of setgid files: # find / -perm -2000 > setgid-file-list NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002420
- Vuln IDs
-
- V-805
- Rule IDs
-
- SV-63441r1_rule
Checks: C-52133r1_chk
Check /etc/mtab and verify the "nosuid" mount option is used on file systems mounted from removable media, network shares, or any other file system not containing approved setuid or setgid files. If any of these files systems do not mount with the "nosuid" option, it is a finding.
Fix: F-54045r1_fix
Edit /etc/fstab and add the "nosuid" mount option to all file systems mounted from removable media or network shares, and any file system not containing approved setuid or setgid files.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN002500
- Vuln IDs
-
- V-806
- Rule IDs
-
- SV-63691r1_rule
Checks: C-52297r1_chk
Check all world-writable directories have the sticky bit set. Procedure: # find / -type d -perm -002 ! -perm -1000 > wwlist If the sticky bit is not set on a world-writable directory, this is a finding.
Fix: F-54269r1_fix
Set the sticky bit on all public directories. Procedure: # chmod 1777 /tmp (Replace /tmp with the public directory missing the sticky bit, if necessary.)
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002520
- Vuln IDs
-
- V-807
- Rule IDs
-
- SV-63705r1_rule
Checks: C-52301r1_chk
Check the ownership of all public directories. Procedure: # find / -type d -perm -1002 -exec ls -ld {} \; If any public directory is not owned by root or an application user, this is a finding.
Fix: F-54287r1_fix
Change the owner of public directories to root or an application account. Procedure: # chown root /tmp (Replace root with an application user and/or /tmp with another public directory as necessary.)
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002560
- Vuln IDs
-
- V-808
- Rule IDs
-
- SV-63801r1_rule
Checks: C-52349r1_chk
NOTE: The following commands must be run in the BASH shell. Check global initialization files for the configured umask value. Procedure: # grep umask /etc/* Check local initialization files for the configured umask value. Procedure: # cut -d: -f6 /etc/passwd |xargs -n1 -IDIR find DIR -name ".*" -type f -maxdepth 1 -exec grep umask {} \; If the system and user default umask is not 077, this a finding. Note: If the default umask is 000 or allows for the creation of world-writable files this becomes a Severity Code I finding.
Fix: F-54383r1_fix
Edit local and global initialization files that contain "umask" and change them to use 077 instead of the current value.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000178
- Version
- GEN002640
- Vuln IDs
-
- V-810
- Rule IDs
-
- SV-63809r1_rule
Checks: C-52355r1_chk
Determine if default system accounts (such as those for sys, bin, uucp, nuucp, daemon, smtp) have been disabled. # cat /etc/shadow If an account's password field (which is the second field in the /etc/shadow file) is "*", "*LK*", or is prefixed with a '!', the account is locked or disabled. If there are any unlocked default system accounts this is a finding.
Fix: F-54387r2_fix
Lock the default system account(s). # passwd -l <user>
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- GEN002660
- Vuln IDs
-
- V-811
- Rule IDs
-
- SV-63819r1_rule
Checks: C-52359r1_chk
Determine if auditing is enabled. # ps -ef |grep auditd If the auditd process is not found, this is a finding.
Fix: F-54395r1_fix
Start the auditd service and set it to start on boot. # service auditd start ; chkconfig auditd on
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- GEN002680
- Vuln IDs
-
- V-812
- Rule IDs
-
- SV-63845r1_rule
Checks: C-52377r1_chk
Perform the following to determine the location of audit logs and then check the ownership. Procedure: # grep "^log_file" /etc/audit/auditd.conf|sed s/^[^\/]*//|xargs stat -c %U:%n If any audit log file is not owned by root, this is a finding.
Fix: F-54417r3_fix
Change the ownership of the audit log file(s). Procedure: # chown root <audit log file>
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000163
- Version
- GEN002700
- Vuln IDs
-
- V-813
- Rule IDs
-
- SV-63883r1_rule
Checks: C-52419r1_chk
Perform the following to determine the location of audit logs and then check the mode of the files. Procedure: # grep "^log_file" /etc/audit/auditd.conf|sed s/^[^\/]*//|xargs stat -c %a:%n If any audit log file has a mode more permissive than 0640, this is a finding.
Fix: F-54455r2_fix
Change the mode of the audit log directories/files. # chmod 0750 <audit directory> # chmod 0640 <audit file>
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002720
- Vuln IDs
-
- V-814
- Rule IDs
-
- SV-64247r1_rule
Checks: C-52649r1_chk
Verify auditd is configured to audit failed file access attempts. There must be an audit rule for each of the access syscalls logging all failed accesses (-F success=0) or there must both an "-F exit=-EPERM" and "-F exit=-EACCES" for each access syscall. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S creat" | grep -e "-F success=0" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S creat" | grep -e "-F exit=-EPERM" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S creat" | grep -e "-F exit=-EACCES" If an "-S creat" audit rule with "-F success" does not exist and no separate rules containing "-F exit=-EPERM" and "-F exit=-EACCES" for "creat" exist, then this is a finding.
Fix: F-54801r2_fix
Edit the audit.rules file and add the following line(s) to enable auditing of failed attempts to access files and programs: either: -a exit,always -F arch=<ARCH> -S creat -F success=0 or both: -a exit,always -F arch=<ARCH> -S creat -F exit=-EPERM -a exit,always -F arch=<ARCH> -S creat -F exit=-EACCES Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002740
- Vuln IDs
-
- V-815
- Rule IDs
-
- SV-64263r1_rule
Checks: C-52705r1_chk
Check the system audit configuration to determine if file and directory deletions are audited. # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "unlink" If no results are returned, or the results do not contain "-S unlink", this is a finding.
Fix: F-54861r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the /etc/audit/audit.rules file, and add one or more the lines (subject to the dual-architecture discussion above) to enable auditing of deletions: -a exit,always -F arch=<ARCH> -S unlink Restart the auditd service: # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002800
- Vuln IDs
-
- V-818
- Rule IDs
-
- SV-65285r1_rule
Checks: C-53507r1_chk
The message types that are always recorded to /var/log/audit/audit.log include LOGIN,USER_LOGIN,USER_START,USER_END among others and do not need to be added to audit_rules. The log files /var/log/faillog and /var/log/lastlog must be protected from tampering of the login records. Procedure: #egrep "faillog|lastlog" /etc/audit/audit.rules|grep "-p (wa|aw)" If both /var/log/faillog and /var/log/lastlog entries do not exist, this is a finding.
Fix: F-55889r1_fix
Ensure logins. Procedure: Modify /etc/audit/audit.rules to contain: -w /var/log/faillog -p wa -w /var/log/lastlog -p wa Restart the auditd service: # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820
- Vuln IDs
-
- V-819
- Rule IDs
-
- SV-64623r1_rule
Checks: C-53033r2_chk
Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i " chmod " If "-S chmod" is not in the result, this is a finding.
Fix: F-55211r3_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S chmod Restart the auditd service. # service auditd restart
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003720
- Vuln IDs
-
- V-821
- Rule IDs
-
- SV-64233r1_rule
Checks: C-52687r1_chk
Check the owner of the xinetd configuration files. Procedure: # ls -lL /etc/xinetd.conf # ls -laL /etc/xinetd.d This is a finding if any of the above files or directories are not owned by root or bin.
Fix: F-54843r2_fix
Change the owner of the xinetd configuration files. # chown root /etc/xinetd.conf /etc/xinetd.d/*
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003740
- Vuln IDs
-
- V-822
- Rule IDs
-
- SV-64239r1_rule
Checks: C-52691r1_chk
Check the mode of the xinetd configuration files. Procedure: # ls -lL /etc/xinetd.conf # ls -lL /etc/xinetd.d If the mode of the file(s) is more permissive than 0640, this is a finding.
Fix: F-54847r1_fix
Change the mode of the xinetd configuration files. # chmod 0640 /etc/xinetd.conf /etc/xinetd.d/*
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003760
- Vuln IDs
-
- V-823
- Rule IDs
-
- SV-63977r1_rule
Checks: C-52579r1_chk
Check the ownership of the services file. Procedure: # ls -lL /etc/services If the services file is not owned by root or bin, this is a finding.
Fix: F-54691r1_fix
Change the ownership of the services file to root or bin. Procedure: # chown root /etc/services
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003780
- Vuln IDs
-
- V-824
- Rule IDs
-
- SV-63983r1_rule
Checks: C-52583r1_chk
Check the mode of the services file. Procedure: # ls -lL /etc/services If the services file has a mode more permissive than 0644, this is a finding.
Fix: F-54695r1_fix
Change the mode of the services file to 0644 or less permissive. Procedure: # chmod 0644 /etc/services
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN001780
- Vuln IDs
-
- V-825
- Rule IDs
-
- SV-63875r1_rule
Checks: C-52413r1_chk
Check global initialization files for the presence of "mesg -n" or "mesg n". Procedure: # grep "mesg" etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* If no global initialization files contain "mesg -n" or "mesg n", this is a finding.
Fix: F-54449r1_fix
Edit /etc/profile or another global initialization script, and add the "mesg -n" command.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN003900
- Vuln IDs
-
- V-827
- Rule IDs
-
- SV-64115r1_rule
Checks: C-52613r4_chk
The operating system uses the CUPS print service. Verify remote host access is limited. Procedure: # grep -i Listen /etc/cups/cupsd.conf The /etc/cups/cupsd.conf file must not contain a Listen *:<port> or equivalent line. If the network address of the "Listen" line is unrestricted, this is a finding. # grep -i "Allow From" /etc/cups/cupsd.conf The "Allow From" line within the "<Location />" element should limit access to the printers to @LOCAL and specific hosts. If the "Allow From" line contains "All" this is a finding.
Fix: F-54733r2_fix
Configure cups to use only the localhost or specified remote hosts. Procedure: Modify the /etc/cups/cupsd.conf file to "Listen" only to the local machine or a known set of hosts (i.e., Listen localhost:631). Modify the /etc/cups/cupsd.conf file "<Location />" element to "Deny From All" and "Allow from 127.0.0.1" or allowed host addresses. Restart cups: # service cups restart
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003920
- Vuln IDs
-
- V-828
- Rule IDs
-
- SV-64119r1_rule
Checks: C-52615r2_chk
Check the ownership of the print service configuration file. Procedure: # ls -lL /etc/cups/printers.conf; If no print service configuration file is found, this is not applicable. If the owner of the file is not root, this is a finding.
Fix: F-54735r1_fix
Change the owner of the /etc/cups/printers.conf to root. Procedure: # chown root /etc/cups/printers.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003940
- Vuln IDs
-
- V-829
- Rule IDs
-
- SV-64121r1_rule
Checks: C-52619r1_chk
Check the mode of the print service configuration file. Procedure: # ls -lL /etc/cups/printers.conf If no print service configuration file is found, this is not applicable. If the mode of the print service configuration file is more permissive than 0664, this is a finding.
Fix: F-54741r1_fix
Change the mode of the /etc/cups/printers.conf file to 0664 or less permissive. Procedure: # chmod 0664 /etc/cups/printers.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004360
- Vuln IDs
-
- V-831
- Rule IDs
-
- SV-63607r1_rule
Checks: C-52261r2_chk
If the "sendmail" and "postfix" packages are not installed, this is not applicable. Check the ownership of the alias files. Procedure: for sendmail: # ls -lL /etc/aliases # ls -lL /etc/aliases.db If all the files are not owned by root, this is a finding. for postfix: Verify the location of the alias file. # postconf alias maps This will return the location of the "aliases" file, by default "/etc/postfix/aliases" # ls -lL <postfix aliases file> # ls -lL <postfix aliases.db file> If all the files are not owned by root, this is a finding.
Fix: F-54221r1_fix
Change the owner of the /etc/aliases file to root. Procedure: for sendmail: # chown root /etc/aliases # chown root /etc/aliases.db for postfix # chown root /etc/postfix/aliases # chown root /etc/postfix/aliases.db
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004380
- Vuln IDs
-
- V-832
- Rule IDs
-
- SV-63637r2_rule
Checks: C-52315r3_chk
If the "sendmail" and "postfix" packages are not installed, this is not applicable. Check the permissions of the alias file. Procedure: for sendmail: # ls -lL /etc/aliases /etc/aliases.db If an alias file has a mode more permissive than 0644, this is a finding. for postfix: Verify the location of the alias file. # postconf alias_maps This will return the location of the "aliases" file, by default "/etc/postfix/aliases". # ls -lL <postfix aliases file> <postfix aliases.db file> If an alias file has a mode more permissive than 0644, this is a finding.
Fix: F-54323r2_fix
Change the mode of the alias files as needed to function. No higher than 0644. Procedure: for sendmail: # chmod 0644 /etc/aliases /etc/aliases.db for postfix (assuming the default postfix directory): # chmod 0644 /etc/postfix/aliases /etc/postfix/aliases
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN004400
- Vuln IDs
-
- V-833
- Rule IDs
-
- SV-63699r1_rule
Checks: C-52319r2_chk
Verify the ownership of files referenced within the sendmail aliases file. Procedure: # more /etc/aliases Examine the aliases file for any utilized directories or paths. # ls -lL <directory or file path> Check the owner for any paths referenced. Check if the file or parent directory is owned by root. If not, this is a finding.
Fix: F-54327r2_fix
Edit the /etc/aliases file (alternatively, /usr/lib/sendmail.cf). Locate the entries executing a program. They will appear similar to the following line: Aliasname: : /usr/local/bin/ls (or some other program name) Ensure root owns the programs and the directory(ies) they reside in by using the chown command to change owner to root. Procedure: # chown root <file or directory name>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004420
- Vuln IDs
-
- V-834
- Rule IDs
-
- SV-63739r1_rule
Checks: C-52323r2_chk
If the "sendmail" package is not installed, this is not applicable. Examine the contents of the /etc/aliases file. Procedure: # more /etc/aliases Examine the aliases file for any referenced programs, which are specified with the pipe (|) symbol. # ls -lL <file referenced from aliases> Check the permissions for any paths referenced. If any file referenced from the aliases file has a mode more permissive than 0755, this is a finding.
Fix: F-54333r1_fix
Use the chmod command to change the access permissions for files executed from the alias file. For example: # chmod 0755 filename
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004440
- Vuln IDs
-
- V-835
- Rule IDs
-
- SV-63747r1_rule
Checks: C-52327r1_chk
If the "sendmail" package is not installed, this is not applicable. Check if sendmail logging is set to level nine: Procedure: for sendmail: # grep "O L" /etc/mail/sendmail.cf OR # grep LogLevel /etc/mail/sendmail.cf If logging is set to less than nine, this is a finding. for Postfix: This rule is not applicable to postfix which does not use "log levels" in the same fashion as sendmail.
Fix: F-54337r1_fix
Edit the sendmail.cf file, locate the "O L" or "LogLevel" entry and change it to 9.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN004460
- Vuln IDs
-
- V-836
- Rule IDs
-
- SV-63749r2_rule
Checks: C-52329r4_chk
Check the syslog configuration file for mail.crit logging configuration. Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Procedure: # grep "mail\." /etc/syslog.conf Or: #grep "mail\." /etc/syslog.conf If syslog is not configured to log critical sendmail messages ("mail.crit" or "mail.*"), this is a finding.
Fix: F-54339r4_fix
Edit the syslog.conf or rsyslog.conf file and add a configuration line specifying an appropriate destination for "mail.crit" or "mail.*" syslog messages.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004480
- Vuln IDs
-
- V-837
- Rule IDs
-
- SV-63751r3_rule
Checks: C-52331r6_chk
Locate any mail log files by checking the syslog configuration file. Procedure: The check procedure is the same for both sendmail and Postfix. Identify any log files configured for the "mail" service (excluding mail.none) at any severity level and check the ownership. Depending on what system is used for log processing, either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. For syslog: # egrep "mail\.[^n][^/]*" /etc/syslog.conf|sed 's/^[^/]*//'|xargs ls -lL For rsyslog: # egrep "mail\.[^n][^/]*" /etc/rsyslog.conf|sed 's/^[^/]*//'|xargs ls -lL If any mail log file is not owned by root, this is a finding.
Fix: F-54341r3_fix
Change the ownership of the sendmail log file. Procedure: The fix procedure is the same for both sendmail and Postfix. # chown root <sendmail log file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004500
- Vuln IDs
-
- V-838
- Rule IDs
-
- SV-63753r3_rule
Checks: C-52333r6_chk
Check the mode of the SMTP service log file. Procedure: The check procedure is the same for both sendmail and Postfix. Identify any log files configured for the "mail" service (excluding mail.none) at any severity level and check the permissions. Depending on what system is used for log processing, either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. For syslog: # egrep "mail\.[^n][^/]*" /etc/syslog.conf|sed 's/^[^/]*//'|xargs ls -lL For rsyslog: # egrep "mail\.[^n][^/]*" /etc/rsyslog.conf|sed 's/^[^/]*//'|xargs ls -lL If the log file permissions are greater than 0644, this is a finding.
Fix: F-54343r3_fix
Change the mode of the SMTP service log file. Procedure: The fix procedure is the same for both sendmail and Postfix. # chmod 0644 <sendmail log file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004880
- Vuln IDs
-
- V-840
- Rule IDs
-
- SV-62959r1_rule
Checks: C-51761r1_chk
Check for the existence of the ftpusers file. Procedure: For gssftp: # ls -l /etc/ftpusers For vsftp: # ls -l /etc/vsftpd.ftpusers or # ls -l /etc/vsftpd/ftpusers If the appropriate ftpusers file for the running FTP service does not exist, this is a finding.
Fix: F-53533r1_fix
Create an ftpusers file appropriate for the running FTP service. For gssftp: Create an /etc/ftpusers file containing a list of accounts not authorized for FTP. For vsftp: Create an /etc/vsftpd.ftpusers or /etc/vsftpd/ftpusers (as appropriate) file containing a list of accounts not authorized for FTP.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004900
- Vuln IDs
-
- V-841
- Rule IDs
-
- SV-62981r1_rule
Checks: C-51767r1_chk
Check the contents of the ftpusers file. For gssftp: # more /etc/ftpusers For vsftp: # more /etc/vsftpd.ftpusers /etc/vfsftpd/ftpusers If the system has accounts not allowed to use FTP and not listed in the ftpusers file, this is a finding.
Fix: F-53549r1_fix
For gssftp: Add accounts not allowed to use FTP to the /etc/ftpusers file. For vsftp: Add accounts not allowed to use FTP to the /etc/vsftpd.ftpusers or /etc/vsftpd/ftpusers file (as appropriate).
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004920
- Vuln IDs
-
- V-842
- Rule IDs
-
- SV-63009r1_rule
Checks: C-51805r1_chk
Check the ownership of the ftpusers file. Procedure: For gssftp: # ls -l /etc/ftpusers For vsftp: # ls -l /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers If the ftpusers file is not owned by root, this is a finding.
Fix: F-53599r1_fix
Change the owner of the ftpusers file to root. For gssftp: # chown root /etc/ftpusers For vsftp: # chown root /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004940
- Vuln IDs
-
- V-843
- Rule IDs
-
- SV-63079r1_rule
Checks: C-51835r1_chk
Check the permissions of the ftpusers file. Procedure: For gssftp: # ls -l /etc/ftpusers For vsftp: # ls -l /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers If the ftpusers file has a mode more permissive than 0640, this is a finding.
Fix: F-53667r1_fix
Change the mode of the ftpusers file to 0640. Procedure: For gssftp: # chmod 0640 /etc/ftpusers For vsftp: # chmod 0640 /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers
- RMF Control
- AU-3
- Severity
- L
- CCI
- CCI-000130
- Version
- GEN004980
- Vuln IDs
-
- V-845
- Rule IDs
-
- SV-63103r1_rule
Checks: C-51859r2_chk
Find if logging is applied to the ftp daemon. The procedure depends on the implementation of ftpd used by the system. Procedures: For vsftpd: If vsftpd is started by xinetd: #grep vsftpd /etc/xinetd.d/* This will indicate the xinetd.d startup file #grep server_args <vsftpd xinetd.d startup file> This will indicate the vsftpd config file used when starting through xinetd. If the line is missing then "/etc/vsftpd/vsftpd.conf", the default config file, is used. #grep xferlog_enable <vsftpd config file> If "xferlog_enable" is missing or is not set to "yes", this is a finding. If vsftp is not started by xinetd: #grep xferlog_enable /etc/vsftpd/vsftpd.conf If "xferlog_enable" is missing or is not set to "yes", this is a finding. For gssftp: Find if the -l option will be applied when xinetd starts gssftp # grep server_args /etc/xinetd.d/gssftp If the line is missing or does not contain at least one -l, this is a finding.
Fix: F-53691r1_fix
Enable logging by changing ftpd startup or config files. Procedure: The procedure depends on the implementation of ftpd used by the system. For vsftpd: Ensure the server settings in "/etc/vsftpd.conf" (or other configuration file specified by the vaftpd xinetd.d startup file) contains: xferlog_enable = yes For gssftp: If the "disable" server setting is missing or set to "no" in "/etc/xinetd.d/gssftp" then ensure the server settings in "/etc/xinetd.d/gssftp" contains: server_args = -l The -l option may be added up to three times. Each -l will provide increasing verbosity on the log. Refer to the main page for ftpd for more information. For both if started using xinetd: If the "disable" server setting is missing or set to "no" in the /etc/xinetd.d startup file then ensure the server settings contains: log_on_success += DURATION USERID This will log the startup and shutdown of the daemon. log_on_failure += HOST USERID
- RMF Control
- AC-22
- Severity
- M
- CCI
- CCI-001475
- Version
- GEN004820
- Vuln IDs
-
- V-846
- Rule IDs
-
- SV-62955r1_rule
Checks: C-51759r1_chk
Attempt to log into this host with a user name of anonymous and a password of guest (also try the password of guest@mail.com). If the logon is successful and the use of anonymous ftp has not been documented and approved by the IAO, this is a finding. Procedure: # ftp localhost Name: anonymous 530 Guest login not allowed on this machine.
Fix: F-53529r1_fix
Configure the FTP service to not permit anonymous logins.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN005080
- Vuln IDs
-
- V-847
- Rule IDs
-
- SV-63119r1_rule
Checks: C-51871r1_chk
# grep server_args /etc/xinetd.d/tftp If the "-s" parameter is not specified, this is a finding.
Fix: F-53709r1_fix
Edit /etc/xinetd.d/tftp file and specify the "-s" parameter in server_args.
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN005100
- Vuln IDs
-
- V-848
- Rule IDs
-
- SV-63163r1_rule
Checks: C-51899r2_chk
Check the mode of the TFTP daemon. Procedure: # grep "server " /etc/xinetd.d/tftp # ls -lL <in.tftpd binary> If the mode of the file is more permissive than 0755, this is a finding.
Fix: F-53741r2_fix
Change the mode of the TFTP daemon. Procedure: # chmod 0755 <in.tftpd binary>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005120
- Vuln IDs
-
- V-849
- Rule IDs
-
- SV-63159r1_rule
Checks: C-51897r2_chk
Check the /etc/passwd file to determine if TFTP is configured properly. Procedure: Check if TFTP if used. # grep disable /etc/xinetd.d/tftp If the file does not exist or the returned line indicates "yes", then this is not a finding. Otherwise, if the returned line indicates "no" then TFTP is enabled and must use a dedicated "tftp" user. # grep user /etc/xinetd.d/tftp If the returned line indicates a user other than the dedicated "tftp" user, this is a finding. # grep tftp /etc/passwd If a "tftp" user account does not exist and TFTP is active, this is a finding. Check the user shell for the "tftp" user. If it is not /bin/false or equivalent, this is a finding. Check the home directory assigned to the "tftp" user. If no home directory is set, or the directory specified is not dedicated to the use of the TFTP service, this is a finding.
Fix: F-53739r2_fix
Configure TFTP to use a dedicated "tftp" user. Procedure: Create a dedicated "tftp" user account if none exists. Assign a non-login shell to the "tftp" user account, such as /bin/false. Assign a home directory to the "tftp" user account. Edit /etc/xinetd.d/tftp to have "tftp" as the value of the "user" parameter.
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000297
- Version
- GEN005160
- Vuln IDs
-
- V-850
- Rule IDs
-
- SV-63199r3_rule
Checks: C-51925r5_chk
Check for .Xauthority or .xauth files being utilized by looking for such files in the home directory of a user. Procedure: # find / -name '.xauth*' | more If no .xauth files are found in a user's home directory, ensure that Xwindows is not active on the system by performing the command: # ps -ef | grep X If Xwindows is not running, this rule is not applicable. If the .Xauthority or .xauth (followed by apparently random characters) files do not exist, ask the SA if the user is using Xwindows. If the user is utilizing Xwindows and none of these files exist, this is a finding.
Fix: F-53777r1_fix
Ensure the X Windows host is configured to write .Xauthority files into user home directories. Edit the Xaccess file. Ensure the line writing the .Xauthority file is uncommented.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001435
- Version
- GEN006400
- Vuln IDs
-
- V-867
- Rule IDs
-
- SV-63803r1_rule
Checks: C-52353r1_chk
Perform the following to determine if NIS is active on the system: # ps -ef | grep ypbind If NIS is found active on the system, this is a finding.
Fix: F-54385r1_fix
Disable the use of NIS/NIS+. Use as a replacement Kerberos or LDAP.
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001440
- Vuln IDs
-
- V-899
- Rule IDs
-
- SV-64577r1_rule
Checks: C-52991r1_chk
Use pwck to verify home directory assignments are present. # pwck If any user is not assigned a home directory, this is a finding.
Fix: F-55173r1_fix
Assign a home directory to any user without one.
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001460
- Vuln IDs
-
- V-900
- Rule IDs
-
- SV-64579r1_rule
Checks: C-52993r1_chk
Use pwck to verify assigned home directories exist. # pwck If any user's assigned home directory does not exist, this is a finding.
Fix: F-55175r1_fix
If a user has no home directory, determine why. If possible, delete accounts without a home directory. If the account is valid, then create the home directory using the appropriate system administration utility or manually. For instance: mkdir directoryname; copy the skeleton files into the directory; chown accountname for the new directory and the skeleton files. Document all changes.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001480
- Vuln IDs
-
- V-901
- Rule IDs
-
- SV-64585r1_rule
Checks: C-53001r1_chk
Check the home directory mode of each user in /etc/passwd. Procedure: # cut -d: -f6 /etc/passwd|sort|uniq|xargs -n1 ls -ld If a user home directory's mode is more permissive than 0750, this is a finding. Note: Application directories are allowed and may need 0755 permissions (or greater) for correct operation.
Fix: F-55181r2_fix
Change the mode of user home directories to 0750 or less permissive. Procedure (example): # chmod 0750 <home directory> Note: Application directories are allowed and may need 0755 permissions (or greater) for correct operation.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001500
- Vuln IDs
-
- V-902
- Rule IDs
-
- SV-64589r1_rule
Checks: C-53005r1_chk
Check the ownership of each user home directory listed in the /etc/passwd file. Procedure: # cut -d : -f 6 /etc/passwd | xargs -n1 ls -ld If any user home directory is not owned by the assigned user, this is a finding.
Fix: F-55185r2_fix
Change the owner of a user's home directory to its assigned user. Procedure: # chown <user> <home directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001520
- Vuln IDs
-
- V-903
- Rule IDs
-
- SV-63825r1_rule
Checks: C-52361r1_chk
Check the group ownership for each user in the /etc/passwd file. Procedure: # cut -d : -f 6 /etc/passwd | xargs -n1 ls -ld If any user home directory is not group-owned by the assigned user's primary group, this is a finding. Home directories for application accounts requiring different group ownership must be documented using site-defined procedures.
Fix: F-54399r2_fix
Change the group-owner for user home directories to the primary group of the assigned user. Procedure: Find the primary group of the user (GID) which is the fourth field of the user entry in /etc/passwd. # chgrp <GID> <user home directory> Document all changes.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001860
- Vuln IDs
-
- V-904
- Rule IDs
-
- SV-63339r2_rule
Checks: C-52051r3_chk
NOTE: The following commands must be run in the BASH shell. Check the ownership of local initialization files. Procedure: # ls -al /<usershomedirectory>/.login # ls -al /<usershomedirectory>/.cshrc # ls -al /<usershomedirectory>/.logout # ls -al /<usershomedirectory>/.profile # ls -al /<usershomedirectory>/.bash_profile # ls -al /<usershomedirectory>/.bashrc # ls -al /<usershomedirectory>/.bash_logout # ls -al /<usershomedirectory>/.env # ls -al /<usershomedirectory>/.dtprofile # ls -al /<usershomedirectory>/.dispatch # ls -al /<usershomedirectory>/.emacs # ls -al /<usershomedirectory>/.exrc # find /<usershomedirectory>/.dt ! -fstype nfs ! -user <username> -exec ls -ld {} \; If local initialization files are not owned by the home directory's user, this is a finding.
Fix: F-53935r2_fix
Change the ownership of the startup and login files in the user's directory to the user or root, as appropriate. Examine each user's home directory and verify all filenames beginning with "." are owned by the owner of the directory or root. If they are not, use the chown command to change the owner to the user and research the reasons why the owners were not assigned as required. Procedure: # chown username .filename Document all changes.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001880
- Vuln IDs
-
- V-905
- Rule IDs
-
- SV-63345r1_rule
Checks: C-52057r2_chk
Check the modes of local initialization files. Procedure: # ls -al /<usershomedirectory>/.bashrc # ls -al /<usershomedirectory>/.bash_login # ls -al /<usershomedirectory>/.bash_logout # ls -al /<usershomedirectory>/.bash_profile # ls -al /<usershomedirectory>/.cshrc # ls -al /<usershomedirectory>/.kshrc # ls -al /<usershomedirectory>/.login # ls -al /<usershomedirectory>/.logout # ls -al /<usershomedirectory>/.profile # ls -al /<usershomedirectory>/.tcshrc # ls -al /<usershomedirectory>/.env # ls -al /<usershomedirectory>/.dtprofile (permissions should be 0755) # ls -al /<usershomedirectory>/.dispatch # ls -al /<usershomedirectory>/.emacs # ls -al /<usershomedirectory>/.exrc # find /<usershomedirectory>/.dt ! -fstype nfs \( -perm -0002 -o -perm -0020 \) -exec ls -ld {} \; (permissions not to be more permissive than 0755) If local initialization files are more permissive than 0740 or the .dt directory is more permissive than 0755 or the .dtprofile file is more permissive than 0755, this is a finding.
Fix: F-53943r1_fix
Ensure user startup files have permissions of 0740 or more restrictive. Examine each user's home directory and verify all file names beginning with "." have access permissions of 0740 or more restrictive. If they do not, use the chmod command to correct the vulnerability. Procedure: # chmod 0740 .filename Note: The period is part of the file name and is required.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001580
- Vuln IDs
-
- V-906
- Rule IDs
-
- SV-63843r1_rule
Checks: C-52379r1_chk
Check run control script modes. # cd /etc # ls -lL rc* # cd /etc/init.d # ls -l If any run control script has a mode more permissive than 0755, this is a finding.
Fix: F-54415r2_fix
Ensure all system startup files have mode 0755 or less permissive. Examine the "rc" files, and all files in the rc1.d (rc2.d, and so on) directories, and in the /etc/init.d directory to ensure they are not world-writable. If they are world-writable, use the chmod command to correct the vulnerability and research why they are world-writable. Procedure: # chmod 755 <startup file>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001600
- Vuln IDs
-
- V-907
- Rule IDs
-
- SV-63849r3_rule
Checks: C-52383r4_chk
Verify run control scripts' library search paths. # grep -r '\bPATH\b' /etc/rc* /etc/init.d This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/) or other than "$PATH", it is a relative path and this is a finding.
Fix: F-54421r1_fix
Edit the run control script and remove the relative path entry from the executable search path variable.
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN001640
- Vuln IDs
-
- V-910
- Rule IDs
-
- SV-63855r1_rule
Checks: C-52393r1_chk
Check the permissions on the files or scripts executed from system startup scripts to see if they are world-writable. Create a list of all potential run command level scripts. ls -l /etc/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " " Create a list of world writeable files. # find / -perm -002 -type f >> worldWriteableFileList Determine if any of the world writeable files in worldWriteableFileList are called from the run command level scripts. Note: Depending upon the number of scripts vs. world writeable files, it may be easier to inspect the scripts manually. # more `ls -l /etc/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d "` If any system startup script executes any file or script that is world-writable, this is a finding.
Fix: F-54429r2_fix
Remove the world-writable permission from programs or scripts executed by run control scripts. Procedure: # chmod o-w <program or script executed from run control script>
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000196
- Version
- GEN002000
- Vuln IDs
-
- V-913
- Rule IDs
-
- SV-63591r1_rule
Checks: C-52243r1_chk
Check the system for the existence of any .netrc files. Procedure: # find / -name .netrc If any .netrc file exists, this is a finding.
Fix: F-54195r3_fix
Remove the .netrc file(s). Procedure: # find / -name .netrc # rm <.netrc file>
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001540
- Vuln IDs
-
- V-914
- Rule IDs
-
- SV-63831r1_rule
Checks: C-52365r3_chk
For each user in the /etc/passwd file, check for the presence of files and directories within the user's home directory not owned by the home directory owner. Procedure: # find /<usershomedirectory> ! -fstype nfs ! -user <username> ! \( -name .bashrc -o -name .bash_login -o -name .bash_logout -o -name .bash_profile -o -name .cshrc -o -name .kshrc -o -name .login -o -name .logout -o -name .profile -o -name .tcshrc -o -name .env -o -name .dtprofile -o -name .dispatch -o -name .emacs -o -name .exrc \) -exec ls -ld {} \; If user home directories contain files or directories not owned by the home directory owner, this is a finding.
Fix: F-54403r1_fix
Change the ownership of files and directories in user home directories to the owner of the home directory. Procedure: # chown accountowner filename
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001560
- Vuln IDs
-
- V-915
- Rule IDs
-
- SV-63837r1_rule
Checks: C-52373r2_chk
For each user in the /etc/passwd file, check for files and directories with a mode more permissive than 0750. Procedure: # find /<usershomedirectory> ! -fstype nfs ! \( -name .bashrc -o -name .bash_login -o -name .bash_logout -o -name .bash_profile -o -name .cshrc -o -name .kshrc -o -name .login -o -name .logout -o -name .profile -o -name .tcshrc -o -name .env -o -name .dtprofile -o -name .dispatch -o -name .emacs -o -name .exrc \) \( -perm -0001 -o -perm -0002 -o -perm -0004 -o -perm -0020 -o -perm -2000 -o -perm -4000 \) -exec ls -ld {} \; If user home directories contain files or directories more permissive than 0750, this is a finding.
Fix: F-54411r1_fix
Change the mode of files and directories within user home directories to 0750. Procedure: # chmod 0750 filename Document all changes.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002120
- Vuln IDs
-
- V-916
- Rule IDs
-
- SV-63651r1_rule
Checks: C-52277r1_chk
Verify /etc/shells exists. # ls -l /etc/shells If the file does not exist, this is a finding.
Fix: F-54237r1_fix
Create a /etc/shells file containing a list of valid system shells. Consult vendor documentation for an appropriate list of system shells. Procedure: # echo "/bin/bash" >> /etc/shells # echo "/bin/csh" >> /etc/shells (Repeat as necessary for other shells.)
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002140
- Vuln IDs
-
- V-917
- Rule IDs
-
- SV-63671r2_rule
Checks: C-52291r2_chk
Confirm the login shells referenced in the /etc/passwd file are listed in the /etc/shells file. Procedure: Determine which shells are permitted for use by users: # more /etc/shells Note: /usr/bin/false, /bin/false, /dev/null, /sbin/nologin, /bin/sync, /sbin/halt, /sbin/shutdown, (and equivalents) cannot be placed in the /etc/shells file. Determine which shells are being used: # more /etc/passwd (optionally shells found in /etc/passwd can be grepped for in /etc/shells) If any shells are found that are not in /etc/shells, or if false shells are found in /etc/shells, then this is a finding.
Fix: F-54251r1_fix
Use the "chsh" utility or edit the /etc/passwd file and correct the error by changing the default shell of the account in error to an acceptable shell name contained in the /etc/shells file. Example: # chsh -s /bin/bash testuser
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000017
- Version
- GEN000760
- Vuln IDs
-
- V-918
- Rule IDs
-
- SV-64285r1_rule
Checks: C-52723r1_chk
Indications of inactive accounts are those that have no entries in the "last" log. Check the date in the "last" log to verify it is within the last 35 days or the maximum numbers of days set by the site if more restrictive. If an inactive account is not disabled via an entry in the password field in the /etc/passwd or /etc/shadow (or equivalent), check the /etc/passwd file to check if the account has a valid shell. The passwd command can also be used to list a status for an account. For example, the following may be used to provide status information on each local account: NOTE: The following must be done in the BASH shell. # cut -d: -f1 /etc/passwd | xargs -n1 passwd -S If an inactive account is found not disabled, this is a finding.
Fix: F-54885r1_fix
All inactive accounts will have /sbin/nologin (or an equivalent), as the default shell in the /etc/passwd file and have the password disabled. Examine the user accounts using the "last" command. Note the date of last login for each account. If any (other than system and application accounts) exceed 35 days or the maximum number of days set by the site, not to exceed 35 days, then disable the accounts using system-config-users tool. Alternately place a shell field of /sbin/nologin /bin/false or /dev/null in the passwd file entry for the account.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002200
- Vuln IDs
-
- V-921
- Rule IDs
-
- SV-63677r1_rule
Checks: C-52295r1_chk
Check the ownership of the system shells. # cat /etc/shells | xargs -n1 ls -l If any shell is not owned by root or bin, this is a finding.
Fix: F-54257r2_fix
Change the ownership of the shell with incorrect ownership. # chown root <shell>
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN002220
- Vuln IDs
-
- V-922
- Rule IDs
-
- SV-63713r1_rule
Checks: C-52307r1_chk
If /etc/shells exists, check the group ownership of each shell referenced. # cat /etc/shells | xargs -n1 ls -l Otherwise, check any shells found on the system. # find / -name "*sh" | xargs -n1 ls -l If a shell has a mode more permissive than 0755, this is a finding.
Fix: F-54295r3_fix
Change the mode of the shell. # chmod 0755 <shell>
- RMF Control
- CM-3
- Severity
- L
- CCI
- CCI-000318
- Version
- GEN002260
- Vuln IDs
-
- V-923
- Rule IDs
-
- SV-63209r3_rule
Checks: C-51931r3_chk
Determine if there are any device files outside of /dev: # find / -type b -o -type c |more Check for the presence of an aide on the system: # rpm -qa | grep aide If aide is not installed, ask the SA what file integrity tool is being used to check the system. Check the global crontabs for the presence of an "aide" job to run at least weekly, if aide is installed. Otherwise, check for the presence of a cron job to run the alternate file integrity checking application. # grep aide /etc/cron*/* If a tool is being run, then the configuration file for the appropriate tool needs to be checked for selection lines for /dev and any other directories/subdirectories that contain device files. Review the process to determine if the system is checked for extraneous device files on a weekly basis. If no weekly automated or manual process is in place, this is a finding. If the process is not identifying extraneous device files, this is a finding.
Fix: F-53785r2_fix
Establish a weekly automated or manual process to create a list of device files on the system and determine if any files have been added, moved, or deleted since the last list was generated. A list of device files can be generated with this command: # find / -type b -o -type c > device-file-list
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002280
- Vuln IDs
-
- V-924
- Rule IDs
-
- SV-63229r3_rule
Checks: C-51941r3_chk
Find all world-writable device files existing anywhere on the system. Procedure: # find / -perm -2 -a \( -type b -o -type c \) > devicelist Check the permissions on the directories above subdirectories containing device files. If any of the device files or their parent directories are world-writable, excepting device files specifically intended to be world-writable such as /dev/null, this is a finding. These world-writable files on installation are intended to be world-writable: /dev/full /dev/null /selinux/null /dev/ptmx /dev/random /dev/tty /dev/vsock /dev/zero /dev/log
Fix: F-53799r3_fix
Remove the world-writable permission from the device file(s). Procedure: # chmod o-w <device file> Document all changes.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002300
- Vuln IDs
-
- V-925
- Rule IDs
-
- SV-63241r1_rule
Checks: C-51949r1_chk
Check the system for world-writable device files. Procedure: # find / -perm -2 -a \( -type b -o -type c \) -exec ls -ld {} \; Ask the SA to identify any device files used for backup purposes. If any device file(s) used for backup are writable by users other than root or the designated backup user, this is a finding.
Fix: F-53811r3_fix
Use the chmod command to remove the world-writable bit from the backup device files. Procedure: # chmod o-w <back device filename> Document all changes.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005740
- Vuln IDs
-
- V-928
- Rule IDs
-
- SV-64237r1_rule
Checks: C-52647r1_chk
Check the owner of the exports file. Example: # ls -lL /etc/exports If the export configuration file is not owned by root, this is a finding.
Fix: F-54799r1_fix
Change the owner of the exports file to root. Example: # chown root /etc/exports
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN005760
- Vuln IDs
-
- V-929
- Rule IDs
-
- SV-64199r1_rule
Checks: C-52641r1_chk
# ls -lL /etc/exports If the file has a mode more permissive than 0644, this is a finding.
Fix: F-54793r1_fix
# chmod 0644 /etc/exports
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005800
- Vuln IDs
-
- V-931
- Rule IDs
-
- SV-64189r1_rule
Checks: C-52637r1_chk
Check for NFS exported file systems. Procedure: # cat /etc/exports For each file system displayed, check the ownership. # ls -lLa <exported file system path> If the files and directories are not owned by root, this is a finding.
Fix: F-54785r1_fix
Change the ownership of exported file systems not owned by root. Procedure: # chown root <path>
- RMF Control
- AC-14
- Severity
- M
- CCI
- CCI-000062
- Version
- GEN005820
- Vuln IDs
-
- V-932
- Rule IDs
-
- SV-64169r1_rule
Checks: C-52631r3_chk
Check if the 'anonuid' and 'anongid' options are set correctly for exported file systems. List exported filesystems: # exportfs -v Each of the exported file systems should include an entry for the 'anonuid=' and 'anongid=' options set to "-1" or an equivalent (60001, 65534, or 65535). If appropriate values for 'anonuid' or 'anongid' are not set, this is a finding.
Fix: F-54773r2_fix
Edit "/etc/exports" and set the "anonuid=-1" and "anongid=-1" options for exports lacking it. Re-export the filesystems.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005840
- Vuln IDs
-
- V-933
- Rule IDs
-
- SV-64163r1_rule
Checks: C-52629r1_chk
Check the permissions on exported NFS file systems. Procedure: # exportfs -v If the exported file systems do not contain the 'rw' or 'ro' options specifying a list of hosts or networks, this is a finding.
Fix: F-54767r1_fix
Edit /etc/exports and add ro and/or rw options (as appropriate) specifying a list of hosts or networks which are permitted access. Re-export the file systems.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005880
- Vuln IDs
-
- V-935
- Rule IDs
-
- SV-64157r1_rule
Checks: C-52627r1_chk
List the exports. # cat /etc/exports If any export contains "no_root_squash" or does not contain "root_squash" or "all_squash", this is a finding.
Fix: F-54761r1_fix
Edit the "/etc/exports" file and add "root_squash" (or "all_squash") and remove "no_root_squash".
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005900
- Vuln IDs
-
- V-936
- Rule IDs
-
- SV-64147r1_rule
Checks: C-52625r1_chk
Check the system for NFS mounts not using the "nosuid" option. Procedure: # mount -v | grep " type nfs " | egrep -v "nosuid" If the mounted file systems do not have the "nosuid" option, this is a finding.
Fix: F-54757r1_fix
Edit "/etc/fstab" and add the "nosuid" option for all NFS file systems. Remount the NFS file systems to make the change take effect.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006580
- Vuln IDs
-
- V-940
- Rule IDs
-
- SV-63577r1_rule
Checks: C-52235r1_chk
The tcp_wrappers package is provided with the operating system. Other access control programs may be available but will need to be checked manually. Determine if tcp_wrappers is installed. # rpm -qa | grep tcp_wrappers If no package is listed, this is a finding.
Fix: F-54183r1_fix
Install and configure the tcp_wrappers package.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN006600
- Vuln IDs
-
- V-941
- Rule IDs
-
- SV-63571r2_rule
Checks: C-52233r2_chk
The tcp_wrappers package is provided with the RHEL distribution. Other access control programs may be available but will need to be checked manually. Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Normally, tcpd logs to the mail facility in "/etc/syslog.conf" or “/etc/rsyslog.conf”. Determine if syslog or rsyslog is configured to log events by tcpd. Procedure: # more /etc/syslog.conf Or: # more /etc/rsyslog.conf Look for entries similar to the following: mail.debug /var/adm/maillog mail.none /var/adm/maillog mail.* /var/log/mail authpriv.info /var/log/messages The above entries would indicate mail alerts are being logged. If no entries for mail exist, then tcpd is not logging this is a finding. If an alternate access control program is used and it does not provide logging of access attempts, this is a finding.
Fix: F-54181r1_fix
Configure the access restriction program to log every access attempt. Ensure the implementation instructions for tcp_wrappers are followed so system access attempts are recorded to the system log files. If an alternate application is used, it must support this function.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002960
- Vuln IDs
-
- V-974
- Rule IDs
-
- SV-64415r2_rule
Checks: C-52811r2_chk
This check is not applicable if only the root user is permitted to use cron. Check for the existence of the cron.allow and cron.deny files. # ls -lL /etc/cron.allow # ls -lL /etc/cron.deny If neither file exists, this is a finding.
Fix: F-54993r2_fix
Create /etc/cron.allow and/or /etc/cron.deny with appropriate content and reboot the system to ensure no lingering cron jobs are processed.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002980
- Vuln IDs
-
- V-975
- Rule IDs
-
- SV-64411r1_rule
Checks: C-52809r1_chk
Check mode of the cron.allow file. Procedure: # ls -lL /etc/cron.allow If the file has a mode more permissive than 0600, this is a finding.
Fix: F-54991r1_fix
Change the mode of the cron.allow file to 0600. Procedure: # chmod 0600 /etc/cron.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003000
- Vuln IDs
-
- V-976
- Rule IDs
-
- SV-64405r1_rule
Checks: C-52805r2_chk
List all cronjobs on the system. Procedure: # ls /var/spool/cron # ls /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls /etc/cron*|grep -v deny If cron jobs exist under any of the above directories, use the following command to search for programs executed by cron: # more <cron job file> Perform a long listing of each program file found in the cron file to determine if the file is group-writable or world-writable. # ls -la <cron program file> If cron executes group-writable or world-writable files, this is a finding.
Fix: F-54987r2_fix
Remove the world-writable and group-writable permissions from the cron program file(s) identified. # chmod go-w <cron program file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003020
- Vuln IDs
-
- V-977
- Rule IDs
-
- SV-64403r1_rule
Checks: C-52803r2_chk
List all cronjobs on the system. Procedure: # ls /var/spool/cron # ls /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls /etc/cron*|grep -v deny If cron jobs exist under any of the above directories, use the following command to search for programs executed by at: # more <cron job file> Perform a long listing of each directory containing program files found in the cron file to determine if the directory is world-writable. # ls -ld <cron program directory> If cron executes programs in world-writable directories, this is a finding.
Fix: F-54985r2_fix
Remove the world-writable permission from the cron program directories identified. Procedure: # chmod o-w <cron program directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003080
- Vuln IDs
-
- V-978
- Rule IDs
-
- SV-64391r1_rule
Checks: C-52791r1_chk
Check the mode of the crontab files. # ls -lL /var/spool/cron/ # ls -lL /etc/cron.d/ # ls -lL /etc/crontab If any crontab file has a mode more permissive than 0600, this is a finding.
Fix: F-54973r1_fix
Change the mode of the crontab files. # chmod 0600 /var/spool/cron/* /etc/cron.d/* /etc/crontab
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003100
- Vuln IDs
-
- V-979
- Rule IDs
-
- SV-64375r1_rule
Checks: C-52777r1_chk
Check the mode of the crontab directories. Procedure: # ls -ld /var/spool/cron # ls -ld /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -ld /etc/cron*|grep -v deny If the mode of any of the crontab directories is more permissive than 0755, this is a finding.
Fix: F-54959r4_fix
Change the mode of the crontab directories. # chmod 0755 <crontab directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003120
- Vuln IDs
-
- V-980
- Rule IDs
-
- SV-64293r1_rule
Checks: C-52725r3_chk
Check the owner of the crontab directories. Procedure: # ls -ld /var/spool/cron # ls -ld /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -ld /etc/cron*|grep -v deny If the owner of any of the crontab directories is not root or bin, this is a finding.
Fix: F-54891r2_fix
Change the mode of the crontab directories. # chown root <crontab directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003140
- Vuln IDs
-
- V-981
- Rule IDs
-
- SV-64305r1_rule
Checks: C-52729r2_chk
Check the group owner of cron and crontab directories. Procedure: # ls -ld /var/spool/cron # ls -ld /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -ld /etc/cron*|grep -v deny If a directory is not group-owned by root, sys, bin, or cron, this is a finding.
Fix: F-54897r2_fix
Change the group owner of cron and crontab directories. # chgrp root <crontab directory>
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN003160
- Vuln IDs
-
- V-982
- Rule IDs
-
- SV-64313r2_rule
Checks: C-52731r2_chk
Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. # grep cron /etc/syslog.conf Or: # grep cron /etc/rsyslog.conf If cron logging is not configured, this is a finding. Check the configured cron log file found in the cron entry of /etc/syslog.conf or /etc/rsyslog.conf (normally /var/log/cron). # ls -lL /var/log/cron If this file does not exist, or is older than the last cron job, this is a finding.
Fix: F-54903r2_fix
Edit /etc/syslog.conf or /etc/rsyslog.conf and setup cron logging.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003180
- Vuln IDs
-
- V-983
- Rule IDs
-
- SV-64317r2_rule
Checks: C-52733r2_chk
Check the mode of the cron log file. Procedure: Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Check the configured cron log file found in the cron entry in /etc/syslog.conf or /etc/rsyslog.conf (normally /var/log/cron). # grep cron /etc/syslog.conf Or: # grep cron /etc/rsyslog.conf # ls -lL /var/log/cron If the mode is more permissive than 0600, this is a finding.
Fix: F-54905r2_fix
Change the mode of the cron log file. # chmod 0600 /var/log/cron
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003280
- Vuln IDs
-
- V-984
- Rule IDs
-
- SV-64369r1_rule
Checks: C-52769r1_chk
If the "at" package is not installed, this is not applicable. Check for the existence of at.allow and at.deny files. # ls -lL /etc/at.allow # ls -lL /etc/at.deny If neither file exists, this is a finding.
Fix: F-54951r1_fix
Create at.allow and/or at.deny files containing appropriate lists of users to be allowed or denied access to the "at" daemon.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003300
- Vuln IDs
-
- V-985
- Rule IDs
-
- SV-64371r1_rule
Checks: C-52771r1_chk
# more /etc/at.deny If the at.deny file exists and is empty, this is a finding.
Fix: F-54953r1_fix
Add appropriate users to the at.deny file, or remove the empty at.deny file if an at.allow file exists.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003320
- Vuln IDs
-
- V-986
- Rule IDs
-
- SV-64379r1_rule
Checks: C-52779r1_chk
# more /etc/at.allow If default accounts (such as bin, sys, adm, and others) are listed in the at.allow file, this is a finding.
Fix: F-54961r1_fix
Remove the default accounts (such as bin, sys, adm, and others, traditionally UID less than 500) from the at.allow file.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003340
- Vuln IDs
-
- V-987
- Rule IDs
-
- SV-64453r1_rule
Checks: C-52829r1_chk
Check the mode of the at.allow file. # ls -lL /etc/at.allow If the at.allow file has a mode more permissive than 0600, this is a finding.
Fix: F-55011r1_fix
Change the mode of the at.allow file. # chmod 0600 /etc/at.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003360
- Vuln IDs
-
- V-988
- Rule IDs
-
- SV-64469r1_rule
Checks: C-52887r2_chk
List the "at" jobs on the system. Procedure: # ls -la /var/spool/at For each "at" job file, determine which programs are executed. Procedure: # more <at job file> Check the each program executed by "at" for group- or world-writable permissions. Procedure: # ls -la <at program file> If "at" executes group or world-writable programs, this is a finding.
Fix: F-55063r2_fix
Remove group-write and world-write permissions from files executed by at jobs. Procedure: # chmod go-w <file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003380
- Vuln IDs
-
- V-989
- Rule IDs
-
- SV-64475r1_rule
Checks: C-52891r2_chk
List any "at" jobs on the system. Procedure: # ls /var/spool/at For each "at" job, determine which programs are executed by "at." Procedure: # more <at job file> Check the directory containing each program executed by "at" for world-writable permissions. Procedure: # ls -la <at program file directory> If "at" executes programs in world-writable directories, this is a finding.
Fix: F-55069r2_fix
Remove the world-writable permission from directories containing programs executed by "at". Procedure: # chmod o-w <at program directory>
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000178
- Version
- GEN005300
- Vuln IDs
-
- V-993
- Rule IDs
-
- SV-63371r1_rule
Checks: C-53035r2_chk
Check the SNMP configuration for default passwords. Procedure: Examine the default install location /etc/snmp/snmpd.conf or: # find / -name snmpd.conf # more <snmpd.conf file> Identify any community names or user password configuration. If any community name or password is set to a default value such as "public", "private", "snmp-trap", or "password", or any value which does not meet DISA password requirements, this is a finding.
Fix: F-53981r2_fix
Change the default passwords. To change them, locate the file snmpd.conf. Edit the file. Locate the line system-group-read-community which has a default password of "public" and make the password something more secure and less guessable. Do the same for the lines reading system-group-write-community, read-community, write-community, trap and trap-community. Read the information in the file carefully. The trap is defining who to send traps to, for instance, by default. It is not a password, but the name of a host.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005320
- Vuln IDs
-
- V-994
- Rule IDs
-
- SV-63425r1_rule
Checks: C-52129r2_chk
Check the mode of the SNMP daemon configuration file. Procedure: Examine the default install location /etc/snmp/snmpd.conf or: # find / -name snmpd.conf # ls -lL <snmpd.conf file> If the snmpd.conf file has a mode more permissive than 0600, this is a finding.
Fix: F-54031r2_fix
Change the mode of the SNMP daemon configuration file to 0600. Procedure: # chmod 0600 <snmpd.conf>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005340
- Vuln IDs
-
- V-995
- Rule IDs
-
- SV-63429r1_rule
Checks: C-52135r2_chk
Check the modes for all Management Information Base (MIB) files on the system. Procedure: # find / -name *.mib # ls -lL <mib file> Any file returned with a mode 0640 or less permissive is a finding.
Fix: F-54037r2_fix
Change the mode of MIB files to 0640. Procedure: # chmod 0640 <mib file>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002480
- Vuln IDs
-
- V-1010
- Rule IDs
-
- SV-63673r1_rule
Checks: C-52293r1_chk
Check the system for world-writable files. Procedure: # find / -perm -2 -a \( -type d -o -type f \) -exec ls -ld {} \; If any world-writable files are located, except those required for system operation such as /tmp and /dev/null, this is a finding.
Fix: F-54253r2_fix
Remove or change the mode for any world-writable file on the system not required to be world-writable. Procedure: # chmod o-w <file> Document all changes
- RMF Control
- AU-3
- Severity
- L
- CCI
- CCI-000134
- Version
- GEN003800
- Vuln IDs
-
- V-1011
- Rule IDs
-
- SV-63989r1_rule
Checks: C-52587r1_chk
The /etc/xinetd.conf file and each file in the /etc/xinetd.d directory file should be examined for the following: Procedure: log_type = SYSLOG authpriv log_on_success = HOST PID USERID EXIT log_on_failure = HOST USERID If xinetd is running and logging is not enabled, this is a finding.
Fix: F-54699r1_fix
Edit each file in the /etc/xinetd.d directory and the /etc/xinetd.conf file to contain: log_type = SYSLOG authpriv log_on_success = HOST PID USERID EXIT log_on_failure = HOST USERID The /etc/xinetd.conf file contains default values that will hold true for all services unless individually modified in the service's xinetd.d file. To make the new settings effective, restart the xinetd service: # service xinetd restart
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN008600
- Vuln IDs
-
- V-1013
- Rule IDs
-
- SV-63139r1_rule
Checks: C-51883r1_chk
Determine if the system is configured to boot from devices other than the system startup media. If so, this is a finding.
Fix: F-53725r1_fix
Configure the system to only boot from system startup media. Procedure: On systems with a BIOS or system controller use the BIOS interface at startup to remove all but the proper boot device from the boot device list.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000000-LNX00360
- Vuln IDs
-
- V-1021
- Rule IDs
-
- SV-62805r1_rule
Checks: C-51657r1_chk
Verify the options of the running Xwindows server are correct. Procedure: Get the running xserver information # ps -ef |grep X If the response contains /usr/bin/Xorg:0 /usr/bin/Xorg:0 -br -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7 this is indicative of Xorg starting through gdm. This is the default on this version of the operating system. Examine the Xorg line: If the "-auth" option is missing this would be a finding. If the "-audit" option is missing or not set to 4, this is a finding. If the "-s" option is missing or greater than 15, this is a finding. If the response to the grep contains X:0 /usr/bin/X:0 this indicates the X server was started with the xinit command with no associated .xserverrc in the home directory of the user. No options are selected by default. This is a finding. Otherwise if there are options on the X:0 line: If the "-auth" option is missing this is a finding If the "-audit" option is missing or not set to 4, this is a finding. If the "-s" option is missing or greater than 15, this is a finding.
Fix: F-53373r5_fix
Enable the following options: -audit (at level 4), -auth and -s with 15 minutes as the timeout value. Procedure for gdm: Edit /etc/gdm/custom.conf and add the following: [server-Standard] name=Standard server command=/usr/bin/Xorg -br -audit 4 -s 15 chooser=false handled=true flexible=true priority=0 Procedure for xinit: Edit or create a .xserverrc file in the user's home directory containing the startup script for xinit. This script must have an exec line with at least these options: exec /usr/bin/X -audit 4 -s 15 -auth <Xauth file> & The <Xauth file> is created using the "xauth" command and is customarily located in the user's home directory with the name ".Xauthority".
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000000-LNX00380
- Vuln IDs
-
- V-1022
- Rule IDs
-
- SV-62815r1_rule
Checks: C-51687r1_chk
If the "xorg-x11-server-Xorg" package is not installed, this is not applicable. Verify the options of the running Xwindows server are correct. Procedure: Get the running xserver information # ps -ef |grep X If the response contains /usr/bin/Xorg:0 /usr/bin/Xorg:0 -br -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7 this is indicative of Xorg starting through gdm. This is the default window manager on this version of the operating system. If the "-ac" option is found, this is a finding. If the "-core" option is found, this is a finding. If the "-nolock" option is found, this is a finding. If the response to the grep contains X:0 /usr/bin/X:0 Examine the X:0 line: If the "-ac" option is found, this is a finding. If the "-core" option is found, this is a finding. If the "-nolock" option is found, this is a finding.
Fix: F-53401r1_fix
Disable the unwanted options: Procedure: For gdm: Remove the -ac, -core and -nolock options by creating a "command" entry in the /etc/gdm/custom.conf file with the options removed. For Xwindows started by xinit: Create or modify the .xserverrc script in the user's home directory to remove the -ac, -core and -nolock options from the exec /usr/bin/X command.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- GEN006240
- Vuln IDs
-
- V-1023
- Rule IDs
-
- SV-63965r1_rule
Checks: C-52453r1_chk
# ps -ef | egrep "innd|nntpd" If an Internet Network News server is running, this is a finding.
Fix: F-54537r1_fix
Disable the INN server.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX00400
- Vuln IDs
-
- V-1025
- Rule IDs
-
- SV-62875r1_rule
Checks: C-51715r1_chk
Check access configuration ownership: # ls -lL /etc/security/access.conf If this file exists and is not owned by root, this is a finding.
Fix: F-53449r1_fix
Follow the correct configuration parameters for access configuration file. Use the chown command to configure it properly. (for example: # chown root /etc/security/access.conf ).
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN006080
- Vuln IDs
-
- V-1026
- Rule IDs
-
- SV-64123r1_rule
Checks: C-52571r1_chk
SWAT is a tool for configuring Samba and should only be found on a system with a requirement for Samba. If SWAT is used, it must be utilized with SSL to ensure a secure connection between the client and the server. Procedure: # grep -H "bin/swat" /etc/xinetd.d/*|cut -d: -f1 |xargs grep "only_from" If the value of the "only_from" line in the "xinetd.d" file which starts "/usr/sbin/swat" is not "localhost" or the equivalent, this is a finding.
Fix: F-54681r1_fix
Disable SWAT or require SWAT is only accessed via SSH. Procedure: If SWAT is not needed for operation of the system remove the SWAT package: # rpm -qa|grep swat Remove "samba-swat" or "samba3x-swat" depending on which one is installed # rpm --erase samba-swat or # rpm --erase samba3x-swat If SWAT is required but not at all times disable it when it is not needed. Modify the /etc/xinetd.d file for "swat" to contain a "disable = yes" line. To access using SSH: Follow vendor configuration documentation to create an stunnel for SWAT.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006100
- Vuln IDs
-
- V-1027
- Rule IDs
-
- SV-64095r1_rule
Checks: C-52507r1_chk
Check the ownership of the /etc/samba/smb.conf file. Procedure: # ls -l /etc/samba/smb.conf If an smb.conf file is not owned by root, this is a finding.
Fix: F-54621r1_fix
Change the ownership of the smb.conf file. Procedure: # chown root smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006140
- Vuln IDs
-
- V-1028
- Rule IDs
-
- SV-64087r1_rule
Checks: C-52501r1_chk
Check the mode of the smb.conf file. Procedure: # ls -lL /etc/samba/smb.conf If the "smb.conf" has a mode more permissive than 0644, this is a finding.
Fix: F-54615r1_fix
Change the mode of the smb.conf file to 0644 or less permissive. Procedure: # chmod 0644 smb.conf.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006160
- Vuln IDs
-
- V-1029
- Rule IDs
-
- SV-64077r1_rule
Checks: C-52491r1_chk
Check the ownership of the "smbpasswd" file. # ls -l /etc/samba/passdb.tdb /etc/samba/secrets.tdb If the "smbpasswd" file is not owned by root, this is a finding.
Fix: F-54605r1_fix
Use the chown command to configure the files maintained by smbpasswd. For instance: # chown root /etc/samba/passdb.tdb /etc/samba/secrets.tdb
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006220
- Vuln IDs
-
- V-1030
- Rule IDs
-
- SV-64055r1_rule
Checks: C-52471r1_chk
Examine the "smb.conf" file. # more /etc/samba/smb.conf If the "hosts" option is not present to restrict access to a list of authorized hosts and networks, this is a finding.
Fix: F-54585r1_fix
Edit the "/etc/samba/smb.conf" file and set the "hosts" option to permit only authorized hosts to access Samba.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000198
- Version
- GEN000540
- Vuln IDs
-
- V-1032
- Rule IDs
-
- SV-63659r1_rule
Checks: C-52287r1_chk
Check the minimum time period between password changes for each user account is 1 day. # cat /etc/shadow | cut -d ':' -f 4 | grep -v 1 If any results are returned, this is a finding.
Fix: F-54247r4_fix
Change the minimum time period between password changes for each user account to 1 day. # passwd -n 1 <user name>
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000197
- Version
- GEN001100
- Vuln IDs
-
- V-1046
- Rule IDs
-
- SV-64449r2_rule
Checks: C-52827r2_chk
Determine if root has logged in over an unencrypted network connection. Examine /etc/syslog.conf to confirm the location to which "authpriv" messages are being sent. # grep authpriv.* /etc/syslog.conf Once the file is determined, perform the following command: # grep password <file> | more Look for any lines that do not have sshd as the associated service. If root has logged in over the network and sshd is not running, this is a finding.
Fix: F-55009r1_fix
Enable SSH on the system and use it for all remote connections used to attain root access
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- GEN001120
- Vuln IDs
-
- V-1047
- Rule IDs
-
- SV-64455r1_rule
Checks: C-52831r1_chk
Determine if the SSH daemon is configured to permit root logins. Procedure: # grep -v "^#" /etc/ssh/sshd_config | grep -i permitrootlogin If the PermitRootLogin entry is not found or is not set to "no", this is a finding.
Fix: F-55013r1_fix
Edit the sshd_config file and set the PermitRootLogin option to "no".
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002320
- Vuln IDs
-
- V-1048
- Rule IDs
-
- SV-63247r1_rule
Checks: C-51955r1_chk
Check the mode of audio devices. # ls -lL /dev/audio* /dev/snd/* If the mode of audio devices are more permissive than 660, this is a finding.
Fix: F-53817r2_fix
Change the mode of audio devices. # chmod 0660 <audio device>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002340
- Vuln IDs
-
- V-1049
- Rule IDs
-
- SV-63301r1_rule
Checks: C-52001r1_chk
Check the owner of audio devices. # ls -lL /dev/audio* /dev/snd/* If the owner of any audio device file is not root, this is a finding.
Fix: F-53889r4_fix
Edit the /etc/security/console.perms.d/50-default.perms file and comment the following line: <console> 0600 <sound> 0660 root.audio
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX00420
- Vuln IDs
-
- V-1054
- Rule IDs
-
- SV-62901r1_rule
Checks: C-51731r1_chk
Check access configuration group ownership: # ls -lL /etc/security/access.conf If this file exists and has a group-owner that is not a privileged user, this is a finding.
Fix: F-53479r1_fix
Use the chgrp command to ensure the group owner is root, sys, or bin. (for example: # chgrp root /etc/security/access.conf ).
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX00440
- Vuln IDs
-
- V-1055
- Rule IDs
-
- SV-62903r1_rule
Checks: C-51733r1_chk
Check access configuration mode: # ls -lL /etc/security/access.conf If this file exists and has a mode more permissive than 0640, this is a finding.
Fix: F-53481r1_fix
Use the chmod command to set the permissions to 0640. (for example: # chmod 0640 /etc/security/access.conf ).
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006120
- Vuln IDs
-
- V-1056
- Rule IDs
-
- SV-64093r1_rule
Checks: C-52505r1_chk
Check the group ownership of the "smb.conf" file. Procedure: # ls -lL /etc/samba/smb.conf If the "smb.conf" file is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-54619r1_fix
Change the group owner of the smb.conf file. Procedure: # chgrp root smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006180
- Vuln IDs
-
- V-1058
- Rule IDs
-
- SV-64069r1_rule
Checks: C-52481r1_chk
Check "smbpasswd" ownership: # ls -lL /etc/samba/passdb.tdb /etc/samba/secrets.tdb If the "smbpasswd" file is not group-owned by root, this is a finding.
Fix: F-54597r2_fix
Use the chgrp command to ensure that the group owner of the smbpasswd file is root. For instance: # chgrp root /etc/samba/passdb.tdb /etc/samba/secrets.tdb
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006200
- Vuln IDs
-
- V-1059
- Rule IDs
-
- SV-64063r1_rule
Checks: C-52477r1_chk
Check the mode of files maintained using "smbpasswd". Procedure: # ls -lL /etc/samba/passdb.tdb /etc/samba/secrets.tdb If a "smbpasswd" maintained file has a mode more permissive than 0600, this is a finding.
Fix: F-54591r2_fix
Change the mode of the files maintained through smbpasswd to 0600. Procedure: # chmod 0600 /etc/samba/passdb.tdb /etc/samba/secrets.tdb
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002360
- Vuln IDs
-
- V-1061
- Rule IDs
-
- SV-63341r2_rule
Checks: C-52049r3_chk
Check the group-owner of audio devices. Procedure: # ls -lL /dev/audio* /dev/snd/* If the group-owner of an audio device is not root, sys, bin, system, or audio this is a finding.
Fix: F-53939r4_fix
Change the group-owner of the audio device. Procedure: # chgrp <root, sys, bin, system, audio> <audio device>
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN001080
- Vuln IDs
-
- V-1062
- Rule IDs
-
- SV-64441r1_rule
Checks: C-52823r2_chk
Determine if root's shell executable resides on a dedicated file system. Procedure: Find the location of the root user's shell # grep "^root" /etc/passwd|cut -d: -f7|cut -d/ -f2 The result is the top level directory under / where the shell resides (e.g., usr) Check if it is on a dedicated file system. # grep /<top level directory> /etc/fstab If /<top level directory> is on a dedicated file system, this is a finding.
Fix: F-55005r1_fix
Change the root account's shell to one present on the / file system. Procedure: Edit /etc/passwd and change the shell for the root account to one present on the / file system (such as /bin/sh, assuming /bin is not on a separate file system). If the system does not store shell configuration in the /etc/passwd file, consult vendor documentation for the correct procedure for the system.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000057
- Version
- GEN000500
- Vuln IDs
-
- V-4083
- Rule IDs
-
- SV-63405r1_rule
Checks: C-52109r1_chk
If the "xorg-x11-server-Xorg" package is not installed, this is not applicable. For the Gnome screen saver, check the idle_activation_enabled flag. Procedure: # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --get /apps/gnome-screensaver/idle_activation_enabled If this does not return "true" and a documented exception has not been made by the IAO, this is a finding.
Fix: F-54003r1_fix
For the Gnome screen saver, set the idle_activation_enabled flag. Procedure: # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type bool --set /apps/gnome-screensaver/idle_activation_enabled true
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000200
- Version
- GEN000800
- Vuln IDs
-
- V-4084
- Rule IDs
-
- SV-64321r2_rule
Checks: C-52735r3_chk
# ls /etc/security/opasswd If /etc/security/opasswd does not exist, then this is a finding. # grep password /etc/pam.d/system-auth| egrep '(pam_pwhistory.so|pam_unix.so|pam_cracklib.so)' | grep remember If the "remember" option in /etc/pam.d/system-auth is not 5 or greater, this is a finding. Check for system-auth-ac inclusions. # grep -c system-auth-ac /etc/pam.d/* If the system-auth-ac file is included anywhere # more /etc/pam.d/system-auth-ac | grep password | egrep '(pam_pwhistory.so|pam_unix.so|pam_cracklib.so)' | grep remember If in /etc/pam.d/system-auth-ac is referenced by another file and the "remember" option is not set to 5 or greater this is a finding.
Fix: F-54909r2_fix
Create the password history file. # touch /etc/security/opasswd # chown root:root /etc/security/opasswd # chmod 0600 /etc/security/opasswd Enable password history. If /etc/pam.d/system-auth references /etc/pam.d/system-auth-ac refer to the man page for system-auth-ac for a description of how to add options not configurable with authconfig. Edit /etc/pam.d/system-auth to include the remember option on any "password pam_unix" or "password pam_pwhistory" lines set to at least 5.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001940
- Vuln IDs
-
- V-4087
- Rule IDs
-
- SV-63573r3_rule
Checks: C-52231r5_chk
Determine the world writable files on the system (Note: ignore all files under /proc): # find / -perm -002 -a -type f -exec ls -ld {} \; | <more or redirect the output to a file> # find / -perm -002 -a -type d -exec ls -ld {} \; | <more or redirect the output to a file> View the password file to determine where the home directories for users are: # more /etc/passwd Once the directory for the human users is determined, grep for the lists of world writable files and directories within the users’ home directories. An example would be: # grep /opt/app/bin/daemon /home/*/.* where /home is the directory for the human users on the system and /opt/app/bin/daemon is a world writable file.
Fix: F-54179r2_fix
Remove the world-writable permission of files referenced by local initialization scripts, or remove the references to these files in the local initialization scripts.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001660
- Vuln IDs
-
- V-4089
- Rule IDs
-
- SV-63857r1_rule
Checks: C-52395r1_chk
Check run control scripts' ownership. # ls -lL /etc/rc* /etc/init.d Alternatively: # find /etc -name "[SK][0-9]*"|xargs stat -L -c %U:%n If any run control script is not owned by root or bin, this is a finding.
Fix: F-54431r1_fix
Change the ownership of the run control script(s) with incorrect ownership. # find /etc -name "[SK][0-9]*"|xargs stat -L -c %U:%n|egrep -v "^root:"|cut -d: -f2|xargs chown root
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001680
- Vuln IDs
-
- V-4090
- Rule IDs
-
- SV-63859r1_rule
Checks: C-52397r1_chk
Check run control scripts' group ownership. Procedure: # ls -lL /etc/rc* /etc/init.d Alternatively: # find /etc -name "[SK][0-9]*"|xargs stat -L -c %G:%n|egrep -v "^(root|sys|bin|other):" If any run control script is not group-owned by root, sys, bin, or other system groups, this is a finding.
Fix: F-54433r2_fix
Change the group ownership of the run control script(s) with incorrect group ownership. Procedure: # chgrp root <run control script> # find /etc -name "[SK][0-9]*"|xargs stat -L -c %G:%n|egrep -v "^(root|sys|bin|other):"|cut -d: -f2|xargs chgrp root
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001700
- Vuln IDs
-
- V-4091
- Rule IDs
-
- SV-63861r1_rule
Checks: C-52399r2_chk
Determine the programs executed by system start-up files. Determine the ownership of the executed programs. # cat /etc/rc*/* /etc/init.d/* | more # ls -l <executed program> Alternatively: # for FILE in `egrep -r "/" /etc/rc.* /etc/init.d|awk '/^.*[^\/][0-9A-Za-z_\/]*/{print $2}'|egrep "^/"|sort|uniq`;do if [ -e $FILE ]; then stat -L -c '%U:%n' $FILE;fi;done This provides a list of files referenced by initialization scripts and their associated UIDs. If any file is run by an initialization file and is not owned by root, sys, bin, or in rare cases, an application account, this is a finding.
Fix: F-54435r3_fix
Change the ownership of the file executed from system startup scripts to root, bin, sys, or other. # chown root <executed file>
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- GEN008620
- Vuln IDs
-
- V-4246
- Rule IDs
-
- SV-63135r1_rule
Checks: C-51877r1_chk
On systems with a BIOS or system controller, verify a supervisor or administrator password is set. If a password is not set, this is a finding. If the BIOS or system controller supports user-level access in addition to supervisor/administrator access, determine if this access is enabled. If so, this is a finding.
Fix: F-53717r1_fix
Access the system's BIOS or system controller. Set a supervisor/administrator password if one has not been set. Disable a user-level password if one has been set.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN008640
- Vuln IDs
-
- V-4247
- Rule IDs
-
- SV-63121r1_rule
Checks: C-51869r1_chk
Ask the SA if the system uses removable media for the boot loader. If it does, this is a finding.
Fix: F-53707r1_fix
Configure the system to use a bootloader installed on fixed media.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN008660
- Vuln IDs
-
- V-4248
- Rule IDs
-
- SV-63115r1_rule
Checks: C-51865r1_chk
Determine if the system uses the GRUB boot loader; # ls -l /boot/grub/grub.conf If no grub.conf file exists, and the bootloader on the system has not been authorized, justified, and documented, this is a finding.
Fix: F-53699r1_fix
Configure the system to use the GRUB bootloader or document, justify, and authorize the alternate bootloader.
- RMF Control
- AC-3
- Severity
- H
- CCI
- CCI-000213
- Version
- GEN008700
- Vuln IDs
-
- V-4249
- Rule IDs
-
- SV-63105r1_rule
Checks: C-51857r2_chk
Check the "/boot/grub/grub.conf" or "/boot/grub/menu.lst" files. # more /boot/grub/menu.lst Check for a password configuration line, such as: password --md5 <password-hash> This line should be just below the line beginning with "timeout". Please note <password-hash> will be replaced by the actual MD5 encrypted password. If the password line is not in either of the files, this is a finding. For any bootloader other than GRUB which has been authorized, justified and documented for use on the system refer to the vendor documentation on password support. If the bootloader does not support encrypted passwords, this is a finding.
Fix: F-53689r1_fix
The GRUB console boot loader can be configured to use an MD5 encrypted password by adding password --md5 password-hash to the "/boot/grub/grub.conf" file. Use "/sbin/grub-md5-crypt" to generate MD5 passwords from the command line.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008720
- Vuln IDs
-
- V-4250
- Rule IDs
-
- SV-63093r1_rule
Checks: C-51849r1_chk
Check /boot/grub/grub.conf permissions: # ls -lL /boot/grub/grub.conf If /boot/grub/grub.conf has a mode more permissive than 0600, then this is a finding. For any bootloader other than GRUB which has been authorized, justified and documented for use on the system refer to the vendor documentation for the location of the configuration file. If the bootloader configuration file has a mode more permissive than 0600, this is a finding.
Fix: F-53681r1_fix
Change the mode of the grub.conf file to 0600. # chmod 0600 /boot/grub/grub.conf
- RMF Control
- SC-32
- Severity
- H
- CCI
- CCI-001208
- Version
- GEN008680
- Vuln IDs
-
- V-4255
- Rule IDs
-
- SV-63107r1_rule
Checks: C-51861r1_chk
Ask the SA if the system boots from removable media. If so, ask if the boot media is stored in a secure container when not in use. If it is not, this is a finding.
Fix: F-53693r1_fix
Store the system boot media in a secure container when not in use.
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN000000-LNX00320
- Vuln IDs
-
- V-4268
- Rule IDs
-
- SV-62797r1_rule
Checks: C-51635r1_chk
Perform the following to check for unnecessary privileged accounts: # grep "^shutdown" /etc/passwd # grep "^halt" /etc/passwd # grep "^reboot" /etc/passwd If any unnecessary privileged accounts exist this is a finding.
Fix: F-53347r1_fix
Remove any special privilege accounts, such as shutdown and halt, from the /etc/passwd and /etc/shadow files using the "userdel" or "system-config-users" commands.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000012
- Version
- GEN000290
- Vuln IDs
-
- V-4269
- Rule IDs
-
- SV-63195r2_rule
Checks: C-51919r1_chk
Check the system for unnecessary user accounts. Procedure: # more /etc/passwd Obtain a list of authorized accounts from the IAO. If any unnecessary accounts are found on the system, this is a finding.
Fix: F-53773r2_fix
Remove all unnecessary accounts from the /etc/passwd file before connecting a system to the network. Other accounts that are associated with a service not in use should also be removed.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006260
- Vuln IDs
-
- V-4273
- Rule IDs
-
- SV-63947r1_rule
Checks: C-52445r1_chk
The file corresponding to "/etc/news/hosts.nntp" is "/etc/news/incoming.conf". Check the permissions for "/etc/news/incoming.conf". # ls -lL /etc/news/incoming.conf If "/etc/news/incoming.conf" has a mode more permissive than 0600, this is a finding.
Fix: F-54515r1_fix
Change the mode of the "/etc/news/incoming.conf" file to 0600. # chmod 0600 /etc/news/incoming.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006280
- Vuln IDs
-
- V-4274
- Rule IDs
-
- SV-63921r1_rule
Checks: C-53037r1_chk
The file that corresponds to "/etc/news/hosts.nntp.nolimit" is "/etc/news/infeed.conf". Check the permissions for "/etc/news/infeed.conf". # ls -lL /etc/news/infeed.conf If "/etc/news/infeed.conf" has a mode more permissive than 0600, this is a finding.
Fix: F-55309r1_fix
Change the mode of "/etc/news/infeed.conf" to 0600. # chmod 0600 /etc/news/infeed.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006300
- Vuln IDs
-
- V-4275
- Rule IDs
-
- SV-63909r1_rule
Checks: C-52429r1_chk
Check the permissions for "/etc/news/readers.conf". # ls -lL /etc/news/readers.conf If /etc/news/readers.conf has a mode more permissive than 0600, this is a finding.
Fix: F-54483r1_fix
Change the mode of the /etc/news/readers.conf file to 0600. # chmod 0600 /etc/news/readers.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006320
- Vuln IDs
-
- V-4276
- Rule IDs
-
- SV-63899r1_rule
Checks: C-52423r1_chk
Check "/etc/news/passwd.nntp" permissions: # ls -lL /etc/news/passwd.nntp If "/etc/news/passwd.nntp" has a mode more permissive than 0600, this is a finding.
Fix: F-54471r1_fix
Change the mode of the "/etc/news/passwd.nntp" file. # chmod 0600 /etc/news/passwd.nntp
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006340
- Vuln IDs
-
- V-4277
- Rule IDs
-
- SV-63829r1_rule
Checks: C-52367r1_chk
Check the ownership of the files in "/etc/news". Procedure: # ls -al /etc/news If any files are not owned by root or news, this is a finding.
Fix: F-54405r2_fix
Change the ownership of the files in "/etc/news" to root or news. Procedure: # chown root /etc/news/*
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006360
- Vuln IDs
-
- V-4278
- Rule IDs
-
- SV-63817r1_rule
Checks: C-52363r1_chk
Check "/etc/news" files group ownership: Procedure: # ls -al /etc/news If "/etc/news" files are not group-owned by root or news, this is a finding.
Fix: F-54401r2_fix
Change the group-owner of the files in "/etc/news" to root or news. Procedure: # chgrp root /etc/news/*
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001436
- Version
- GEN005500
- Vuln IDs
-
- V-4295
- Rule IDs
-
- SV-63543r1_rule
Checks: C-52213r1_chk
Locate the sshd_config file: # more /etc/ssh/sshd_config Examine the file. If the variables 'Protocol 2,1' or 'Protocol 1' are defined on a line without a leading comment, this is a finding. If the SSH server is F-Secure, the variable name for SSH 1 compatibility is 'Ssh1Compatibility', not 'protocol'. If the variable 'Ssh1Compatiblity' is set to 'yes', then this is a finding.
Fix: F-54157r2_fix
Edit the sshd_config file and set the "Protocol" setting to "2". If using the F-Secure SSH server, set the "Ssh1Compatibility" setting to "no". Restart the SSH daemon. # /sbin/service sshd restart
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000070
- Version
- GEN001000
- Vuln IDs
-
- V-4298
- Rule IDs
-
- SV-64393r1_rule
Checks: C-52793r1_chk
Check /etc/securetty # more /etc/securetty If the file does not exist, or contains more than "console" or a single "tty" device this is a finding.
Fix: F-54975r1_fix
Create if needed and set the contents of /etc/securetty to a "console" or "tty" device. # echo console > /etc/securetty or # echo tty1 > /etc/securetty
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-001492
- Version
- GEN000240
- Vuln IDs
-
- V-4301
- Rule IDs
-
- SV-63137r1_rule
Checks: C-51881r1_chk
Check if NTP running: # ps -ef | egrep "xntpd|ntpd" Check if "ntpd -qg" scheduled to run: # grep "ntpd -qg" /var/spool/cron/* # grep "ntpd -qg" /etc/cron.d/* # grep "ntpd -qg" /etc/cron.daily/* # grep "ntpd -qg" /etc/cron.hourly/* # grep "ntpd -qg" /etc/cron.monthly/* # grep "ntpd -qg" /etc/cron.weekly/* If NTP is running or "ntpd -qg" is found: # more /etc/ntp.conf Confirm the timeservers and peers or multicast client (as applicable) are local or authoritative U.S. DoD sources appropriate for the level of classification which the network operates. If a non-local/non-authoritative time-server is used, this is a finding.
Fix: F-53721r1_fix
Use an authoritative local time server or a time server operated by the U.S. government. Ensure all systems in the facility feed from one or more local time servers which feed from the authoritative U.S. government time server.
- RMF Control
- CP-10
- Severity
- M
- CCI
- CCI-000553
- Version
- GEN003640
- Vuln IDs
-
- V-4304
- Rule IDs
-
- SV-64225r1_rule
Checks: C-52679r1_chk
Logging should be enabled for those types of file systems not turning on logging by default. Procedure: # mount JFS, VXFS, HFS, XFS, reiserfs, EXT3 and EXT4 all turn logging on by default and will not be a finding. The ZFS file system uses other mechanisms to provide for file system consistency, and will not be a finding. For other file systems types, if the root file system does not support journaling this is a finding. If the 'nolog' option is set on the root file system that does support journaling, this is a finding.
Fix: F-54833r1_fix
Implement file system journaling for the root file system, or use a file system with other mechanisms to ensure file system consistency. If the root file system supports journaling, enable it. If the file system does not support journaling or another mechanism to ensure file system consistency, a migration to a different file system will be necessary.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN006060
- Vuln IDs
-
- V-4321
- Rule IDs
-
- SV-64125r1_rule
Checks: C-52577r1_chk
Check the system for a running Samba server. Procedure: # ps -ef |grep smbd If the Samba server is running, ask the SA if the Samba server is operationally required. If it is not, this is a finding.
Fix: F-54689r1_fix
If there is no functional need for Samba and the daemon is running, disable the daemon by killing the process ID as noted from the output of ps -ef |grep smbd. The samba package should also be removed or not installed if there is no functional requirement. Procedure: rpm -qa |grep samba This will show whether "samba" or "samba3x" is installed. To remove: rpm --erase samba or rpm --erase samba3x
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX00480
- Vuln IDs
-
- V-4334
- Rule IDs
-
- SV-62929r1_rule
Checks: C-51753r1_chk
Check /etc/sysctl.conf ownership. # ls -lL /etc/sysctl.conf If /etc/sysctl.conf is not owned by root, this is a finding.
Fix: F-53503r1_fix
Use the chown command to change the owner of /etc/sysctl.conf to root: # chown root /etc/sysctl.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX00500
- Vuln IDs
-
- V-4335
- Rule IDs
-
- SV-62951r1_rule
Checks: C-51757r1_chk
Check /etc/sysctl.conf group ownership: # ls -lL /etc/sysctl.conf If /etc/sysctl.conf is not group-owned by root, this is a finding.
Fix: F-53523r1_fix
Use the chgrp command to change the group owner of /etc/sysctl.conf to root: # chgrp root /etc/sysctl.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX00520
- Vuln IDs
-
- V-4336
- Rule IDs
-
- SV-62963r1_rule
Checks: C-51763r2_chk
Check /etc/sysctl.conf permissions: # ls -lL /etc/sysctl.conf If /etc/sysctl.conf has a mode more permissive than 0600, this is a finding.
Fix: F-53539r1_fix
Use the chmod command to change the mode of the /etc/sysctl.conf file. # chmod 0600 /etc/sysctl.conf
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN000000-LNX00560
- Vuln IDs
-
- V-4339
- Rule IDs
-
- SV-62985r1_rule
Checks: C-51777r1_chk
Determine if an NFS server is running on the system by: # ps -ef |grep nfsd If an NFS server is running, confirm it is not configured with the insecure_locks option by: # exportfs -v The example below would be a finding: /misc/export speedy.example.com(rw,insecure_locks)
Fix: F-53559r1_fix
Remove the "insecure_locks" option from all NFS exports on the system. Procedure: Edit /etc/exports and remove all instances of the insecure_locks option. Re-export the file systems to make the setting take effect. # exportfs -a
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN000000-LNX00580
- Vuln IDs
-
- V-4342
- Rule IDs
-
- SV-62991r1_rule
Checks: C-51787r1_chk
Verify that reboot using the CTRL-ALT-DELETE key sequence has been disabled by performing: # grep ctrlaltdel /etc/inittab If the line returned does not specify "/usr/bin/logger", or is not commented out, this is a finding.
Fix: F-53575r1_fix
Ensure the CTRL-ALT-DELETE key sequence has been disabled and attempts to use the sequence are logged. In the /etc/inittab file replace: ca::ctrlaltdel:/sbin/shutdown -t3 -r now with ca:nil:ctrlaltdel:/usr/bin/logger -p security.info "Ctrl-Alt-Del was pressed" Once this change has been made, execute the following command to force the "init" daemon to re-read /etc/inittab: # telinit q
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX00600
- Vuln IDs
-
- V-4346
- Rule IDs
-
- SV-63003r1_rule
Checks: C-51801r1_chk
Ensure the pam_console.so module is not configured in any files in /etc/pam.d by: # cd /etc/pam.d # grep pam_console.so * Or # ls -la /etc/security/console.perms If either the pam_console.so entry or the file /etc/security/console.perms is found then this is a finding.
Fix: F-53595r1_fix
Configure PAM to not grant sole access of administrative privileges to the first user logged in at the console. Identify any instances of pam_console. # cd /etc/pam.d # grep pam_console.so * For any files containing an un-commented reference to pam_console.so, edit the file and remove or comment out the reference. Remove the console.perms file if it exists: # rm /etc/security/console.perms
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002860
- Vuln IDs
-
- V-4357
- Rule IDs
-
- SV-64423r1_rule
Checks: C-52815r2_chk
Check for any crontab entries that rotate audit logs. Procedure: # crontab -l If such a cron job is found, this is not a finding. Otherwise, query the SA. If there is a process automatically rotating audit logs, this is not a finding. If the SA manually rotates audit logs, this is a finding, because if the SA is not there, it will not be accomplished. If the audit output is not archived daily, to tape or disk, this is a finding. This can be ascertained by looking at the audit log directory and, if more than one file is there, or if the file does not have today's date, this is a finding.
Fix: F-54997r1_fix
Configure a cron job or other automated process to rotate the audit logs on a daily basis.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003200
- Vuln IDs
-
- V-4358
- Rule IDs
-
- SV-64329r1_rule
Checks: C-52741r1_chk
Check the mode of the cron.deny file. # ls -lL /etc/cron.deny If the cron.deny file does not exist this is not a finding. If the cron.deny file exists and the mode is more permissive than 0600, this is a finding.
Fix: F-54917r1_fix
Change the mode of the cron.deny file. # chmod 0600 /etc/cron.deny
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003220
- Vuln IDs
-
- V-4360
- Rule IDs
-
- SV-64337r2_rule
Checks: C-52743r5_chk
Determine if there are any crontabs by viewing a long listing of the directory. If there are crontabs, examine them to determine what cron jobs exist. Check for any programs specifying a umask more permissive than 077: Procedure: # ls -lL /var/spool/cron # ls -lL /etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -lL /etc/cron.*|grep -v deny # cat <crontab file> # grep umask <cron program> If there are no cron jobs present, this vulnerability is not applicable. If any cron job contains a umask more permissive than 077, this is a finding.
Fix: F-54923r1_fix
Edit cron script files and modify the umask to 077.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003240
- Vuln IDs
-
- V-4361
- Rule IDs
-
- SV-64343r1_rule
Checks: C-52747r1_chk
# ls -lL /etc/cron.allow If the cron.allow file is not owned by root, sys, or bin, this is a finding.
Fix: F-54929r1_fix
# chown root /etc/cron.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003400
- Vuln IDs
-
- V-4364
- Rule IDs
-
- SV-64287r1_rule
Checks: C-52833r1_chk
Check the mode of the "at" directory. Procedure: # ls -ld /var/spool/at If the directory mode is more permissive than 0755, this is a finding.
Fix: F-55015r2_fix
Change the mode of the "at" directory to 0755. Procedure: # chmod 0755 <at directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003420
- Vuln IDs
-
- V-4365
- Rule IDs
-
- SV-64299r2_rule
Checks: C-52839r3_chk
Check the ownership of the "at" directory: Procedure: # ls -ld /var/spool/at If the directory is not owned by root, sys, bin, daemon, or cron, this is a finding.
Fix: F-55293r3_fix
Change the owner of the "at" directory to root, bin, sys, or system. Procedure: # chown <root or other system account> <"at" directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003440
- Vuln IDs
-
- V-4366
- Rule IDs
-
- SV-64409r1_rule
Checks: C-52843r2_chk
Determine what "at" jobs exist on the system. Procedure: # ls /var/spool/at If there are no "at" jobs present, this is not applicable. Determine if any of the "at" jobs or any scripts referenced execute the "umask" command. Check for any umask setting more permissive than 077. # grep umask <at job or referenced script> If any "at" job or referenced script sets umask to a value more permissive than 077, this is a finding.
Fix: F-55023r1_fix
Edit "at" jobs or referenced scripts to remove "umask" commands that set umask to a value less restrictive than 077.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003460
- Vuln IDs
-
- V-4367
- Rule IDs
-
- SV-64319r1_rule
Checks: C-52847r1_chk
# ls -lL /etc/at.allow If the at.allow file is not owned by root, sys, or bin, this is a finding.
Fix: F-55027r1_fix
Change the owner of the at.allow file. # chown root /etc/at.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003480
- Vuln IDs
-
- V-4368
- Rule IDs
-
- SV-64417r1_rule
Checks: C-52851r1_chk
# ls -lL /etc/at.deny If the at.deny file is not owned by root, sys, or bin, this is a finding.
Fix: F-55031r1_fix
Change the owner of the at.deny file. # chown root /etc/at.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003960
- Vuln IDs
-
- V-4369
- Rule IDs
-
- SV-63487r1_rule
Checks: C-52179r1_chk
# ls -lL /bin/traceroute If the traceroute command is not owned by root, this is a finding.
Fix: F-54095r1_fix
Change the owner of the traceroute command to root. Example: # chown root /bin/traceroute
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003980
- Vuln IDs
-
- V-4370
- Rule IDs
-
- SV-63511r1_rule
Checks: C-52189r1_chk
Check the group ownership of the traceroute file. Procedure: # ls -lL /bin/traceroute If the traceroute command is not group-owned by root, sys, bin, or system, this is a finding.
Fix: F-54115r1_fix
Change the group-owner of the traceroute command to root. Procedure: # chgrp root /bin/traceroute
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004000
- Vuln IDs
-
- V-4371
- Rule IDs
-
- SV-63525r1_rule
Checks: C-52193r1_chk
# ls -lL /bin/traceroute If the traceroute command has a mode more permissive than 0700, this is a finding.
Fix: F-54131r1_fix
Change the mode of the traceroute command. # chmod 0700 /bin/traceroute
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN004220
- Vuln IDs
-
- V-4382
- Rule IDs
-
- SV-63545r1_rule
Checks: C-52211r1_chk
Look in the root account home directory for a .mozilla directory. If none exists, this is not a finding. If there is one, verify with the root users and the IAO the intent of the browsing. If the browsing is not limited to authorized local services administration, this is a finding.
Fix: F-54155r1_fix
Enforce policy requiring administrative accounts use web browsers only for local service administration.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004560
- Vuln IDs
-
- V-4384
- Rule IDs
-
- SV-63771r1_rule
Checks: C-52339r1_chk
To check for the version of either sendmail or Postfix being displayed in the greeting: # telnet localhost 25 If a version number is displayed, this is a finding.
Fix: F-54351r1_fix
Ensure sendmail or Postfix has been configured to mask the version information. Procedure for sendmail: Change the O SmtpGreetingMessage line in the /etc/mail/sendmail.cf file as noted below: O SmtpGreetingMessage=$j Sendmail $v/$Z; $b change it to: O SmtpGreetingMessage= Mail Server Ready ; $b for Postfix: Examine the "smtpd_banner" line of /etc/postfix/main.conf and remove any "$mail_version" entry on it or comment the entire "smtpd_banner" line to use the default value which does not display the version information.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN004580
- Vuln IDs
-
- V-4385
- Rule IDs
-
- SV-62713r2_rule
Checks: C-51627r2_chk
Check forwarding capability from sendmail. Procedure: grep "O ForwardPath" /etc/mail/sendmail.cf If the entry contains a file path, this is a finding. Search for any .forward in users home directories on the system by: # for pwline in `cut -d: -f1,6 /etc/passwd`; do homedir=`echo ${pwline}|cut -d: -f2`;username=`echo ${pwline} | cut -d: -f1`;echo $username `stat -c %n $homedir/.forward 2>null`; done|egrep "\.forward" If any users have a .forward file in their home directory, this is a finding.
Fix: F-53311r2_fix
Disable forwarding for sendmail and remove .forward files from the system Procedure: Edit the /etc/mail/sendmail.mc file to change the ForwardPath entry to a null path by adding the line define(`confFORWARD_PATH',`') rebuild the sendmail.cf file. Remove all .forward files on the system # find / -name .forward -delete
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN005000
- Vuln IDs
-
- V-4387
- Rule IDs
-
- SV-63109r1_rule
Checks: C-51863r1_chk
Check the shell for the anonymous FTP account. Procedure: # grep "^ftp" /etc/passwd This is a finding if the seventh field is empty (the entry ends with a ':') or if the seventh field does not contain one of the following: /bin/false /dev/null /usr/bin/false /bin/true /sbin/nologin
Fix: F-53697r1_fix
Configure anonymous FTP accounts to use a non-functional shell. If necessary, edit the /etc/passwd file to remove any functioning shells associated with the ftp account and replace them with non-functioning shells, such as /dev/null.
- RMF Control
- SC-32
- Severity
- M
- CCI
- CCI-001208
- Version
- GEN005380
- Vuln IDs
-
- V-4392
- Rule IDs
-
- SV-63465r1_rule
Checks: C-52167r1_chk
Ask the SA if this is an NMS server. If it is an NMS server, then ask what other applications run on it. If there is anything other than network management software and DBMS software used only for the storage and inquiry of NMS data, this is a finding.
Fix: F-54071r1_fix
Ensure only authorized software is loaded on a designated NMS server. Authorized software is limited to the NMS software itself, a database management system for the NMS server if necessary, and network management software.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005400
- Vuln IDs
-
- V-4393
- Rule IDs
-
- SV-63473r2_rule
Checks: C-52175r3_chk
Check /etc/syslog.conf or /etc/rsyslog.conf ownership: For syslog: # ls -lL /etc/syslog.conf For rsyslog: # ls -lL /etc/rsyslog.conf If /etc/syslog.conf or /etc/rsyslog.conf is not owned by root, this is a finding.
Fix: F-54079r3_fix
Use the chown command to set the owner to root. # chown root /etc/syslog.conf Or: # chown root /etc/rsyslog.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005420
- Vuln IDs
-
- V-4394
- Rule IDs
-
- SV-65303r2_rule
Checks: C-53515r2_chk
Check /etc/syslog.conf or /etc/rsyslog.conf group ownership. Procedure: # ls -lL /etc/syslog.conf Or: # ls -lL /etc/syslog.conf If /etc/syslog.conf or /etc/rsyslog.conf is not group owned by root, sys, bin, or system, this is a finding.
Fix: F-55907r2_fix
Procedure: # chgrp root /etc/syslog.conf Or # chgrp root /etc/rsyslog.conf
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005460
- Vuln IDs
-
- V-4395
- Rule IDs
-
- SV-63507r2_rule
Checks: C-52195r3_chk
Examine the syslog.conf or rsyslog.conf file for any references to remote log hosts. # grep -v "^#" /etc/syslog.conf | grep '@' Or: # grep -v "^#" /etc/rsyslog.conf | grep '@' Destination locations beginning with an '@' represent log hosts. If the log host name is a local alias such as "loghost", consult the /etc/hosts or other name databases as necessary to obtain the canonical name or address for the log host. Determine if the host referenced is a log host documented using site-defined procedures. If an undocumented log host is referenced, this is a finding.
Fix: F-54133r2_fix
Remove or document the referenced undocumented log host.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005560
- Vuln IDs
-
- V-4397
- Rule IDs
-
- SV-64105r1_rule
Checks: C-52521r1_chk
Check the system for an IPv4 default route. If the system is a VM host and acts as a router solely for the benefit of its client systems, then this rule is not applicable. Procedure: # netstat -r |grep default If a default route is not defined, this is a finding.
Fix: F-54633r1_fix
Set a default gateway for IPv4.
- RMF Control
- SC-32
- Severity
- M
- CCI
- CCI-001208
- Version
- GEN005580
- Vuln IDs
-
- V-4398
- Rule IDs
-
- SV-64109r2_rule
Checks: C-52525r2_chk
If the system is a VM host and acts as a router solely for the benefit of its client systems, then this rule is not applicable. Check to see if the system is a router: # chkconfig --list | grep :on | egrep '(ospf|route|bgp|zebra|quagga)' If the system is running a routing service, it is a router. If it is not, this is not applicable. Check the system for non-routing network services. Procedure: # netstat -a | grep -i listen # ps -ef If non-routing services, including Web servers, file servers, DNS servers, or applications servers, but excluding management services such as SSH and SNMP, are running on the system, this is a finding.
Fix: F-54637r1_fix
Ensure only authorized software is loaded on a designated router. Authorized software will be limited to the most current version of routing protocols and SSH for system administration purposes.
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001436
- Version
- GEN006380
- Vuln IDs
-
- V-4399
- Rule IDs
-
- SV-63813r1_rule
Checks: C-52357r1_chk
If the system does not use NIS or NIS+, this is not applicable. Check if NIS or NIS+ is implemented using UDP. Procedure: # rpcinfo -p | grep yp | grep udp If NIS or NIS+ is implemented using UDP, this is a finding.
Fix: F-54391r1_fix
Configure the system to not use UDP for NIS and NIS+. Consult vendor documentation for the required procedure.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002020
- Vuln IDs
-
- V-4427
- Rule IDs
-
- SV-63611r1_rule
Checks: C-52251r2_chk
Locate and examine all r-commands access control files. Procedure: # find / -name .rhosts # more /<directorylocation>/.rhosts # find / -name .shosts # more /<directorylocation>/.shosts # find / -name hosts.equiv # more /<directorylocation>/hosts.equiv # find / -name shosts.equiv # more /<directorylocation>/shosts.equiv If any .rhosts, .shosts, hosts.equiv, or shosts.equiv file contains other than host-user pairs, this is a finding.
Fix: F-54211r1_fix
If possible, remove the .rhosts, .shosts, hosts.equiv, and shosts.equiv files. If the files are required, remove any content from the files except for necessary host-user pairs.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002060
- Vuln IDs
-
- V-4428
- Rule IDs
-
- SV-63635r1_rule
Checks: C-52269r2_chk
Procedure: # ls -l /etc/hosts.equiv # ls -l /etc/ssh/shosts.equiv # find / -name .rhosts # ls -al <home directory>/.rhosts # find / -name .shosts # ls -al <home directory>/.shosts # find / -name .netrc # ls -al <home directory>/.netrc If the .rhosts, .shosts, hosts.equiv, or shosts.equiv files have permissions greater than 600, then this is a finding. If the /etc/hosts.equiv, or /etc/ssh/shosts.equiv files are not owned by root, this is a finding. Any .rhosts, .shosts and .netrc files outside of home directories have no meaning and are not subject to this rule If the ~/.rhosts or ~/.shosts are not owned by the owner of the home directory where they are immediately located or by root, this is a finding.
Fix: F-54231r2_fix
Ensure the permission for these files is set to 600 or more restrictive and their owner is root or the same as the owner of the home directory in which they reside. Procedure: # chmod 600 /etc/hosts.equiv # chmod 600 /etc/ssh/shosts.equiv # chown root /etc/hosts.equiv # chown root /etc/ssh/shosts.equiv # find / -name .rhosts # chmod 600 /<home directory>/.rhosts # chown <home directory owner> <home directory>/.rhosts # find / -name .shosts # chmod 600 <directory location>/.shosts # chown <home directory owner> <home directory>/.shosts # find / -name .netrc # chmod 600 <directory location>/.netrc # chown <home directory owner> <home directory>/.netrc
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003260
- Vuln IDs
-
- V-4430
- Rule IDs
-
- SV-64361r1_rule
Checks: C-52763r1_chk
# ls -lL /etc/cron.deny If the cron.deny file is not owned by root, sys, or bin, this is a finding.
Fix: F-54945r1_fix
# chown root /etc/cron.deny
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-000068
- Version
- GEN003820
- Vuln IDs
-
- V-4687
- Rule IDs
-
- SV-64011r1_rule
Checks: C-52593r1_chk
Check to see if rshd is configured to run on startup. Procedure: # grep disable /etc/xinetd.d/rsh If /etc/xinetd.d/rsh exists and rsh is found to be enabled, this is a finding.
Fix: F-54707r1_fix
Edit /etc/xinetd.d/rsh and set "disable=yes".
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001435
- Version
- GEN003840
- Vuln IDs
-
- V-4688
- Rule IDs
-
- SV-64037r1_rule
Checks: C-52603r1_chk
# grep disable /etc/xinetd.d/rexec If the service file exists and is not disabled, this is a finding.
Fix: F-54719r1_fix
Edit /etc/xinetd.d/rexec and set "disable=yes"
- RMF Control
- SI-2
- Severity
- H
- CCI
- CCI-001230
- Version
- GEN004600
- Vuln IDs
-
- V-4689
- Rule IDs
-
- SV-62907r2_rule
Checks: C-51735r3_chk
Determine the version of the SMTP service software. Procedure: # rpm -q sendmail sendmail-8.13.8-10 is the latest required version. If sendmail is installed and the version is not at least 8.13.8-10, this is a finding. # rpm -q postfix postfix-2.3.3-7.el5 is the latest required version. If the postfix is installed and the version is not at least 2:2.3.3-7, this is a finding.
Fix: F-53485r1_fix
Obtain and install a newer version of the SMTP service software (sendmail or Postfix) from the operating system vendor.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN004620
- Vuln IDs
-
- V-4690
- Rule IDs
-
- SV-62813r1_rule
Checks: C-51683r1_chk
Check for an enabled "debug" command provided by the SMTP service. Procedure: # telnet localhost 25 debug If the command does not return a 500 error code of "command unrecognized" or a 550 error code of "access denied", this is a finding. The operating system distribution ships with sendmail Version 8.13.8 which is not vulnerable. This should never be a finding.
Fix: F-53399r1_fix
Obtain and install a newer version of the SMTP service software (sendmail or Postfix) from the operating system vendor.
- RMF Control
- SI-2
- Severity
- H
- CCI
- CCI-001230
- Version
- GEN004640
- Vuln IDs
-
- V-4691
- Rule IDs
-
- SV-62821r1_rule
Checks: C-51691r1_chk
Check the SMTP service for an active "decode" command. Procedure: # telnet localhost 25 decode If the command does not return a 500 error code of "command unrecognized", this is a finding.
Fix: F-53405r1_fix
Disable mail aliases for decode and uudecode. If the /etc/aliases or /usr/lib/aliases (mail alias) file contains entries for these programs, remove them or disable them by placing "#" at the beginning of the line, and then executing the new aliases command. For more information on mail aliases, refer to the man page for aliases. Disabled aliases would be similar to these examples: # decode: |/usr/bin/uudecode # uudecode: |/usr/bin/uuencode -d
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004660
- Vuln IDs
-
- V-4692
- Rule IDs
-
- SV-62833r1_rule
Checks: C-51699r3_chk
This vulnerability is applicable only to sendmail. If Postfix is the SMTP service for the system this will never be a finding. Procedure: Determine if EXPN is disabled. # grep -v "^#" /etc/mail/sendmail.cf |grep -i PrivacyOptions If nothing is returned or the returned line does not contain "noexpn", this is a finding.
Fix: F-53411r2_fix
Rebuild /etc/mail/sendmail.cf with the "noexpn" Privacy Flag set. Procedure: Edit /etc/mail/sendmail.mc resetting the Privacy Flags to the default: define('confPRIVACYFLAGS', 'authwarnings,novrfy,noexpn,restrictqrun')dnl Rebuild the sendmail.cf file with: # make -C /etc/mail Restart the sendmail service. # service sendmail restart
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004680
- Vuln IDs
-
- V-4693
- Rule IDs
-
- SV-62859r1_rule
Checks: C-51711r1_chk
Determine if VRFY is disabled. Procedure: # telnet localhost 25 vrfy root If the command does not return a 500 error code of "command unrecognized", this is a finding. or: # grep -v "^#" /etc/mail/sendmail.cf |grep -i vrfy Verify the VRFY command is disabled with an entry in the sendmail.cf file. The entry could be any one of "Opnovrfy", "novrfy", or "goaway", which could also have other options included, such as "noexpn". The "goaway" argument encompasses many things, such as "novrfy" and "noexpn". If no setting to disable VRFY is found, this is a finding.
Fix: F-53439r1_fix
Add the "novrfy" flag to your sendmail in /etc/mail/sendmail.cf. Procedure: Edit the definition of "confPRIVACY_FLAGS" in /etc/mail/sendmail.mc to include "novrfy". Rebuild the sendmail.cf file with: # make -C /etc/mail Restart the sendmail service. # service sendmail restart
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004700
- Vuln IDs
-
- V-4694
- Rule IDs
-
- SV-62867r1_rule
Checks: C-51713r1_chk
Log into the sendmail server with telnet and test the "wiz" command. Procedure: # telnet localhost 25 Trying 127.0.0.1... Connected to locahost.localdomain (127.0.0.1). Escape character ... Once the telnet greeting is complete type: wiz If you do not get a "Command unrecognized: " message, this is a finding.
Fix: F-53447r1_fix
If the WIZ command exists on sendmail then the version of sendmail is archaic and should be replaced with the latest version from the operating system vendor. WIZ is not available on any sendmail distribution delivered by this operating system. However, if the WIZ command is enabled on sendmail, it should be disabled by adding this line to the sendmail.cf configuration file (note that it must be typed in uppercase): OW* For the change to take effect, kill the sendmail process, refreeze the sendmail.cf file, and restart the sendmail process.
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN005140
- Vuln IDs
-
- V-4695
- Rule IDs
-
- SV-63167r1_rule
Checks: C-51923r1_chk
Determine if the TFTP daemon is active. # chkconfig --list | grep tftp If TFTP is found enabled ("on") and not documented using site-defined procedures, it is a finding.
Fix: F-53771r1_fix
Document or Disable the TFTP daemon. If the TFTP daemon is necessary on the system, document and justify its usage for approval from the IAO. If the TFTP daemon is not necessary on the system, turn it off. # chkconfig tftp off # service xinetd restart
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN005280
- Vuln IDs
-
- V-4696
- Rule IDs
-
- SV-63353r1_rule
Checks: C-52065r1_chk
# service uucp status if UUCP is "running", this is a finding.
Fix: F-53951r1_fix
# chkconfig uucp off # service uucp stop # service xinetd restart
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN005200
- Vuln IDs
-
- V-4697
- Rule IDs
-
- SV-63295r1_rule
Checks: C-51997r1_chk
If Xwindows is not used on the system, this is not applicable. Check the output of the "xhost" command from an X terminal. Procedure: # xhost If the output reports access control is enabled (and possibly lists the hosts able to receive X window logins), this is not a finding. If the xhost command returns a line indicating access control is disabled, this is a finding. Note: It may be necessary to define the display if the command reports it cannot open the display. Procedure: $ DISPLAY=MachineName:0.0; export DISPLAY MachineName may be replaced with an Internet Protocol Address. Repeat the check procedure after setting the display.
Fix: F-53885r1_fix
If using an xhost-type authentication the "xhost -" command can be used to remove current trusted hosts and then selectively allow only trusted hosts to connect with "xhost +" commands. A cryptographically secure authentication, such as provided by the xauth program, is always preferred. Refer to your X11 server's documentation for further security information.
- RMF Control
- AC-4
- Severity
- L
- CCI
- CCI-001551
- Version
- GEN003860
- Vuln IDs
-
- V-4701
- Rule IDs
-
- SV-64051r1_rule
Checks: C-52609r1_chk
# grep disable /etc/xinetd.d/finger If the finger service is not disabled, this is a finding.
Fix: F-54729r1_fix
Edit /etc/xinetd.d/finger and set "disable=yes"
- RMF Control
- IA-4
- Severity
- M
- CCI
- CCI-000787
- Version
- GEN004840
- Vuln IDs
-
- V-4702
- Rule IDs
-
- SV-62925r1_rule
Checks: C-51749r1_chk
Use the command "ftp" to connect the system's FTP service. Attempt to log into this host with a user name of anonymous and a password of guest (also try the password of guest@mail.com). If the logon is not successful, this check is Not Applicable. Ask the SA if the system is located on a DMZ network. If the system is not located on a DMZ network, this is a finding.
Fix: F-53501r1_fix
Remove anonymous ftp capability or move the system to a DMZ network.
- RMF Control
- SI-2
- Severity
- H
- CCI
- CCI-001230
- Version
- GEN000100
- Vuln IDs
-
- V-11940
- Rule IDs
-
- SV-63095r1_rule
Checks: C-51847r1_chk
Check the version of the operating system. Example: # cat /etc/oracle-release Vendor End-of-Support Information: Oracle Linux 5 premier support ends on March 2017, but sustaining support continues indefinitely. For more information, see the Oracle Lifetime Support Policy for Oracle Linux at: http://www.oracle.com/us/support/library/elsp-lifetime-069338.pdf. Check with the vendor for additional information. If the version installed is not supported, this is a finding.
Fix: F-53679r1_fix
Upgrade to a supported version of the operating system.
- RMF Control
- RA-5
- Severity
- M
- CCI
- CCI-001069
- Version
- GEN000220
- Vuln IDs
-
- V-11945
- Rule IDs
-
- SV-63133r3_rule
Checks: C-51875r3_chk
Check for the presence of an aide on the system: # rpm –qa | grep aide If aide is not installed, ask the SA what file integrity tool is being used to check the system. Check the global crontabs for the presence of an "aide" job to run at least weekly, if aide is installed. Otherwise, check for the presence of a cron job to run the alternate file integrity checking application. # grep aide /etc/cron*/* If a tool is being run then the configuration file for the appropriate tool needs to be checked for selection lines /bin, /sbin, /lib, and /usr. Procedure: Check the root crontab (crontab -l) and the global crontabs in /etc/crontab, /etc/cron.d/* for the presence of an "aide" job to run at least weekly, which should have asterisks (*) in columns 3, 4, and 5. Check the weekly cron directory (/etc/cron.weekly) for any script running "aide --check" or "aide -C" or simply "aide". If there is not, this is a finding. NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.
Fix: F-53715r2_fix
Establish an automated job, scheduled to run weekly or more frequently, to run "aide --check" which is the file integrity tool to check for unauthorized system libraries or binaries. NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000340
- Vuln IDs
-
- V-11946
- Rule IDs
-
- SV-63277r1_rule
Checks: C-51983r1_chk
Check the UID assignments for all accounts. # cut -d: -f 1,3 /etc/passwd | egrep ":[1-4][0-9]{2}$|:[0-9]{1,2}$" Confirm all accounts with a UID of 499 and below are used by a system account. If a UID reserved for system accounts (0 - 499) is used by a non-system account, then this is a finding.
Fix: F-53865r1_fix
Change the UID numbers for non-system accounts with reserved UIDs (those less or equal to 499).
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000205
- Version
- GEN000580
- Vuln IDs
-
- V-11947
- Rule IDs
-
- SV-63903r2_rule
Checks: C-52427r2_chk
Check the system password length setting. Procedure: Check the password minlen option # grep pam_cracklib.so /etc/pam.d/system-auth Confirm the minlen option is set to at least 15 as in the example below: password required pam_cracklib.so minlen=15 There may be other options on the line. If no such line is found, or the minlen is less than 15 this is a finding.
Fix: F-54479r2_fix
Edit "/etc/pam.d/system-auth" to include the line: password required pam_cracklib.so minlen=15 prior to the "password include system-auth-ac" line.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000192
- Version
- GEN000600
- Vuln IDs
-
- V-11948
- Rule IDs
-
- SV-63973r1_rule
Checks: C-52457r1_chk
Check the ucredit setting. # grep ucredit /etc/pam.d/system-auth If ucredit is not set to -1, this is a finding.
Fix: F-54545r1_fix
Edit "/etc/pam.d/system-auth" to include the line: password required pam_cracklib.so ucredit=-1 prior to the "password include system-auth-ac" line.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000194
- Version
- GEN000620
- Vuln IDs
-
- V-11972
- Rule IDs
-
- SV-64071r1_rule
Checks: C-52483r1_chk
Check the dcredit setting. Procedure: Check the password dcredit option # grep pam_cracklib.so /etc/pam.d/system-auth Confirm the dcredit option is set to -1 as in the example: password required pam_cracklib.so dcredit=-1 There may be other options on the line. If no such line is found, or the dcredit option is not -1 this is a finding.
Fix: F-54599r1_fix
Edit "/etc/pam.d/system-auth" to include the line: password required pam_cracklib.so dcredit=-1 prior to the "password include system-auth-ac" line.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-001619
- Version
- GEN000640
- Vuln IDs
-
- V-11973
- Rule IDs
-
- SV-64075r1_rule
Checks: C-52487r1_chk
Check the ocredit setting. Procedure: Check the password ocredit option # grep pam_cracklib.so /etc/pam.d/system-auth Confirm the ocredit option is set to -1 as in the example: password required pam_cracklib.so ocredit=-1 There may be other options on the line. If no such line is found, or the ocredit is not -1 this is a finding.
Fix: F-54601r1_fix
Edit "/etc/pam.d/system-auth" to include the line: password required pam_cracklib.so ocredit=-1 prior to the "password include system-auth-ac" line.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000680
- Vuln IDs
-
- V-11975
- Rule IDs
-
- SV-64079r1_rule
Checks: C-52493r1_chk
Check the maxrepeat setting. Procedure: Check the password maxrepeat configuration # grep pam_cracklib.so /etc/pam.d/system-auth If the maxrepeat option is missing, this is a finding. If the maxrepeat option is set to more than 3, this is a finding.
Fix: F-54607r1_fix
Edit "/etc/pam.d/system-auth" to include the line: password required pam_cracklib.so maxrepeat=3 prior to the "password include system-auth-ac" line.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000180
- Version
- GEN000700
- Vuln IDs
-
- V-11976
- Rule IDs
-
- SV-64083r1_rule
Checks: C-52495r1_chk
Check the max days field (the 5th field) of /etc/shadow. # more /etc/shadow If the max days field is equal to 0 or greater than 60 for any user, this is a finding.
Fix: F-54609r2_fix
Set the max days field to 60 for all user accounts. # passwd -x 60 <user>
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000199
- Version
- GEN000740
- Vuln IDs
-
- V-11977
- Rule IDs
-
- SV-64091r1_rule
Checks: C-52503r1_chk
Ask the SA if there are any automated processing accounts on the system. If there are automated processing accounts on the system, ask the SA if the passwords for those automated accounts are changed at least once a year or are locked. If SA indicates passwords for automated processing accounts are not changed once per year or are not locked, this is a finding.
Fix: F-54617r1_fix
Implement or establish procedures to change the passwords of automated processing accounts at least once per year or lock them.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- GEN001020
- Vuln IDs
-
- V-11979
- Rule IDs
-
- SV-64397r1_rule
Checks: C-52797r1_chk
Check if root is used for direct logins. Procedure: # last root | grep -v reboot Direct logins are indicated by the presence of a terminal or pseudo-terminal ID and/or X display name in the output of the last command. If any direct login records for root are listed, this is a finding.
Fix: F-54979r1_fix
Enforce policy requiring all root account access is attained by first logging into a user account and then becoming root preferably through the use of "sudo" which provides traceability to the command level. If that is not workable then using "su" to access the root account will provide traceability to the login user.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN001060
- Vuln IDs
-
- V-11980
- Rule IDs
-
- SV-64435r2_rule
Checks: C-52821r2_chk
Check the log files to determine if access to the root account is being logged. Procedure: Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Examine /etc/syslog.conf or /etc/rsyslog.conf to confirm the location to which "authpriv" messages will be directed. The default syslog.conf or rsyslog.conf uses /var/log/messages and /var/log/secure but this needs to be confirmed. # grep @ /etc/syslog.conf Or: # grep @ /etc/rsyslog.conf If a line starting with "*.*" is returned then all syslog messages will be sent to system whose address appears after the "@". In this case syslog may or may not be configured to also log "authpriv" messages locally. # grep authpriv /etc/syslog.conf Or: # grep authpriv /etc/rsyslog.conf If any lines are returned which do not start with "#" the "authpriv" messages will be sent to the indicated files or remote systems. Try to "su -" and enter an incorrect password. If there are no records indicating the authentication failure, this is a finding.
Fix: F-55003r2_fix
Troubleshoot the system logging configuration to provide for logging of root account login attempts. Procedure: Edit /etc/syslog.conf or /etc/rsyslog.conf to make sure "authpriv.*" messages are directed to a file or remote system. Examine /etc/audit/audit.rules to ensure user authentication messages have not been specifically excluded. Remove any entries that correspond to: -a exclude,never -Fmsgtype=USER_START -a exclude,never -Fmsgtype=USER_LOGIN -a exclude,never -Fmsgtype=USER_AUTH -a exclude,never -Fmsgtype=USER_END -a exclude,never -Fmsgtype=USER_ACCT
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001720
- Vuln IDs
-
- V-11981
- Rule IDs
-
- SV-63865r1_rule
Checks: C-52403r1_chk
Check global initialization files permissions: # ls -l /etc/bashrc # ls -l /etc/csh.cshrc # ls -l /etc/csh.login # ls -l /etc/csh.logout # ls -l /etc/environment # ls -l /etc/ksh.kshrc # ls -l /etc/profile # ls -l /etc/suid_profile # ls -l /etc/profile.d/* If global initialization files are more permissive than 0644, this is a finding.
Fix: F-54439r2_fix
Change the mode of the global initialization file(s) to 0644. # chmod 0644 <global initialization file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001740
- Vuln IDs
-
- V-11982
- Rule IDs
-
- SV-63869r1_rule
Checks: C-52409r1_chk
Check the ownership of global initialization files. Procedure: # ls -lL etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* This should show information for each file. Examine to ensure the owner is always root or: # ls etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* 2>null|xargs stat -L -c %U:%n|egrep -v "^root" This will show you only the owner and filename of files not owned by root. If any global initialization file is not owned by root, this is a finding.
Fix: F-54443r3_fix
Change the ownership of global initialization files with incorrect ownership. Procedure: # chown root <global initialization files> or: # ls etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* 2>null|xargs stat -L -c %U:%n|egrep -v "^root"|cut -d: -f2|xargs chown root will set the owner of all files not currently owned by root to root.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001760
- Vuln IDs
-
- V-11983
- Rule IDs
-
- SV-63871r1_rule
Checks: C-52411r1_chk
Check the group ownership of global initialization files. Procedure: # ls -lL etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* This should show information for each file. Examine to ensure the group is always root or: # ls -lL etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* 2>null|sed "s/^[^\/]*//"|xargs stat -L -c %G:%n|egrep -v "^(root|sys|bin|other):" will show you only the group and filename of files not owned by one of the approved groups. If any global initialization file is not group-owned by root, sys, bin, other, system, or the system default, this is a finding.
Fix: F-54445r2_fix
Change the group ownership of the global initialization file(s) with incorrect group ownership. Procedure: # chgrp root <global initialization file> or: # ls -lL /etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* 2>null|sed "s/^[^\/]*//"|xargs stat -L -c %G:%n|egrep -v "^(root|sys|bin|other):"|cut -d: -f2|xargs chgrp root will set the group of all files not currently owned by an approved group to root.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001820
- Vuln IDs
-
- V-11984
- Rule IDs
-
- SV-63307r1_rule
Checks: C-52017r1_chk
Check skeleton files ownership. # ls -alL /etc/skel If a skeleton file is not owned by root or bin, this is a finding.
Fix: F-53901r2_fix
Change the ownership of skeleton files with incorrect mode: # chown root <skeleton file> or # ls -L /etc/skel|xargs stat -L -c %U:%n|egrep -v "^(root|bin):"|cut -d: -f2|chown root will change all files not owned by root or bin to root.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001840
- Vuln IDs
-
- V-11985
- Rule IDs
-
- SV-63327r2_rule
Checks: C-52039r2_chk
Check the global initialization files' executable search paths. Procedure: # grep PATH /etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/) or other than "$PATH", it is a relative path, and this is a finding.
Fix: F-53925r1_fix
Edit the global initialization file(s) with PATH variables containing relative paths. Edit the file and remove the relative path from the PATH variable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001900
- Vuln IDs
-
- V-11986
- Rule IDs
-
- SV-63541r2_rule
Checks: C-52209r2_chk
Verify local initialization files have executable search path containing only absolute paths or relative paths are necessary and documented. Procedure: NOTE: This must be done in the BASH shell. # cut -d: -f6 /etc/passwd |xargs -n1 -IDIR find DIR -name ".*" -type f -maxdepth 1 -exec grep -l PATH {} \; This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/) or other than "$PATH", it is a relative path. Ask the SA or IAO if the relative path is required for the operation of a specific application. If it is not, this is a finding.
Fix: F-54153r1_fix
Edit the local initialization file and remove the relative path entry from the executable search path variable. If this is not feasible, justify and document the necessity of having the relative path for a specific application.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001980
- Vuln IDs
-
- V-11987
- Rule IDs
-
- SV-63581r1_rule
Checks: C-52237r2_chk
Check system configuration files for plus (+) entries. Procedure: # find / -name .rhosts # grep + /<directorylocation>/.rhosts # find / -name .shosts # grep + /<directorylocation>/.shosts # find / -name hosts.equiv # grep + /<directorylocation>/hosts.equiv # find / -name shosts.equiv # grep + /<directorylocation>/shosts.equiv # grep + /etc/passwd # grep + /etc/shadow # grep + /etc/group If the .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files contain a plus (+) and do not define entries for NIS+ netgroups, this is a finding.
Fix: F-54185r1_fix
Edit the .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files and remove entries containing a plus (+).
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN002040
- Vuln IDs
-
- V-11988
- Rule IDs
-
- SV-63621r1_rule
Checks: C-52267r1_chk
Check for the existence of the files. # find / -name .rhosts # find / -name .shosts # find / -name hosts.equiv # find / -name shosts.equiv If .rhosts, .shosts, hosts.equiv, or shosts.equiv are found and their use has not been documented and approved by the IAO, this is a finding.
Fix: F-54219r1_fix
Remove all the r-commands access control files. Procedure: # find / -name .rhosts -exec rm {} \; # find / -name .shosts -exec rm {} \; # find / -name hosts.equiv -exec rm {} \; # find / -name shosts.equiv -exec rm {} \;
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002100
- Vuln IDs
-
- V-11989
- Rule IDs
-
- SV-63647r1_rule
Checks: C-52275r1_chk
Check the PAM configuration for rhosts_auth. Example: # grep rhosts_auth /etc/pam.d/* If a rhosts_auth entry is found, this is a finding.
Fix: F-54235r1_fix
Edit the file(s) in /etc/pam.d referencing the rhosts_auth module, and remove the references to the rhosts_auth module.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002540
- Vuln IDs
-
- V-11990
- Rule IDs
-
- SV-63797r1_rule
Checks: C-52347r1_chk
Check the group-ownership of public directories. Procedure: # find / -type d -perm -1002 -exec ls -ld {} \; If any public directory is not group-owned by root, sys, bin, or an application group, this is a finding.
Fix: F-54375r1_fix
Change the group-ownership of the public directory. Procedure: # chgrp root /tmp (Replace root with a different system group and/or /tmp with a different public directory as necessary.)
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003040
- Vuln IDs
-
- V-11994
- Rule IDs
-
- SV-64401r1_rule
Checks: C-52801r1_chk
List all crontabs on the system. # ls -lL /var/spool/cron # ls -lL /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -lL /etc/cron*|grep -v deny If any crontab is not owned by root or the creating user, this is a finding.
Fix: F-54983r2_fix
Change the crontab owner to root or the crontab creator. # chown root <crontab file> or # chown <user> <crontab file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003060
- Vuln IDs
-
- V-11995
- Rule IDs
-
- SV-64395r1_rule
Checks: C-52795r1_chk
Check the cron.allow and cron.deny files for the system. # more /etc/cron.allow # more /etc/cron.deny If a default system account (such as bin, sys, adm, or others, traditionally UID less than 500) is listed in the cron.allow file, or not listed in the cron.deny file and if no cron.allow file exists, this is a finding.
Fix: F-54977r1_fix
Remove default system accounts (such as bin, sys, adm, or others, traditionally UID less than 500) from the cron.allow file if it exists, or add those accounts to the cron.deny file.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN003500
- Vuln IDs
-
- V-11996
- Rule IDs
-
- SV-64311r2_rule
Checks: C-52857r2_chk
# ulimit -Hc If the above command does not return 0 and the enabling of core dumps has not been documented and approved by the ISSO, this a finding.
Fix: F-55037r3_fix
Edit /etc/security/limits.conf and set a hard limit for "core" to 0 for all users. A new logon will be required for the changes to take effect.
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003520
- Vuln IDs
-
- V-11997
- Rule IDs
-
- SV-64427r2_rule
Checks: C-52863r2_chk
Verify the location of the kernel core dump data directory: # grep “path” /etc/kdump.conf Note: If this setting is not configured or commented out, the default kernel dump data directory is /var/crash. Check the ownership of the dump data directory: # ls –ld <path to kernel core dump data directory> If the kernel core dump data directory is not owned by root, this is a finding.
Fix: F-55041r2_fix
Change the owner of the kernel core dump data directory to root. # chown root <path to kernel core dump data directory>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN003540
- Vuln IDs
-
- V-11999
- Rule IDs
-
- SV-64439r1_rule
Checks: C-52871r1_chk
If the system being evaluated is running a Red Hat compatible operating system kernel, check that the "kernel.exec-shield" kernel parameter is set to "1" in /etc/sysctl.conf. If the system is running an Oracle Unbreakable Enterprise kernel, verify that Oracle's Data Execution Prevention is enabled. First, determine if the system is operating an Oracle Unbreakable Enterprise Kernel (UEK): # uname -r | grep uek If no value is returned, the system is running a Red Hat compatible kernel. Verify the "kernel.exec-shield" kernel parameter is set to "1" in /etc/sysctl.conf: # grep ^kernel\.exec-shield /etc/sysctl.conf | awk -F= '{ print $2 }' kernel.exec-shield = 1 If there is no value returned or if a value is returned that is not "2", this is a finding. If the system was found to be running an Unbreakable Enterprise Kernel, verify DEP is enabled: # dmesg | grep 'NX.*protection: If there is no value returned or if a value is returned that is not "NX (Execute Disable) protection: active", this is a finding. Note that this is not a finding when the underlying processor architecture does not support the "Execute Disable" (NX) capability. To determine if the processor supports this capability, run the command: # cat /proc/cpuinfo | grep flags | xargs -n 1 echo | grep -w "nx" | sort -u If a system's underlying processor supports this functionality, a single entry containing the keyword "nx" will be returned.
Fix: F-55049r1_fix
If the system being evaluated is running a Red Hat compatible operating system kernel, then ensure that the "kernel.exec-shield" kernel parameter is set to "1". If the system is running an Oracle Unbreakable Enterprise Kernel, this parameter does not exist. When an Unbreakable Enterprise Kernel is booted, Oracle's Data Execution Prevention (DEP) feature will leverage the hardware-enforced NX (never execute) bit of compatible CPUs to protect against code being executed from the stack. By default, DEP is enabled. If DEP is not enabled, ensure the string "noexec=off" does not appear in /boot/grub/grub.conf. First, determine if the system is operating an Oracle Unbreakable Enterprise Kernel (UEK): # uname -r | grep uek If no value is returned, the system is running a Red Hat compatible kernel. Edit (or add if necessary) the entry in /etc/sysctl.conf for the "kernel.exec-shield" kernel parameter. Ensure this parameter is set to "1" as in: kernel.exec-shield = 1 If this was not already the default, reboot the system for the change to take effect. If the system was found to be running an Unbreakable Enterprise Kernel, then ensure the string "noexec=off" is not found in /boot/grub/grub.conf: # grep noexec=off /boot/grub/grub.conf If found, remove the offending entry and reboot the system for the change to take effect.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003600
- Vuln IDs
-
- V-12002
- Rule IDs
-
- SV-64451r1_rule
Checks: C-52877r1_chk
Verify the system does not accept source-routed IPv4 packets. Procedure: # grep [01] /proc/sys/net/ipv4/conf/*/accept_source_route|egrep "default|all" If all of the returned lines do not end with 0, this is a finding. Note: The same setting is used by Linux for both the local acceptance and forwarding of source-routed IPv4 packets.
Fix: F-55055r1_fix
Configure the system to not accept source-routed IPv4 packets. Edit /etc/sysctl.conf and add a setting for "net.ipv4.conf.all.accept_source_route=0" and "net.ipv4.conf.default.accept_source_route=0". Reload the sysctls. Procedure: # sysctl -p
- RMF Control
- SC-32
- Severity
- L
- CCI
- CCI-001208
- Version
- GEN003620
- Vuln IDs
-
- V-12003
- Rule IDs
-
- SV-64215r1_rule
Checks: C-52671r1_chk
Determine if the /home path is a separate filesystem. # grep "/home " /etc/fstab If no result is returned, /home is not on a separate filesystem this is a finding.
Fix: F-54825r1_fix
Migrate the /home (or equivalent) path onto a separate file system.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN003660
- Vuln IDs
-
- V-12004
- Rule IDs
-
- SV-64229r2_rule
Checks: C-52683r2_chk
Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Check /etc/syslog.conf or /etc/rsyslog.conf and verify the authpriv facility is logging both the "notice" and "info" priority messages. Procedure: For a given action all messages of a higher severity or "priority" are logged. The three lowest priorities in ascending order are "debug", "info" and "notice". A priority of "info" will include "notice". A priority of "debug" includes both "info" and "notice". Enter/Input for syslog: # grep "authpriv.debug" /etc/syslog.conf # grep "authpriv.info" /etc/syslog.conf # grep "authpriv\.\*" /etc/syslog.conf Enter/Input for rsyslog: # grep "authpriv.debug" /etc/rsyslog.conf # grep "authpriv.info" /etc/rsyslog.conf # grep "authpriv\.\*" /etc/rsyslog.conf If an "authpriv.*", "authpriv.debug", or "authpriv.info" entry is not found, this is a finding.
Fix: F-54837r2_fix
Edit /etc/syslog.conf or /etc/rsyslog.conf and add local log destinations for "authpriv.*", "authpriv.debug" or "authpriv.info".
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003700
- Vuln IDs
-
- V-12005
- Rule IDs
-
- SV-64231r1_rule
Checks: C-52685r1_chk
# ps -ef |grep xinetd If xinetd is not running, this check is not a finding. # grep -v "^#" /etc/xinetd.conf # grep disable /etc/xinetd.d/* |grep no If no active services are found, and the inetd daemon is running, this is a finding.
Fix: F-54841r1_fix
# service xinetd stop ; chkconfig xinetd off
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN004540
- Vuln IDs
-
- V-12006
- Rule IDs
-
- SV-63759r2_rule
Checks: C-52337r3_chk
Check if Help is disabled. This rule is for "sendmail" only and not applicable to "Postfix". Procedure: # telnet localhost 25 > help If the help command returns any sendmail version information, this is a finding. If sendmail is not installed, this check is not applicable.
Fix: F-54349r1_fix
To disable the SMTP HELP command, clear the Sendmail help file. # echo > /etc/mail/helpfile
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN004800
- Vuln IDs
-
- V-12010
- Rule IDs
-
- SV-62885r1_rule
Checks: C-51721r2_chk
Perform the following to determine if unencrypted FTP is enabled: # chkconfig --list gssftp # chkconfig --list vsftpd If any of these services are found, ask the SA if these services are encrypted. If they are not, this is a finding.
Fix: F-53461r2_fix
Disable the FTP daemons. Procedure: # chkconfig gssftp off # chkconfig vsftpd off
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005040
- Vuln IDs
-
- V-12011
- Rule IDs
-
- SV-63113r1_rule
Checks: C-51867r2_chk
Check the umask setting for FTP users. Procedure: For gssftp: Assuming an anonymous ftp user has been defined with no user initialization script invoked to change the umask # ftp localhost Name: (localhost:root): anonymous Password: anything ftp>umask If the umask value returned is not 077, this is a finding. or: # grep "server_args" /etc/xinetd.d/gssftp The default umask for FTP is "023" if the server _args entry does not contain "-u 077" this is a finding. For vsftp: # grep "_mask" /etc/vsftpd/vsftpd.conf The default "local_umask" setting is 077. If this has been changed, or the "anon_umask" setting is not 077, this is a finding.
Fix: F-53701r1_fix
Edit the initialization files for the ftp user and set the umask to 077. Procedure: For gssftp: Modify the /etc/xinetd.d/gssftp file adding "-u 077" to the server_args entry. For vsftp: Modify the "/etc/vsftpd/vsftpd.conf" setting "local_umask" and "anon_umask" to 077.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005180
- Vuln IDs
-
- V-12014
- Rule IDs
-
- SV-63205r1_rule
Checks: C-51933r2_chk
Check the file permissions for the .Xauthority files. Procedure: # ls -la |egrep "(\.Xauthority|\.xauth)" If the file mode is more permissive than 0600, this is finding.
Fix: F-53789r1_fix
Change the mode of the .Xauthority files. Procedure: # chmod 0600 .Xauthority
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000297
- Version
- GEN005220
- Vuln IDs
-
- V-12016
- Rule IDs
-
- SV-63313r1_rule
Checks: C-52027r1_chk
Determine if the X server is running. Procedure: # ps -ef |grep X Determine if xauth is being used. Procedure: # xauth xauth> list If the above command sequence does not show any host other than the localhost, then xauth is not being used. Search the system for an X*.hosts file, where "*" is a display number used to limit X window connections. If no files are found, X*.hosts files are not being used. If the X*.hosts files contain any unauthorized hosts, this is a finding. If both xauth and X*.hosts files are not being used, this is a finding.
Fix: F-53913r1_fix
Create an X*.hosts file, where "*" is a display number used to limit X window connections. Add the list of authorized X clients to the file.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005240
- Vuln IDs
-
- V-12017
- Rule IDs
-
- SV-63329r1_rule
Checks: C-52043r1_chk
Check the X window system access is limited to authorized clients. Procedure: # xauth xauth> list Ask the SA if the clients listed are authorized. If any are not, this is a finding.
Fix: F-53933r2_fix
Remove unauthorized clients from the xauth configuration. # xauth remove <display name>
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN005260
- Vuln IDs
-
- V-12018
- Rule IDs
-
- SV-63347r1_rule
Checks: C-52061r1_chk
Determine if the X window system is running. Procedure: # ps -ef |grep Xorg Ask the SA if the X window system is an operational requirement. If it is not, this is a finding.
Fix: F-53947r1_fix
Disable the X Windows server on the system.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005360
- Vuln IDs
-
- V-12019
- Rule IDs
-
- SV-63443r1_rule
Checks: C-52143r3_chk
Determine the owner of the SNMP configuration file. Procedure: Find the snmpd.conf file. The default install location is /etc/snmp/snmpd.conf but may be different depending on the SNMP agent installed. # find / -name snmpd.conf # ls -lL <snmpd.conf> If the snmpd.conf file is not owned by root, this is a finding.
Fix: F-54051r2_fix
Change the owner of the snmpd.conf file to root. Procedure: # chown root <snmpd.conf file>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005440
- Vuln IDs
-
- V-12020
- Rule IDs
-
- SV-63495r1_rule
Checks: C-52183r1_chk
Ask the SA if the loghost server is collecting data for hosts outside the local enclave. If it is, this is a finding.
Fix: F-54103r1_fix
Configure the hosts outside of the local enclave to not log to this system.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005480
- Vuln IDs
-
- V-12021
- Rule IDs
-
- SV-63531r1_rule
Checks: C-52201r1_chk
Ask the SA if the system is an authorized syslog server. If the system is an authorized syslog server, this is not applicable. Determine if the system's syslog service is configured to accept remote messages. # ps -ef | grep syslogd If the '-r' option is present, the system is configured to accept remote syslog messages, and this is a finding.
Fix: F-54143r1_fix
Edit /etc/sysconfig/syslog to removing the '-r' in SYSLOGD_OPTIONS. Restart the syslogd service.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005540
- Vuln IDs
-
- V-12022
- Rule IDs
-
- SV-64101r1_rule
Checks: C-52517r1_chk
Check the TCP wrappers configuration files to determine if sshd is configured to use TCP wrappers. Procedure: # grep sshd /etc/hosts.deny # grep sshd /etc/hosts.allow If no entries are returned, the TCP wrappers are not configured for sshd, this is a finding.
Fix: F-54629r1_fix
Add appropriate IP restrictions for SSH to the /etc/hosts.deny and/or /etc/hosts.allow files.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005600
- Vuln IDs
-
- V-12023
- Rule IDs
-
- SV-64113r1_rule
Checks: C-52529r1_chk
Check if the system is configured for IPv4 forwarding. If the system is a VM host and acts as a router solely for the benefits of its client systems, then this rule is not applicable. Procedure: # cat /proc/sys/net/ipv4/ip_forward If the value is set to "1", IPv4 forwarding is enabled this is a finding.
Fix: F-54641r1_fix
Edit "/etc/sysctl.conf" and set net.ipv4.ip_forward to "0". Restart the system or run "sysctl -p" to make the change take effect.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006000
- Vuln IDs
-
- V-12024
- Rule IDs
-
- SV-64137r1_rule
Checks: C-52621r1_chk
If an IM client is installed, ask the SA if it has access to any public domain IM servers. If it does have access to public servers, this is a finding.
Fix: F-54743r1_fix
Uninstall the IM client from the system, or configure the client to only connect to DoD-approved IM services.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN006040
- Vuln IDs
-
- V-12025
- Rule IDs
-
- SV-64127r1_rule
Checks: C-52597r1_chk
Ask the SA if any peer-to-peer file-sharing applications are installed. Some examples of these applications include: - Napster - Kazaa - ARES - Limewire - IRC Chat Relay - BitTorrent If any of these applications are installed, this is a finding.
Fix: F-54711r1_fix
Uninstall the peer-to-peer file sharing application(s) from the system.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006420
- Vuln IDs
-
- V-12026
- Rule IDs
-
- SV-63785r1_rule
Checks: C-52351r1_chk
Check the domain name for NIS maps. Procedure: # domainname If the name returned is simple to guess, such as the organization name, building or room name, etc., this is a finding. If the system does not use NIS, this is not applicable.
Fix: F-54381r1_fix
Change the NIS domainname to a value difficult to guess. Consult vendor documentation for the required procedure.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006560
- Vuln IDs
-
- V-12028
- Rule IDs
-
- SV-63761r1_rule
Checks: C-52341r1_chk
For each security tool on the system, determine if the tool is configured to notify the IAO and SA of any detected security problem. If such notifications are not configured, this is a finding.
Fix: F-54361r1_fix
Configure the security tools on the system to notify the IAO and SA when any security issues are detected.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006620
- Vuln IDs
-
- V-12030
- Rule IDs
-
- SV-63551r1_rule
Checks: C-52219r1_chk
Check for the existence of the "/etc/hosts.allow" and "/etc/hosts.deny" files. Procedure: # ls -la /etc/hosts.allow # ls -la /etc/hosts.deny If either file does not exist, this is a finding. Check for the presence of a "default deny" entry. Procedure: # grep "ALL: ALL" /etc/hosts.deny If the "ALL: ALL" entry is not present the "/etc/hosts.deny" file, any TCP service from a host or network not matching other rules will be allowed access. If the entry is not in "/etc/hosts.deny", this is a finding.
Fix: F-54163r1_fix
Edit the "/etc/hosts.allow" and "/etc/hosts.deny" files to configure access restrictions.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX00620
- Vuln IDs
-
- V-12038
- Rule IDs
-
- SV-63013r1_rule
Checks: C-51809r2_chk
Check /etc/securetty group ownership: # ls -lL /etc/securetty If /etc/securetty is not group owned by root, sys, or bin, then this is a finding.
Fix: F-53603r1_fix
Change the group-owner of /etc/securetty to root, sys, or bin. Example: # chgrp root /etc/securetty
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX00640
- Vuln IDs
-
- V-12039
- Rule IDs
-
- SV-63061r1_rule
Checks: C-51825r2_chk
Check /etc/securetty ownership. Procedure: # ls -lL /etc/securetty If /etc/securetty is not owned by root, this is a finding.
Fix: F-53647r1_fix
Change the owner of the /etc/securetty file to root. Procedure: # chown root /etc/securetty
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX00660
- Vuln IDs
-
- V-12040
- Rule IDs
-
- SV-63071r1_rule
Checks: C-51827r1_chk
Check /etc/securetty permissions. Procedure: # ls -lL /etc/securetty If /etc/securetty has a mode more permissive than 0600, this is a finding.
Fix: F-53653r1_fix
Change the mode of the /etc/securetty file to 0600. Procedure: # chmod 0600 /etc/securetty
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003865
- Vuln IDs
-
- V-12049
- Rule IDs
-
- SV-64029r2_rule
Checks: C-52611r2_chk
Determine if any network analysis tools are installed. Procedure: # find / -name ethereal # find / -name wireshark # find / -name tshark # find / -name nc # find / -name tcpdump # find / -name snoop If any network analysis tools are found, this is a finding.
Fix: F-54731r4_fix
Remove each network analysis tool binary from the system. Remove package items with a package manager, others remove the binary directly. Procedure: Find the binary file: # find / -name <Item to be removed> Find the package, if any, to which it belongs: # rpm -qf <binary file> Remove the package if it does not also include other software: # rpm -e <package name> or # yum remove <package name> If the item to be removed is not in a package, or the entire package cannot be removed because of other software it provides, remove the item's binary file. # rm <binary file>
- RMF Control
- SI-3
- Severity
- M
- CCI
- CCI-001668
- Version
- GEN006640
- Vuln IDs
-
- V-12765
- Rule IDs
-
- SV-63533r2_rule
Checks: C-52203r2_chk
Check for the existence of a cron job to execute a DoD-approved command-line scan tool daily. Other tools may be available but will have to be manually reviewed if they are installed. In addition, the definitions files should not be older than 7 days. Check if DoD-approved command-line scan tool is scheduled to run: # grep [scan tool] /var/spool/cron/* /etc/cron.d/* /etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/* /etc/cron.weekly/* If a virus scanner is not being run daily and an exception has not been documented with the IAO, this is a finding. Perform the following command to ensure the virus definition signature files are not older than 7 days. # cd <scan tool install directory> # ls -la *.dat If the virus definitions are older than 7 days, this is a finding.
Fix: F-54145r2_fix
Install a DoD-approved command-line virus scan tool, or an appropriate alternative. Ensure the virus signature definition files are no older than 7 days. Configure the system to run a virus scan on altered files dynamically or daily. If daily scans impede operations, justify, document, and obtain IAO approval for alternate scheduling.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000241
- Vuln IDs
-
- V-22290
- Rule IDs
-
- SV-63143r4_rule
Checks: C-51885r5_chk
Check to see if ntp is running in continuous mode. # ps -ax | grep ntp If the process is found, then check the ntp.conf file for the maxpoll option setting. # grep maxpoll /etc/ntp.conf If the option is set to 17 or is not set, this is a finding.
Fix: F-53727r3_fix
Enable the NTP daemon for continuous synchronization. # service ntpd start ; chkconfig ntpd on Edit the "/etc/ntp.conf" file and add or update an entry to define "maxpoll" to "10".
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-000160
- Version
- GEN000242
- Vuln IDs
-
- V-22291
- Rule IDs
-
- SV-63147r1_rule
Checks: C-51889r1_chk
Check the root crontab (crontab -l) and the global crontabs in /etc/crontab, /etc/cron.d/*, or scripts in the /etc/cron.daily directory for the presence of an "ntpd -qg" job. If the "ntpd -qg" command is not invoked with at least two external NTP servers listed, this is a finding. Check the NTP daemon configuration for at least two external servers. # grep ^server /etc/ntp.conf | egrep -v '(127.127.1.0|127.127.1.1)' If less than two servers or external reference clocks (127.127.x.x other than 127.127.1.0 or 127.127.1.1) are listed, this is a finding.
Fix: F-53731r1_fix
If using "ntpd -qg", add additional NTP servers to the cron job running "ntpd -qg". If using the NTP daemon, add an additional "server" line to /etc/ntp.conf for each additional NTP server.
- RMF Control
- AU-8
- Severity
- L
- CCI
- CCI-000160
- Version
- GEN000244
- Vuln IDs
-
- V-22292
- Rule IDs
-
- SV-63153r1_rule
Checks: C-51893r1_chk
Check the root crontab (crontab -l) and the global crontabs in /etc/crontab, /etc/cron.d/*, or scripts in the /etc/cron.daily directory for the presence of an "ntpd -qg" job. If the "ntpd -qg" command is invoked with NTP servers outside of the enclave, this is a finding. Check the NTP daemon configuration for NTP servers. # grep ^server /etc/ntp.conf | grep -v 127.127.1.1 If an NTP server is listed outside of the enclave, this is a finding.
Fix: F-53735r1_fix
If using "ntpd -qg", remove NTP servers external to the enclave from the cron job running "ntpd -qg". If using the NTP daemon, remove the "server" line from /etc/ntp.conf for each NTP server external to the enclave.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000250
- Vuln IDs
-
- V-22294
- Rule IDs
-
- SV-63161r1_rule
Checks: C-51895r1_chk
Check the ownership of the NTP configuration file. # ls -l /etc/ntp.conf If the owner is not root, this is a finding.
Fix: F-53737r1_fix
Change the owner of the NTP configuration file. # chown root /etc/ntp.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000251
- Vuln IDs
-
- V-22295
- Rule IDs
-
- SV-63165r1_rule
Checks: C-51901r1_chk
Check the group ownership of the NTP configuration file. Procedure: # ls -lL /etc/ntp.conf If the group owner is not root, bin, or sys, this is a finding.
Fix: F-53743r1_fix
Change the group-owner of the NTP configuration file. Procedure: # chgrp root /etc/ntp.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000252
- Vuln IDs
-
- V-22296
- Rule IDs
-
- SV-63171r1_rule
Checks: C-51903r1_chk
Check the mode for the NTP configuration file is not more permissive than 0640. # ls -l /etc/ntp.conf If the mode is more permissive than 0640, this is a finding.
Fix: F-53745r1_fix
Change the mode of the NTP configuration file to 0640 or more restrictive. # chmod 0640 /etc/ntp.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000253
- Vuln IDs
-
- V-22297
- Rule IDs
-
- SV-63177r1_rule
Checks: C-51907r1_chk
Check the NTP configuration file has no extended ACL. # ls -l /etc/ntp.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-53749r1_fix
Remove the extended ACL from the NTP configuration file. # setfacl --remove-all /etc/ntp.conf
- RMF Control
- AC-10
- Severity
- L
- CCI
- CCI-000054
- Version
- GEN000450
- Vuln IDs
-
- V-22298
- Rule IDs
-
- SV-63367r1_rule
Checks: C-53395r1_chk
Check for a default maxlogins line in the /etc/security/limits.conf and /etc/security/limits.d/* files. Procedure: #grep maxlogins /etc/security/limits.conf /etc/security/limits.d/* The default maxlimits should be set to a max of 10 or a documented site defined number: * - maxlogins 10 If no such line exists, this is a finding.
Fix: F-55753r1_fix
Add a "maxlogins" line such as "* hard maxlogins 10" to /etc/security/limits.conf or a file in /etc/security/limits.d. The enforced maximum should be defined by site requirements and policy.
- RMF Control
- AC-9
- Severity
- L
- CCI
- CCI-000052
- Version
- GEN000452
- Vuln IDs
-
- V-22299
- Rule IDs
-
- SV-63373r1_rule
Checks: C-52085r1_chk
Check that pam_lastlog is used and not silent, or that the SSH daemon is configured to display last login information. # grep pam_lastlog /etc/pam.d/sshd If pam_lastlog is present, and does not have the "silent" option, this is not a finding. # grep -i PrintLastLog /etc/ssh/sshd_config If PrintLastLog is not present in the configuration, this is not a finding. This is the default setting. If PrintLastLog is present in the configuration and set to "yes" (case insensitive), this is not a finding. Otherwise, this is a finding.
Fix: F-53971r1_fix
Implement pam_lastlog, or enable PrintLastLog in the SSH daemon. To enable pam_lastlog, add a line such as "session required pam_lastlog.so" to /etc/pam.d/sshd. To enable PrintLastLog in the SSH daemon, remove any lines disabling this option from /etc/ssh/sshd_config.
- RMF Control
- AC-14
- Severity
- L
- CCI
- CCI-000061
- Version
- GEN000510
- Vuln IDs
-
- V-22301
- Rule IDs
-
- SV-63633r1_rule
Checks: C-52273r1_chk
Determine if a publicly-viewable pattern is displayed during a session lock. Some screensaver themes available but not included in the operating system distribution use a snapshot of the current screen as a graphic. This theme does not qualify as a publicly-viewable pattern. If the screen lock pattern is not publicly-viewable, this is a finding.
Fix: F-54233r1_fix
Configure the system to display a publicly-viewable pattern during a session lock. This is done graphically by selecting a screensaver theme using gnome-screensaver-preferences command. Any of the themes distributed with this operating system may be used including "Blank Screen".
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000205
- Version
- GEN000585
- Vuln IDs
-
- V-22302
- Rule IDs
-
- SV-63933r2_rule
Checks: C-52437r2_chk
Verify no valid password hash in /etc/passwd or /etc/shadow begins with a character other than an underscore (_) or dollar sign ($). # cut -d ':' -f2 /etc/passwd # cut -d ':' -f2 /etc/shadow If any valid password hash is present that does not have an initial underscore (_) or dollar sign ($) character, this is a finding. Note: Locked accounts are indicated by a leading exclamation point (!). System accounts, other than "root", may have an asterisk (*) in the password field. On systems utilizing shadow passwords, the password field in /etc/passwd will be a single "x".
Fix: F-54507r1_fix
Change the passwords for all accounts using non-compliant password hashes. (This requires GEN000590 is already met.)
- RMF Control
- IA-7
- Severity
- M
- CCI
- CCI-000803
- Version
- GEN000590
- Vuln IDs
-
- V-22303
- Rule IDs
-
- SV-63943r2_rule
Checks: C-52443r2_chk
Verify the algorithm used for password hashing is of the SHA-2 family. # egrep "password .* pam_unix.so" /etc/pam.d/system-auth-ac # egrep "ENCRYPT_METHOD" /etc/login.defs # egrep "crypt_style" /etc/libuser.conf If any output indicates the hash algorithm is not set to sha256 or sha512, this is a finding.
Fix: F-54513r2_fix
Change the default password algorithm. # authconfig --passalgo=sha512 --update NOTE: Executing the above command will also update the required parameters in /etc/login.defs and /etc/libuser.conf
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000196
- Version
- GEN000595
- Vuln IDs
-
- V-22304
- Rule IDs
-
- SV-63949r1_rule
Checks: C-52447r2_chk
Check all password hashes in /etc/passwd or /etc/shadow begin with '$5$' or '$6$'. Procedure: # cut -d ':' -f2 /etc/passwd # cut -d ':' -f2 /etc/shadow Any password hashes present not beginning with '$5$' or, '$6$' is a finding. Any entries showing only NP, LK, or x are not findings.
Fix: F-54521r1_fix
Change the passwords for all accounts using non-compliant password hashes. (This requires GEN000590 is already met.)
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000193
- Version
- GEN000610
- Vuln IDs
-
- V-22305
- Rule IDs
-
- SV-64065r1_rule
Checks: C-52475r1_chk
Check /etc/pam.d/system-auth for lcredit setting. Procedure: Check the password lcredit option # grep pam_cracklib.so /etc/pam.d/system-auth Confirm the lcredit option is set to -1 as in the example: password required pam_cracklib.so lcredit=-1 There may be other options on the line. If no such line is found, or the lcredit is not -1 this is a finding.
Fix: F-54593r1_fix
Edit "/etc/pam.d/system-auth" to include the line: password required pam_cracklib.so lcredit=-1 prior to the "password include system-auth-ac" line.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000195
- Version
- GEN000750
- Vuln IDs
-
- V-22306
- Rule IDs
-
- SV-64283r2_rule
Checks: C-52719r2_chk
Check /etc/pam.d/system-auth for a pam_cracklib parameter difok. Procedure: # grep difok /etc/pam.d/system-auth If difok is not present, or has a value less than 8, this is a finding. Check for system-auth-ac inclusions. # grep -c system-auth-ac /etc/pam.d/* If the system-auth-ac file is included anywhere # more /etc/pam.d/system-auth-ac | grep difok If system-auth-ac is included anywhere and difok is not present, or has a value less than 8, this is a finding. Ensure the passwd command uses the system-auth settings. # grep system-auth /etc/pam.d/passwd If a line "password include system-auth" is not found then the password checks in system-auth will not be applied to new passwords.
Fix: F-54883r3_fix
If /etc/pam.d/system-auth references /etc/pam.d/system-auth-ac refer to the man page for system-auth-ac for a description of how to add options not configurable with authconfig. Edit /etc/pam.d/system-auth and add or edit a pam_cracklib entry with a difok parameter set equal to or greater than 8.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000189
- Version
- GEN000790
- Vuln IDs
-
- V-22307
- Rule IDs
-
- SV-64303r1_rule
Checks: C-52727r3_chk
Check /etc/pam.d/system-auth for pam_cracklib configuration. Procedure: # grep pam_cracklib /etc/pam.d/system-auth* If pam_cracklib is not present. This is a finding. If pam_cracklib is present only in /etc/pam.d/system-auth-ac: ensure that /etc/pam.d/system-auth includes /etc/pam.d/system-auth-ac. #grep system-auth-ac /etc/pam.d/system-auth This should return: auth include system-auth-ac account include system-auth-ac password include system-auth-ac session include system-auth-ac /etc/pam.d/system-auth-ac should only be included by /etc/pam.d/system-auth. All other pam files should include /etc/pam.d/system-auth. If pam_cracklib is not defined in /etc/pam.d/system-auth either directly or through inclusion of system-auth-ac, this is a finding. Ensure the passwd command uses the system-auth settings. # grep system-auth /etc/pam.d/passwd If a line "password include system-auth" is not found then the password checks in system-auth will not be applied to new passwords, this is a finding.
Fix: F-54899r1_fix
If /etc/pam.d/system-auth references /etc/pam.d/system-auth-ac refer to the man page for system-auth-ac for a description of how to add options not configurable with authconfig. Edit /etc/pam.d/system-auth and configure pam_cracklib by adding a line such as "password required pam_cracklib.so"
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-000009
- Version
- GEN000850
- Vuln IDs
-
- V-22308
- Rule IDs
-
- SV-64327r1_rule
Checks: C-52739r2_chk
Check /etc/pam.d/su uses pam_wheel. # grep pam_wheel /etc/pam.d/su If pam_wheel is not present, or is commented out, this is a finding.
Fix: F-54915r1_fix
Edit /etc/pam.d/su and uncomment or add a line such as "auth required pam_wheel.so". If necessary, create a "wheel" group and add administrative users to the group.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000930
- Vuln IDs
-
- V-22309
- Rule IDs
-
- SV-64363r1_rule
Checks: C-52765r1_chk
Check the root account's home directory has no extended ACL. # find ~root -type d -prune -exec ls -ld {} \; If the permissions include a '+' the directory has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54947r2_fix
Remove the extended ACL from the root account's home directory. # setfacl --remove-all <root home directory>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000945
- Vuln IDs
-
- V-22310
- Rule IDs
-
- SV-64377r1_rule
Checks: C-52781r1_chk
Check the LD_LIBRARY_PATH environment variable is empty or not defined for the root user. # echo $LD_LIBRARY_PATH If a path list is returned, this is a finding.
Fix: F-54963r1_fix
Edit the root user initialization files and remove any definition of LD_LIBRARY_PATH.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000950
- Vuln IDs
-
- V-22311
- Rule IDs
-
- SV-64383r1_rule
Checks: C-52783r1_chk
Check the LD_PRELOAD environment variable is empty or not defined for the root user. # echo $LD_PRELOAD If a path list is returned, this is a finding.
Fix: F-54967r1_fix
Edit the root user initialization files and remove any definition of LD_PRELOAD.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001170
- Vuln IDs
-
- V-22312
- Rule IDs
-
- SV-64465r2_rule
Checks: C-52855r2_chk
Search the system for files without a valid group-owner. # find / -ignore_readdir_race -nogroup If any files are found, this is a finding.
Fix: F-55035r1_fix
Change the group-owner for each file without a valid group-owner. # chgrp avalidgroup /tmp/a-file-without-a-valid-group-owner
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001190
- Vuln IDs
-
- V-22313
- Rule IDs
-
- SV-64473r1_rule
Checks: C-52889r1_chk
Check network services daemon files have no extended ACLs. # ls -la /usr/sbin If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding. Note: Network daemons not residing in these directories must also be checked.
Fix: F-55067r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /usr/sbin/*
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001210
- Vuln IDs
-
- V-22314
- Rule IDs
-
- SV-64479r1_rule
Checks: C-52897r1_chk
Check all system command files have no extended ACLs. # ls -lL /etc /bin /usr/bin /usr/lbin /usr/usb /sbin /usr/sbin If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-55075r1_fix
Remove the extended ACL from the file. # setfacl --remove-all [file with extended ACL]
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- GEN001270
- Vuln IDs
-
- V-22315
- Rule IDs
-
- SV-64493r1_rule
Checks: C-52911r1_chk
Verify system log files have no extended ACLs. Procedure: # ls -lL /var/log If the permissions include a '+', the file has an extended ACL. If an extended ACL exists, verify with the SA if the ACL is required to support authorized software and provides the minimum necessary permissions. If an extended ACL exists, providing access beyond the needs of authorized software, this is a finding.
Fix: F-55089r1_fix
Remove the extended ACL from the file. Procedure: # setfacl --remove-all [file with extended ACL]
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001290
- Vuln IDs
-
- V-22316
- Rule IDs
-
- SV-64521r2_rule
Checks: C-52935r2_chk
Verify all manual page files have no extended ACLs. # ls -lLR /usr/share/man /usr/share/info /usr/share/infopage If the permissions include a '+', the file has an extended ACL this is a finding.
Fix: F-55117r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /usr/share/man/* /usr/share/info/* /usr/share/infopage/*
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001310
- Vuln IDs
-
- V-22317
- Rule IDs
-
- SV-64531r2_rule
Checks: C-52945r2_chk
Verify system libraries have no extended ACLs. # ls -lLR /usr/lib/ /lib/ /usr/lib64 /lib64 | grep "+ " If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and has not been approved by the IAO, this is a finding.
Fix: F-55127r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /usr/lib/* /lib/*
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001361
- Vuln IDs
-
- V-22318
- Rule IDs
-
- SV-64503r1_rule
Checks: C-52919r1_chk
Verify NIS/NIS+/yp files have no extended ACLs. # ls -lL /var/yp/* If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-55097r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /var/yp/*
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001362
- Vuln IDs
-
- V-22319
- Rule IDs
-
- SV-64497r1_rule
Checks: C-52915r1_chk
Verify the /etc/resolv.conf file is owned by root. # ls -l /etc/resolv.conf If the file is not owned by root, this is a finding.
Fix: F-55093r1_fix
Change the owner of the /etc/resolv.conf file to root. # chown root /etc/resolv.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001363
- Vuln IDs
-
- V-22320
- Rule IDs
-
- SV-64099r1_rule
Checks: C-52513r2_chk
Check the group ownership of the resolv.conf file. Procedure: # ls -lL /etc/resolv.conf If the file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-54625r2_fix
Change the group-owner of the /etc/resolv.conf file to root, bin, or sys. Procedure: # chgrp root /etc/resolv.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001364
- Vuln IDs
-
- V-22321
- Rule IDs
-
- SV-64185r1_rule
Checks: C-52635r1_chk
Check the mode of the /etc/resolv.conf file. # ls -l /etc/resolv.conf If the file mode is not 0644, this is a finding.
Fix: F-54787r1_fix
Change the mode of the /etc/resolv.conf file to 0644. # chmod 0644 /etc/resolv.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001365
- Vuln IDs
-
- V-22322
- Rule IDs
-
- SV-64513r1_rule
Checks: C-52927r1_chk
Verify /etc/resolv.conf has no extended ACL. # ls -l /etc/resolv.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-55107r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/resolv.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001366
- Vuln IDs
-
- V-22323
- Rule IDs
-
- SV-64519r1_rule
Checks: C-52933r1_chk
Verify the /etc/hosts file is owned by root. # ls -l /etc/hosts If the file is not owned by root, this is a finding.
Fix: F-55115r1_fix
Change the owner of the /etc/hosts file to root. # chown root /etc/hosts
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001367
- Vuln IDs
-
- V-22324
- Rule IDs
-
- SV-64523r1_rule
Checks: C-52937r1_chk
Check the /etc/hosts file's group ownership. Procedure: # ls -lL /etc/hosts If the file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-55119r1_fix
Change the group-owner of the /etc/hosts file to root, sys, or bin. Procedure: # chgrp root /etc/hosts
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001368
- Vuln IDs
-
- V-22325
- Rule IDs
-
- SV-64527r1_rule
Checks: C-52943r1_chk
Check the mode of the /etc/hosts file. # ls -l /etc/hosts If the file mode is not 0644, this is a finding.
Fix: F-55125r1_fix
Change the mode of the /etc/hosts file to 0644. # chmod 0644 /etc/hosts
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001369
- Vuln IDs
-
- V-22326
- Rule IDs
-
- SV-64533r1_rule
Checks: C-52947r1_chk
Verify /etc/hosts has no extended ACL. # ls -l /etc/hosts If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-55129r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/hosts
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001371
- Vuln IDs
-
- V-22327
- Rule IDs
-
- SV-64535r1_rule
Checks: C-52949r1_chk
Verify the /etc/nsswitch.conf file is owned by root. # ls -l /etc/nsswitch.conf If the file is not owned by root, this is a finding.
Fix: F-55131r1_fix
Change the owner of the /etc/nsswitch.conf file to root. # chown root /etc/nsswitch.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001372
- Vuln IDs
-
- V-22328
- Rule IDs
-
- SV-64539r1_rule
Checks: C-52953r1_chk
Check the group ownership of the nsswitch.conf file. Procedure: # ls -lL /etc/nsswitch.conf If the file is not group-owned by root, bin or sys, this is a finding.
Fix: F-55135r1_fix
Change the group-owner of the /etc/nsswitch.conf file to root, bin or sys. Procedure: # chgrp root /etc/nsswitch.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001373
- Vuln IDs
-
- V-22329
- Rule IDs
-
- SV-64541r1_rule
Checks: C-52957r1_chk
Check the mode of the /etc/nsswitch.conf file. # ls -l /etc/nsswitch.conf If the file mode is not 0644, this is a finding.
Fix: F-55137r1_fix
Change the mode of the /etc/nsswitch.conf file to 0644 or less permissive. # chmod 0644 /etc/nsswitch.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001374
- Vuln IDs
-
- V-22330
- Rule IDs
-
- SV-64545r1_rule
Checks: C-52959r1_chk
Verify /etc/nsswitch.conf has no extended ACL. # ls -l /etc/nsswitch.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-55141r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/nsswitch.conf
- RMF Control
- SC-22
- Severity
- L
- CCI
- CCI-001182
- Version
- GEN001375
- Vuln IDs
-
- V-22331
- Rule IDs
-
- SV-64547r1_rule
Checks: C-52963r1_chk
Determine if DNS is enabled on the system. # grep dns /etc/nsswitch.conf If no line is returned, or any returned line is commented out, the system does not use DNS, and this is not applicable. Determine the name servers used by the system. # grep nameserver /etc/resolv.conf If less than two lines are returned that are not commented out, this is a finding.
Fix: F-55143r1_fix
Edit /etc/resolv.conf and add additional "nameserver" lines until at least two are present.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001378
- Vuln IDs
-
- V-22332
- Rule IDs
-
- SV-64549r1_rule
Checks: C-52965r1_chk
Verify the /etc/passwd file is owned by root. # ls -l /etc/passwd If the file is not owned by root, this is a finding.
Fix: F-55147r1_fix
Change the owner of the /etc/passwd file to root. # chown root /etc/passwd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001379
- Vuln IDs
-
- V-22333
- Rule IDs
-
- SV-64553r1_rule
Checks: C-52967r1_chk
Check the group ownership of the passwd file. Procedure: # ls -lL /etc/passwd If the file is not group-owned by root, bin or sys, this is a finding.
Fix: F-55149r1_fix
Change the group-owner of the /etc/passwd file to root, bin or sys. Procedure: # chgrp root /etc/passwd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001390
- Vuln IDs
-
- V-22334
- Rule IDs
-
- SV-64559r1_rule
Checks: C-52973r1_chk
Verify /etc/passwd has no extended ACL. # ls -l /etc/passwd If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-55155r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/passwd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001391
- Vuln IDs
-
- V-22335
- Rule IDs
-
- SV-64561r1_rule
Checks: C-52975r1_chk
Verify the /etc/group file is owned by root. # ls -l /etc/group If the file is not owned by root, this is a finding.
Fix: F-55157r1_fix
Change the owner of the /etc/group file to root. # chown root /etc/group
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001392
- Vuln IDs
-
- V-22336
- Rule IDs
-
- SV-64563r1_rule
Checks: C-52977r1_chk
Check the group ownership of the /etc/group file. Procedure: # ls -lL /etc/group If the file is not group-owned by root, bin or sys, this is a finding.
Fix: F-55159r1_fix
Change the group-owner of the /etc/group file. Procedure: # chgrp root /etc/group
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001393
- Vuln IDs
-
- V-22337
- Rule IDs
-
- SV-64565r1_rule
Checks: C-52979r1_chk
Check the mode of the /etc/group file. # ls -l /etc/group If the file mode is more permissive than 0644, this is a finding.
Fix: F-55161r1_fix
Change the mode of the /etc/group file to 0644 or less permissive. # chmod 0644 /etc/group
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001394
- Vuln IDs
-
- V-22338
- Rule IDs
-
- SV-64567r1_rule
Checks: C-52981r1_chk
Verify /etc/group has no extended ACL. # ls -l /etc/group If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-55163r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/group
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001410
- Vuln IDs
-
- V-22339
- Rule IDs
-
- SV-64571r1_rule
Checks: C-52985r1_chk
Check the ownership of the /etc/shadow file. Procedure: # ls -lL /etc/shadow If the file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-55167r1_fix
Change the group-owner of the /etc/shadow file. Procedure: # chgrp root /etc/shadow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001430
- Vuln IDs
-
- V-22340
- Rule IDs
-
- SV-64575r1_rule
Checks: C-52989r1_chk
Verify /etc/shadow has no extended ACL. # ls -l /etc/shadow If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-55171r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/shadow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX001431
- Vuln IDs
-
- V-22341
- Rule IDs
-
- SV-62667r1_rule
Checks: C-51589r1_chk
Check the /etc/gshadow file is owned by root. # ls -l /etc/gshadow If the file is not owned by root, this is a finding.
Fix: F-53273r1_fix
Change the owner of the /etc/gshadow file to root. # chown root /etc/gshadow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX001432
- Vuln IDs
-
- V-22342
- Rule IDs
-
- SV-62681r1_rule
Checks: C-51603r1_chk
Check the /etc/gshadow file is group-owned by root. # ls -l /etc/gshadow If the file is not group-owned by root, this is a finding.
Fix: F-53287r1_fix
Change the group-owner of the /etc/gshadow file to root. # chgrp root /etc/gshadow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX001433
- Vuln IDs
-
- V-22343
- Rule IDs
-
- SV-62697r1_rule
Checks: C-51609r1_chk
Check the mode of the /etc/gshadow file. # ls -l /etc/gshadow If the file mode is more permissive than 0400, this is a finding.
Fix: F-53293r1_fix
Change the mode of the /etc/gshadow file to 0400 or less permissive. # chmod 0400 /etc/gshadow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX001434
- Vuln IDs
-
- V-22344
- Rule IDs
-
- SV-62711r1_rule
Checks: C-51629r1_chk
Check /etc/gshadow has no extended ACL. # ls -l /etc/gshadow If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-53309r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/gshadow
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000201
- Version
- GEN001470
- Vuln IDs
-
- V-22347
- Rule IDs
-
- SV-64581r1_rule
Checks: C-52997r1_chk
Verify no password hashes are present in /etc/passwd. # cut -d : -f 2 /etc/passwd | egrep -v '^(x|\*)$' If any password hashes are returned, this is a finding.
Fix: F-55177r1_fix
Migrate /etc/passwd password hashes to /etc/shadow. # pwconv
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001475
- Vuln IDs
-
- V-22348
- Rule IDs
-
- SV-64583r1_rule
Checks: C-52999r1_chk
Check the /etc/group file for password hashes. # cut -d : -f 2 /etc/group | egrep -v '^(x|!)$' If any password hashes are returned, this is a finding.
Fix: F-55179r1_fix
Edit /etc/group and change the password field to an exclamation point (!) to lock the group password.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000000-LNX001476
- Vuln IDs
-
- V-22349
- Rule IDs
-
- SV-62767r1_rule
Checks: C-51631r1_chk
Check the /etc/gshadow file for password hashes. # cut -d : -f 2 /etc/gshadow | egrep -v '^(x|!!)$' If any password hashes are returned, this is a finding.
Fix: F-53325r1_fix
Edit /etc/gshadow and change the password field to an exclamation point (!) to lock the group password.
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001490
- Vuln IDs
-
- V-22350
- Rule IDs
-
- SV-64587r1_rule
Checks: C-53003r1_chk
Verify user home directories have no extended ACLs. # cut -d : -f 6 /etc/passwd | xargs -n1 ls -ld If the permissions include a '+', the file has an extended ACL this is a finding.
Fix: F-55183r1_fix
Remove the extended ACL from the file. # setfacl --remove-all [user home directory with extended ACL]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001550
- Vuln IDs
-
- V-22351
- Rule IDs
-
- SV-63833r1_rule
Checks: C-52369r1_chk
Check the contents of user home directories for files group-owned by a group of which the home directory's owner is not a member. 1. List the user accounts. # cut -d : -f 1 /etc/passwd 2. For each user account, get a list of GIDs for files in the user's home directory. # find ~username -printf %G\\n | sort | uniq 3. Obtain the list of GIDs where the user is a member. # id -G username 4. Check the GID lists. If there are GIDs in the file list not present in the user list, this is a finding.
Fix: F-54407r3_fix
Change the group of a file not group-owned by a group of which the home directory's owner is a member. # chgrp <group with user as member> <file with bad group ownership> Document all changes.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001570
- Vuln IDs
-
- V-22352
- Rule IDs
-
- SV-63839r1_rule
Checks: C-52375r1_chk
Check the contents of user home directories for files with extended ACLs. # cut -d : -f 6 /etc/passwd | xargs -n1 -IDIR ls -alLR DIR If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54413r2_fix
Remove the extended ACL from the file. # setfacl --remove-all <user file with extended ACL>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001590
- Vuln IDs
-
- V-22353
- Rule IDs
-
- SV-63847r1_rule
Checks: C-52381r1_chk
Verify run control scripts have no extended ACLs. # ls -lL /etc/rc* /etc/init.d If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54419r2_fix
Remove the extended ACL from the file. # setfacl --remove-all <run control script with extended ACL>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001605
- Vuln IDs
-
- V-22354
- Rule IDs
-
- SV-63851r2_rule
Checks: C-52385r2_chk
Verify run control scripts' library search paths. # grep -r LD_LIBRARY_PATH /etc/rc* /etc/init.d This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/) or other than "$PATH", it is a relative path, and this is a finding.
Fix: F-54423r1_fix
Edit the run control script and remove the relative path entry from the library search path variable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001610
- Vuln IDs
-
- V-22355
- Rule IDs
-
- SV-63853r2_rule
Checks: C-52391r2_chk
Verify run control scripts' library preload list. # grep -r LD_PRELOAD /etc/rc* /etc/init.d This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/) or other than "$PATH", it is a relative path, and this is a finding.
Fix: F-54427r1_fix
Edit the run control script and remove the relative path entry from the library preload variable.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001730
- Vuln IDs
-
- V-22356
- Rule IDs
-
- SV-63867r1_rule
Checks: C-52407r1_chk
Check global initialization files for extended ACLs: # ls -l /etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* 2>null|grep "\+ " If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54441r1_fix
Remove the extended ACL from the file. # ls -l etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* 2>null|grep "\+ "|sed "s/^.* \///g"|xargs setfacl --remove-all
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001810
- Vuln IDs
-
- V-22357
- Rule IDs
-
- SV-63881r1_rule
Checks: C-52417r1_chk
Check skeleton files for extended ACLs: # ls -alL /etc/skel If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54453r1_fix
Remove the extended ACL from the file. # setfacl --remove-all [skeleton file with extended ACL] or: # ls -lL /etc/skel|grep "\+ "|sed "s/^.* \//|xargs setfacl --remove-all will remove all ACLs from the files.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001830
- Vuln IDs
-
- V-22358
- Rule IDs
-
- SV-63323r1_rule
Checks: C-52033r1_chk
Verify the skeleton files are group-owned by root. Procedure: # ls -alL /etc/skel If a skeleton file is not group-owned by root, bin, sys, system, or other this is a finding.
Fix: F-53919r2_fix
Change the group-owner of the skeleton file to root, bin, sys, system, or other. Procedure: # chgrp <group> /etc/skel/[skeleton file] or: # ls -L /etc/skel|xargs stat -L -c %G:%n|egrep -v "^(root|bin|sy|sytem|other):"|cut -d: -f2|chgrp root will change the group of all files not already one of the approved group to root.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001845
- Vuln IDs
-
- V-22359
- Rule IDs
-
- SV-63331r2_rule
Checks: C-52041r2_chk
Check the global initialization files' library search paths. Procedure: # grep LD_LIBRARY_PATH /etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/) or other than "$PATH", it is a relative path, and this is a finding.
Fix: F-53927r1_fix
Edit the global initialization file and remove the relative path entry from the library search path variable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001850
- Vuln IDs
-
- V-22360
- Rule IDs
-
- SV-63335r2_rule
Checks: C-52045r2_chk
Check the global initialization files' library preload list. # grep -r LD_PRELOAD /etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/) or other than "$PATH", it is a relative path, and this is a finding.
Fix: F-53929r1_fix
Edit the global initialization file and remove the relative path entry from the library preload variable.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001870
- Vuln IDs
-
- V-22361
- Rule IDs
-
- SV-63343r1_rule
Checks: C-52055r1_chk
Check user home directories for local initialization files group-owned by a group other than the user's primary group or root. Procedure: # FILES=" .login .cshrc .logout .profile .bash_profile .bashrc .bash_logout .env .dtprofile .dispatch .emacs .exrc"; # for PWLINE in `cut -d: -f4,6 /etc/passwd`; do HOMEDIR=$(echo ${PWLINE}|cut -d: -f2);GROUP=$(echo ${PWLINE} | cut -d: -f1);for INIFILE in $FILES;do stat -c %g/%G:%n ${HOMEDIR}/${INIFILE} 2>null|egrep -v "${GROUP}";done;done If any file is not group-owned by root or the user's primary GID, this is a finding.
Fix: F-53941r2_fix
Change the group-owner of the local initialization file to the user's primary group, or root. # chgrp <user's primary GID> <user's local initialization file> Procedure: # FILES=".bashrc .bash_login .bash_logout .bash_profile .cshrc .kshrc .login .logout .profile .tcshrc .env .dtprofile .dispatch .emacs .exrc"; # for PWLINE in `cut -d: -f4,6 /etc/passwd`; do HOMEDIR=$(echo ${PWLINE}|cut -d: -f2);GROUP=$(echo ${PWLINE} | cut -d: -f1);for INIFILE in $FILES;do MATCH=$(stat -c %g/%G:%n ${HOMEDIR}/${INIFILE} 2>null|egrep -c -v "${GROUP}");if [ $MATCH != 0 ] ; then chgrp ${GROUP} ${HOMEDIR}/${INIFILE};fi;done;done
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001890
- Vuln IDs
-
- V-22362
- Rule IDs
-
- SV-63537r1_rule
Checks: C-52205r1_chk
Check user home directories for local initialization files with extended ACLs. # cut -d : -f 6 /etc/passwd | xargs -n1 -IDIR ls -alL DIR/.bashrc DIR/.bash_login DIR/.bash_logout DIR/.bash_profile DIR/.cshrc DIR/.kshrc DIR/.login DIR/.logout DIR/.profile DIR/.env DIR/.dtprofile DIR/.dispatch DIR/.emacs DIR/.exrc If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54149r2_fix
Remove the extended ACL from the file. # setfacl --remove-all <local initialization file with extended ACL>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001901
- Vuln IDs
-
- V-22363
- Rule IDs
-
- SV-63549r2_rule
Checks: C-52215r2_chk
Verify local initialization files have library search path containing only absolute paths. Procedure: NOTE: This must be done in the BASH shell. # cut -d: -f6 /etc/passwd |xargs -n1 -IDIR find DIR -name ".*" -type f -maxdepth 1 -exec grep -H LD_LIBRARY_PATH {} \; This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/) or other than "$PATH", it is a relative path, and this is a finding.
Fix: F-54159r2_fix
Edit the local initialization file and remove the relative path entry from the library search path variable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001902
- Vuln IDs
-
- V-22364
- Rule IDs
-
- SV-63569r2_rule
Checks: C-52227r2_chk
Verify local initialization files have library preload list containing only absolute paths. NOTE: The following must be done in the BASH shell. Procedure: # cut -d: -f6 /etc/passwd |xargs -n1 -IDIR find DIR -name ".*" -type f -maxdepth 1 -exec grep -H LD_PRELOAD {} \; This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/) or other than "$PATH", it is a relative path, and this is a finding.
Fix: F-54175r1_fix
Edit the local initialization file and remove the relative path entry from the library preload variable.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002210
- Vuln IDs
-
- V-22365
- Rule IDs
-
- SV-63697r1_rule
Checks: C-52299r1_chk
If /etc/shells exists, check the group ownership of each shell referenced. Procedure: # cat /etc/shells | xargs -n1 ls -l Otherwise, check any shells found on the system. Procedure: # find / -name "*sh" | xargs -n1 ls -l If a shell is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-54279r2_fix
Change the group-owner of the shell to root, bin, sys, or system. Procedure: # chgrp root <shell>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002230
- Vuln IDs
-
- V-22366
- Rule IDs
-
- SV-63017r1_rule
Checks: C-51811r1_chk
If /etc/shells exists, check the permissions of each shell referenced. # cat /etc/shells | xargs -n1 ls -lL Otherwise, check any shells found on the system. # find / -name "*sh" | xargs -n1 ls -lL If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-53605r1_fix
Remove the extended ACL from the file. # setfacl --remove-all [shell]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002330
- Vuln IDs
-
- V-22367
- Rule IDs
-
- SV-63293r1_rule
Checks: C-51995r1_chk
Check the permissions of audio devices. # ls -lL /dev/audio* /dev/snd/* If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-53879r1_fix
Remove the extended ACL from the file. # setfacl --remove-all [device file]
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002430
- Vuln IDs
-
- V-22368
- Rule IDs
-
- SV-63455r1_rule
Checks: C-52157r1_chk
Check /etc/mtab and verify the "nodev" mount option is used on any filesystems mounted from removable media or network shares. If any filesystem mounted from removable media or network shares does not have this option, this is a finding.
Fix: F-54061r1_fix
Edit /etc/fstab and add the "nodev" option to any filesystems mounted from removable media or network shares.
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000163
- Version
- GEN002710
- Vuln IDs
-
- V-22369
- Rule IDs
-
- SV-63885r1_rule
Checks: C-52421r1_chk
Check the system audit log files for extended ACLs. Procedure: # grep "^log_file" /etc/audit/auditd.conf|sed s/^[^\/]*//|xargs ls -l If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54457r1_fix
Remove the extended ACL from the system audit file(s).
- RMF Control
- AU-9
- Severity
- L
- CCI
- CCI-001493
- Version
- GEN002715
- Vuln IDs
-
- V-22370
- Rule IDs
-
- SV-63959r1_rule
Checks: C-52449r1_chk
Verify the audit tool executables are owned by root. # ls -l /sbin/auditctl /sbin/auditd /sbin/ausearch /sbin/aureport /sbin/autrace /sbin/audispd If any listed file is not owned by root, this is a finding.
Fix: F-54527r1_fix
Change the owner of the audit tool executable to root. # chown root [audit tool executable]
- RMF Control
- AU-9
- Severity
- L
- CCI
- CCI-001493
- Version
- GEN002716
- Vuln IDs
-
- V-22371
- Rule IDs
-
- SV-63975r1_rule
Checks: C-52455r1_chk
Verify the audit tool executables are group-owned by root, bin, sys, or system. Procedure: # ls -lL /sbin/auditctl /sbin/auditd /sbin/ausearch /sbin/aureport /sbin/autrace /sbin/audispd If any listed file is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-54543r3_fix
Change the group-owner of the audit tool executable to root, bin, sys, or system. Procedure: # chgrp root <audit tool executable>
- RMF Control
- AU-9
- Severity
- L
- CCI
- CCI-001493
- Version
- GEN002717
- Vuln IDs
-
- V-22372
- Rule IDs
-
- SV-64003r1_rule
Checks: C-52461r1_chk
Check the mode of audit tool executables. # ls -l /sbin/auditctl /sbin/auditd /sbin/ausearch /sbin/aureport /sbin/autrace /sbin/audispd If any listed file has a mode more permissive than 0750, this is a finding.
Fix: F-54559r1_fix
Change the mode of the audit tool executable to 0750, or less permissive. # chmod 0750 [audit tool executable]
- RMF Control
- AU-9
- Severity
- L
- CCI
- CCI-001493
- Version
- GEN002718
- Vuln IDs
-
- V-22373
- Rule IDs
-
- SV-64097r1_rule
Checks: C-52511r1_chk
Check the permissions of audit tool executables. # ls -l /sbin/auditctl /sbin/auditd /sbin/ausearch /sbin/aureport /sbin/autrace /sbin/audispd If the permissions include a '+' the file has an extended ACL, this is a finding.
Fix: F-54623r1_fix
Remove the extended ACL from the file. # setfacl --remove-all [audit file]
- RMF Control
- AU-5
- Severity
- L
- CCI
- CCI-000139
- Version
- GEN002719
- Vuln IDs
-
- V-22374
- Rule IDs
-
- SV-64223r1_rule
Checks: C-52643r1_chk
Verify the /etc/audit/auditd.conf has the disk_full_action and disk_error_action parameters set. Procedure: # grep disk_full_action /etc/audit/auditd.conf If the disk_full_action parameter is missing or set to "suspend" or "ignore" this is a finding. # grep disk_error_action /etc/audit/auditd.conf If the disk_error_action parameter is missing or set to "suspend" or "ignore" this is a finding.
Fix: F-54795r1_fix
Edit /etc/audit/auditd.conf and set the disk_full_action and/or disk_error_action parameters to a valid setting of "syslog", "exec", "single" or "halt", adding the parameters if necessary.
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-000143
- Version
- GEN002730
- Vuln IDs
-
- V-22375
- Rule IDs
-
- SV-64261r1_rule
Checks: C-52703r1_chk
Check /etc/audit/auditd.conf for the space_left_action and action_mail_accnt parameters. If the space_left_action or the action_mail_accnt parameters are set to blanks, this is a finding. If the space_left_action is set to "syslog", the system logs the event, this is not a finding. If the space_left_action is set to "exec", the system executes a designated script. If this script informs the SA of the event, this is not a finding. If the space_left_action parameter is missing, this is a finding. If the space_left_action parameter is set to "ignore" or "suspend" no logging would be performed after the event, this is a finding. If the space_left_action parameter is set to "single" or "halt" this effectively stops the system causing a Denial of Service, this is a finding. If the space_left_action is set to "email" and the action_mail_acct parameter is not set to the e-mail address of the system administrator, this is a finding. The action_mail_acct parameter, if missing, defaults to "root". Note that if the email address of the system administrator is on a remote system "sendmail" must be available.
Fix: F-54859r1_fix
Edit /etc/audit/auditd.conf and set the space_left_action parameter to a valid setting other than "ignore". If the space_left_action parameter is set to "email" set the action_mail_acct parameter to an e-mail address for the system administrator.
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-000018
- Version
- GEN002750
- Vuln IDs
-
- V-22376
- Rule IDs
-
- SV-64267r1_rule
Checks: C-52709r1_chk
Determine if execution of the useradd and groupadd executable are audited. # auditctl -l | egrep '(useradd|groupadd)' If either useradd or groupadd are not listed with a permissions filter of at least 'x', this is a finding. Determine if /etc/passwd, /etc/shadow, /etc/group, and /etc/gshadow are audited for appending. # auditctl -l | egrep '(/etc/passwd|/etc/shadow|/etc/group|/etc/gshadow)' If any of these are not listed with a permissions filter of at least 'a', this is a finding.
Fix: F-54865r1_fix
Configure execute auditing of the useradd and groupadd executables. Add the following to audit.rules: -w /usr/sbin/useradd -p x -k useradd -w /usr/sbin/groupadd -p x -k groupadd Configure append auditing of the passwd, shadow, group, and gshadow files. Add the following to audit.rules: -w /etc/passwd -p a -k passwd -w /etc/shadow -p a -k shadow -w /etc/group -p a -k group -w /etc/gshadow -p a -k gshadow Restart the auditd service.
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-001403
- Version
- GEN002751
- Vuln IDs
-
- V-22377
- Rule IDs
-
- SV-64269r1_rule
Checks: C-52711r1_chk
Determine if execution of the usermod and groupmod executable are audited. # auditctl -l | egrep '(usermod|groupmod)' If either useradd or groupadd are not listed with a permissions filter of at least 'w', this is a finding. Determine if /etc/passwd, /etc/shadow, /etc/group, and /etc/gshadow are audited for writing. # auditctl -l | egrep '(/etc/passwd|/etc/shadow|/etc/group|/etc/gshadow)' If any of these are not listed with a permissions filter of at least 'w', this is a finding.
Fix: F-54867r1_fix
Configure execute auditing of the usermod and groupmod executables. Add the following to the audit.rules file: -w /usr/sbin/usermod -p x -k usermod -w /usr/sbin/groupmod -p x -k groupmod Configure append auditing of the passwd, shadow, group, and gshadow files. Add the following to the audit.rules file: -w /etc/passwd -p w -k passwd -w /etc/shadow -p w -k shadow -w /etc/group -p w -k group -w /etc/gshadow -p w -k gshadow Restart the auditd service.
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-001404
- Version
- GEN002752
- Vuln IDs
-
- V-22378
- Rule IDs
-
- SV-64271r1_rule
Checks: C-52713r1_chk
Determine if execution of the passwd executable is audited. # auditctl -l | grep /usr/bin/passwd If passwd is not listed with a permissions filter of at least 'x', this is a finding.
Fix: F-54869r1_fix
Configure execute auditing of the passwd executable. Add the following to the audit.rules file: -w /usr/bin/passwd -p x -k passwd Restart the auditd service.
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-001405
- Version
- GEN002753
- Vuln IDs
-
- V-22382
- Rule IDs
-
- SV-64273r1_rule
Checks: C-52715r1_chk
Determine if execution of the userdel and groupdel executable are audited. # auditctl -l | egrep '(userdel|groupdel)' If either userdel or groupdel are not listed with a permissions filter of at least 'x', this is a finding.
Fix: F-54871r1_fix
Configure execute auditing of the userdel and groupdel executables. Add the following to the audit.rules file: -w /usr/sbin/userdel -p x -w /usr/sbin/groupdel -p x Restart the auditd service.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002825
- Vuln IDs
-
- V-22383
- Rule IDs
-
- SV-64505r1_rule
Checks: C-52921r1_chk
Determine if the init_module syscall is audited. # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "init_module" If the result does not contain "-S init_module", this is a finding.
Fix: F-55103r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Configure auditing of the init_module syscalls. Add the following to the "etc/audit/audit.rules" or "etc/audit.rules" file: -a exit,always -S init_module Restart the auditd service. # service auditd restart
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002990
- Vuln IDs
-
- V-22384
- Rule IDs
-
- SV-64407r1_rule
Checks: C-52807r1_chk
Check the permissions of the cron.allow file. # ls -l /etc/cron.allow If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54989r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/cron.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003050
- Vuln IDs
-
- V-22385
- Rule IDs
-
- SV-64399r1_rule
Checks: C-52799r1_chk
Check the group ownership of the crontab files. Procedure: # ls -lL /var/spool/cron # ls -lL /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -lL /etc/cron*|grep -v deny If the group owner is not root or the crontab owner's primary group, this is a finding.
Fix: F-54981r1_fix
Change the group owner of the crontab file to root, cron, or the crontab's primary group. Procedure: # chgrp root [crontab file]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003090
- Vuln IDs
-
- V-22386
- Rule IDs
-
- SV-64381r1_rule
Checks: C-52785r1_chk
Check the permissions of the crontab files. Procedure: # ls -lL /var/spool/cron # ls -lL /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -lL /etc/cron*|grep -v deny If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54965r1_fix
Remove the extended ACL from the file. # setfacl --remove-all [crontab file]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003110
- Vuln IDs
-
- V-22387
- Rule IDs
-
- SV-64367r1_rule
Checks: C-52773r1_chk
Check the permissions of the crontab directories. Procedure: # ls -ld /var/spool/cron # ls -ld /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -ld /etc/cron*|grep -v deny If the permissions include a '+' the directory has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54957r2_fix
Remove the extended ACL from the directory. # setfacl --remove-all <crontab directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003190
- Vuln IDs
-
- V-22388
- Rule IDs
-
- SV-64325r2_rule
Checks: C-52737r2_chk
Check the permissions of the file. Procedure: Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Check the configured cron log file found in the cron entry in /etc/syslog.conf or /etc/rsyslog.conf(normally /var/log/cron). # grep cron /etc/syslog.conf Or: # grep cron /etc/rsyslog.conf # ls -lL /var/log/cron If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54911r2_fix
Remove the extended ACL from the file. # setfacl --remove-all /var/log/cron
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003210
- Vuln IDs
-
- V-22389
- Rule IDs
-
- SV-64331r1_rule
Checks: C-53411r1_chk
Check the permissions of the file. # ls -lL /etc/cron.deny If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-55761r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/cron.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003245
- Vuln IDs
-
- V-22390
- Rule IDs
-
- SV-64347r1_rule
Checks: C-52749r1_chk
Check the permissions of the file. # ls -lL /etc/at.allow If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54933r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/at.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003250
- Vuln IDs
-
- V-22391
- Rule IDs
-
- SV-64351r1_rule
Checks: C-52751r1_chk
Check the group ownership of the file. Procedure: # ls -lL /etc/cron.allow If the file exists and is not group-owned by root, bin, sys or cron, this is a finding.
Fix: F-54935r1_fix
Change the group ownership of the file. Procedure: # chgrp root /etc/cron.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003252
- Vuln IDs
-
- V-22392
- Rule IDs
-
- SV-64355r1_rule
Checks: C-52755r1_chk
Check the permissions of the file. # ls -lL /etc/at.deny If the file has a mode more permissive than 0600, this is a finding.
Fix: F-54939r1_fix
Change the mode of the file. # chmod 0600 /etc/at.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003255
- Vuln IDs
-
- V-22393
- Rule IDs
-
- SV-64357r1_rule
Checks: C-52759r2_chk
Check the permissions of the file. # ls -lL /etc/at.deny If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54943r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/at.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003270
- Vuln IDs
-
- V-22394
- Rule IDs
-
- SV-64365r1_rule
Checks: C-52767r1_chk
Check the group ownership of the file. Procedure: # ls -lL /etc/cron.deny If the file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-54949r1_fix
Change the group ownership of the file. # chgrp root /etc/cron.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003410
- Vuln IDs
-
- V-22395
- Rule IDs
-
- SV-64289r1_rule
Checks: C-52837r1_chk
Check the permissions of the directory. # ls -lLd /var/spool/at If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-55019r1_fix
Remove the extended ACL from the directory. # setfacl --remove-all /var/spool/at
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003430
- Vuln IDs
-
- V-22396
- Rule IDs
-
- SV-64297r1_rule
Checks: C-52841r1_chk
Check the group ownership of the file. Procedure: # ls -lL /var/spool/at If the file is not group-owned by root, bin, sys, daemon or cron, this is a finding.
Fix: F-55021r2_fix
Change the group ownership of the file to root, bin, sys, daemon or cron. Procedure: # chgrp <root or other system group> <"at" directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003470
- Vuln IDs
-
- V-22397
- Rule IDs
-
- SV-64413r1_rule
Checks: C-52849r1_chk
Check the group ownership of the file. Procedure: # ls -lL /etc/at.allow If the file is not group-owned by root, bin, sys, or cron, this is a finding.
Fix: F-55029r1_fix
Change the group ownership of the file. Procedure: # chgrp root /etc/at.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003490
- Vuln IDs
-
- V-22398
- Rule IDs
-
- SV-64309r1_rule
Checks: C-52853r1_chk
Check the group ownership of the file. Procedure: # ls -lL /etc/at.deny If the file is not group-owned by root, bin, sys, or cron, this is a finding.
Fix: F-55033r1_fix
Change the group ownership of the at.deny file to root, sys, bin, or cron. Procedure: # chgrp root /etc/at.deny
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN003510
- Vuln IDs
-
- V-22404
- Rule IDs
-
- SV-64421r1_rule
Checks: C-52859r1_chk
Verify the kdump service is not running. Procedure: # service kdump status If "Kdump is operational" is returned, this is a finding.
Fix: F-55039r1_fix
Disable kdump. # service kdump stop # chkconfig kdump off
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003521
- Vuln IDs
-
- V-22405
- Rule IDs
-
- SV-64431r1_rule
Checks: C-52865r2_chk
Determine the kernel core dump data directory and check its ownership. Procedure: Examine /etc/kdump.conf. The "path" parameter, which defaults to /var/crash, determines the path relative to the crash dump device. The crash device is specified with a filesystem type and device, such as "ext3 /dev/sda2". Using this information, determine where this path is currently mounted on the system. # ls -ld <kernel dump data directory> If the directory is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-55043r2_fix
Change the group-owner of the kernel core dump data directory. # chgrp root <kernel core dump data directory>
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003522
- Vuln IDs
-
- V-22406
- Rule IDs
-
- SV-64433r2_rule
Checks: C-52867r3_chk
Verify the location of the kernel core dump data directory: # grep “path” /etc/kdump.conf Note: If this setting is not configured or commented out, the default kernel dump data directory is /var/crash. Check the permissions of the dump data directory: # ls -ld <path to kernel core dump data directory> If the directory has a mode more permissive than 0700, this is a finding.
Fix: F-55045r3_fix
Set the permissions on the kernel core dump data directory to 0700. # chmod 0700 <kernel core dump data directory>
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003523
- Vuln IDs
-
- V-22407
- Rule IDs
-
- SV-64437r2_rule
Checks: C-52869r3_chk
Determine the kernel core dump data directory and check its permissions. Procedure: Verify the location of the kernel core dump data directory: # grep “path” /etc/kdump.conf Note: If this setting is not configured or commented out, the default kernel dump data directory is /var/crash. Check the permissions of the dump data directory: # ls -ld <path to kernel core dump data directory> If the permissions include a '+', the directory has an extended ACL. If the directory has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-55047r3_fix
Remove the extended ACL from the directory. # setfacl --remove-all <path to kernel core dump data directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003581
- Vuln IDs
-
- V-22408
- Rule IDs
-
- SV-64443r1_rule
Checks: C-52875r1_chk
Check the system for user-controlled network interfaces. # grep -l '^USERCTL=yes' /etc/sysconfig/network-scripts/ifcfg* If any results are returned, this is a finding.
Fix: F-55053r1_fix
Edit the configuration for the user-controlled interface and remove the "USERCTL=yes" configuration line or set to "USERCTL=no".
- RMF Control
- AC-4
- Severity
- L
- CCI
- CCI-001551
- Version
- GEN003602
- Vuln IDs
-
- V-22409
- Rule IDs
-
- SV-64445r1_rule
Checks: C-52881r1_chk
Verify the system does not respond to ICMP TIMESTAMP_REQUESTs Procedure: # grep "timestamp" /etc/sysconfig/iptables This should return entries for "timestamp-reply" and "timestamp_request". Both should end with "-j DROP'. If either does not exist or does not "DROP" the message, this is a finding.
Fix: F-55059r1_fix
Configure the system to not respond to ICMP TIMESTAMP_REQUESTs. This is done by rejecting ICMP type 13 and 14 messages at the firewall. Procedure: Edit /etc/sysconfig/iptables to add: -A RH-Firewall-1-INPUT -p ICMP --icmp-type timestamp-request -j DROP -A RH-Firewall-1-INPUT -p ICMP --icmp-type timestamp-reply -j DROP Restart the firewall: # service iptables restart
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003603
- Vuln IDs
-
- V-22410
- Rule IDs
-
- SV-64459r1_rule
Checks: C-52885r1_chk
Verify the system does not respond to ICMP ECHO_REQUESTs set to broadcast addresses. Procedure: # cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts If the result is not 1, this is a finding.
Fix: F-55061r1_fix
Configure the system to not respond to ICMP ECHO_REQUESTs sent to broadcast addresses. Edit /etc/sysctl.conf and add a setting for "net.ipv4.icmp_echo_ignore_broadcasts=1" and reload the sysctls. Procedure: # echo "net.ipv4.icmp_echo_ignore_broadcasts=1" >> /etc/sysctl.conf # sysctl -p
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003604
- Vuln IDs
-
- V-22411
- Rule IDs
-
- SV-64195r2_rule
Checks: C-52655r1_chk
Verify the system does not respond to ICMP TIMESTAMP_REQUESTs set to broadcast addresses. Procedure: # cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts If the result is not 1, this is a finding. Note: The same parameter controls both ICMP ECHO_REQUESTs and TIMESTAMP_REQUESTs.
Fix: F-54807r1_fix
Configure the system to not respond to ICMP TIMESTAMP_REQUESTs sent to broadcast addresses. Edit /etc/sysctl.conf and add a setting for "net.ipv4.icmp_echo_ignore_broadcasts=1" and reload the sysctls. Procedure: # echo "net.ipv4.icmp_echo_ignore_broadcasts=1" >> /etc/sysctl.conf # sysctl -p
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003607
- Vuln IDs
-
- V-22414
- Rule IDs
-
- SV-64197r1_rule
Checks: C-52657r1_chk
Verify the system does not accept source-routed IPv4 packets. Procedure: # grep [01] /proc/sys/net/ipv4/conf/*/accept_source_route|egrep "default|all" If all of the resulting lines do not end with "0", this is a finding.
Fix: F-54809r1_fix
Configure the system to not accept source-routed IPv4 packets. Edit /etc/sysctl.conf and add a setting for "net.ipv4.conf.all.accept_source_route=0" and "net.ipv4.conf.default.accept_source_route=0". Reload the sysctls. Procedure: # sysctl -p
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003608
- Vuln IDs
-
- V-22415
- Rule IDs
-
- SV-64201r1_rule
Checks: C-52659r1_chk
Verify the system does not use proxy ARP. # grep [01] /proc/sys/net/ipv4/conf/*/proxy_arp|egrep "default|all" If all of the resulting lines do not end with "0", this is a finding.
Fix: F-54811r1_fix
Configure the system to not use proxy ARP. Edit /etc/sysctl.conf and add a setting for "net.ipv4.conf.all.proxy_arp=0" and "net.ipv4.conf.default.proxy_arp=0". # sysctl -p
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-001503
- Version
- GEN003609
- Vuln IDs
-
- V-22416
- Rule IDs
-
- SV-64203r1_rule
Checks: C-52661r1_chk
Verify the system does not accept IPv4 ICMP redirect messages. # grep [01] /proc/sys/net/ipv4/conf/*/accept_redirects|egrep "default|all" If all of the resulting lines do not end with "0", this is a finding.
Fix: F-54813r1_fix
Configure the system to not accept IPv4 ICMP redirect messages. Edit /etc/sysctl.conf and add a setting for "net.ipv4.conf.all.accept_redirects=0" and "net.ipv4.conf.default.accept_redirects=0". # sysctl -p
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003610
- Vuln IDs
-
- V-22417
- Rule IDs
-
- SV-64205r1_rule
Checks: C-52663r1_chk
Verify the system does not send IPv4 ICMP redirect messages. # grep [01] /proc/sys/net/ipv4/conf/*/send_redirects|egrep "default|all" If all of the resulting lines do not end with "0", this is a finding.
Fix: F-54815r1_fix
Configure the system to not send IPv4 ICMP redirect messages. Edit /etc/sysctl.conf and add a setting for "net.ipv4.conf.all.send_redirects=0" and "net.ipv4.conf.default.send_redirects=0". # sysctl -p
- RMF Control
- AU-2
- Severity
- L
- CCI
- CCI-000126
- Version
- GEN003611
- Vuln IDs
-
- V-22418
- Rule IDs
-
- SV-64207r1_rule
Checks: C-52665r1_chk
Verify the system logs martian packets. # grep [01] /proc/sys/net/ipv4/conf/*/log_martians|egrep "default|all" If all of the resulting lines do not end with "1", this is a finding.
Fix: F-54819r1_fix
Configure the system to log martian packets. Edit /etc/sysctl.conf and add a setting for "net.ipv4.conf.all.log_martians=1" and "net.ipv4.conf.default.log_martians=1". Reload the sysctls. Procedure: # sysctl -p
- RMF Control
- SC-5
- Severity
- M
- CCI
- CCI-001092
- Version
- GEN003612
- Vuln IDs
-
- V-22419
- Rule IDs
-
- SV-64209r1_rule
Checks: C-52667r1_chk
Verify the system configured to use TCP syncookies when experiencing a TCP SYN flood. # cat /proc/sys/net/ipv4/tcp_syncookies If the result is not "1", this is a finding.
Fix: F-54821r1_fix
Configure the system to use TCP syncookies when experiencing a TCP SYN flood. Edit /etc/sysctl.conf and add a setting for "net.ipv4.tcp_syncookies=1". # sysctl -p
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003619
- Vuln IDs
-
- V-22421
- Rule IDs
-
- SV-64213r1_rule
Checks: C-52669r1_chk
Verify the system is not configured for bridging. # ls /proc/sys/net/bridge If the directory exists, this is a finding. # lsmod | grep '^bridge ' If any results are returned, this is a finding. Fix Text: Configure the system to not use bridging.
Fix: F-54823r1_fix
Configure the system to not use bridging. # rmmod bridge Edit /etc/modprobe.conf and add a line such as "install bridge /bin/false" to prevent the loading of the bridge module.
- RMF Control
- CP-10
- Severity
- L
- CCI
- CCI-000553
- Version
- GEN003650
- Vuln IDs
-
- V-22422
- Rule IDs
-
- SV-64227r1_rule
Checks: C-52681r1_chk
Verify local filesystems use journaling. # mount | grep '^/dev/' | egrep -v 'type (ext3|ext4|jfs|reiserfs|xfs|iso9660|udf)' If a mount is listed, this is a finding.
Fix: F-54835r1_fix
Convert local file systems to use journaling or another mechanism ensuring file system consistency.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003730
- Vuln IDs
-
- V-22423
- Rule IDs
-
- SV-64235r1_rule
Checks: C-52689r1_chk
Check the group ownership of the xinetd configuration files and directories. Procedure: # ls -alL /etc/xinetd.conf /etc/xinetd.d If a file or directory is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-54845r1_fix
Change the group-owner of the xinetd configuration files and directories. Procedure: # chgrp -R root /etc/xinetd.conf /etc/xinetd.d
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003745
- Vuln IDs
-
- V-22424
- Rule IDs
-
- SV-64241r1_rule
Checks: C-52693r1_chk
Check the permissions of the xinetd configuration files. Procedure: # ls -alL /etc/xinetd.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54849r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/xinetd.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003750
- Vuln IDs
-
- V-22425
- Rule IDs
-
- SV-64243r1_rule
Checks: C-52695r1_chk
Check the permissions of the xinetd configuration directories. # ls -dlL /etc/xinetd.d If the mode of the directory is more permissive than 0755, this is a finding.
Fix: F-54851r1_fix
Change the mode of the directory. # chmod 0755 /etc/xinetd.d
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003755
- Vuln IDs
-
- V-22426
- Rule IDs
-
- SV-63971r1_rule
Checks: C-52575r1_chk
Check the permissions of the xinetd configuration files and directories. # ls -alL /etc/xinetd.conf /etc/xinetd.d If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54687r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/xinetd.d
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003770
- Vuln IDs
-
- V-22427
- Rule IDs
-
- SV-63979r1_rule
Checks: C-52623r1_chk
Check the group ownership of the services file. Procedure: # ls -lL /etc/services If the file is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-54749r1_fix
Change the group-owner of the services file. Procedure: # chgrp root /etc/services
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003790
- Vuln IDs
-
- V-22428
- Rule IDs
-
- SV-63985r1_rule
Checks: C-52585r1_chk
Check the permissions of the /etc/services file. # ls -lL /etc/services If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54697r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/services
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN003810
- Vuln IDs
-
- V-22429
- Rule IDs
-
- SV-63995r1_rule
Checks: C-52589r1_chk
Check the status of the portmap service. # service portmap status If the service is running, this is a finding.
Fix: F-54703r1_fix
Shutdown and disable the portmap service. # service portmap stop; chkconfig portmap off
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003815
- Vuln IDs
-
- V-22430
- Rule IDs
-
- SV-63997r1_rule
Checks: C-52591r1_chk
Check if the portmap package is installed. # rpm -qa | grep portmap If a package is found, this is a finding.
Fix: F-54705r1_fix
Remove the portmap package. # rpm -e portmap or # yum remove portmap
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003825
- Vuln IDs
-
- V-22431
- Rule IDs
-
- SV-64009r1_rule
Checks: C-52595r1_chk
Check if the rsh-server package is installed. Procedure: # rpm -qa | grep rsh-server If a package is found, this is a finding.
Fix: F-54709r1_fix
Remove the rsh-server package. Procedure: # rpm -e rsh-server
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- GEN003830
- Vuln IDs
-
- V-22432
- Rule IDs
-
- SV-64019r1_rule
Checks: C-52599r1_chk
Check the rlogind configuration. # cat /etc/xinetd.d/rlogin If the file exists and does not contain "disable = yes" this is a finding.
Fix: F-54713r3_fix
Remove or disable the rlogin configuration and restart xinetd. # rm /etc/xinetd.d/rlogin ; service xinetd restart
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003835
- Vuln IDs
-
- V-22433
- Rule IDs
-
- SV-64015r1_rule
Checks: C-52601r1_chk
Check if the rsh-server package is installed. Procedure: # rpm -qa | grep rsh-server If a package is found, this is a finding.
Fix: F-54717r1_fix
Remove the rsh-server package. Procedure: # rpm -e rsh-server
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003845
- Vuln IDs
-
- V-22434
- Rule IDs
-
- SV-64039r1_rule
Checks: C-52605r1_chk
Check if the rsh-server package is installed. Procedure: # rpm -qa | grep rsh-server If a package is found, this is a finding.
Fix: F-54721r1_fix
Remove the rsh-server package. Procedure: # rpm -e rsh-server
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003930
- Vuln IDs
-
- V-22435
- Rule IDs
-
- SV-64117r2_rule
Checks: C-52617r1_chk
Check the group ownership of the /etc/cups/printers.conf file. Procedure: # ls -lL /etc/cups/printers.conf If the file is not group-owned by lp, this is a finding.
Fix: F-54737r2_fix
Change the group-owner of the printers.conf file. Procedure: # chgrp lp /etc/cups/printers.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003950
- Vuln IDs
-
- V-22436
- Rule IDs
-
- SV-63475r1_rule
Checks: C-52177r1_chk
Check the permissions of the /etc/cups/printers.conf file. # ls -lL /etc/cups/printers.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54085r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/cups/printers.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004010
- Vuln IDs
-
- V-22437
- Rule IDs
-
- SV-63539r1_rule
Checks: C-52207r1_chk
Check the permissions of the /bin/traceroute file. # ls -lL /bin/traceroute If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54151r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /bin/traceroute
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004370
- Vuln IDs
-
- V-22438
- Rule IDs
-
- SV-63613r1_rule
Checks: C-52263r2_chk
If the "sendmail" and "postfix" packages are not installed, this is not applicable. Check the group ownership of the alias files. Procedure: for sendmail: # ls -lL /etc/aliases If the files are not group-owned by root, this is a finding. # ls -lL /etc/aliases.db If the file is not group-owned by the same system group as sendmail, which is smmsp by default, this is a finding. for postfix: Verify the location of the alias file. # postconf alias maps This will return the location of the "aliases" file, by default "/etc/postfix/aliases" # ls -lL <postfix aliases file> If the files are not group-owned by root, this is a finding. # ls -lL <postfix aliases.db file> If the file is not group-owned by root, this is a finding.
Fix: F-54223r1_fix
Change the group-owner of the /etc/aliases file. Procedure: for sendmail: # chgrp root /etc/aliases # chgrp smmsp /etc/aliases.db The aliases.db file must be owned by the same system group as sendmail, which is smmsp by default. for postfix # chgrp root /etc/postfix/aliases # chgrp root /etc/postfix/aliases.db
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004390
- Vuln IDs
-
- V-22439
- Rule IDs
-
- SV-63643r1_rule
Checks: C-52317r2_chk
If the "sendmail" and "postfix" packages are not installed, this is not applicable. Check the permissions of the alias file. Procedure: for sendmail: # ls -lL /etc/aliases /etc/aliases.db If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding. for postfix: Verify the location of the alias file. # postconf alias maps This will return the location of the "aliases" file, by default "/etc/postfix/aliases" # ls -lL <postfix aliases file> <postfix aliases.db file> If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54325r1_fix
Remove the extended permissions from the alias files. Procedure: for sendmail: # setfacl --remove-all /etc/aliases /etc/aliases.db for postfix (assuming the default postfix directory): # setfacl --remove-all /etc/postfix/aliases /etc/postfix/aliases.db
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004410
- Vuln IDs
-
- V-22440
- Rule IDs
-
- SV-63719r1_rule
Checks: C-52321r2_chk
Examine the contents of the /etc/aliases file. Procedure: # more /etc/aliases Examine the aliases file for any utilized directories or paths. # ls -lL <file referenced from aliases> Check the permissions for any paths referenced. If the group owner of any file is not root, bin, sys, or system, this is a finding.
Fix: F-54331r2_fix
Change the group ownership of the file referenced from /etc/aliases. Procedure: # chgrp root <file referenced from aliases>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004430
- Vuln IDs
-
- V-22441
- Rule IDs
-
- SV-63745r1_rule
Checks: C-52325r2_chk
Examine the contents of the /etc/aliases file. Procedure: # more /etc/aliases Examine the aliases file for any utilized directories or paths. # ls -lL <file referenced from aliases> Check the permissions for any paths referenced. If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54335r2_fix
Remove the extended ACL from the file. # setfacl --remove-all <file referenced from aliases>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004510
- Vuln IDs
-
- V-22442
- Rule IDs
-
- SV-63755r3_rule
Checks: C-52335r5_chk
Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Examine /etc/syslog.conf or /etc/rsyslog.conf and determine the log file(s) receiving logs for "mail.crit", "mail.debug", mail.*, or "*.crit". Procedure: This check is applicable to both Postfix or sendmail servers. Check the permissions on these log files. Identify any log files configured for "*.crit" and the "mail" service (excluding mail.none) and at any severity level. For syslog: # egrep "(\*.crit|mail\.[^n][^/]*)" /etc/syslog.conf|sed 's/^[^/]*//'|xargs ls -lL For rsyslog: # egrep "(\*.crit|mail\.[^n][^/]*)" /etc/rsyslog.conf|sed 's/^[^/]*//'|xargs ls -lL If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54347r3_fix
This fix is applicable to both Postfix and sendmail servers. Remove the extended ACL from the file. # setfacl --remove-all <log file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004930
- Vuln IDs
-
- V-22444
- Rule IDs
-
- SV-63015r1_rule
Checks: C-51831r1_chk
Check the group ownership of the ftpusers file. Procedure: # ls -lL /etc/ftpusers /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers If the file is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-53663r1_fix
Change the group owner of the ftpusers file. Procedure: # chgrp root /etc/ftpusers /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004950
- Vuln IDs
-
- V-22445
- Rule IDs
-
- SV-63083r1_rule
Checks: C-51837r1_chk
Check the permissions of the /etc/ftpusers file. # ls -lL /etc/ftpusers /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-53669r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/ftpusers /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005190
- Vuln IDs
-
- V-22446
- Rule IDs
-
- SV-63285r1_rule
Checks: C-51991r1_chk
Check the file permissions for the .Xauthority files. These files will be located in user home directories. Procedure: # ls -la ~username |egrep "(\.Xauthority|\.xauth)" If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-53875r1_fix
Remove the extended ACL from the file. # setfacl --remove-all .Xauthority
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001435
- Version
- GEN005305
- Vuln IDs
-
- V-22447
- Rule IDs
-
- SV-63397r1_rule
Checks: C-52107r2_chk
Check the SNMP daemon is not configured to use the v1 or v2c security models. Procedure: Examine the default install location /etc/snmpd.conf or: # find / -name snmpd.conf # grep -E '(v1|v2c|community|com2sec)' <snmp.conf file> | grep -v '^#' If any configuration is found, this is a finding.
Fix: F-54001r2_fix
Edit /etc/snmpd.conf and remove references to the "v1", "v2c", "community", or "com2sec". Restart the SNMP service. # service snmpd restart
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001453
- Version
- GEN005306
- Vuln IDs
-
- V-22448
- Rule IDs
-
- SV-63407r1_rule
Checks: C-52113r2_chk
Verify the SNMP daemon uses SHA for SNMPv3 users. Procedure: Examine the default install location /etc/snmp/snmpd.conf or: # find / -name snmpd.conf # grep -v '^#' <snmpd.conf file> | grep -i createuser | grep -vi SHA If any line is present this is a finding.
Fix: F-54007r1_fix
Edit /etc/snmp/snmpd.conf and add the SHA keyword for any create user statement without one. Restart the SNMP service. # service snmpd restart
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- GEN005307
- Vuln IDs
-
- V-22449
- Rule IDs
-
- SV-63415r1_rule
Checks: C-52123r3_chk
Verify the SNMP daemon uses AES for SNMPv3 users. Procedure: Examine the default install location /etc/snmp/snmpd.conf or: # find / -name snmpd.conf # grep -v '^#' <snmpd.conf file> | grep -i createuser | grep -vi AES If any line is present this is a finding.
Fix: F-54021r2_fix
Edit /etc/snmp/snmpd.conf and add the AES keyword for any create user statement without one. Restart the SNMP service. # service snmpd restart
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005350
- Vuln IDs
-
- V-22450
- Rule IDs
-
- SV-63437r1_rule
Checks: C-52139r2_chk
Check the file permissions for the MIB files. # find / -name *.mib # ls -lL <mib file> If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54047r2_fix
Remove the extended ACL from the file. # setfacl --remove-all <mib file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005365
- Vuln IDs
-
- V-22451
- Rule IDs
-
- SV-63461r1_rule
Checks: C-52163r2_chk
Check the group ownership of the SNMP configuration file. Procedure: Examine the default install location /etc/snmp/snmpd.conf or: # find / -name snmpd.conf # ls -lL <snmpd.conf> If the file is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-54067r2_fix
Change the group ownership of the SNMP configuration file. Procedure: # chgrp root <snmpd.conf>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005375
- Vuln IDs
-
- V-22452
- Rule IDs
-
- SV-63463r1_rule
Checks: C-52165r2_chk
Check the permissions of the SNMP configuration file. Procedure: Examine the default install location /etc/snmp/snmpd.conf or: # find / -name snmpd.conf # ls -lL <snmpd.conf> If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54069r2_fix
Remove the extended ACL from the file. # setfacl --remove-all <snmpd.conf file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005390
- Vuln IDs
-
- V-22453
- Rule IDs
-
- SV-63467r2_rule
Checks: C-52171r3_chk
Check the permissions of the syslog configuration file. Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. # ls -lL /etc/syslog.conf Or: # ls -lL /etc/rsyslog.conf If the mode of the file is more permissive than 0640, this is a finding.
Fix: F-54075r4_fix
Change the permissions of the syslog or rsyslog configuration file. # chmod 0640 /etc/syslog.conf Or: # chmod 0640 /etc/rsyslog.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005395
- Vuln IDs
-
- V-22454
- Rule IDs
-
- SV-63471r2_rule
Checks: C-52173r2_chk
Check the permissions of the syslog configuration file. Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. # ls -lL /etc/syslog.conf Or: # ls -lL /etc/rsyslog.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54077r2_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/syslog.conf Or: # setfacl -- remove-all /etc/rsyslog.conf
- RMF Control
- AU-3
- Severity
- M
- CCI
- CCI-000136
- Version
- GEN005450
- Vuln IDs
-
- V-22455
- Rule IDs
-
- SV-63501r2_rule
Checks: C-52185r2_chk
Check the syslog configuration file for remote syslog servers. Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. # grep '@' /etc/syslog.conf | grep -v '^#' Or: # grep '@' /etc/rsyslog.conf | grep -v '^#' If no line is returned, this is a finding.
Fix: F-54109r2_fix
Edit the syslog or rsyslog configuration file and add an appropriate remote syslog server.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN005501
- Vuln IDs
-
- V-22456
- Rule IDs
-
- SV-63547r1_rule
Checks: C-52217r1_chk
Check the SSH client configuration for allowed protocol versions. # grep -i protocol /etc/ssh/ssh_config | grep -v '^#' If the returned protocol configuration allows versions less than 2, this is a finding.
Fix: F-54161r1_fix
Edit the /etc/ssh/ssh_config file and add or edit a "Protocol" configuration line not allowing versions less than 2.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000069
- Version
- GEN005504
- Vuln IDs
-
- V-22457
- Rule IDs
-
- SV-63553r1_rule
Checks: C-52221r1_chk
Ask the SA to identify which interfaces on the system are designated for management traffic. If all interfaces on the system are authorized for management traffic, this is not applicable. Check the SSH daemon configuration for listening network addresses. # grep -i Listen /etc/ssh/sshd_config | grep -v '^#' If no configuration is returned, or if a returned 'Listen' configuration contains addresses not designated for management traffic, this is a finding.
Fix: F-54165r1_fix
Edit the SSH daemon configuration to specify listening network addresses designated for management traffic. Restart the SSH daemon. # /sbin/service sshd restart
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- GEN005505
- Vuln IDs
-
- V-22458
- Rule IDs
-
- SV-63561r2_rule
Checks: C-52225r3_chk
Check the SSH daemon configuration for allowed ciphers. # grep -i ciphers /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the returned ciphers list contains any cipher not starting with "3des" or "aes", this is a finding.
Fix: F-54173r4_fix
Edit the SSH daemon configuration and remove any ciphers not starting with "3des" or "aes" and remove any ciphers ending with "cbc". If necessary, add a "Ciphers" line. Ciphers aes256-ctr,aes192-ctr,aes128-ctr Restart the SSH daemon. # /sbin/service sshd restart
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005506
- Vuln IDs
-
- V-22459
- Rule IDs
-
- SV-63567r1_rule
Checks: C-52229r1_chk
Check the SSH daemon configuration for allowed ciphers. # grep -i ciphers /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the returned ciphers list contains any cipher ending with cbc, this is a finding.
Fix: F-54177r1_fix
Edit /etc/ssh/sshd_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the sshd_config manpage. Restart the SSH daemon.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001453
- Version
- GEN005507
- Vuln IDs
-
- V-22460
- Rule IDs
-
- SV-63587r2_rule
Checks: C-52241r3_chk
Check the SSH daemon configuration for allowed MACs. Procedure: # grep -i macs /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the returned MACs list contains any MAC that is not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list, this is a finding.
Fix: F-54191r2_fix
Edit the SSH daemon configuration and remove any MACs that are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line. Restart the SSH daemon. # /sbin/service sshd restart
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- GEN005510
- Vuln IDs
-
- V-22461
- Rule IDs
-
- SV-63593r1_rule
Checks: C-52245r2_chk
Check the SSH client configuration for allowed ciphers. # grep -i ciphers /etc/ssh/ssh_config | grep -v '^#' If no lines are returned, or the returned ciphers list contains any cipher not starting with "3des" or "aes", this is a finding.
Fix: F-54197r1_fix
Edit the SSH client configuration and remove any ciphers not starting with "3des" or "aes" and remove any ciphers ending with "cbc". If necessary, add a "Ciphers" line.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005511
- Vuln IDs
-
- V-22462
- Rule IDs
-
- SV-63595r1_rule
Checks: C-52247r2_chk
Check the SSH client configuration for allowed ciphers. # grep -i ciphers /etc/ssh/ssh_config | grep -v '^#' If no lines are returned, or the returned ciphers list contains any cipher ending with "cbc", this is a finding.
Fix: F-54201r1_fix
Edit the SSH client configuration and remove any ciphers not starting with "3des" or "aes" and remove any ciphers ending with "cbc". If necessary, add a "Ciphers" line.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001453
- Version
- GEN005512
- Vuln IDs
-
- V-22463
- Rule IDs
-
- SV-63669r2_rule
Checks: C-52305r3_chk
Check the SSH client configuration for allowed MACs. # grep -i macs /etc/ssh/ssh_config | grep -v '^#' If no lines are returned, or the returned MACs list contains any MAC that is not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list, this is a finding.
Fix: F-54293r3_fix
Edit the SSH client configuration and remove any MACs that are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005521
- Vuln IDs
-
- V-22470
- Rule IDs
-
- SV-63727r1_rule
Checks: C-52311r2_chk
There are two ways in which access to SSH may restrict users or groups. Check if /etc/pam.d/sshd is configured to require daemon style login control. # grep pam_access.so /etc/pam.d/sshd|grep "required"|grep "account"| grep -v '^#' If no lines are returned, sshd is not configured to use pam_access. Check the SSH daemon configuration for the AllowGroups setting. # egrep -i "AllowGroups|AllowUsers" /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, sshd is not configured to limit access to users/groups. If sshd is not configured to limit access either through pam_access or the use "AllowUsers" or "AllowGroups", this is a finding.
Fix: F-54309r2_fix
Edit the SSH daemon configuration and add an "AllowGroups" or "AllowUsers" directive specifying the groups and users allowed to have access. Restart the SSH daemon. # /sbin/service sshd restart Alternatively, modify the /etc/pam.d/sshd file to include the line account required pam_access.so accessfile=<path to access.conf for sshd> If the "accessfile" option is not specified the default "access.conf" file will be used. The "access.conf" file must contain the user restriction definitions.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005522
- Vuln IDs
-
- V-22471
- Rule IDs
-
- SV-63841r1_rule
Checks: C-52389r2_chk
Check the permissions for SSH public host key files. # ls -lL /etc/ssh/*key.pub If any file has a mode more permissive than 0644, this is a finding.
Fix: F-54425r2_fix
Change the permissions for the SSH public host key files. # chmod 0644 /etc/ssh/*key.pub
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005523
- Vuln IDs
-
- V-22472
- Rule IDs
-
- SV-63863r1_rule
Checks: C-52401r2_chk
Check the permissions for SSH private host key files. # ls -lL /etc/ssh/*key If any file has a mode more permissive than 0600, this is a finding.
Fix: F-54437r3_fix
Change the permissions for the SSH private host key files. # chmod 0600 /etc/ssh/*key
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN005524
- Vuln IDs
-
- V-22473
- Rule IDs
-
- SV-63877r1_rule
Checks: C-52435r2_chk
Ask the SA if GSSAPI authentication is used for SSH authentication to the system. If so, this is not applicable. Check the SSH daemon configuration for the GSSAPIAuthentication setting. # grep -i GSSAPIAuthentication /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the setting is set to "yes", this is a finding.
Fix: F-54499r1_fix
Edit the SSH daemon configuration and set (add if necessary) a "GSSAPIAuthentication" directive set to "no". Restart the SSH daemon. # /sbin/service sshd restart
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN005525
- Vuln IDs
-
- V-22474
- Rule IDs
-
- SV-63953r1_rule
Checks: C-52451r2_chk
The default setting for GSSAPIAuthentication is "no". Check for a change from the default. # grep -i GSSAPIAuthentication /etc/ssh/ssh_config | grep -v '^#' If the setting is "yes" this is a finding.
Fix: F-54533r1_fix
Edit the SSH client configuration and set the GSSAPIAuthentication" directive set to "no".
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN005526
- Vuln IDs
-
- V-22475
- Rule IDs
-
- SV-64033r1_rule
Checks: C-52467r2_chk
Ask the SA if Kerberos authentication is used by the system. If it is, this is not applicable. Check the SSH daemon configuration for the KerberosAuthentication setting. # grep -i KerberosAuthentication /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the setting is set to "yes", this is a finding.
Fix: F-54577r1_fix
Edit the SSH daemon configuration and set (add if necessary) the "KerberosAuthentication" directive set to "no". Restart the SSH daemon. # /sbin/service sshd restart
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005536
- Vuln IDs
-
- V-22485
- Rule IDs
-
- SV-64067r1_rule
Checks: C-52479r2_chk
Check the SSH daemon configuration for the StrictModes setting. # grep -i StrictModes /etc/ssh/sshd_config | grep -v '^#' If the setting is not present, or not set to "yes", this is a finding.
Fix: F-54595r2_fix
Edit the SSH daemon configuration and add or edit the "StrictModes" setting value to "yes". Restart the SSH daemon. # /sbin/service sshd restart
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005537
- Vuln IDs
-
- V-22486
- Rule IDs
-
- SV-64073r1_rule
Checks: C-52489r2_chk
Check the SSH daemon configuration for the UsePrivilegeSeparation setting. # grep -i UsePrivilegeSeparation /etc/ssh/sshd_config | grep -v '^#' If the setting is not present, or not set to "yes", this is a finding.
Fix: F-54603r1_fix
Edit the SSH daemon configuration and add or edit the "UsePrivilegeSeparation" setting value to "yes". Restart the SSH daemon. # /sbin/service sshd restart
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005538
- Vuln IDs
-
- V-22487
- Rule IDs
-
- SV-64081r1_rule
Checks: C-52497r2_chk
Check the SSH daemon configuration for the RhostsRSAAuthentication setting. # grep -i RhostsRSAAuthentication /etc/ssh/sshd_config | grep -v '^#' If the setting is set to "yes", this is a finding.
Fix: F-54611r2_fix
Edit the SSH daemon configuration and add or edit the "RhostsRSAAuthentication" setting value to "no". Restart the SSH daemon. # /sbin/service sshd restart
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005539
- Vuln IDs
-
- V-22488
- Rule IDs
-
- SV-64089r1_rule
Checks: C-52515r2_chk
Check the SSH daemon configuration for the compression setting. # grep -i Compression /etc/ssh/sshd_config | egrep "no|delayed" If the setting is missing or is commented out, this is a finding. If the setting is present but is not set to "no" or "delayed", this is a finding.
Fix: F-54627r1_fix
Edit the SSH daemon configuration and add or edit the "Compression" setting value to "no" or "delayed". Restart the SSH daemon. # /sbin/service sshd restart
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- GEN005550
- Vuln IDs
-
- V-22489
- Rule IDs
-
- SV-64103r1_rule
Checks: C-52519r2_chk
Verify the SSH daemon is configured for logon warning banners. Procedure: An exact match is required to have a valid warning banner. Check for the following login banner. You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. OR I've read & consent to terms in IS user agreem't.
Fix: F-54631r2_fix
Edit /etc/issue and the DoD login banner. DoD Login Banners: You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests- -not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. OR I've read & consent to terms in IS user agreem't. Find the location of the banner file for sshd and examine the content: # grep -i banner /etc/ssh/sshd_config | grep -v '^#' # cat Edit the SSH daemon configuration and add or edit a "Banner" setting referencing a file containing a logon warning banner. Restart the SSH daemon. # /sbin/service sshd restart
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005570
- Vuln IDs
-
- V-22490
- Rule IDs
-
- SV-64107r1_rule
Checks: C-52523r1_chk
Check for a default route for IPv6. If the system is a VM host and acts as a router solely for the benefit of its client systems, then this rule is not applicable. # ip -6 route list | grep default If the system uses IPv6, and no results are returned, this is a finding.
Fix: F-54635r2_fix
Add a default route for IPv6. Edit /etc/sysconfig/network-scripts/ifcfg-eth0 (substitute interface as appropriate). Add an IPV6_DEFAULTGW=<gateway> configuration setting. Restart the interface. # ifdown eth0; ifup eth0
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005610
- Vuln IDs
-
- V-22491
- Rule IDs
-
- SV-64245r1_rule
Checks: C-52651r1_chk
Check if the system is configured for IPv6 forwarding. # grep [01] /proc/sys/net/ipv6/conf/*/forwarding|egrep "default|all" If the /proc/sys/net/ipv6/conf/*/forwarding entries do not exist because of compliance with GEN007720, this is not a finding. If all of the resulting lines do not end with 0, this is a finding.
Fix: F-54803r1_fix
Disable IPv6 forwarding. Edit /etc/sysctl.conf and add a setting for "net.ipv6.conf.all.forwarding=0" and "net.ipv6.conf.default.forwarding=0". Reload the sysctls. Procedure: # sysctl -p
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005750
- Vuln IDs
-
- V-22492
- Rule IDs
-
- SV-64211r1_rule
Checks: C-52645r1_chk
Check the group ownership of the NFS export configuration file. Procedure: # ls -lL /etc/exports If the file is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-54797r1_fix
Change the group ownership of the NFS export configuration file. Procedure: # chgrp root /etc/exports
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN005770
- Vuln IDs
-
- V-22493
- Rule IDs
-
- SV-64191r1_rule
Checks: C-52639r1_chk
Check the permissions of the NFS export configuration file. # ls -lL /etc/exports If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54789r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/exports
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005810
- Vuln IDs
-
- V-22496
- Rule IDs
-
- SV-64181r1_rule
Checks: C-52633r2_chk
List the exports. # cat /etc/exports For each file system displayed, check the ownership. # ls -ldL <exported file system path> If the directory is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-54783r1_fix
Change the group owner of the export directory. # chgrp root <export>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006150
- Vuln IDs
-
- V-22497
- Rule IDs
-
- SV-64085r1_rule
Checks: C-52499r1_chk
Check the permissions of the Samba configuration file. # ls -lL /etc/samba/smb.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54613r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/samba/smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006210
- Vuln IDs
-
- V-22498
- Rule IDs
-
- SV-64061r1_rule
Checks: C-52473r1_chk
Check the permissions of the Samba password files. Procedure: # ls -lL /etc/samba/passdb.tdb /etc/samba/secrets.tdb If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54589r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/samba/passdb.tdb /etc/samba/secrets.tdb
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006225
- Vuln IDs
-
- V-22499
- Rule IDs
-
- SV-64049r1_rule
Checks: C-52469r1_chk
Check the security mode of the Samba configuration. # grep -i security /etc/samba/smb.conf If the security mode is "share", this is a finding.
Fix: F-54579r1_fix
Edit the "/etc/samba/smb.conf" file and change the "security" setting to "user" or another valid setting other than "share".
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006230
- Vuln IDs
-
- V-22500
- Rule IDs
-
- SV-64041r1_rule
Checks: C-52465r4_chk
If the "samba-common" package is not installed, this is not applicable. Check the encryption setting of Samba. # grep -i 'encrypt passwords' /etc/samba/smb.conf If the setting is not present, or not set to 'yes', this is a finding.
Fix: F-54573r1_fix
Edit the "/etc/samba/smb.conf" file and change the "encrypt passwords" setting to "yes".
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006235
- Vuln IDs
-
- V-22501
- Rule IDs
-
- SV-64013r1_rule
Checks: C-52463r1_chk
Check the access to shares for Samba. # grep -i 'guest ok' /etc/samba/smb.conf If the setting exists and is set to 'yes', this is a finding.
Fix: F-54569r1_fix
Edit the "/etc/samba/smb.conf" file and change the "guest ok" setting to "no".
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006270
- Vuln IDs
-
- V-22502
- Rule IDs
-
- SV-63925r1_rule
Checks: C-52441r1_chk
Check the permissions of the file. # ls -lL /etc/news/incoming.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54509r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/news/incoming.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006290
- Vuln IDs
-
- V-22503
- Rule IDs
-
- SV-63915r1_rule
Checks: C-52431r1_chk
Check the permissions for "/etc/news/hosts.nntp.nolimit". # ls -lL /etc/news/hosts.nntp.nolimit If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54489r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/news/hosts.nntp.nolimit
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006310
- Vuln IDs
-
- V-22504
- Rule IDs
-
- SV-63901r1_rule
Checks: C-52425r1_chk
Check the permissions of the file. # ls -lL /etc/news/nnrp.access If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54475r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/news/nnrp.access
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006330
- Vuln IDs
-
- V-22505
- Rule IDs
-
- SV-63835r1_rule
Checks: C-52371r1_chk
Check the permissions of the file. # ls -lL /etc/news/passwd.nntp If the mode includes a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-54409r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/news/passwd.nntp
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006565
- Vuln IDs
-
- V-22506
- Rule IDs
-
- SV-63667r1_rule
Checks: C-52289r1_chk
Check the root crontab (crontab -l) and the global crontabs in "/etc/crontab", "/etc/cron.*" for the presence of an rpm verification command such as: rpm -qVa | awk '$2!="c" {print $0}' If no such cron job is found, this is a finding. If the result of the cron job indicates packages which do not pass verification exist, this is a finding unless the changes were made due to another STIG entry.
Fix: F-54249r1_fix
Add a cron job to run an rpm verification command such as: rpm -qVa | awk '$2!="c" {print $0}' For packages which failed verification: If the package is not necessary for operations, remove it from the system. If the package is necessary for operations, re-install the package.
- RMF Control
- SI-7
- Severity
- L
- CCI
- CCI-001297
- Version
- GEN006570
- Vuln IDs
-
- V-22507
- Rule IDs
-
- SV-63657r1_rule
Checks: C-52285r1_chk
If using an Advanced Intrusion Detection Environment (AIDE), verify that the configuration contains the "ACL" option for all monitored files and directories. Procedure: Check for the default location /etc/aide/aide.conf or: # find / -name aide.conf # egrep "[+]?acl" <aide.conf file> If the option is not present. This is a finding. If using a different file integrity tool, check the configuration per tool documentation.
Fix: F-54245r2_fix
If using AIDE, edit the configuration and add the "ACL" option for all monitored files and directories. If using a different file integrity tool, configure ACL checking per the tool's documentation.
- RMF Control
- SI-7
- Severity
- L
- CCI
- CCI-001297
- Version
- GEN006571
- Vuln IDs
-
- V-22508
- Rule IDs
-
- SV-63631r1_rule
Checks: C-52271r2_chk
If using an Advanced Intrusion Detection Environment (AIDE), verify the configuration contains the "xattrs" option for all monitored files and directories. Procedure: Check for the default location /etc/aide/aide.conf or: # find / -name aide.conf # egrep "[+]?xattrs" <aide.conf file> If the option is not present. This is a finding. If using a different file integrity tool, check the configuration per tool documentation.
Fix: F-54229r2_fix
If using AIDE, edit the configuration and add the "xattrs" option for all monitored files and directories. If using a different file integrity tool, configure extended attributes checking per the tool's documentation.
- RMF Control
- SI-7
- Severity
- L
- CCI
- CCI-001297
- Version
- GEN006575
- Vuln IDs
-
- V-22509
- Rule IDs
-
- SV-63653r1_rule
Checks: C-52279r2_chk
If using an Advanced Intrusion Detection Environment (AIDE), verify the configuration contains the "sha256" or "sha512" options for all monitored files and directories. Procedure: Check for the default location /etc/aide/aide.conf or: # find / -name aide.conf # egrep "[+]?(sha256|sha512)" <aide.conf file> If the option is not present. This is a finding. If one of these options is not present. This is a finding. If using a different file integrity tool, check the configuration per tool documentation.
Fix: F-54239r1_fix
If using AIDE, edit the configuration and add the "sha512" option for all monitored files and directories. If using a different file integrity tool, configure FIPS 140-2 approved cryptographic hashes per the tool's documentation.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- GEN007020
- Vuln IDs
-
- V-22511
- Rule IDs
-
- SV-63529r1_rule
Checks: C-52199r1_chk
Verify the SCTP protocol handler is prevented from dynamic loading. # grep 'install sctp /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding.
Fix: F-54137r1_fix
Prevent the SCTP protocol handler for dynamic loading. # echo "install sctp /bin/true" >> /etc/modprobe.conf
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- GEN007080
- Vuln IDs
-
- V-22514
- Rule IDs
-
- SV-63521r1_rule
Checks: C-52191r1_chk
Verify the DCCP protocol handler is prevented from dynamic loading. # grep 'install dccp /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding. # grep 'install dccp_ipv4 /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding. # grep 'install dccp_ipv6 /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding.
Fix: F-54129r1_fix
Prevent the DCCP protocol handler for dynamic loading. # echo "install dccp /bin/true" >> /etc/modprobe.conf # echo "install dccp_ipv4 /bin/true" >> /etc/modprobe.conf # echo "install dccp_ipv6 /bin/true" >> /etc/modprobe.conf
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- GEN007260
- Vuln IDs
-
- V-22524
- Rule IDs
-
- SV-63453r1_rule
Checks: C-52153r1_chk
Verify the AppleTalk protocol handler is prevented from dynamic loading. # grep 'install appletalk' /etc/modprobe.conf /etc/modprobe.d/* If anything is returned check that appletalk is disabled by having the executable set to '/bin/true'. If an uncommented line containing "appletalk" is found which has not been disabled, this is a finding.
Fix: F-54059r1_fix
Prevent the AppleTalk protocol handler for dynamic loading. # echo "install appletalk /bin/true" >> /etc/modprobe.conf
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- GEN007480
- Vuln IDs
-
- V-22530
- Rule IDs
-
- SV-63451r1_rule
Checks: C-52151r1_chk
Ask the SA if RDS is required by application software running on the system. If so, this is not applicable. Verify the RDS protocol handler is prevented from dynamic loading. # grep 'install rds /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding.
Fix: F-54057r1_fix
Prevent the RDS protocol handler for dynamic loading. # echo "install rds /bin/true" >> /etc/modprobe.conf
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- GEN007540
- Vuln IDs
-
- V-22533
- Rule IDs
-
- SV-63449r1_rule
Checks: C-52149r1_chk
Verify the TIPC protocol handler is prevented from dynamic loading. # grep 'install tipc /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding.
Fix: F-54055r1_fix
Prevent the TIPC protocol handler for dynamic loading. # echo "install tipc /bin/true" >> /etc/modprobe.conf
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007660
- Vuln IDs
-
- V-22539
- Rule IDs
-
- SV-63447r1_rule
Checks: C-52145r1_chk
Verify the Bluetooth protocol handler is prevented from dynamic loading. # grep 'install bluetooth /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding.
Fix: F-54053r1_fix
Prevent the Bluetooth protocol handler for dynamic loading. # echo "install bluetooth /bin/true" >> /etc/modprobe.conf
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007700
- Vuln IDs
-
- V-22541
- Rule IDs
-
- SV-63431r1_rule
Checks: C-52137r1_chk
If the IPv6 protocol handler is bound to the network stack, and the system does not need IPv6, this is a finding. # grep NETWORKING_IPV6 /etc/sysconfig/network If the line is set to "yes", this is a finding.
Fix: F-54041r2_fix
Remove the capability to use IPv6 protocol handler. Procedure: Edit /etc/sysconfig/network and change NETWORKING_IPV6=yes to NETWORKING_IPV6=no Edit /etc/modprobe.conf and add these lines (if they are not in it): alias net-pf-10 off alias ipv6 off Stop the ipv6tables service by typing: service ip6tables stop Disable the ipv6tables service by typing: chkconfig ip6tables off Remove the ipv6 kernel module # rmmod ipv6 Reboot
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007720
- Vuln IDs
-
- V-22542
- Rule IDs
-
- SV-63427r1_rule
Checks: C-52131r1_chk
If this system uses IPv6, this is not applicable. Verify the IPv6 protocol handler is prevented from dynamic loading. # grep 'install ipv6 /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding.
Fix: F-54033r1_fix
Prevent the IPv6 protocol handler for dynamic loading. # echo "install ipv6 /bin/true" >> /etc/modprobe.conf
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007780
- Vuln IDs
-
- V-22545
- Rule IDs
-
- SV-63423r1_rule
Checks: C-52127r2_chk
Check the system for any active 6to4 tunnels without specific remote addresses. # ip tun list | grep "remote any" | grep "ipv6/ip" If any results are returned the "tunnel" is the first field. If any results are returned, this is a finding.
Fix: F-54029r2_fix
Disable the active 6to4 tunnel. # ip link set <tunnel> down Add this command to a startup script, or remove the configuration creating the tunnel.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007800
- Vuln IDs
-
- V-22546
- Rule IDs
-
- SV-63417r1_rule
Checks: C-52125r1_chk
Verify the Miredo service is not running. # ps ax | grep miredo | grep -v grep If the miredo process is running, this is a finding.
Fix: F-54023r1_fix
Edit startup scripts to prevent the service from running on startup.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007820
- Vuln IDs
-
- V-22547
- Rule IDs
-
- SV-63413r1_rule
Checks: C-52119r1_chk
Check for any IP tunnels. # ip tun list # ip -6 tun list If any tunnels are listed, this is a finding.
Fix: F-54017r1_fix
Remove the tunnels. # ip tun del <tunnel> Edit system startup scripts to prevent tunnel creation on startup.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN007840
- Vuln IDs
-
- V-22548
- Rule IDs
-
- SV-63411r1_rule
Checks: C-53039r1_chk
Verify no interface is configured to use DHCP. # grep -i bootproto=dhcp /etc/sysconfig/network-scripts/ifcfg-* If any configuration is found, this is a finding.
Fix: F-54015r1_fix
Edit the "/etc/sysconfig/network-scripts/ifcfg-*" file(s) and change the "bootproto" setting to "static".
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN007850
- Vuln IDs
-
- V-22549
- Rule IDs
-
- SV-63409r1_rule
Checks: C-52115r1_chk
If the "dhclient" package is not installed, this is not applicable. Verify the DHCP client is configured to not send dynamic DNS updates. Procedure: # grep do-forward-updates /etc/dhclient.conf If the file is not present, does not contain this configuration, or has the setting set to "true", this is a finding.
Fix: F-54005r1_fix
Edit or add the "/etc/dhclient.conf" file and add or edit the "do-forward-updates" setting to false. Procedure: # echo "do-forward-updates false;" >> /etc/dhclient.conf
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007860
- Vuln IDs
-
- V-22550
- Rule IDs
-
- SV-63401r1_rule
Checks: C-52105r1_chk
Verify the system is configured to ignore IPv6 ICMP redirect messages. # cat /proc/sys/net/ipv6/conf/all/accept_redirects If the /proc/sys/net/ipv6/conf/all/accept_redirects entry does not exist because of compliance with GEN007720, this is not a finding. If the returned value is not "0", this is a finding.
Fix: F-53999r1_fix
Configure the system to ignore IPv6 ICMP redirect messages. Edit "/etc/sysctl.conf" and add a settings for "net.ipv6.conf.default.accept_redirects=0" and "net.ipv6.conf.all.accept_redirects=0". Restart the system for the setting to take effect.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007920
- Vuln IDs
-
- V-22553
- Rule IDs
-
- SV-63393r1_rule
Checks: C-52103r1_chk
Determine if the system is configured to forward IPv6 source-routed packets. Procedure: # egrep "net.ipv6.conf.*forwarding" /etc/sysctl.conf If there are no entries found or the value of the entries is not = "0", this is a finding.
Fix: F-53991r1_fix
Configure the system to not forward IPv6 source-routed packets. Procedure: Edit the /etc/sysctl.conf file to include: net.ipv6.conf.all.forwarding = 0 net.ipv6.conf.default.forwarding = 0 Reload the kernel parameters: # sysctl -p
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001453
- Version
- GEN007980
- Vuln IDs
-
- V-22555
- Rule IDs
-
- SV-63369r3_rule
Checks: C-52083r4_chk
To check to see if the system is an LDAP server, verify LDAP is running on the system: # ps -ef | grep ldap Find out which LDAP is used (if not determined via the command above). # rpm -qa | grep ldap If using nssldap: # grep base /etc/ldap.conf Check to see if the base is set to something besides the default of "dc=example,dc=com". If using openldap: # grep suffix /etc/openldap/slapd.conf Check whether the system is an LDAP client: # grep server /etc/ldap.conf # grep server /etc/openldap/ldap.conf Check whether the server option has an address other than the loopback, then check the nsswitch.conf file. # grep ldap /etc/nsswitch.conf Look for the following three lines: passwd: files ldap shadow: files ldap group: files ldap If all three files are not configured to look for an LDAP source, then the system is not using LDAP for authentication. If the system is not using LDAP for authentication, this is not applicable. Check if NSS LDAP is using TLS. # grep '^ssl start_tls' /etc/ldap.conf If no lines are returned, this is a finding. Check if NSS LDAP TLS is using only FIPS 140-2 approved cryptographic algorithms. # grep '^tls_ciphers' /etc/ldap.conf If the line is not present or contains ciphers not approved by FIPS 140-2, this is a finding. FIPS-approved ciphers include 3DES and AES. FIPS-approved hashes include the SHA hash family.
Fix: F-53969r2_fix
Edit "/etc/ldap.conf" and add a "ssl start_tls" and "tls_ciphers" options with only FIPS 140-2 approved ciphers.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000185
- Version
- GEN008000
- Vuln IDs
-
- V-22556
- Rule IDs
-
- SV-63365r1_rule
Checks: C-52077r1_chk
Verify the source of the LDAP certificates Check if the system is using NSS LDAP. # grep -v '^#' /etc/nsswitch.conf | grep ldap If no lines are returned, this vulnerability is not applicable. Verify with the SA that the system is connected to the GIG. If the system part of a standalone network which is not connected to the GIG this vulnerability is not applicable. Verify a certificate is used for client authentication to the server. # grep -i '^tls_cert' /etc/ldap.conf If no line is found, this is a finding. List the certificate issuer. # openssl x509 -text -in <cert> If the certificate is not issued by DoD PKI or a DoD-approved external PKI, this is a finding.
Fix: F-53963r1_fix
Edit "/etc/ldap.conf" and add or edit the 'tls_cert' setting to reference a file containing a client certificate issued by DoD PKI or a DoD-approved external PKI.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000185
- Version
- GEN008020
- Vuln IDs
-
- V-22557
- Rule IDs
-
- SV-63361r1_rule
Checks: C-52073r1_chk
Check if the system is using NSS LDAP. # grep -v '^#' /etc/nsswitch.conf | grep ldap If no lines are returned, this vulnerability is not applicable. Verify a server certificate is required and verified by the NSS LDAP configuration. # grep -i '^tls_checkpeer' /etc/ldap.conf If no line is returned, or the value is not "yes", this is a finding.
Fix: F-53959r1_fix
Edit "/etc/ldap.conf" and add or set the "tls_checkpeer" setting to "yes".
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000185
- Version
- GEN008040
- Vuln IDs
-
- V-22558
- Rule IDs
-
- SV-63357r1_rule
Checks: C-52069r2_chk
Check if the system is using NSS LDAP. # grep -v '^#' /etc/nsswitch.conf | grep ldap If no lines are returned, this vulnerability is not applicable. Verify the NSS LDAP client is configured to check certificates against a certificate revocation list. # grep -i '^tls_crlcheck' /etc/ldap.conf If the setting does not exist, or the value is not "all", this is a finding.
Fix: F-53955r1_fix
Edit "/etc/ldap.conf" and add or set the "tls_crlcheck" setting to "all".
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008060
- Vuln IDs
-
- V-22559
- Rule IDs
-
- SV-63349r1_rule
Checks: C-52059r1_chk
Check the permissions of the file. # ls -lL /etc/ldap.conf If the mode of the file is more permissive than 0644, this is a finding.
Fix: F-53945r1_fix
Change the permissions of the file. # chmod 0644 /etc/ldap.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008080
- Vuln IDs
-
- V-22560
- Rule IDs
-
- SV-63321r1_rule
Checks: C-52053r1_chk
Check the ownership of the file. # ls -lL /etc/ldap.conf If the file is not owned by root, this is a finding.
Fix: F-53937r2_fix
Change the owner of the file. # chown root /etc/ldap.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008100
- Vuln IDs
-
- V-22561
- Rule IDs
-
- SV-63317r1_rule
Checks: C-52031r1_chk
Check the group ownership of the file. Procedure: # ls -lL /etc/ldap.conf If the file is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-53917r1_fix
Change the group owner of the file to root, bin, sys, or system. Procedure: # chgrp root /etc/ldap.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008120
- Vuln IDs
-
- V-22562
- Rule IDs
-
- SV-63315r1_rule
Checks: C-52025r1_chk
Check the permissions of the file. # ls -lL /etc/ldap.conf If the mode includes a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-53911r1_fix
Remove the extended ACL from the "/etc/ldap.conf" file. # setfacl --remove-all /etc/ldap.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008140
- Vuln IDs
-
- V-22563
- Rule IDs
-
- SV-63303r3_rule
Checks: C-52015r4_chk
Determine if LDAP is used for account information on the system. To check to see if the system is an LDAP server, verify LDAP is running on the system: # ps -ef | grep ldap Find out which LDAP is used (if not determined via the command above). # rpm -qa | grep ldap If using nssldap: # grep base /etc/ldap.conf Check to see if the base is set to something besides the default of "dc=example,dc=com". If using openldap: # grep suffix /etc/openldap/slapd.conf Check whether the system is an LDAP client: # grep server /etc/ldap.conf # grep server /etc/openldap/ldap.conf Check whether the server option has an address other than the loopback, then check the nsswitch.conf file. # grep ldap /etc/nsswitch.conf Look for the following three lines: passwd: files ldap shadow: files ldap group: files ldap If no uncommented reference to "ldap" is identified, LDAP is not used for account information on the system and this is not applicable. Determine the certificate authority file and/or directory. # grep -i '^tls_cacert' /etc/ldap.conf For each file or directory returned, check the ownership. # ls -lLd <certpath> If the owner of any file or directory is not root, this is a finding.
Fix: F-53899r2_fix
Change the ownership of the file or directory. # chown root <certpath>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008160
- Vuln IDs
-
- V-22564
- Rule IDs
-
- SV-63291r1_rule
Checks: C-51999r2_chk
Determine the certificate authority file and/or directory. # grep -i '^tls_cacert' /etc/ldap.conf For each file or directory returned, check the group ownership. # ls -lLd <certpath> If the group-owner of any file or directory is not root, bin, sys, or system, this is a finding.
Fix: F-53881r2_fix
Change the group ownership of the file or directory. # chgrp root <certpath>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008180
- Vuln IDs
-
- V-22565
- Rule IDs
-
- SV-63289r1_rule
Checks: C-51993r1_chk
Determine the certificate authority file and/or directory. Procedure: # grep -i '^tls_cacert' /etc/ldap.conf For each file or directory returned, check the permissions. Procedure: # ls -lLd <certpath> If the mode of the file is more permissive than 0644 (or 0755 for directories), this is a finding.
Fix: F-53877r2_fix
Change the mode of the file or directory. File Procedure: # chmod 0644 <certpath> Directory Procedure: # chmod 0755 <certpath>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008200
- Vuln IDs
-
- V-22566
- Rule IDs
-
- SV-63287r1_rule
Checks: C-51989r2_chk
Determine the certificate authority file and/or directory. # grep -i '^tls_cacert' /etc/ldap.conf For each file or directory returned, check the permissions. # ls -lLd <certpath> If the mode of the file or directory contains a '+', an extended ACL is present. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-53873r2_fix
Remove the extended ACL from the certificate file. Procedure: For each certificate file found remove all extended permissions # setfacl --remove-all <certpath>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008220
- Vuln IDs
-
- V-22567
- Rule IDs
-
- SV-63257r1_rule
Checks: C-51973r1_chk
Determine the certificate file. # grep -i '^tls_cert' /etc/ldap.conf Check the ownership. # ls -lL <certpath> If the owner of the file is not root, this is a finding.
Fix: F-53839r1_fix
Change the ownership of the file. # chown root <certpath>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008240
- Vuln IDs
-
- V-22568
- Rule IDs
-
- SV-63253r1_rule
Checks: C-51965r1_chk
Determine the certificate file. Procedure: # grep -i '^tls_cert' /etc/ldap.conf Check the group ownership. Procedure: # ls -lL <certpath> If the group owner of the file is not root, bin, sys, or system, this is a finding.
Fix: F-53827r2_fix
Change the group ownership of the file. Procedure: # chgrp root <certpath>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008260
- Vuln IDs
-
- V-22569
- Rule IDs
-
- SV-63249r1_rule
Checks: C-51959r2_chk
Determine the certificate file. # grep -i '^tls_cacert' /etc/ldap.conf Check the permissions. # ls -lL <certpath> If the mode of the file is more permissive than 0644, this is a finding.
Fix: F-53821r2_fix
Change the mode of the file. # chmod 0644 <certpath>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008280
- Vuln IDs
-
- V-22570
- Rule IDs
-
- SV-63245r1_rule
Checks: C-51957r2_chk
Determine the certificate file. # grep -i '^tls_cert' /etc/ldap.conf Check the permissions. # ls -lL <certpath> If the mode of the file contains a '+', an extended ACL is present. This is a finding.
Fix: F-53819r2_fix
Remove the extended ACL from the certificate file. Procedure: For each certificate file found remove all extended permissions. # setfacl --remove-all <certpath>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008300
- Vuln IDs
-
- V-22571
- Rule IDs
-
- SV-63243r1_rule
Checks: C-51953r2_chk
Determine the key file. # grep -i '^tls_key' /etc/ldap.conf Check the ownership. # ls -lL <keypath> If the owner of the file is not root, this is a finding.
Fix: F-53815r2_fix
Change the ownership of the file. # chown root <keypath>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008320
- Vuln IDs
-
- V-22572
- Rule IDs
-
- SV-63235r1_rule
Checks: C-51951r2_chk
Determine the key file. # grep -i '^tls_key' /etc/ldap.conf Check the group ownership. # ls -lL <keypath> If the file is not group owned by root, bin, or sys, this is a finding.
Fix: F-53813r2_fix
Change the group ownership of the file. # chgrp root <keypath>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008340
- Vuln IDs
-
- V-22573
- Rule IDs
-
- SV-63233r1_rule
Checks: C-51947r2_chk
Determine the key file. # grep -i '^tls_key' /etc/ldap.conf Check the permissions. # ls -lL <keypath> If the mode of the file is more permissive than 0600, this is a finding.
Fix: F-53805r2_fix
Change the mode of the file. # chmod 0600 <keypath>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008360
- Vuln IDs
-
- V-22574
- Rule IDs
-
- SV-63213r1_rule
Checks: C-51937r2_chk
Determine the key file. # grep -i '^tls_key' /etc/ldap.conf Check the permissions. # ls -lL <keypath> If the permissions of the file contains a '+', an extended ACL is present. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-53791r2_fix
Remove the extended ACL from the key file. Procedure: For each key file found remove all extended permissions. # setfacl --remove-all <keypath>
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN008420
- Vuln IDs
-
- V-22576
- Rule IDs
-
- SV-63197r1_rule
Checks: C-51921r2_chk
Check that the "kernel.randomize_va_space" kernel parameter is set to "2" in /etc/sysctl.conf. Procedure: # grep ^kernel\.randomize_va_space /etc/sysctl.conf | awk -F= '{ print $2 }' If there is no value returned or if a value is returned that is not "2", this is a finding.
Fix: F-53775r3_fix
Edit (or add if necessary) the entry in /etc/sysctl.conf for the "kernel.randomize_va_space" kernel parameter. Ensure this parameter is set to "2" as in: kernel.randomize_va_space = 2 If this was not already the default, reboot the system for the change to take effect.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN008440
- Vuln IDs
-
- V-22577
- Rule IDs
-
- SV-63193r1_rule
Checks: C-51915r1_chk
If the autofs service is needed, this vulnerability is not applicable. Check if the autofs service is running. # service autofs status If the service is running, this is a finding.
Fix: F-53767r1_fix
Stop and disable the autofs service. # service autofs stop # chkconfig autofs off
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN008460
- Vuln IDs
-
- V-22578
- Rule IDs
-
- SV-63189r1_rule
Checks: C-51913r1_chk
If the system needs USB, this vulnerability is not applicable. Check if the directory "/proc/bus/usb" exists. If so, this is a finding.
Fix: F-53763r1_fix
Edit the grub bootloader file "/boot/grub/grub.conf" or "/boot/grub/menu.lst" by appending the "nousb" parameter to the kernel boot line.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN008480
- Vuln IDs
-
- V-22579
- Rule IDs
-
- SV-63179r1_rule
Checks: C-51909r1_chk
If the system needs USB storage, this vulnerability is not applicable. Check if usb-storage is prevented from loading. # grep 'install usb-storage /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no results are returned, this is a finding.
Fix: F-53755r1_fix
Prevent the usb-storage module from loading. # echo 'install usb-storage /bin/true' >> /etc/modprobe.conf
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN008500
- Vuln IDs
-
- V-22580
- Rule IDs
-
- SV-63173r1_rule
Checks: C-51905r1_chk
If the system needs IEEE 1394 (Firewire), this is not applicable. Check if the Firewire module is not disabled. # grep 'install ieee1394 /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no results are returned, this is a finding.
Fix: F-53747r1_fix
Prevent the system from loading the Firewire module. # echo 'install ieee1394 /bin/true' >> /etc/modprobe.conf
- RMF Control
- SC-7
- Severity
- M
- CCI
- CCI-001118
- Version
- GEN008520
- Vuln IDs
-
- V-22582
- Rule IDs
-
- SV-63149r1_rule
Checks: C-51891r1_chk
Determine if the system is using a local firewall. # chkconfig --list iptables If the service is not "on" in the standard runlevel (ordinarily 3 or 5), this is a finding.
Fix: F-53733r1_fix
Enable the system's local firewall. # chkconfig iptables on # service iptables start
- RMF Control
- SC-7
- Severity
- M
- CCI
- CCI-001109
- Version
- GEN008540
- Vuln IDs
-
- V-22583
- Rule IDs
-
- SV-63141r1_rule
Checks: C-51887r1_chk
Check the firewall rules for a default deny rule. # iptables --list Example of a rule meeting this criteria: REJECT all -- anywhere anywhere reject-with icmp-host-prohibited A rule using DROP is also acceptable. The default rule should be the last rule of a table and match all traffic. If there is no default deny rule, this is a finding.
Fix: F-53729r1_fix
Edit "/etc/sysconfig/iptables" and add a default deny rule. An example of a default deny rule: -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited Restart the iptable service. # service iptables restart
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN000000-LNX00800
- Vuln IDs
-
- V-22584
- Rule IDs
-
- SV-63085r1_rule
Checks: C-51839r1_chk
Check if SELinux is enabled with at least a "targeted" policy. # grep ^SELINUX /etc/sysconfig/selinux If the SELINUX option is not set to "enforcing", this is a finding. If the SELINUXTYPE option is not set to "targeted" or "strict", this is a finding. If the use of the system is incompatible with the confines of SELinux this rule may be waived.
Fix: F-53671r1_fix
Enable one of the SELinux policies. Edit /etc/sysconfig/selinux and set the value of the SELINUX option to "enforcing" and SELINUXTYPE to "targeted" or "strict". Restart the system.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008740
- Vuln IDs
-
- V-22585
- Rule IDs
-
- SV-63091r1_rule
Checks: C-51845r1_chk
Check the permissions of the file. # ls -lL /boot/grub/grub.conf If the permissions of the file or directory contains a '+', an extended ACL is present. This is a finding.
Fix: F-53677r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /boot/grub/grub.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008760
- Vuln IDs
-
- V-22586
- Rule IDs
-
- SV-63089r1_rule
Checks: C-51843r1_chk
Check the ownership of the file. # ls -lLd /boot/grub/grub.conf If the owner of the file is not root, this is a finding.
Fix: F-53675r1_fix
Change the ownership of the file. # chown root /boot/grub/grub.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008780
- Vuln IDs
-
- V-22587
- Rule IDs
-
- SV-63069r1_rule
Checks: C-51829r1_chk
Check the group ownership of the file. # ls -lLd /boot/grub/grub.conf If the group-owner of the file is not root, bin, sys, or system this is a finding.
Fix: F-53657r1_fix
Change the group ownership of the file. # chgrp root /boot/grub/grub.conf
- RMF Control
- CM-5
- Severity
- L
- CCI
- CCI-000351
- Version
- GEN008800
- Vuln IDs
-
- V-22588
- Rule IDs
-
- SV-63027r2_rule
Checks: C-51821r2_chk
Verify YUM signature validation is not disabled. # grep gpgcheck /etc/yum.conf /etc/yum.repos.d/* If no results are returned, or the returned “gpgcheck” settings are not equal to “1”, this is a finding.
Fix: F-53631r2_fix
Edit the YUM configuration containing "gpgcheck=0" and set the value to "1".
- RMF Control
- SI-2
- Severity
- L
- CCI
- CCI-001233
- Version
- GEN008820
- Vuln IDs
-
- V-22589
- Rule IDs
-
- SV-63025r1_rule
Checks: C-51817r1_chk
Verify the YUM service is enabled. # service yum-updatesd status If the service is enabled, this is a finding.
Fix: F-53613r1_fix
Disable the yum service. # chkconfig yum-updatesd off ; service yum-updatesd stop
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX00450
- Vuln IDs
-
- V-22595
- Rule IDs
-
- SV-62909r1_rule
Checks: C-51737r1_chk
Check the permissions of the file. # ls -lL /etc/security/access.conf If the permissions of the file or directory contain a '+', an extended ACL is present. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-53487r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/security/access.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-LNX00530
- Vuln IDs
-
- V-22596
- Rule IDs
-
- SV-62983r1_rule
Checks: C-51769r1_chk
Check the permissions of the file. # ls -lL /etc/sysctl.conf If the permissions of the file or directory contain a '+', an extended ACL is present. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.
Fix: F-53551r1_fix
Remove the extended ACL from the file. # setfacl --remove-all /etc/sysctl.conf
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN000000-LNX00720
- Vuln IDs
-
- V-22598
- Rule IDs
-
- SV-63081r1_rule
Checks: C-51833r2_chk
Check for the audit=1 kernel parameter. # grep 'audit=1' /proc/cmdline If no results are returned, this is a finding.
Fix: F-53665r1_fix
Edit the grub bootloader file /boot/grub/grub.conf or /boot/grub/menu.lst by appending the "audit=1" parameter to the kernel boot line. Reboot the system for the change to take effect.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005590
- Vuln IDs
-
- V-22665
- Rule IDs
-
- SV-64111r1_rule
Checks: C-52527r1_chk
Check for any running routing protocol daemons. If the system is a VM host and acts as a router solely for the benefits of its client systems, then this rule is not applicable. # chkconfig --list |grep :on|egrep '(ospf|route|bgp|zebra|quagga)' If any routing protocol daemons are listed, this is a finding.
Fix: F-54639r1_fix
Disable any routing protocol daemons.
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- GEN002690
- Vuln IDs
-
- V-22702
- Rule IDs
-
- SV-63873r1_rule
Checks: C-52405r1_chk
Check the group ownership of the audit logs. Procedure: # grep "^log_file" /etc/audit/auditd.conf|sed s/^[^\/]*//|xargs stat -c %G:%n If any audit log file is not group-owned by root, bin, sys, or system, this is a finding.
Fix: F-54447r2_fix
Change the group ownership of the audit log file(s). Procedure: # chgrp root <audit log file>
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- GEN000410
- Vuln IDs
-
- V-23732
- Rule IDs
-
- SV-63359r1_rule
Checks: C-52071r2_chk
FTP to the system. # ftp localhost Check for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding. If the system does not run the FTP service, this is not applicable. DoD Login Banners: You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. OR I've read & consent to terms in IS user agreem't.
Fix: F-53957r3_fix
Provide the proper text for the DoD banner to be presented by the FTP server to the user. For vsftp: Examine the /etc/vsftp.conf file for the "banner_file" entry. (i.e., banner_file = /etc/banner/vsftp) For gssftp: Examine the /etc/xinetd.d/gssftp file for the "banner" entry. (i.e., banner = /etc/banner/gssftp) For both: Add the banner entry if one is not found. Modify or create the referenced banner file to contain one of the following DoD login banners (based on the character limitations imposed by the system). DoD Login Banners: You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. OR I've read & consent to terms in IS user agreem't.
- RMF Control
- SC-32
- Severity
- L
- CCI
- CCI-001208
- Version
- GEN003621
- Vuln IDs
-
- V-23736
- Rule IDs
-
- SV-64217r1_rule
Checks: C-52673r1_chk
Determine if the /var path is a separate filesystem. # grep /var /etc/fstab If no result is returned, /var is not on a separate filesystem this is a finding.
Fix: F-54827r1_fix
Migrate the /var path onto a separate file system.
- RMF Control
- SC-32
- Severity
- L
- CCI
- CCI-001208
- Version
- GEN003623
- Vuln IDs
-
- V-23738
- Rule IDs
-
- SV-64219r1_rule
Checks: C-52675r1_chk
Determine if the /var/log/audit path is a separate filesystem. # grep /var/log/audit /etc/fstab If no result is returned, /var/log/audit is not on a separate filesystem this is a finding.
Fix: F-54829r1_fix
Migrate the /var/log/audit path onto a separate filesystem.
- RMF Control
- SC-32
- Severity
- L
- CCI
- CCI-001208
- Version
- GEN003624
- Vuln IDs
-
- V-23739
- Rule IDs
-
- SV-64221r1_rule
Checks: C-52677r1_chk
Determine if the /tmp path is a separate filesystem. # egrep "[\t ]/tmp[\t ]" /etc/fstab If no result is returned, /tmp is not on a separate filesystem this is a finding.
Fix: F-54831r1_fix
Migrate the /tmp path onto a separate file system.
- RMF Control
- Severity
- M
- CCI
- Version
- GEN003601
- Vuln IDs
-
- V-23741
- Rule IDs
-
- SV-64457r1_rule
Checks: C-52879r1_chk
# cat /proc/sys/net/ipv4/tcp_max_syn_backlog If the result is not 1280 or greater, this is a finding.
Fix: F-55057r1_fix
Edit /etc/sysctl.conf and add a setting for "net.ipv4.tcp_max_syn_backlog=1280". Procedure: # sysctl -p
- RMF Control
- SI-8
- Severity
- M
- CCI
- CCI-001305
- Version
- GEN004710
- Vuln IDs
-
- V-23952
- Rule IDs
-
- SV-62879r2_rule
Checks: C-51719r4_chk
If the system uses sendmail examine the configuration files. Determine if sendmail only binds to loopback addresses by examining the "DaemonPortOptions" configuration options. Procedure: # grep -i "O DaemonPortOptions" /etc/mail/sendmail.cf If there are uncommented DaemonPortOptions lines, and all such lines specify system loopback addresses, this is not a finding. Otherwise, determine if sendmail is configured to allow open relay operation. Procedure: # grep -i promiscuous_relay /etc/mail/sendmail.mc If the promiscuous relay feature is enabled, this is a finding. If the system uses Postfix, locate the main.cf file. Procedure: # find / -name main.cf Determine if Postfix only binds to loopback addresses by examining the "inet_interfaces" line. Procedure: # grep inet_interfaces </path/to/main.cf> If "inet_interfaces" is set to "loopback-only" or contains only loopback addresses such as 127.0.0.1 and [::1], Postfix is not listening on external network interfaces, and this is not a finding. Otherwise, determine if Postfix is configured to restrict clients permitted to relay mail by examining the "smtpd_client_restrictions" line. Procedure: # grep smtpd_client_restrictions </path/to/main.cf> If the "smtpd_client_restrictions" line is missing, or does not contain "reject", this is a finding. If the line contains "permit" before "reject", this is a finding. If the system is using other SMTP software, consult the software's documentation for procedures to verify mail relaying is restricted.
Fix: F-53453r2_fix
If the system uses sendmail, edit the sendmail.mc file and remove the "promiscuous_relay" configuration. Rebuild the sendmail.cf file from the modified sendmail.mc and restart the service. If the system does not need to receive mail from external hosts, add one or more DaemonPortOptions lines referencing system loopback addresses (such as "O DaemonPortOptions=Addr=127.0.0.1,Port=smtp,Name=MTA") and remove lines containing non-loopback addresses. Restart the service. If the system uses Postfix, edit the main.cf file and add or edit the "smtpd_client_restrictions" line to have contents "permit_mynetworks, reject" or a similarly restrictive rule. If the system does not need to receive mail from external hosts, add or edit the "inet_interfaces" line to have contents "loopback-only" or a set of loopback addresses for the system. Restart the service. If the system is using other SMTP software, consult the software's documentation for procedures to restrict mail relaying.
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN007960
- Vuln IDs
-
- V-23953
- Rule IDs
-
- SV-63379r1_rule
Checks: C-52093r1_chk
Check the system for the 'ldd' binary. Procedure: # ls -lL /usr/bin/ldd If the 'ldd' binary has any executable permissions bits set, this is a finding.
Fix: F-53979r1_fix
Remove the execute permissions from the 'ldd' executable. Procedure: # chmod a-x /usr/bin/ldd
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN007950
- Vuln IDs
-
- V-23972
- Rule IDs
-
- SV-63385r1_rule
Checks: C-52097r1_chk
Check for an iptables rule that drops inbound IPv6 ICMP ECHO_REQUESTs sent to the all-hosts multicast address. Procedure: # less /etc/sysconfig/ip6tables Check for a rule in, or referenced by, the INPUT chain such as: -A INPUT -p icmpv6 -d ff02::1 --icmpv6-type 128 -j DROP If such a rule does not exist, this is a finding.
Fix: F-53985r1_fix
Add an iptables rule that drops inbound IPv6 ICMP ECHO_REQUESTs sent to the all-hosts multicast address. Edit /etc/sysconfig/ip6tables and add a rule in, or referenced by, the INPUT chain such as: -A INPUT -p icmpv6 -d ff02::1 --icmpv6-type 128 -j DROP Reload the iptables rules. Procedure: # service ip6tables restart
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- GEN000402
- Vuln IDs
-
- V-24331
- Rule IDs
-
- SV-63351r1_rule
Checks: C-52063r2_chk
Access the graphical desktop environment(s) provided by the system and attempt to log in. Check for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding. You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests- -not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. OR I've read & consent to terms in IS user agreem't.
Fix: F-53949r2_fix
Configure the system to display one of the DoD login banners prior to, or as part of, the graphical desktop environment login process. Procedure: Modify /usr/share/gdm/themes/RHEL/RHEL.xml by adding the following xml after the first two "pixmap" entries. <item type="rect" id="custom-dod-banner"> <pos anchor="nw" x="20%" y="10" width="80%" height="100%"/> <box> <item type="label"> <normal font="Sans Bold 9" color="#ffffff"/> <text> Insert the "approved text" here based on the character limitations imposed by the system. </text> </item> </box> </item> Approved text: DoD Login Banners: You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. OR I've read & consent to terms in IS user agreem't.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000768
- Version
- GEN009120
- Vuln IDs
-
- V-24347
- Rule IDs
-
- SV-63005r2_rule
Checks: C-51813r1_chk
Consult vendor documentation to determine if the system is capable of CAC authentication. If it is not, this is not applicable. Interview the SA to determine if all accounts not exempted by policy are using CAC authentication. If non-exempt accounts are not using CAC authentication, this is a finding.
Fix: F-53611r1_fix
Consult vendor documentation to determine the procedures necessary for configuring CAC authentication. Configure all accounts required by policy to use CAC authentication.
- RMF Control
- AU-3
- Severity
- L
- CCI
- CCI-000136
- Version
- GEN002870
- Vuln IDs
-
- V-24357
- Rule IDs
-
- SV-64419r2_rule
Checks: C-52813r2_chk
Verify the system is configured to forward all audit records to a remote server. If the system is not configured to provide this function, this is a finding. Procedure: Ensure the audit option for the kernel is enabled. # grep "audit" /boot/grub/grub.conf | grep -v "^#" If the kernel does not have the "audit=1" option specified, this is a finding. Ensure the kernel auditing is active. # grep "active" /etc/audisp/plugins.d/syslog.conf | grep -v "^#" If the "active" setting is either missing or not set to "yes", this is a finding. Ensure all audit records are forwarded to a remote server. # grep "\*.\*" /etc/syslog.conf |grep "@" | grep -v "^#" (for syslog) or: # grep "\*.\*" /etc/rsyslog.conf | grep "@" | grep -v "^#" (for rsyslog) If neither of these lines exist, it is a finding.
Fix: F-54995r5_fix
Configure the system to send audit records to a remote server. Procedure: These instructions assume a known remote audit server is available to this system. Modify /etc/syslog.conf or /etc/rsyslog.conf to contain a line sending all audit records to a remote audit server. The server is specified by placing an "@" before the DNS name or IP address in the line. *.* @<remote audit server> Edit the "active" line in /etc/audisp/plugins.d/syslog.conf so it shows "active = yes". Restart audit and syslog: # service auditd restart # service syslog restart Or: # service rsyslog restart
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000196
- Version
- GEN008050
- Vuln IDs
-
- V-24384
- Rule IDs
-
- SV-63355r3_rule
Checks: C-52067r4_chk
Verify LDAP is running on the system. To check to see if the system is an LDAP server run: # ps -ef | grep ldap Find out which LDAP is used (if not determined via the command above). # rpm -qa | grep ldap If using nssldap: # grep base /etc/ldap.conf Check to see if the base is set to something besides the default of "dc=example,dc=com". If using openldap: # grep suffix /etc/openldap/slapd.conf Check whether the system is an LDAP client: # grep server /etc/ldap.conf # grep server /etc/openldap/ldap.conf Check whether the server option has an address other than the loopback, then check the nsswitch.conf file: # grep ldap /etc/nsswitch.conf Look for the following three lines: passwd: files ldap shadow: files ldap group: files ldap If all three files are not configured to look for an LDAP source, then the system is not using LDAP for authentication. If the system is not using LDAP for authentication, this is not applicable. Check for the "bindpw" option being used in the "/etc/ldap.conf" file. # grep bindpw /etc/ldap.conf If an uncommented "bindpw" option is returned, then a clear text password is in the file, and this is a finding.
Fix: F-53953r2_fix
Edit the "/etc/ldap.conf" file to use anonymous binding by removing the "bindpw" option.
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000197
- Version
- GEN003850
- Vuln IDs
-
- V-24386
- Rule IDs
-
- SV-64021r1_rule
Checks: C-52607r1_chk
The telnet service included in the operating system is a part of krb5-workstation. There are two versions of telnetd server provided. The xinetd.d file ekrb5-telnet allows only connections authenticated through Kerberos. The xinetd.d krb5-telnet allows normal telnet connections as well as kerberized connections. Both are set to "disable = yes" by default. Ensure that neither is running. Procedure: Check if telnetd is running: # ps -ef |grep telnetd If the telnet daemon is running, this is a finding. Check if telnetd is enabled on startup: # chkconfig --list|grep telnet If an entry with "on" is found, this is a finding.
Fix: F-54723r2_fix
Identify the telnet service running and disable it. Procedure: Disable the telnet server. # chkconfig telnet off Verify the telnet daemon is no longer running. # ps -ef |grep telnet
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- GEN008710
- Vuln IDs
-
- V-24624
- Rule IDs
-
- SV-63097r1_rule
Checks: C-51853r2_chk
Check GRUB for password configuration. Procedure: Check the /boot/grub/grub.conf or /boot/grub/menu.lst files. # grep "password" /boot/grub/grub.conf /boot/grub/menu.lst Check for a password configuration line, such as: password --md5 <password-hash> If the boot loader passwords are not protected using an MD5 hash or stronger, this is a finding.
Fix: F-53685r1_fix
Consult vendor documentation for procedures concerning the system's boot loader. Configure the boot loader to hash boot loader passwords using MD5 or a stronger hash.
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000293
- Version
- GEN000140-2
- Vuln IDs
-
- V-27250
- Rule IDs
-
- SV-63101r1_rule
Checks: C-51855r2_chk
Verify a system integrity baseline exists. The Advanced Intrusion Detection Environment (AIDE) tool is included with the operating system. Other host intrusion detection system (HIDS) software is available but must be checked manually. Procedure: # grep DBDIR /etc/aide.conf If /etc/aide.conf does not exist AIDE has not been installed. Unless another HIDS is used on the system, this is a finding. Examine the response for "database" this indicates the location of the system integrity baseline database used as input to a comparison. # ls -la <DBDIR> If no "database" file as defined in /etc/aide.conf exists a system integrity baseline has not been created, this is a finding. Examine /etc/aide.conf to ensure some form of cryptographic hash (i.e., md5, rmd160, sha256) is used for files. In the default /etc/aide.conf the "NORMAL" or "LSPP" rules which are used for virtually all files DO include some form of cryptographic hash. If the site has defined rules to replace the functionality provided by the default "NORMAL" and "LSPP" rules but DOES NOT include cryptographic hashes, this is a finding. Otherwise, if any element used to define the "NORMAL" and "LSPP" rules has been modified resulting in cryptographic hashes not being used, this is a finding. If any other modification to the default /etc/aide.conf file have been made resulting in rules which do not include cryptographic hashes on appropriate files, this is a finding.
Fix: F-53687r1_fix
Use AIDE to create a file integrity baseline, including cryptographic hashes, for the system. Configure the /etc/aide.conf file to ensure some form of cryptographic hash (e.g., md5, rmd160, sha256) is used for files. In the default /etc/aide.conf the "NORMAL" or "LSPP" rules which are used for virtually all files DO include some form of cryptographic hash.
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000293
- Version
- GEN000140-3
- Vuln IDs
-
- V-27251
- Rule IDs
-
- SV-63129r1_rule
Checks: C-51873r2_chk
Verify a system integrity baseline is maintained. The baseline has been updated to be consistent with the latest approved system configuration changes. The Advanced Intrusion Detection Environment (AIDE) tool is included with the operating system. Other host intrusion detection system (HIDS) software is available but must be checked manually. Procedure: # grep DBDIR /etc/aide.conf If /etc/aide.conf does not exist AIDE has not been installed. Unless another HIDS is used on the system, this is a finding. Examine the response for "database" indicates the location of the system integrity baseline database used as input to a comparison. # ls -la <DBDIR> If the no "database" file as defined in /etc/aide.conf a system integrity baseline has not been created, this is a finding. Ask the SA when the last approved system configuration changes occurred. If the modification date of the AIDE database is prior to the last approved configuration change, this is a finding.
Fix: F-53711r2_fix
Regularly rebuild the integrity baseline, including cryptographic hashes, for the system to be consistent with the latest approved system configuration. Procedure: After an approved modification to the system configuration has been made perform: # aide -u This will update the database.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000012
- Version
- GEN000290-2
- Vuln IDs
-
- V-27275
- Rule IDs
-
- SV-63215r2_rule
Checks: C-51935r1_chk
Check the system for the unnecessary "news" accounts. Procedure: # rpm -q inn If the "inn" is installed the "news" user is necessary and this is not a finding. # grep ^news /etc/passwd If this account exists and "inn" is not installed, this is a finding.
Fix: F-53793r3_fix
Remove the "news" account from the /etc/passwd file before connecting a system to the network.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000012
- Version
- GEN000290-3
- Vuln IDs
-
- V-27276
- Rule IDs
-
- SV-63227r2_rule
Checks: C-51939r1_chk
Check the system for the unnecessary "gopher" accounts. Procedure: # grep ^gopher /etc/passwd If this account exists, it is a finding.
Fix: F-53797r3_fix
Remove the "gopher" account from the /etc/passwd file before connecting a system to the network.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000012
- Version
- GEN000290-4
- Vuln IDs
-
- V-27279
- Rule IDs
-
- SV-63231r2_rule
Checks: C-51943r1_chk
Check the system for the unnecessary "ftp" accounts. Procedure: # rpm -q krb5-workstation An ftp server is part of "krb5-workstation". If it is installed the "ftp" user is necessary and this is not a finding. # rpm -q vsftp If the "vsftp" ftp server is installed the "ftp" user is necessary and this is not a finding. # grep ^ftp /etc/passwd If this account exists and no ftp server is installed which requires it, this is a finding.
Fix: F-53801r3_fix
Remove the "ftp" account from the /etc/passwd file before connecting a system to the network.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000057
- Version
- GEN000500-2
- Vuln IDs
-
- V-27283
- Rule IDs
-
- SV-63609r1_rule
Checks: C-52255r1_chk
If the "xorg-x11-server-Xorg" package is not installed, this is not applicable. For the Gnome screen saver, check the idle_delay setting. Procedure: # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --get /apps/gnome-screensaver/idle_delay If this does not return 15 or less, this is a finding.
Fix: F-54217r1_fix
For the Gnome screen saver, set idle_delay to 15. Procedure: # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type int --set /apps/gnome-screensaver/idle_delay 15
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000057
- Version
- GEN000500-3
- Vuln IDs
-
- V-27284
- Rule IDs
-
- SV-63619r1_rule
Checks: C-52265r1_chk
If the "xorg-x11-server-Xorg" package is not installed, this is not applicable. For the Gnome screen saver, check the lock_enabled flag. Procedure: # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --get /apps/gnome-screensaver/lock_enabled If this does not return "true", this is a finding.
Fix: F-54225r1_fix
For the Gnome screen saver, set the lock_enabled flag. Procedure: # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type bool --set /apps/gnome-screensaver/lock_enabled true
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000192
- Version
- GEN000600-2
- Vuln IDs
-
- V-27285
- Rule IDs
-
- SV-63987r1_rule
Checks: C-52459r1_chk
Verify the system-auth settings are being applied. Procedure: Verify the additional pam.d requirements are in use. The file "/etc/pam.d/system-auth-ac" is auto generated by "authconfig". Any manual changes made to it will be lost next time "authconfig" is run. Check to see if the systems default of the symlink "/etc/pam.d/system-auth" pointing to "/etc/pam.d/system-auth-ac" has been changed. # ls -l /etc/pam.d/system-auth If the symlink points to "/etc/pam.d/system-auth-ac", manual changes cannot be protected. This is a finding. # grep system-auth-ac /etc/pam.d/system-auth The local system-auth file pointed to by "/etc/pam.d/system-auth" must contain "/etc/pam.d/system-auth-ac" for the auth, account, password, and session lines. If it does not then the parameters maintained by "authconfig" will not be applied, this is a finding.
Fix: F-54553r1_fix
By default, the operating system delivers /etc/pam.d/system-auth as a symbolic link to /etc/pam.d/system-auth-ac (an automatically generated file). When a site adds password requirements a new system-auth-local file must be created with only the additional requirements and includes for auth, account, passwd and session pointing to "/etc/pam.d/system-auth-ac". Then the symlink "/etc/system-auth" is modified to point to "/etc/pam.d/system-auth-local". This way any changes made do not get lost when "/etc/pam.d/system-auth-ac" is regenerated and each program's pam.d definition file need only have "include system-auth" for auth, account, passwd and session, as needed, in order to assure the password requirements will be applied to it.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002720-2
- Vuln IDs
-
- V-29236
- Rule IDs
-
- SV-64249r1_rule
Checks: C-52653r1_chk
Check that auditd is configured to audit failed file access attempts. There must be an audit rule for each of the access syscalls that logs all failed accesses (-F success=0) or there must both an "-F exit=-EPERM" and "-F exit=-EACCES" for each access syscall. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S open" | grep -e "-F success=0" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S open" | grep -e "-F exit=-EPERM" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S open" | grep -e "-F exit=-EACCES" If an "-S open" audit rule with "-F success" does not exist and no separate rules containing "-F exit=-EPERM" and "-F exit=-EACCES" for "open" exist, then this is a finding.
Fix: F-54805r2_fix
Edit the audit.rules file and add the following line(s) to enable auditing of failed attempts to access files and programs: either: -a exit,always -F arch=<ARCH> -S open -F success=0 or both: -a exit,always -F arch=<ARCH> -S open -F exit=-EPERM -a exit,always -F arch=<ARCH> -S open -F exit=-EACCES Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002720-3
- Vuln IDs
-
- V-29237
- Rule IDs
-
- SV-64255r1_rule
Checks: C-52697r1_chk
Verify auditd is configured to audit failed file access attempts. There must be an audit rule for each of the access syscalls logging all failed accesses (-F success=0) or there must both an "-F exit=-EPERM" and "-F exit=-EACCES" for each access syscall. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S openat" | grep -e "-F success=0" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S openat" | grep -e "-F exit=-EPERM" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S openat" | grep -e "-F exit=-EACCES" If an "-S openat" audit rule with "-F success" does not exist and no separate rules containing "-F exit=-EPERM" and "-F exit=-EACCES" for "openat" exist, then this is a finding.
Fix: F-54853r2_fix
Edit the audit.rules file and add the following line(s) to enable auditing of failed attempts to access files and programs: either: -a exit,always -F arch=<ARCH> -S openat -F success=0 or both: -a exit,always -F arch=<ARCH> -S openat -F exit=-EPERM -a exit,always -F arch=<ARCH> -S openat -F exit=-EACCES Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002720-4
- Vuln IDs
-
- V-29238
- Rule IDs
-
- SV-64257r1_rule
Checks: C-52699r1_chk
Verify auditd is configured to audit failed file access attempts. There must be an audit rule for each of the access syscalls logging all failed accesses (-F success=0) or there must both an "-F exit=-EPERM" and "-F exit=-EACCES" for each access syscall. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S truncate" | grep -e "-F success=0" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S truncate" | grep -e "-F exit=-EPERM" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S truncate" | grep -e "-F exit=-EACCES" If an "-S truncate" audit rule with "-F success" does not exist and no separate rules containing "-F exit=-EPERM" and "-F exit=-EACCES" for "truncate" exist, then this is a finding.
Fix: F-54855r3_fix
Edit the audit.rules file and add the following line(s) to enable auditing of failed attempts to access files and programs: either: -a exit,always -F arch=<ARCH> -S truncate -F success=0 or both: -a exit,always -F arch=<ARCH> -S truncate -F exit=-EPERM -a exit,always -F arch=<ARCH> -S truncate -F exit=-EACCES Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002720-5
- Vuln IDs
-
- V-29239
- Rule IDs
-
- SV-64259r1_rule
Checks: C-52701r1_chk
Verify auditd is configured to audit failed file access attempts. There must be an audit rule for each of the access syscalls logging all failed accesses (-F success=0) or there must both an "-F exit=-EPERM" and "-F exit=-EACCES" for each access syscall. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S ftruncate" | grep -e "-F success=0" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S ftruncate" | grep -e "-F exit=-EPERM" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S ftruncate" | grep -e "-F exit=-EACCES" If an "-S ftruncate" audit rule with "-F success" does not exist and no separate rules containing "-F exit=-EPERM" and "-F exit=-EACCES" for "ftruncate" exist, then this is a finding.
Fix: F-54857r2_fix
Edit the audit.rules file and add the following line(s) to enable auditing of failed attempts to access files and programs: either: -a exit,always -F arch=<ARCH> -S ftruncate -F success=0 or both: -a exit,always -F arch=<ARCH> -S ftruncate -F exit=-EPERM -a exit,always -F arch=<ARCH> -S ftruncate -F exit=-EACCES Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002740-2
- Vuln IDs
-
- V-29240
- Rule IDs
-
- SV-64265r1_rule
Checks: C-52707r1_chk
Check the system audit configuration to determine if file and directory deletions are audited. # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "rmdir" If no results are returned, or the results do not contain "-S rmdir", this is a finding.
Fix: F-54863r4_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the /etc/audit/audit.rules file, and add one or more the lines (subject to the dual-architecture discussion above) to enable auditing of deletions: -a exit,always -F arch=<ARCH> -S rmdir Restart the auditd service: # service auditd restart
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-000347
- Version
- GEN002760-2
- Vuln IDs
-
- V-29241
- Rule IDs
-
- SV-64471r1_rule
Checks: C-52883r1_chk
Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -i "audit.rules" If no results are returned, or the line does not start with "-w", this is a finding.
Fix: F-55065r1_fix
The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -w /etc/audit/audit.rules Restart the auditd service. # service auditd restart
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-000347
- Version
- GEN002760-3
- Vuln IDs
-
- V-29242
- Rule IDs
-
- SV-64481r1_rule
Checks: C-52893r1_chk
Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "adjtimex" If the result does not contain "-S adjtimex", this is a finding.
Fix: F-55073r3_fix
The "-F arch=<ARCH>"restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>"restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -a exit,always -F arch=<ARCH> -S adjtimex Restart the auditd service. # service auditd restart
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-000347
- Version
- GEN002760-4
- Vuln IDs
-
- V-29243
- Rule IDs
-
- SV-64489r1_rule
Checks: C-52905r1_chk
Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "settimeofday" If the result does not contain "-S settimeofday", this is a finding.
Fix: F-55083r2_fix
The "-F arch=<ARCH>"restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>"restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -a exit,always -F arch=<ARCH> -S settimeofday Restart the auditd service. # service auditd restart
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-000347
- Version
- GEN002760-5
- Vuln IDs
-
- V-29244
- Rule IDs
-
- SV-64491r2_rule
Checks: C-52907r2_chk
Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "stime" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "settimeofday" If the result does not contain "-S stime" or "-S settimeofday ", this is a finding. The "stime" keyword is only required on systems using an i386 architecture.
Fix: F-55085r3_fix
The "-F arch=<ARCH>"restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>"restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -a exit,always -F arch=<ARCH> -S stime (only used for systems using an i386 architecture) -a exit,always -F arch=<ARCH> -S settimeofday (used on all non-i386 architectures such as b64 and x86_64) Restart the auditd service. # service auditd restart
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-000347
- Version
- GEN002760-6
- Vuln IDs
-
- V-29245
- Rule IDs
-
- SV-64529r1_rule
Checks: C-52939r1_chk
Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "clock_settime" If the result does not contain "-S clock_settime", this is a finding.
Fix: F-55121r2_fix
The "-F arch=<ARCH>"restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>"restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -a exit,always -F arch=<ARCH> -S clock_settime Restart the auditd service. # service auditd restart
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-000347
- Version
- GEN002760-7
- Vuln IDs
-
- V-29246
- Rule IDs
-
- SV-64543r1_rule
Checks: C-52955r1_chk
Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "sethostname" If the result does not contain "-S sethostname", this is a finding.
Fix: F-55139r2_fix
The "-F arch=<ARCH>"restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>"restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -a exit,always -F arch=<ARCH> -S sethostname Restart the auditd service. # service auditd restart
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-000347
- Version
- GEN002760-8
- Vuln IDs
-
- V-29247
- Rule IDs
-
- SV-64551r1_rule
Checks: C-52961r1_chk
Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "setdomain" If the result does not contain "-S setdomain", this is a finding.
Fix: F-55145r2_fix
The "-F arch=<ARCH>"restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>"restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -a exit,always -F arch=<ARCH> -S setdomainname Restart the auditd service. # service auditd restart
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-000347
- Version
- GEN002760-9
- Vuln IDs
-
- V-29248
- Rule IDs
-
- SV-64555r1_rule
Checks: C-52969r1_chk
Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "sched_setparam" If the result does not contain "-S sched_setparam", this is a finding.
Fix: F-55151r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the /etc/audit/audit.rules file, and add one or more the lines (subject to the dual-architecture discussion above) to enable auditing of operations that change operating system scheduling parameters: -a exit,always -F arch=<ARCH> -S sched_setparam Restart the auditd service: # service auditd restart
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-000347
- Version
- GEN002760-10
- Vuln IDs
-
- V-29249
- Rule IDs
-
- SV-64275r1_rule
Checks: C-52717r3_chk
Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "sched_setscheduler" If the result does not contain "-S sched_setscheduler", this is a finding.
Fix: F-54873r4_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the /etc/audit/audit.rules file, and add one or more the lines (subject to the dual-architecture discussion above) to enable auditing of operations that change operating system scheduling algorithms and parameters: -a exit,always -F arch=<ARCH> -S sched_setscheduler Restart the auditd service: # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820-2
- Vuln IDs
-
- V-29250
- Rule IDs
-
- SV-64611r1_rule
Checks: C-53021r4_chk
Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fchmod" If "-S fchmod" is not in the result, this is a finding.
Fix: F-31692r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S fchmod Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820-3
- Vuln IDs
-
- V-29251
- Rule IDs
-
- SV-64609r1_rule
Checks: C-53017r1_chk
Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fchmodat" If "-S fchmodat" is not in the result, this is a finding.
Fix: F-55201r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S fchmodat Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820-4
- Vuln IDs
-
- V-29252
- Rule IDs
-
- SV-64607r1_rule
Checks: C-53015r1_chk
Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "chown" If "-S chown" is not in the result, this is a finding. Additionally, the following rule is required in systems supporting the 32-bit syscall table (such as i686 and x86_64): # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "chown32" If "-S chown32" is not in the result, this is a finding.
Fix: F-55199r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S chown Additionally, the following rule is required in systems supporting the 32-bit syscall table (such as i686 and x86_64): -a exit,always -F arch=<ARCH> -S chown32 Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820-5
- Vuln IDs
-
- V-29253
- Rule IDs
-
- SV-64605r1_rule
Checks: C-36859r2_chk
Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fchown" If "-S fchown" is not in the result, this is a finding. Additionally, the following rule is required in systems supporting the 32-bit syscall table (such as i686 and x86_64): # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fchown32" If "-S fchown32" is not in the result, this is a finding.
Fix: F-31729r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S fchown Additionally, the following rule is required in systems supporting the 32-bit syscall table (such as i686 and x86_64): -a exit,always -F arch=<ARCH> -S fchown32 Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820-6
- Vuln IDs
-
- V-29255
- Rule IDs
-
- SV-64603r1_rule
Checks: C-53013r1_chk
Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fchownat" If "-S fchownat" is not in the result, this is a finding.
Fix: F-55197r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S fchownat Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820-7
- Vuln IDs
-
- V-29257
- Rule IDs
-
- SV-64601r1_rule
Checks: C-53011r1_chk
Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "lchown" If "-S lchown" is not in the result, this is a finding. Additionally, the following rule is required in systems supporting the 32-bit syscall table (such as i686 and x86_64): # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "lchown32" If "-S lchown32" is not in the result, this is a finding.
Fix: F-55195r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S lchown Additionally, the following rule is required in systems supporting the 32-bit syscall table (such as i686 and x86_64): -a exit,always -F arch=<ARCH> -S lchown32 Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820-8
- Vuln IDs
-
- V-29259
- Rule IDs
-
- SV-64599r1_rule
Checks: C-53009r1_chk
Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "setxattr" If "-S setxattr" is not in the result, this is a finding.
Fix: F-55193r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S setxattr Restart the auditd service. # service auditd restart
- RMF Control
- Severity
- M
- CCI
- Version
- GEN002820-9
- Vuln IDs
-
- V-29261
- Rule IDs
-
- SV-64591r1_rule
Checks: C-53007r1_chk
Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "lsetxattr" If "-S lsetxattr" is not in the result, this is a finding.
Fix: F-55187r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S lsetxattr Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820-10
- Vuln IDs
-
- V-29272
- Rule IDs
-
- SV-64619r1_rule
Checks: C-53029r1_chk
Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fsetxattr" If "-S fsetxattr" is not in the result, this is a finding.
Fix: F-55209r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S fsetxattr Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820-11
- Vuln IDs
-
- V-29274
- Rule IDs
-
- SV-64617r1_rule
Checks: C-53027r1_chk
Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "removexattr" If "-S removexattr" is not in the result, this is a finding.
Fix: F-55207r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S removexattr Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820-12
- Vuln IDs
-
- V-29275
- Rule IDs
-
- SV-64615r1_rule
Checks: C-53025r1_chk
Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "lremovexattr" If "-S lremovexattr" is not in the result, this is a finding.
Fix: F-55205r4_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S lremovexattr Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820-13
- Vuln IDs
-
- V-29279
- Rule IDs
-
- SV-64613r1_rule
Checks: C-53023r1_chk
Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fremovexattr" If "-S fremovexattr" is not in the result, this is a finding.
Fix: F-55203r2_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S fremovexattr Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002825-2
- Vuln IDs
-
- V-29281
- Rule IDs
-
- SV-64499r1_rule
Checks: C-52917r2_chk
Determine if the delete_module syscall is audited. # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "delete_module" If the result does not contain "-S delete_module", this is a finding.
Fix: F-55095r4_fix
The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the /etc/audit/audit.rules file, and add one or more the lines (subject to the dual-architecture discussion above) to enable auditing of kernel loadable module deletions: -a exit,always -F arch=<ARCH> -S delete_module Restart the auditd service: # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002825-3
- Vuln IDs
-
- V-29284
- Rule IDs
-
- SV-64495r1_rule
Checks: C-52913r1_chk
Determine if /sbin/insmod is audited. # cat /etc/audit/audit.rules | grep "/sbin/insmod" If the result does not start with "-w" and contain "-p x", this is a finding.
Fix: F-55091r1_fix
The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Configure auditing of the /sbin/insmod, files. Add the following to the "etc/audit/audit.rules" or "etc/audit.rules" file: -w /sbin/insmod -p x Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002825-4
- Vuln IDs
-
- V-29286
- Rule IDs
-
- SV-64429r1_rule
Checks: C-52819r1_chk
Determine if the /sbin/modprobe file is audited. # cat /etc/audit/audit.rules | grep "/sbin/modprobe" If the result does not start with "-w" and contain "-p x", this is a finding.
Fix: F-55001r1_fix
The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: -w /sbin/modprobe -p x Restart the auditd service. # service auditd restart
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002825-5
- Vuln IDs
-
- V-29288
- Rule IDs
-
- SV-64425r1_rule
Checks: C-52817r1_chk
Determine if the /sbin/rmmod file is audited. # cat /etc/audit/audit.rules | grep "/sbin/rmmod" If the result does not start with "-w" and contain "-p x", this is a finding.
Fix: F-54999r1_fix
The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Configure auditing of the /sbin/rmmod file. Add the following to the "etc/audit/audit.rules" or "etc/audit.rules" file: -w /sbin/rmmod -p x Restart the auditd service. # service auditd restart
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003080-2
- Vuln IDs
-
- V-29289
- Rule IDs
-
- SV-64385r1_rule
Checks: C-52787r1_chk
Check the mode of scripts in cron job directories. # ls -lL /etc/cron.daily/ # ls -lL /etc/cron.hourly/ # ls -lL /etc/cron.monthly/ # ls -lL /etc/cron.weekly/ If any cron script has a mode more permissive than 0700, this is a finding.
Fix: F-54969r1_fix
Change the mode of the cron scripts. # chmod 0700 /etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/* /etc/cron.weekly/*
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000012
- Version
- GEN000290-1
- Vuln IDs
-
- V-29376
- Rule IDs
-
- SV-63201r2_rule
Checks: C-51927r1_chk
Check the system for the unnecessary "games" accounts. Procedure: # grep ^games /etc/passwd If this account exists, it is a finding.
Fix: F-53781r3_fix
Remove the "games" account from the /etc/passwd file before connecting a system to the network.
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-000017
- Version
- GEN006660
- Vuln IDs
-
- V-38692
- Rule IDs
-
- SV-62899r1_rule
Checks: C-51729r1_chk
To verify the "INACTIVE" setting, run the following command: grep "INACTIVE" /etc/default/useradd The output should indicate the "INACTIVE" configuration option is set to an appropriate integer as shown in the example below: # grep "INACTIVE" /etc/default/useradd INACTIVE=35 If it does not, this is a finding.
Fix: F-53477r1_fix
To specify the number of days after a password expires (which signifies inactivity) until an account is permanently disabled, add or correct the following lines in "/etc/default/useradd", substituting "[NUM_DAYS]" appropriately: INACTIVE=[NUM_DAYS] A value of 35 is recommended. If a password is currently on the verge of expiration, then 35 days remain until the account is automatically disabled. However, if the password will not expire for another 60 days, then 95 days could elapse until the account would be automatically disabled. See the "useradd" man page for more information. Determining the inactivity timeout must be done with careful consideration of the length of a "normal" period of inactivity for users in the particular environment. Setting the timeout too low incurs support costs and also has the potential to impact availability of the system to legitimate users.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000766
- Version
- GEN005527
- Vuln IDs
-
- V-58537
- Rule IDs
-
- SV-75259r1_rule
Checks: C-61731r1_chk
To determine how the SSH daemon's "HostbasedAuthentication" option is set, run the following command: # grep -i HostbasedAuthentication /etc/ssh/sshd_config If no line, a commented line, or a line indicating the value "no" is returned, then the required value is set. If the required value is not set, this is a finding.
Fix: F-66489r1_fix
SSH's cryptographic host-based authentication is more secure than ".rhosts" authentication since hosts are cryptographically authenticated. However, it is not recommended that hosts unilaterally trust one another, even within an organization. To disable host-based authentication, add or correct the following line in "/etc/ssh/sshd_config": HostbasedAuthentication no
- RMF Control
- IA-11
- Severity
- M
- CCI
- CCI-002038
- Version
- GEN001025
- Vuln IDs
-
- V-58539
- Rule IDs
-
- SV-75261r1_rule
Checks: C-61733r1_chk
Verify neither the "NOPASSWD" option nor the "!authenticate" option is configured for use in "/etc/sudoers" and associated files. Note that the "#include" and "#includedir" directives may be used to include configuration data from locations other than the defaults enumerated here. # egrep '^[^#]*NOPASSWD' /etc/sudoers /etc/sudoers.d/* # egrep '^[^#]*!authenticate' /etc/sudoers /etc/sudoers.d/* If the "NOPASSWD" or "!authenticate" options are configured for use in "/etc/sudoers" or associated files, this is a finding.
Fix: F-66491r1_fix
Update the "/etc/sudoers" or other sudo configuration files to remove or comment out lines utilizing the "NOPASSWD" and "!authenticate" options. # visudo # visudo -f [other sudo configuration file]