# Changes:
# 0.0.0 Thursday, 25 October 2012  9:40:54 AM EST
# Initial version
# 0.0.1 Thursday,  1 November 2012  2:28:41 PM EST
# Added initial audit code
# 0.0.2 Fri  2 Nov 2012 13:24:54 EST
# Created subroutines for updating files and parameters
# 0.0.3 Thursday,  8 November 2012  9:35:19 PM EST
# Added restore code
# 0.0.4 Saturday, 10 November 2012 11:37:22 AM EST
# Added kernel accounting
# 1.0.0 Monday, 12 November 2012 10:45:27 AM EST
# Initial Github Commit
# 1.0.1 Monday, 12 November 2012  9:52:17 PM EST
# Formating fixes
# 1.0.2 Monday, 12 November 2012 10:03:54 PM EST
# Additional cleanup
# 1.0.3 Thu 15 Nov 2012 02:37:31 EST
# Initial Solaris 11 support
# 1.0.4 Fri 16 Nov 2012 10:57:17 EST
# Updated Solaris 11 support, Initial re-commit to new repository
# 1.0.5 Sat 17 Nov 2012 09:55:07 EST
# Added echo services
# 1.0.6 Monday, 19 November 2012  8:13:20 AM EST
# Solaris 10 and 11 support mostly done - some minor additions could be made
# 1.0.7 Monday, 19 November 2012 11:02:05 AM EST
# Added initial support for Solaris versions less than 10
# 1.0.8 Thursday, 20 December 2012  2:46:32 PM EST
# Fixed problem with inetadm command
# 1.0.9 Thursday, 20 December 2012  3:47:52 PM EST
# Added -A and -L switches and moved filesystem searches to it
# 1.1.0 Thu 20 Dec 2012 17:01:52 EST
# Cleaned up formating
# 1.1.1 Fri Dec 21 21:43:39 EST 2012
# Initial Solaris 9 testing completed
# 1.1.2 Sat Dec 22 08:13:17 EST 2012
# Fixed bugs with parameter value checking
# 1.1.3 Sat Dec 22 08:27:53 EST 2012
# Fixed bug with home directory check
# 1.1.4 Sat Dec 22 08:50:38 EST 2012
# Fixed bug with inetd code
# 1.1.5 Sat Dec 22 08:54:05 EST 2012
# Fixed Solaris 9 update version detection
# 1.1.6 Sat Dec 22 16:45:16 EST 2012
# Updated documentation
# 1.1.7 Thu Feb 14 20:46:31 EST 2013
# Initial Linux support
# 1.1.8 Fri Feb 15 18:40:48 EST 2013
# Linux xinetd and chkconfig support added
# 1.1.9 Sat Feb 16 12:01:05 EST 2013
# Added sysctl audit for Linux
# 1.2.0 Sat Feb 16 14:09:03 EST 2013
# Added ftpd logging checking for Linux
# 1.2.1 Sat Feb 16 14:22:58 EST 2013
# Updated file update to support tabs
# 1.2.2 Sat Feb 16 22:30:05 EST 2013
# Added pam options for Linux
# 1.2.3 Sun Feb 17 02:17:04 EST 2013
# Added code for sendmail greeting
# 1.2.4 Sun 17 Feb 2013 08:27:32 EST
# Added code for vsftpd banner
# 1.2.5 Sun Feb 17 19:55:54 EST 2013
# Added securetty check for Linux
# 1.2.6 Sun 17 Feb 2013 20:40:27 EST
# Added auditd config
# 1.2.7 Mon Feb 18 03:11:37 EST 2013
# Added warning banners
# 1.2.8 Mon Feb 18 04:42:08 EST 2013
# Added X11 warning messages
# 1.2.9 Mon Feb 18 09:41:55 EST 2013
# Added Linux core dumps and rhosts for PAM
# 1.3.0 Mon Feb 18 13:42:24 EST 2013
# Added gdm.conf audit
# 1.3.1 Mon Feb 18 14:38:04 EST 2013
# Added Linux nodev audit
# 1.3.2 Mon Feb 18 15:08:26 EST 2013
# Added Linux FDI audit
# 1.3.3 Mon Feb 18 17:53:30 EST 2013
# Added X11 nolisten
# 1.3.4 Mon Feb 18 20:30:30 EST 2013
# Improved file octal derivation on Solaris
# 1.3.5 Tue Feb 19 12:47:55 EST 2013
# Added file verification for Linux
# 1.3.6 Tue Feb 19 14:48:33 EST 2013
# Added password strength testing on Linux
# 1.3.7 Tue Feb 19 15:09:05 EST 2013
# Added Cipher directive to SSH config
# 1.3.8 Tue Feb 19 15:37:52 EST 2013
# Added logrotate configuration
# 1.3.9 Tue Feb 19 15:52:20 EST 2013
# Added module loading and mounting to auditd
# 1.4.0 Tue Feb 19 17:03:17 EST 2013
# Added modprobe.conf check
# 1.4.1 Tue Feb 19 17:25:39 EST 2013
# Added sendmail local-only mode check
# 1.4.2 Tue Feb 19 17:32:12 EST 2013
# Added code to check NTP running as ntp user
# 1.4.3 Tue Feb 19 21:01:02 EST 2013
# Added selective function to run individual tests
# 1.4.4 Tue Feb 19 21:34:30 EST 2013
# Added selinux
# 1.4.5 Tue Feb 19 21:46:55 EST 2013
# Added yum config check
# 1.4.6 Tue Feb 19 22:59:12 EST 2013
# Added lockout for failed password attempts
# 1.4.7 Wed Feb 20 10:13:46 EST 2013
# Simplified RPM verify routine
# 1.4.8 Wed Feb 20 10:59:28 EST 2013
# Added root primary group audit
# 1.4.9 Wed Feb 20 11:16:28 EST 2013
# Added system account shell check
# 1.5.0 Wed Feb 20 15:00:07 EST 2013
# Added handling for [at,cron].[deny,allow]
# 1.5.1 Wed Feb 20 16:03:18 EST 2013
# Fixed file append function
# 1.5.2 Thu Feb 21 14:00:42 EST 2013
# Fixed code to update files
# 1.5.3 Thursday, 21 February 2013  3:29:49 PM EST
# Improved code to fix cron
# 1.5.4 Thu Feb 21 16:49:46 EST 2013
# Added rpm check code
# 1.5.5 Fri 22 Feb 2013 07:23:16 EST
# Cleaned up code for selective audit
# 1.5.6 Fri  3 May 2013 16:25:36 EST
# Fixed minor bug with for loop
# 1.5.7 Fri May 24 15:46:54 EST 2013
# Initial Debian/Ubuntu support
# 1.5.8 Fri May 24 21:04:33 EST 2013
# Improved Debian/Ubuntu support
# 1.5.9 Sat May 25 11:40:50 EST 2013
# Improved Debian/Ubuntu support
# 1.6.0 Sat May 25 22:35:36 EST 2013
# Improved Debian/Ubuntu support
# 1.6.1 Sun Jun  9 09:05:44 EST 2013
# Added some file checks
# 1.6.2 Sun Jun  9 23:18:37 EST 2013
# Improved documentation
# 1.6.3 Tue Jun 11 14:25:01 EST 2013
# Updated documentation and added verbose mode
# 1.6.4 Wed Jun 12 10:35:31 EST 2013
# Fixed NTP test and added audit test information
# 1.6.5 Wed Jun 12 17:13:57 EST 2013
# Added inital SUSE support
# 1.6.6 Thu Jun 13 16:50:19 EST 2013
# Added OS X support
# 1.6.7 Thu Jun 13 19:09:55 EST 2013
# Added Cyrus and Qpopper check
# 1.6.8 Thu Jun 13 19:23:10 EST 2013
# Added Postfix check
# 1.6.9 Thu Jun 13 19:52:00 EST 2013
# support
# 1.7.0 Wed 21 Aug 2013 15:50:51 EST
# Added check for root SSH keys
# 1.7.1 Wed 21 Aug 2013 15:57:47 EST
# Added check for SYSLOG=YES in /etc/default/login for Solaris
# 1.7.2 Wed 21 Aug 2013 16:10:15 EST
# Added DISABLETIME flag to /etc/default/login check for Solaris
# 1.7.3 Wed 21 Aug 2013 16:16:45 EST
# Added check for LOG_FROM_REMOTE=NO in /etc/default/syslogd for Solaris
# 1.7.4 Sun 25 Aug 2013 19:35:39 EST
# Fixed ssh key check code
# 1.7.5 Thu 29 Aug 2013 15:12:31 EST
# Added su wheel group check
# 1.7.6 Thu 29 Aug 2013 15:33:13 EST
# Added check for users that have never logged in to make sure accounts are locked
# 1.7.7 Fri 30 Aug 2013 15:01:51 EST
# Added default crypto check
# 1.7.8 Fri 30 Aug 2013 15:16:08 EST
# Added code to check wheel group users
# 1.7.9 Fri 30 Aug 2013 15:45:06 EST
# Added restore function to wheel checks
# 1.8.0 Sat 31 Aug 2013 15:51:56 EST
# Added check for PASSREQ = YES in /etc/default/login
# 1.8.1 Tue  3 Sep 2013 13:54:12 EST
# Added check for SYSLOG = YES in /etc/default/su
# 1.8.2 Tue  3 Sep 2013 13:56:58 EST
# Added check for MINDIGIT = 1 in /etc/default/passwd
# 1.8.3 Tue  3 Sep 2013 14:55:16 EST
# Added check for UsePrivilegeSeparation yes in /etc/ssh/sshd_config
# 1.8.4 Tue  3 Sep 2013 14:58:27 EST
# Added check for PrintMotd no in /etc/ssh/sshd_config
# 1.8.5 Tue  3 Sep 2013 15:01:25 EST
# Added check for LoginGraceTime 120 in /etc/ssh/sshd_config
# 1.8.6 Tue  3 Sep 2013 16:06:05 EST
# Added check to make sure shells in /etc/shells exist
# 1.8.7 Thu 12 Sep 2013 15:51:09 EST
# Added ability to load modules
# 1.8.8 Mon Sep 16 05:23:51 EDT 2013
# Bug fixes
# 1.8.9 Mon Sep 16 19:38:17 EST 2013
# Fixed logrotate check
# 1.9.0 Mon 16 Sep 2013 20:03:12 EST
# Fixed scoring on root group check
# 1.9.1 Mon Sep 16 20:07:42 EST 2013
# Added fix information to root SSH key check
# 1.9.2 Mon 16 Sep 2013 20:28:54 EST
# Fixed home directory permissions check
# 1.9.3 Mon 16 Sep 2013 21:02:02 EST
# Fix dot file checking
# 1.9.4 Mon 16 Sep 2013 21:14:17 EST
# Fixed scoring for root PATH check
# 1.9.5 Mon 16 Sep 2013 22:23:33 EST
# Fixed scoring for empty password field testing
# 1.9.6 Tue 17 Sep 2013 08:46:54 EST
# Fixed scoring in reserved UID check
# 1.9.7 Tue 17 Sep 2013 08:54:15 EST
# Fixed scoring for old user logins test
# 1.9.8 Tue 17 Sep 2013 10:09:50 EST
# Improved checking for old user logins
# 1.9.9 Tue 17 Sep 2013 10:42:36 EST
# Fixed scoring for System Account audit
# 2.0.0 Tue 17 Sep 2013 10:58:53 EST
# Numerous bug fixes
# 2.0.1 Tue 17 Sep 2013 14:43:54 EST
# Improved SNMP daemon check on Linux
# 2.0.2 Wed 18 Sep 2013 13:13:23 EST
# Added RSA SecurID PAM check
# 2.0.3 Fri 20 Sep 2013 16:57:09 EST
# Added better handling for *credit password parameters under Linux
# 2.0.4 Fri 20 Sep 2013 18:21:21 EST
# Cleaned up linux PAM audit
# 2.0.5 Sat 21 Sep 2013 15:32:55 EST
# Improved linux password history audit
# 2.0.6 Wed  9 Oct 2013 09:50:53 EST
# Moved directory check
# 2.0.7 Wed  9 Oct 2013 09:56:16 EST
# Fixed id check under Solaris
# 2.0.8 Wed  9 Oct 2013 10:55:38 EST
# Fixed call to check_inetd_service
# 2.0.9 Wed  9 Oct 2013 10:56:44 EST
# Fixed source on Solaris
# 2.1.0 Wed  9 Oct 2013 11:19:38 EST
# Fixed "==" evaluation
# 2.1.1 Wed  9 Oct 2013 14:16:37 EST
# Added check for disabled account to system account check
# 2.1.2 Wed  9 Oct 2013 14:25:31 EST
# Fixed grep command in audit_shells
# 2.1.3 Wed  9 Oct 2013 14:28:33 EST
# Fixed other grep commands
# 2.1.4 Wed  9 Oct 2013 14:36:39 EST
# Fixed set command on Solaris
# 2.1.5 Wed  9 Oct 2013 14:38:56 EST
# Fixed two SunOS checks
# 2.1.6 Wed  9 Oct 2013 14:47:08 EST
# Fixed message for inactive user account check
# 2.1.7 Wed  9 Oct 2013 16:32:47 EST
# Fixed scoring on inactive user account check
# 2.1.8 Thu 10 Oct 2013 08:46:13 EST
# Fixed console report on Solaris
# 2.1.9 Thu 10 Oct 2013 09:30:40 EST
# Fixed output for check that file ${exists}
# 2.2.0 Thu 10 Oct 2013 09:44:36 EST
# Fixed scoring for file permissions check
# 2.2.1 Thu 10 Oct 2013 09:59:41 EST
# Fixed security banner check scoring
# 2.2.2 Wed 15 Jan 2014 09:32:48 EST
# Fixed bug with shadow check on OS X
# 2.2.3 Wed 15 Jan 2014 11:07:20 EST
# Minor bug fixes
# 2.2.4 Thu 20 Feb 2014 14:55:44 EST
# Split code out to be more manageable
# 2.2.5 Wed 12 Mar 2014 11:45:34 EST
# Various typo fixes
# 2.2.6 Thu 13 Mar 2014 15:39:00 EST
# Fixed Login Warning for OS X
# 2.2.7 Thu 13 Mar 2014 15:59:31 EST
# Fixed Launchctl check for OS X
# 2.2.8 Thu 13 Mar 2014 16:00:45 EST
# Added Apple Remote Events code for OS X
# 2.2.9 Fri 14 Mar 2014 09:33:14 EST
# Added Internet Sharing code for OS X
# 2.3.0 Fri 14 Mar 2014 15:55:55 EST
# Added Account Lockout code for OS X
# 2.3.1 Mon 17 Mar 2014 06:40:22 EST
# Added Printer Sharing code for OS X
# 2.3.2 Mon 17 Mar 2014 07:58:31 EST
# Added hot corner check to screen lock check for OS X
@ 2.3.3 Mon 17 Mar 2014 10:37:20 EST
# Added SSH check for OS X
# 2.3.4 Mon 17 Mar 2014 11:21:34 EST
# Added DVD/CDo sharing check for OS X
# 2.3.5 Mon 17 Mar 2014 15:28:31 EST
# Added Wake on Lan check for OS X
# 2.3.6 Mon 17 Mar 2014 16:00:01 EST
# Added File Vault check for OS X
# 2.3.7 Mon 17 Mar 2014 17:03:59 EST
# Added Gatekeeper check for OS X
# 2.3.8 Tue 18 Mar 2014 09:06:10 EST
# Added Safe Downloads list check for OS X
# 2.3.9 Tue 18 Mar 2014 09:07:23 EST
# Updated CIS reference for firewall settings fo OS X
# 2.4.0 Tue 18 Mar 2014 09:50:12 EST
# Added Secure Keyboard Entry check for OS X
# 2.4.1 Tue 18 Mar 2014 11:59:01 EST
# Added Secure Empty Trash check for OS X
# 2.4.2 Tue 18 Mar 2014 12:09:43 EST
# Cleaned up some defaults checks for OS X
# 2.4.3 Tue 18 Mar 2014 12:25:29 ES
# Added OX Security Auditing check
# 2.4.4 Tue 18 Mar 2014 12:38:16 EST
# Cleaned up some code
# 2.4.5 Tue 18 Mar 2014 15:25:02 EST
# Added code to check system log retention on OS X
# 2.4.6 Tue 18 Mar 2014 15:44:13 EST
# Added code to check bonjour advertising on OS X
# 2.4.7 Tue 18 Mar 2014 16:13:11 EST
# Added sudo timeout check
# 2.4.8 Tue 18 Mar 2014 16:33:21 EST
# Added Keychain Lock time check for OS X
# 2.4.9 Wed 19 Mar 2014 07:15:21 EST
# Added user home directory permisions check for OS X
# 2.5.0 Wed 19 Mar 2014 07:32:50 EST
# Added autologin check for OS X
# 2.5.1 Wed 19 Mar 2014 08:22:03 EST
# Added autologout check for OS X
# 2.5.2 Wed 19 Mar 2014 08:48:57 EST
# Added pwpolicy function for OS X
# 2.5.3 Wed 19 Mar 2014 09:13:10 EST
# Added password complexity checks for OS X
# 2.5.4 Wed 19 Mar 2014 09:18:19 EST
# Added CIS reference to account login details check for OS X
# 2.5.5 Wed 19 Mar 2014 09:23:03 EST
# Added password hints check for OS X
# 2.5.6 Wed 19 Mar 2014 09:24:56 EST
# Added CIS reference for guest account check for OS X
# 2.5.7 Wed 19 Mar 2014 09:27:16 EST
# Added CIS reference for guest file sharing check for OS X
# 2.5.8 Wed 19 Mar 2014 09:32:40 EST
# Added file extensions check for OS X
# 2.5.9 Wed 19 Mar 2014 11:36:56 EST
# Added Safari Auto-run check for OS X
# 2.6.0 Wed 19 Mar 2014 11:42:21 EST
# Fixed bug with launchctl check
# 2.6.1 Wed 19 Mar 2014 11:44:25 EST
# Fixed bug with gatekeeper and wake on lan check
# 2.6.2 Wed 19 Mar 2014 12:05:53 EST
# Various bug fixes
# 2.6.3 Wed 19 Mar 2014 12:20:50 EST
# Improved ability to run script as non root user in audit only mode
# 2.6.4 Wed 19 Mar 2014 13:24:05 EST
# More bug fixes
# 2.6.5 Wed 19 Mar 2014 17:10:44 EST
# Added swap to nodev check
# 2.6.6 Thu 20 Mar 2014 13:52:09 EST
# Added nosuid filesystem mount check for Linux
# 2.6.7 Thu 20 Mar 2014 14:41:40 EST
# Fixed system log check
# 2.6.8 Thu 20 Mar 2014 14:45:20 EST
# Added aide check for Linux
# 2.6.7 Thu 20 Mar 2014 16:55:35 EST
# Moved grouped function files to full_* to better distinguish them
# 2.6.8 Thu 20 Mar 2014 17:29:21 EST
# Added support to old users check to use last rather than finger if finger is not available
# 2.6.9 Thu 20 Mar 2014 22:56:31 EST
# Updated SELinux check
# 2.7.0 Fri 21 Mar 2014 10:29:30 EST
# Added CIS reference to unconfined daemons test
# 2.7.1 Fri 21 Mar 2014 10:32:24 EST
# Added permissions check for /etc/grub to SELinux test
# 2.7.2 Fri 21 Mar 2014 10:38:24 EST
# Added CIS reference to single user mode test
# 2.7.3 Fri 21 Mar 2014 10:46:47 EST
# Added core dumps restriction to Linux and added CIS reference
# 2.7.4 Fri 21 Mar 2014 10:56:56 EST
# Added execshield check
# 2.7.6 Fri 21 Mar 2014 14:02:30 EST
# Added code to remove telnet-server package on Linux
# 2.7.7 Fri 21 Mar 2014 14:06:58 EST
# Added code to remove rsh-server on package Linux
# 2.7.8 Fri 21 Mar 2014 14:10:30 EST
# Added code to remove YP/NIS server packages on Linux
# 2.7.9 Fri 21 Mar 2014 14:13:10 EST
# Added code to remove tftp-server package on Linux
# 2.8.0 Fri 21 Mar 2014 14:29:43 EST
# Added /etc/netboot check for Solaris 11
# 2.8.1 Fri 21 Mar 2014 14:51:23 EST
# Added code to remove talk-server package on Linux
# 2.8.2 Fri 21 Mar 2014 15:14:24 EST
# Added code to remove xinetd-server package on Linux
# 2.8.3 Fri 21 Mar 2014 15:16:44 EST
# Added CIS references for various xinetd based services for Linux
# 2.8.4 Fri 21 Mar 2014 15:20:21 EST
# Added CIS reference for daemon umask check
# 2.8.5 Fri 21 Mar 2014 15:26:05 EST
# Added code to remove X Windows package on Linux
# 2.8.6 Fri 21 Mar 2014 15:47:54 EST
# Fixed bugs with OS vendor determination
# 2.8.7 Fri 21 Mar 2014 16:01:40 EST
# Moved Avahi server code to separate module and added CIS reference
# 2.8.8 Fri 21 Mar 2014 16:10:05 EST
# Added code to remove dhcp server package on Linux
# 2.8.9 Fri 21 Mar 2014 16:11:40 EST
# Added CIS reference for NTP
# 2.9.0 Fri 21 Mar 2014 16:19:07 EST
# Added code to remove openldap-servers package on Linux
# 2.9.1 Fri 21 Mar 2014 16:20:45 EST
# Added CIS reference for NFS check
# 2.9.2 Sun 23 Mar 2014 12:32:36 EST
# Minor bug fixes
# 2.9.3 Sun 23 Mar 2014 12:38:22 EST
# Added CIS reference to NIS server check and code to remove package on Linux
# 2.9.4 Sun 23 Mar 2014 12:46:47 EST
# Added package uninstall disable/enable variable
# 2.9.5 Sun 23 Mar 2014 12:53:28 EST
# Added CIS reference to FTP server check and code to remove package on Linux
# 2.9.6 Sun 23 Mar 2014 12:59:18 EST
# Added CIS reference to HTTP server check and code to remove package on Linux
# 2.9.7 Sun 23 Mar 2014 13:04:24 EST
# Added CIS reference for Dovecot check and code to remove package on Linux
# 2.9.8 Sun 23 Mar 2014 13:07:47 EST
# Added CIS reference to Samba server check and code to remove package on Linux
# 2.9.9 Sun 23 Mar 2014 13:11:41 EST
# Added CIS reference to Squid server check and code to remove package on Linux
# 3.0.0 Sun 23 Mar 2014 13:18:10 EST
# Added CIS reference to SNMP check and code to remove package on Linux
# 3.0.1 Sun 23 Mar 2014 13:23:20 EST
# Added CIS reference to Postfix check and code to check local-only agent mode on Linux
# 3.0.2 Sun 23 Mar 2014 13:37:30 EST
# Added code to install and configure rsyslog on Linux
# 3.0.3 Sun Sun 23 Mar 2014 15:38:27 EST
# Added CIS references to system accounting check
# 3.0.4 Sun 23 Mar 2014 15:41:50 EST
# Added CIS references to logrotate check
# 3.0.5 Sun 23 Mar 2014 16:01:36 EST
# Added CIS references to sysctl check
# 3.0.6 Sun 23 Mar 2014 16:15:53 EST
# Added CIS references to TCP wrappers check
# 3.0.7 Mon 24 Mar 2014 09:20:12 EST
# Added iptables check
# 3.0.8 Mon 24 Mar 2014 09:22:53 EST
# Added CIS reference to cron permissions check
# 3.0.9 Mon 24 Mar 2014 09:35:34 EST
# Cleaned up crow.allow test and added CIS reference
# 3.1.0 Mon 24 Mar 2014 09:59:21 EST
# Added CIS reference to SSH test
# 3.1.1 Mon 24 Mar 2014 10:02:57 EST
# Added CIS reference to password hashing algorithm test
# 3.1.2 Mon 24 Mar 2014 10:10:33 EST
@ Added CIS reference to password policy test
# 3.1.3 Mon 24 Mar 2014 10:26:28 EST
# Added CIS reference for account lockout timeout test
# 3.1.4 Mon 24 Mar 2014 17:31:53 EST
# Added CIS reference for password reuse test
# 3.1.5 Mon 24 Mar 2014 17:36:23 EST
# Added CIS reference for remote console test
# 3.1.6 Mon 24 Mar 2014 17:38:52 EST
# Added CIS reference for pam wheel test
# 3.1.7 Mon 24 Mar 2014 17:40:29 EST
# Added CIS reference for password expiry test
# 3.1.8 Mon 24 Mar 2014 17:45:45 EST
# Added CIS reference for system account test
# 3.1.9 Mon 24 Mar 2014 17:47:28 EST
# Added CIS reference for default root group test
# 3.2.0 Mon 24 Mar 2014 18:12:53 EST
# Added CIS reference for user default umask test
# 3.2.1 Mon 24 Mar 2014 19:36:42 EST
# Added code to test Gnome login message on Linux
# 3.2.2 Mon 24 Mar 2014 21:06:01 EST
# Added CIS reference for world writable files test
# 3.2.3 Mon 24 Mar 2014 21:09:52 EST
# Added CIS reference for unowned file check
# 3.2.4 Mon 24 Mar 2014 21:11:25 EST
# Added CIS reference for suid system executables test
# 3.2.5 Mon 24 Mar 2014 21:14:24 EST
# Added CIS reference for password field test
# 3.2.6 Mon 24 Mar 2014 21:16:41 EST
# Added CIS reference for legacy NIS entries test
# 3.2.7 Mon 24 Mar 2014 21:21:11 EST
# Added CIS reference for reserved id test
# 3.2.8 Mon 24 Mar 2014 21:23:46 EST
# Added CIS reference for root path test
# 3.2.9 Mon 24 Mar 2014 21:25:58 EST
# Added CIS reference for user home permissions test
# 3.3.0 Mon 24 Mar 2014 21:27:52 EST
# Added CIS reference for user dot files test
# 3.3.1 Mon 24 Mar 2014 21:29:32 EST
# Added CIS reference for user .netrc test
# 3.3.2 Mon 24 Mar 2014 21:35:03 EST
# Added CIS reference for user .rhosts test
# 3.3.3 Mon 24 Mar 2014 21:39:43 EST
# Added CIS reference for group test
# 3.3.4 Mon 24 Mar 2014 21:45:24 EST
# Added CIS reference for duplicate ids test
# 3.3.5 Mon 24 Mar 2014 21:47:39 EST
# Added CIS reference for duplicate gids test
# 3.3.6 Mon 24 Mar 2014 21:54:09 EST
# Added CIS reference for duplicate users test
# 3.3.7 Tue 25 Mar 2014 06:21:54 EST
# Added CIS reference for user .forward test
# 3.3.8 Tue 25 Mar 2014 07:33:44 EST
# Fixed screen lock test for OS X
# 3.3.9 Tue 25 Mar 2014 07:53:48 EST
# Fixed CD sharing test for OS X
# 3.4.0 Tue 25 Mar 2014 07:58:34 EST
# Fixed printer sharing test for OS X
# 3.4.1 Tue 25 Mar 2014 08:09:02 EST
# Added firmware password test for OS X
# 3.4.2 Tue 25 Mar 2014 08:29:09 EST
# Added CIS NTP reference for OS X
# 3.4.3 Tue 25 Mar 2014 08:42:51 EST
# Added code to add NTP pool servers to config file
# 3.4.4 Tue 25 Mar 2014 09:21:15 EST
# Improved launchctl function to be able to turn off and on services
# 3.4.5 Tue 25 Mar 2014 10:19:31 EST
# Added samba config lockdown tests
# 3.4.6 Tue 25 Mar 2014 10:27:55 EST
# Added apache config lockdown tests
# 3.4.7 Tue 25 Mar 2014 10:31:06 EST
# Added CIS reference for SSH for OS X
# 3.4.8 Tue 25 Mar 2014 10:51:37 EST
# Added Xgrid check
# 3.4.9 Tue 25 Mar 2014 10:57:18 EST
# Added code to disable mDNS on OS X
# 3.5.0 Tue 25 Mar 2014 13:47:00 EST
# Initial FreeBSD support
# 3.5.1 Tue 25 Mar 2014 13:54:21 EST
# Added rc.conf and loader.conf support to file functions
# 3.5.2 Tue 25 Mar 2014 14:02:58 EST
# Added FreeBSD support and CIS reference to SSH test
# 3.5.3 Tue 25 Mar 2014 14:14:26 EST
# Added CIS reference for FreeBSD for TCP Wrappers and added inetd flag test for FreeBSD
# 3.5.4 Tue 25 Mar 2014 14:29:21 EST
# Added ipfw code and CIS reference for FreeBSD
# 3.5.5 Tue 25 Mar 2014 14:42:04 EST
# Added inet/init code and CIS reference for FreeBSD
# 3.5.6 Tue 25 Mar 2014 15:32:56 EST
# Added daemon umask test and CIS reference for FreeBSD
# 3.5.7 Tue 25 Mar 2014 15:40:44 EST
# Added syslog and CIS reference for FreeBSD
# 3.5.8 Tue 25 test Mar 2014 15:59:26 EST
# Added sendmail test and CIS reference for FreeBSD
# 3.5.9 Tue 25 Mar 2014 16:04:18 EST
# Added bind test and CIS reference for FreeBSD
# 3.6.0 Tue 25 Mar 2014 16:27:15 EST
# Added NFS test and CIS reference for FreeBSD
# 3.6.1 Tue 25 Mar 2014 16:32:36 EST
# Added NIS test and CIS reference for FreeBSD
# 3.6.2 Tue 25 Mar 2014 16:39:59 EST
# Added printing test and CIS reference for FreeBSD
# 3.6.3 Tue 25 Mar 2014 16:50:16 EST
# Added core dump test and CIS reference for FreeBSD
# 3.6.4 Tue 25 Mar 2014 17:02:17 EST
# Added kernel parameters code and CIS reference for FreeBSD
# 3.6.5 Tue 25 Mar 2014 17:37:52 EST
# Added syslog logging entry and CIS reference for FreeBSD while fixing bug with Syslog server code
# 3.6.6 Tue 25 Mar 2014 17:48:07 EST
# Added system accounting code and CIS reference for FreeBSD
# 3.6.7 Tue 25 Mar 2014 17:52:12 EST
# Added TCP/UDP packet logging code and CIS reference for FreeBSD
# 3.6.8 Tue 25 Mar 2014 21:42:42 EST
# Added newsyslog and CIS reference for FreeBSD
# 3.6.9 Tue 25 Mar 2014 21:50:08 EST
# Added nosuid mount test and CIS reference for FreeBSD
# 3.7.0 Tue 25 Mar 2014 21:58:55 EST
# Added passwd and group permissions test and CIS reference for FreeBSD
# 3.7.1 Tue 25 Mar 2014 22:02:50 EST
# Added sticky bit test and CIS reference for FreeBSD
# 3.7.2 Tue 25 Mar 2014 22:05:40 EST
# Added world writable files test and CIS reference for FreeBSD
# 3.7.3 Tue 25 Mar 2014 22:09:34 EST
# Added suid and sgid files test and CIS reference for FreeBSD
# 3.7.4 Tue 25 Mar 2014 22:15:30 EST
# Added user homde directory permissions test and CIS reference for FreeBSD
# 3.7.5 Tue 25 Mar 2014 22:18:28 EST
# Added unowned files test and CIS reference for FreeBSD
# 3.7.6 Tue 25 Mar 2014 22:29:47 EST
# Added initial PAM test and CIS reference for FreeBSD
# 3.7.7 Tue 25 Mar 2014 22:34:36 EST
# Added dotfiles test and CIS reference for FreeBSD
# 3.7.8 Tue 25 Mar 2014 22:47:39 EST
# Added cron/at test and CIS references for FreeBSD
# 3.7.9 Tue 25 Mar 2014 22:54:48 EST
# Added security banner test and CIS references for FreeBSD
# 3.8.0 Wed 26 Mar 2014 05:57:25 EST
# Added X11 listen test and CIS reference for FreeBSD
# 3.8.1 Wed 26 Mar 2014 06:09:12 EST
# Added system account test and CIS reference for FreeBSD
# 3.8.2 Wed 26 Mar 2014 07:13:36 EST
# Added toor account test and CIS reference for FreeBSD
# 3.8.3 Wed 26 Mar 2014 07:19:10 EST
# Added uid 0 test and CIS reference for FreeBSD
# 3.8.4 Wed 26 Mar 2014 07:30:35 EST
# Added umask test and CIS reference for FreeBSD
# 3.8.5 Wed 26 Mar 2014 07:36:10 EST
# Added mesg n test and CIS reference for FreeBSD
# 3.8.6 Wed 26 Mar 2014 07:45:29 EST
# Added password algorithm test and CIS reference for FreeBSD
# 3.8.7 Wed 26 Mar 2014 08:35:24 EST
# Added serial logins test and CIS reference for FreeBSD
# 3.8.8 Wed 26 Mar 2014 08:54:37 EST
# Added single user password test and CIS reference for FreeBSD
# 3.8.9 Wed 26 Mar 2014 09:20:46 EST
# Added X wrapper test and CIS reference for FreeBSD
# 3.9.0 Wed 26 Mar 2014 11:21:34 EST
# Added initial AIX support
# 3.9.1 Wed 26 Mar 2014 13:35:49 EST
# Added password parameter tests and CIS references for AIX
# 3.9.2 Wed 26 Mar 2014 13:58:21 EST
# Added login retry limit test and CIS references for AIX
# 3.9.3 Wed 26 Mar 2014 14:06:37 EST
# Added rlogin test and CIS reference for AIX
# 3.9.4 Wed 26 Mar 2014 14:34:31 EST
# Added code to drive chuser and added su group test and CIS reference for AIX
# 3.9.5 Wed 26 Mar 2014 16:48:23 EST
# Added system user rlogin test and CIS reference for AIX
# 3.9.6 Wed 26 Mar 2014 17:37:12 EST
# Added code to drive [rm,ls,ch]itab on AIX
# 3.9.7 Wed 26 Mar 2014 17:41:27 EST
# Added qdaemon test and CIS reference for AIX
# 3.9.8 Wed 26 Mar 2014 17:45:23 EST
# Added lpd and piobe test and CIS reference for AIX
# 3.9.9 Wed 26 Mar 2014 17:50:30 EST
# Added dt test and CIS reference for AIX
# 4.0.0 Wed 26 Mar 2014 17:54:55 EST
# Added rcnfs test and CIS reference for AIX
# 4.0.1 Wed 26 Mar 2014 20:36:07 EST
# Added world writable files test and CIS reference for AIX
# 4.0.2 Wed 26 Mar 2014 20:45:50 EST
# Added unowned files test and CIS reference for AIX
# 4.0.3 Wed 26 Mar 2014 20:53:15 EST
# Added setuid files test and CIS reference for AIX
# 4.0.4 Thu 27 Mar 2014 07:41:22 EST
# Added Trusted Execution handling code for AIX
# 4.0.5 Thu 27 Mar 2014 07:57:51 EST
# Added Trusted Execution tests and CIS reference for AIX
# 4.0.6 Thu 27 Mar 2014 08:12:32 EST
# Added code to check AIX package is installed
# 4.0.7 Thu 27 Mar 2014 08:44:18 EST
# Added root PATH check and CIS reference for AIX
# 4.0.8 Thu 27 Mar 2014 08:48:48 EST
# Added duplicate group test and CIS reference for AIX
# 4.0.9 Thu 27 Mar 2014 08:52:25 EST
# Added duplicate user test and CIS reference for AIX
# 4.1.0 Thu 27 Mar 2014 09:01:12 EST
# Added empty password field test and CIS reference for AIX
# 4.1.1 Thu 27 Mar 2014 09:09:00 EST
# Added cron/at allow tests and CIS references for AIX
# 4.1.2 Thu 27 Mar 2014 09:14:09 EST
# Added security motd test and CIS reference for AIX
# 4.1.3 Thu 27 Mar 2014 10:07:11 EST
# Added FTP banner test and CIS reference for AIX
# 4.1.4 Thu 27 Mar 2014 10:13:14 EST
# Added FTP daemon umask test and CIS reference for AIX
# 4.1.5 Thu 27 Mar 2014 10:35:00 EST
# Added FTP users test and CIS reference for AIX
# 4.1.6 Thu 27 Mar 2014 10:55:57 EST
# Added sar accounting test and CIS reference for AIX
# 4.1.7 Thu 27 Mar 2014 10:58:32 EST
# Added mesgn test and CIS reference for AIX
# 4.1.8 Thu 27 Mar 2014 11:06:00 EST
# Added writesrv test and CIS reference for AIX
# 4.1.9 Thu 27 Mar 2014 11:11:56 EST
# Added power management test and CIS reference for AIX
# 4.2.0 Thu 27 Mar 2014 11:30:22 EST
# Added online documentation daemon test and CIS reference for httpdlite on AIX
# 4.2.1 Thu 27 Mar 2014 15:05:10 EST
# Added NCS test and CIS reference for AIX
# 4.2.2 Thu 27 Mar 2014 15:13:04 EST
# Added i4ls test and CIS reference of AIX
# 4.2.3 Thu 27 Mar 2014 15:45:39 EST
# Added serial login test and CIS reference for AIX
# 4.2.4 Thu 27 Mar 2014 16:06:59 EST
# Added user home directory tests and CIS references for AIX
# 4.2.5 Thu 27 Mar 2014 16:16:13 EST
# Added /var/adm/sa ownership test and CIS reference for AIX
# 4.2.6 Thu 27 Mar 2014 16:30:53 EST
# Added snmp and ras permissions test and CIS reference for AIX
# 4.2.7 Thu 27 Mar 2014 17:11:37 EST
# Added various file/directory permissions tests and CIS references for AIX
# 4.2.8 Thu 27 Mar 2014 17:44:09 EST
# Added Initial TCP Wrappers test and CIS references for AIX
# 4.2.9 Fri 28 Mar 2014 07:52:02 EST
# Added code to drive rctcp on AIX
# 4.3.0 Fri 28 Mar 2014 08:18:59 EST
# Added sendmail test and CIS reference for AIX
# 4.3.1 Fri 28 Mar 2014 08:31:37 EST
# Added snmp test and CIS reference for AIX
# 4.3.2 Fri 28 Mar 2014 08:37:56 EST
# Added sendmail disable variable
# 4.3.3 Fri 28 Mar 2014 08:46:02 EST
# Added dhcpcd test and CIS reference for AIX
# 4.3.4 Fri 28 Mar 2014 08:52:12 EST
# Added dhcprd test and CIS reference for AIX
# 4.3.5 Fri 28 Mar 2014 08:56:33 EST
# Added dhcpsd test and CIS reference for AIX
# 4.3.6 Fri 28 Mar 2014 09:01:46 EST
# Added autoconf6 test and CIS reference for AIX
# 4.3.7 Fri 28 Mar 2014 09:14:02 EST
# Added gated test and CIS reference for AIX
# 4.3.8 Fri 28 Mar 2014 09:56:38 EST
# Added mrouted test and CIS reference for AIX
# 4.3.9 Fri 28 Mar 2014 10:14:12 EST
# Added named test and CIS reference for AIX
# 4.3.9 Fri 28 Mar 2014 10:16:12 EST
# Added routed test and CIS reference for AIX
# 4.4.0 Fri 28 Mar 2014 10:21:13 EST
# Added rwhod test and CIS reference for AIX
# 4.4.1 Fri 28 Mar 2014 10:26:21 EST
# Added timed test and CIS reference for AIX
# 4.4.2 Fri 28 Mar 2014 10:29:26 EST
# Added dpid2 test and CIS reference for AIX
# 4.4.3 Fri 28 Mar 2014 10:31:32 EST
# Added hostmibd test and CIS reference for AIX
# 4.4.4 Fri 28 Mar 2014 10:32:07 EST
# Added snmpdmibd test and CIS reference for AIX
# 4.4.5 Fri 28 Mar 2014 10:33:56 EST
# Added aixmibd test and CIS reference for AIX
# 4.4.6 Fri 28 Mar 2014 10:51:38 EST
# Added NPD tests and CIS references for AIX
# 4.4.7 Fri 28 Mar 2014 10:57:08 EST
# Added .netrc tests and CIS references for AIX
# 4.4.8 Fri 28 Mar 2014 10:59:05 EST
# Added .rhosts tests and CIS references for AIX
# 4.4.9 Fri 28 Mar 2014 12:43:48 EST
# Added hosts.equiv tests and CIS references for AIX
# 4.5.0 Fri 28 Mar 2014 12:54:51 EST
# Added code to drive no on AIX
# 4.5.1 Fri 28 Mar 2014 13:33:07 EST
# Added network kernel tuning parameter test and CIS references for AIX
# 4.5.2 Fri 28 Mar 2014 14:38:14 EST
# Added code to drive subserver on AIX
# 4.5.3 Fri 28 Mar 2014 14:56:37 EST
# Added legacy services tests and CIS references for AIX
# 4.5.4 Sat 29 Mar 2014 20:45:37 EST
# Added numerous CIS references for Solaris tests
# 4.5.5 Sun 30 Mar 2014 09:07:50 EST
# Added more CIS references for Solaris tests
# 4.5.6 Sun 30 Mar 2014 15:47:53 EST
# Added more CIS references for Linux tests and cleaned up some Linux test conditions
# 4.5.7 Sun 30 Mar 2014 18:19:19 EST
# Added kernel-PAE package check
# 4.5.8 Sun 30 Mar 2014 18:46:32 EST
# Added various client package tests for Linux
# 4.5.9 Sun 30 Mar 2014 20:56:34 EST
# Added code to remove talk client on Linux
# 4.6.0 Sun 30 Mar 2014 21:03:03 EST
# Fixed xinetd test for Linux
# 4.6.1 Sun 30 Mar 2014 21:48:42 EST
# Added CIS references and updated syslog configuration for Linux
# 4.6.2 Sun 30 Mar 2014 22:00:49 EST
# Updated syslog and rsyslog test for Linux
# 4.6.3 Mon 31 Mar 2014 09:35:36 EST
# Added pam_deny and pam_ccred tests for Linux
# 4.6.4 Mon 31 Mar 2014 10:01:27 EST
# Added inactive user test for Linux
# 4.6.5 Mon 31 Mar 2014 10:49:09 EST
# Added more CIS references for Linux
# 4.6.6 Mon 31 Mar 2014 14:44:00 EST
# Added noexec tmpfs test for Linux
# 4.6.7 Mon 31 Mar 2014 21:05:17 EST
# More CIS references for Linux
# 4.6.8 Tue  1 Apr 2014 09:48:55 EST
# Added interactive boot test
# 4.6.9 Tue  1 Apr 2014 10:13:02 EST
# Added kernel-pae test and CIS reference for SuSE Linux
# 4.7.0 Tue  1 Apr 2014 13:45:14 EST
# Added AppArmour and biosdevname test for SuSE Linux
# 4.7.1 Tue  1 Apr 2014 14:49:16 EST
# Added SuSEfirewall2 test
# 4.7.2 Tue  1 Apr 2014 17:41:27 EST
# Added shadow group member test for SuSE Linux
# 4.7.3 Tue  1 Apr 2014 18:31:11 EST
# Added gdm-autologin PAM check for Solaris 11
# 4.7.4 Tue  1 Apr 2014 19:50:22 EST
# Added EEEPROM password test for SPARC
# 4.7.5 Wed  2 Apr 2014 12:31:55 EST
# Fixed bugs (thanks to Mark Lane for testing)
# 4.7.6 Wed  2 Apr 2014 15:13:36 EST
# More bug fixes
# 4.7.7 Thu  3 Apr 2014 15:05:09 EST
# Updated AppArmour test for SuSE Linux
# 4.7.8 Sat 12 Apr 2014 13:34:49 EST
# Reference updates
# 4.7.9 Sat 12 Apr 2014 22:20:43 EST
# Reference updates
# 4.8.0 Sun 13 Apr 2014 17:40:02 EST
# Reference updates and bug fixes
# 4.8.1 Sun 13 Apr 2014 21:21:48 EST
# Removed duplicate auto logout module
# 4.8.2 Fri 25 Apr 2014 12:16:09 EST
# Fixed some bugs
# 4.8.3 Sun 27 Apr 2014 16:07:34 EST
# Fixed audit_system_auth_use_uid
# 4.8.4: Tue  6 May 2014 12:42:52 EST
# Minor fixes
# 4.8.5: Thu  8 May 2014 09:14:24 EST
# Fixed cron allow test for Solaris 11, Linux and FreeBSD
# 4.8.6: Wed 14 May 2014 13:29:30 EST
# Minor updates
# 4.8.7: Thu 15 May 2014 12:07:13 EST
# Deleted duplicate root group test
# 4.8.8: Thu May 29 03:05:01 UTC 2014
# Bug fixes and inital ESXi support (no tests)
# 4.8.9: Thu 29 May 2014 16:28:43 EST
# Improved scoring and added SNMP and Syslog tests for ESX
# 4.9.0: Fri 30 May 2014 08:53:44 EST
# Added NTP check for ESXi and made further improvements to scoring
# 4.9.1: Fri 30 May 2014 11:37:44 EST
# Added signed kernel module test for ESXi
# 4.9.2: Fri 30 May 2014 15:23:01 EST
# Added shell timeout tests for ESXi
# 4.9.3: Fri 30 May 2014 15:40:43 EST
# Added Syslog directory test for ESXi
# 4.9.4: Fri 30 May 2014 16:48:29 EST
# Added software update test for ESXi
# 4.9.5: Fri 30 May 2014 18:48:39 EST
# Added Managed Object Browser test for ESXi
# 4.9.6: Fri 30 May 2014 20:44:33 EST
# Added Dvfilter test for ESXi
# 4.9.7: Sat 31 May 2014 06:54:25 EST
# Added DCUI, SSH and ESXi Shell tests fo ESXi
# 4.9.8: Sat 31 May 2014 08:15:56 EST
# Added Lockdown check for ESXi
# 4.9.9: Sat 31 May 2014 09:47:48 EST
# Minor code cleanup
# 5.0.0: Wed 11 Jun 2014 18:54:58 EST
# Updated license
# 5.0.1: Tue 28 Apr 2015 15:05:14 AEST
# Removed call to audit_root_account as it was split into several audit_root_* subroutines
# 5.0.2: Sat 14 Jan 2017 12:06:37 AEDT
# Start adding support for Amazon Linux and added vfat to modprobe check
# 5.0.3: Sat 14 Jan 2017 16:22:29 AEDT
# Initial Amazon Linux support
# 5.0.4: Sat 14 Jan 2017 17:22:34 AEDT
# Fixed audit select function
# 5.0.5: Sat 14 Jan 2017 19:34:40 AEDT
# Fixed code to print module information
# 5.0.6: Sat 14 Jan 2017 23:48:24 AEDT
# Code cleanup
# 5.0.7: Sun 15 Jan 2017 11:11:19 AEDT
# Updates for Amazon Linux and Centos / RHEL 7
# 5.0.8: Sun 15 Jan 2017 13:09:27 AEDT
# More updates for Amazon Linux and Centos / RHEL 7
# 5.0.9: Sun 15 Jan 2017 13:55:43 AEDT
# More updates for Amazon Linux and Centos / RHEL 7
# 5.1.0: Sun 15 Jan 2017 14:17:54 AEDT
# More updated for Amazon Linux and Centos / RHEL 7
# 5.1.1: Sun 15 Jan 2017 14:57:17 AEDT
# Documentation cleanup
# 5.1.2: Sun 15 Jan 2017 16:09:52 AEDT
# More updates for Amazon Linux and Centos / RHEL 7
# 5.1.3: Sun 15 Jan 2017 16:18:28 AEDT
# Bug fixes
# 5.1.4: Mon 16 Jan 2017 07:38:08 AEDT
# Bug fixes
# 5.1.5: Mon 16 Jan 2017 07:55:34 AEDT
# Fix for Amazon Linux
# 5.1.6: Mon 16 Jan 2017 08:16:55 AEDT
# Bug fixes
# 5.1.7: Mon 16 Jan 2017 09:18:43 AEDT
# Cleaned up reporting
# 5.1.8: Mon 16 Jan 2017 17:15:21 AEDT
# Fixed code to use . rather than source on Ubuntu and Debian (sh is actually bash)
# 5.1.9: Tue 17 Jan 2017 20:13:43 AEDT
# Updated Linux package handling code
# 5.2.0: Wed 18 Jan 2017 08:39:55 AEDT
# Initial code for AWS Foundation Security audit
# 5.2.1: Wed 18 Jan 2017 14:47:16 AEDT
# Added AWS credentials check
# 5.2.2: Wed 18 Jan 2017 15:49:35 AEDT
# Added AWS credential rotation check
# 5.2.3: Wed 18 Jan 2017 18:56:54 AEDT
# Added AWS password policy check
# 5.2.4: Wed 18 Jan 2017 20:33:11 AEDT
# Added AWS root account MFA check
# 5.2.5: Wed 18 Jan 2017 21:28:14 AEDT
# Added AWS user policy check
# 5.2.6: Thu 19 Jan 2017 07:34:48 AEDT
# Added AWS support role check
# 5.2.7: Thu 19 Jan 2017 09:05:08 AEDT
# Added AWS access keys check
# 5.2.8: Thu 19 Jan 2017 10:15:18 AEDT
# Added AWS full administrative privileges check
# 5.2.9: Thu 19 Jan 2017 10:58:16 AEDT
# Added AWS CloudTrail MultiRegion check
# 5.3.0: Thu 19 Jan 2017 11:14:20 AEDT
# Added AWS CloudTrail LogFileValidation check
# 5.3.1: Thu 19 Jan 2017 11:47:33 AEDT
# Added AWS CloudTrail bucket permissions check
# 5.3.2: Thu 19 Jan 2017 16:59:12 AEDT
# Added AWS IAM Master / Manager account check
# 5.3.3: Thu 19 Jan 2017 17:54:06 AEDT
# Fixed various AWS bugs
# 5.3.4: Thu 19 Jan 2017 21:40:00 AEDT
# Added AWS CloudTrail bucket policy check
# 5.3.5: Thu 19 Jan 2017 22:14:38 AEDT
# Added AWS CloudTrail CloudWatch Logs integration check
# 5.3.6: Thu 19 Jan 2017 23:02:54 AEDT
# Added initial support for AWS Config check
# 5.3.7: Thu 19 Jan 2017 23:13:12 AEDT
# Added AWS CloudTrail S3 Bucket logging check
# 5.3.8: Thu 19 Jan 2017 23:24:30 AEDT
# Added AWS CloudTrail KMS Key check
# 5.3.9: Fri 20 Jan 2017 08:24:56 AEDT
# Added AWS Key check
# 5.4.0: Fri 20 Jan 2017 10:03:02 AEDT
# Added AWS VPC peering check
# 5.4.1: Fri 20 Jan 2017 13:19:36 AEDT
# Added Inbound / Outbond check for AWS Security Groups
# 5.4.2: Fri 20 Jan 2017 14:33:57 AEDT
# Added AWS VPC flow log check
# 5.4.3: Fri 20 Jan 2017 16:13:34 AEDT
# Added AWS Security Group check for open SSH / RDP ports
# 5.4.4: Fri 20 Jan 2017 17:28:52 AEDT
# Added initial AWS SNS checks
# 5.4.5: Fri 20 Jan 2017 19:38:09 AEDT
# Added initial AWS monitoring checks
# 5.4.6: Fri 20 Jan 2017 20:14:43 AEDT
# Added AWS alarm and subscriber checks
# 5.4.7: Fri 20 Jan 2017 20:41:44 AEDT
# Added AWS IAM alarm and subscriber checks
# 5.4.8: Fri 20 Jan 2017 22:14:27 AEDT
# Added AWS CloudTrail, Console, Key, S3, Config, NACL, Security Group, Gateway, Route and VPC alarm and subscriber checks
# 5.4.9: Sat 21 Jan 2017 08:41:04 AEDT
# Added fix information for AWS Access Keys
# 5.5.0: Tue 24 Jan 2017 05:20:07 AEDT
# Cleaned up AWS CloudTrail checks
# 5.5.1: Tue 24 Jan 2017 16:22:48 AEDT
# Added some fix information for VPC checks
# 5.5.2: Tue 24 Jan 2017 16:47:11 AEDT
# Added some fix information for SNS check
# 5.5.3: Tue 24 Jan 2017 17:15:33 AEDT
# Updated AWS CloudTrail Key fix information
# 5.5.4: Tue 24 Jan 2017 17:26:25 AEDT
# Added some fix information for S3 bucket logging
# 5.5.5: Tue 24 Jan 2017 17:29:39 AEDT
# Added some fix information for AWS Config
# 5.5.6: Tue 24 Jan 2017 17:38:19 AEDT
# Added some fix information for CloudTrail bucket permissions
# 5.5.7: Tue 24 Jan 2017 19:58:17 AEDT
# Added initial ability to set AWS region on command line
# 5.5.8: Tue 24 Jan 2017 21:09:08 AEDT
# Added additional support for setting AWS region
# 5.5.9: Tue 24 Jan 2017 21:25:13 AEDT
# Added initial support for AWS recommendations
# 5.6.0: Tue 24 Jan 2017 22:35:11 AEDT
# Added AWS IAM SSH Public Keys check
# 5.6.1: Tue 24 Jan 2017 22:45:17 AEDT
# Added AWS IAM empty group check
# 5.6.2: Wed 25 Jan 2017 06:27:00 AEDT
# Added check for expired AWS certificates
# 5.6.3: Wed 25 Jan 2017 06:40:16 AEDT
# Added check for inactive AWS IAM accounts
# 5.6.4: Wed 25 Jan 2017 07:19:13 AEDT
# Added check for AWS Route53 Domain renewals
# 5.6.5: Wed 25 Jan 2017 07:31:24 AEDT
# Added check for AWS Route53 Domain expiration
# 5.6.6: Wed 25 Jan 2017 08:32:35 AEDT
# Added check for AWS Route53 Zone SPF records
# 5.6.7: Wed 25 Jan 2017 08:40:14 AEDT
# Added check for AWS Route53 Domain Transfer Lock
# 5.6.8: Wed 25 Jan 2017 12:52:00 AEDT
# Added check for AWS instance image ID owner
# 5.6.9: Wed 25 Jan 2017 17:47:28 AEDT
# Added check for number of AWS EIPs consumer
# 5.7.0: Wed 25 Jan 2017 18:21:39 AEDT
# Added check for AWS instances using the default security group
# 5.7.1: Wed 25 Jan 2017 18:46:14 AEDT
# Added check for AWS EC2-Classic instances
# 5.7.2: Wed 25 Jan 2017 19:34:59 AEDT
# Added check against recommended Instance name
# 5.7.3: Wed 25 Jan 2017 20:49:54 AEDT
# Added check for AWS instance termination protection
# 5.7.4: Wed 25 Jan 2017 21:20:52 AEDT
# Added check to see if instances have IAM profiles
# 5.7.5: Thu 26 Jan 2017 04:41:19 AEDT
# Added check for publicly shared AWS AMIs
# 5.7.6: Thu 26 Jan 2017 05:42:37 AEDT
# Added check against recommended Security Group name
# 5.7.7: Thu 26 Jan 2017 09:09:47 AEDT
# Split out AWS VPC and SG checks
# 5.7.8: Thu 26 Jan 2017 09:17:26 AEDT
# Added check for AWS SGs with open CIFS ports
# 5.7.9: Thu 26 Jan 2017 09:22:07 AEDT
# Added check for AWS SGs with open DNS ports
# 5.8.0: Thu 26 Jan 2017 09:51:13 AEDT
# Added check for AWS SGs with open FTP ports
# 5.8.1: Thu 26 Jan 2017 10:03:33 AEDT
# Added check for AWS SGs with various open ports
# 5.8.2: Thu 26 Jan 2017 11:00:34 AEDT
# Added check for AWS SGs with open MongoDB ports
# 5.8.3: Thu 26 Jan 2017 11:09:27 AEDT
# Added check for AWS SGs with open RPC ports
# 5.8.4: Thu 26 Jan 2017 11:48:10 AEDT
# Added check for AWS SGs with open ICMP
# 5.8.5: Thu 26 Jan 2017 11:51:56 AEDT
# Added check for AWS SGs with open SMTP
# 5.8.6: Thu 26 Jan 2017 11:55:15 AEDT
# Added check for AWS SGs with open Telnet
# 5.8.7: Thu 26 Jan 2017 12:20:11 AEDT
# Added check for AWS users with attached policies
# 5.8.8: Thu 26 Jan 2017 14:02:54 AEDT
# Added check for AWS ES domains being publicly accessible
# 5.8.9: Thu 26 Jan 2017 14:27:20 AEDT
# Added check for AWS ES domains having IP access policy
# 5.9.0: Thu 26 Jan 2017 14:43:32 AEDT
# Added check for AWS ES domains having dedicated master nodes
# 5.9.1: Thu 26 Jan 2017 14:51:13 AEDT
# Added check for AWS ES domains using General Purpose SSD to be cost effective
# 5.9.2: Thu 26 Jan 2017 15:25:04 AEDT
# Added check for AWS ES domains being cross zone aware
# 5.9.3: Thu 26 Jan 2017 16:03:54 AEDT
# Added more tag checks for AWS EC2 instances
# 5.9.4: Thu 26 Jan 2017 20:54:23 AEDT
# Added check for empty DynamoDB tables to be cost effective
# 5.9.5: Thu 26 Jan 2017 21:19:06 AEDT
# Added check for AWS ELB logging being enabled
# 5.9.6: Thu 26 Jan 2017 22:54:21 AEDT
# Added check for AWS ELB connection draining being enabled
# 5.9.7: Thu 26 Jan 2017 23:08:23 AEDT
# Added check for AWS ELB cross zone balancing being enabled
# 5.9.8: Fri 27 Jan 2017 07:07:37 AEDT
# Added check for AWS ELB using deprecated ciphers
# 5.9.9: Fri 27 Jan 2017 07:38:05 AEDT
# Added check for AWS ELB using deprecated protocols
# 6.0.0: Fri 27 Jan 2017 08:20:44 AEDT
# Added check for AWS ELB using HTTP rather than HTTPS
# 6.0.1: Fri 27 Jan 2017 08:32:32 AEDT
# Added check for AWS ELB having at least 2 instances
# 6.0.2: Fri 27 Jan 2017 08:48:57 AEDT
# Added check for AWS ELB SGs being open on port 80
# 6.0.3: Fri 27 Jan 2017 09:22:00 AEDT
# Added check for out of service AWS ELB instances
# 6.0.4: Fri 27 Jan 2017 09:33:32 AEDT
# Added check for unencrypted AWS EC2 volumes
# 6.0.5: Fri 27 Jan 2017 13:19:21 AEDT
# Added check for AWS EC2 volume names
# 6.0.6: Fri 27 Jan 2017 18:04:39 AEDT
# Added check for AWS EC2 snapshots older than 30 days
# 6.0.7: Fri 27 Jan 2017 19:13:08 AEDT
# Added check for AWC EC2 unattached volumes to be cost effective
# 6.0.8: Fri 27 Jan 2017 19:37:26 AEDT
# Added check for AWC VPC exposed endpoints
# 6.0.9: Fri 27 Jan 2017 21:42:09 AEDT
# Added check for AWS VPC names
# 6.1.0: Sat 28 Jan 2017 08:16:46 AEDT
# Added check for AWS VPC / VPN redundancy
# 6.1.1: Sat 28 Jan 2017 09:00:59 AEDT
# Added check for AWS S3 bucket grants
# 6.1.2: Sat 28 Jan 2017 09:05:50 AEDT
# Added check for AWS S3 bucket logging
# 6.1.3: Sat 28 Jan 2017 09:13:45 AEDT
# Added check for AWS S3 bucket versioning
# 6.1.4: Sat 28 Jan 2017 14:06:32 AEDT
# Added check for AWS SES and DKIM
# 6.1.5: Sat 28 Jan 2017 14:45:31 AEDT
# Added check for AWS RDS auto minor version upgrade
# 6.1.6: Sat 28 Jan 2017 15:15:43 AEDT
# Added check for AWS RDS automated backups
# 6.1.7: Sat 28 Jan 2017 16:51:40 AEDT
# Added check for AWS RDS encryption
# 6.1.8: Sat 28 Jan 2017 17:06:52 AEDT
# Added check for AWS RDS having Multi-AZ enabled
# 6.1.9: Sat 28 Jan 2017 19:32:15 AEDT
# Added check for AWS RDS Security Groups
# 6.2.0: Sat 28 Jan 2017 20:39:56 AEDT
# Added check for AWS RDS using KMS key
# 6.2.1: Sat 28 Jan 2017 21:08:09 AEDT
# Added check for AWS RDS using General Purpose SSD to be cost effective
# 6.2.2: Sat 28 Jan 2017 21:26:07 AEDT
# Added check for AWS RDS instances being on a public facing subnet
# 6.2.3: Sat 28 Jan 2017 21:45:29 AEDT
# Added check for AWS RDS instances using default master username
# 6.2.4: Sun 29 Jan 2017 11:40:24 AEDT
# Added check for AWS RDS registered instances expiring
# 6.2.5: Sun 29 Jan 2017 11:54:14 AEDT
# Added check for AWS RDS backup retention period
# 6.2.6: Sun 29 Jan 2017 12:44:23 AEDT
# Added check for AWS EC2 EBS volumes having KMS keys
# 6.2.7: Sun 29 Jan 2017 15:31:20 AEDT
# Added check for AWS EC2 EBS volume snapshots being taken
# 6.2.8: Sun 29 Jan 2017 17:16:24 AEDT
# Added check for AWS CloudTrail recording global events
# 6.2.9: Sun 29 Jan 2017 19:03:52 AEDT
# Added check for AWS inactive KMS keys
# 6.3.0: Sun 29 Jan 2017 19:03:52 AEDT
# Added check for AWS SNS topic being publicly accessible
# 6.3.1: Sun 29 Jan 2017 20:02:57 AEDT
# Added check for AWS CloudFormation stacks using SNS
# 6.3.2: Sun 29 Jan 2017 20:30:55 AEDT
# Added check for AWS CloudFormation stacks having policies
# 6.3.3: Sun 29 Jan 2017 20:49:28 AEDT
# Added check for AWS ElastiCache having HA enabled
# 6.3.4: Sun 29 Jan 2017 21:06:57 AEDT
# Added check for AWS ElastiCache reserved instances expiring
# 6.3.5: Sun 29 Jan 2017 21:23:07 AEDT
# Added check for AWS Cloudfront WAF integration being enabled
# 6.3.6: Sun 29 Jan 2017 21:31:31 AEDT
# Added check for AWS Cloudfront logging being enabled
# 6.3.7: Sun 29 Jan 2017 21:38:47 AEDT
# Added check for AWS Cloudfront using deprecate SSL version
# 6.3.8: Sun 29 Jan 2017 21:43:31 AEDT
# Added check for AWS Cloudfront using HTTP only
# 6.3.9: Sun 29 Jan 2017 22:08:20 AEDT
# Added check for AWS CloudWatch alarm for EC2 instance changes
# 6.4.0: Sun 29 Jan 2017 22:22:11 AEDT
# Added check for AWS CloudWatch alarm for EC2 instance size changes
# 6.4.1: Mon 30 Jan 2017 08:13:20 AEDT
# Added check for AWS Redshift upgrades being enabled
# 6.4.2: Mon 30 Jan 2017 08:36:14 AEDT
# Added check for AWS Redshift logging being enabled
# 6.4.3: Mon 30 Jan 2017 08:44:03 AEDT
# Added check for AWS Redshift encryption being enabled
# 6.4.4: Mon 30 Jan 2017 08:50:04 AEDT
# Added check for AWS Redshift using KMS keys
# 6.4.5: Mon 30 Jan 2017 09:12:42 AEDT
# Added check for AWS Redshift using EC2-VPC domains rather than EC2-Classic
# 6.4.6: Mon 30 Jan 2017 09:34:38 AEDT
# Added check for AWS Redshift paramter groups requiring SSL
# 6.4.7: Mon 30 Jan 2017 09:47:58 AEDT
# Added check for AWS Redshift being publicly available
# 6.4.8: Mon 30 Jan 2017 10:11:21 AEDT
# Added check for AWS Redshift reserved instances about to expire
# 6.4.9: Tue 31 Jan 2017 14:55:55 AEDT
# Added check for AWS Inspector being used
# 6.5.0: Tue 31 Jan 2017 16:39:08 AEDT
# Added check for AWS Inspector assessment recommendation (CVEs)
# 6.5.1: Tue  7 Feb 2017 14:34:39 AEDT
# Added initial support for Docker
# 6.5.2: Tue  7 Feb 2017 16:59:27 AEDT
# Added additional Docker support
# 6.5.3: Tue  7 Feb 2017 17:37:13 AEDT
# Added Docker network bridge test
# 6.5.4: Wed  8 Feb 2017 07:43:30 AEDT
# Added more Docker tests and updated SSH TCP forwarding test
# 6.5.5: Wed  8 Feb 2017 08:09:14 AEDT
# Fixed Docker daemon test
# 6.5.6: Wed  8 Feb 2017 08:17:15 AEDT
# Added Docker user namespace support test
# 6.5.7: Wed  8 Feb 2017 08:32:00 AEDT
# Added Docker daemon storage option and authorisation plugin checks
# 6.5.8: Wed  8 Feb 2017 08:37:12 AEDT
# Added additional Docker logging tests
# 6.5.9: Wed  8 Feb 2017 08:46:12 AEDT
# Added Docker legacy registry check
# 6.6.0: Wed  8 Feb 2017 08:48:46 AEDT
# Added Docker liver restore check
# 6.6.1: Wed  8 Feb 2017 08:54:36 AEDT
# Added Docker userland proxy test
# 6.6.2: Wed  8 Feb 2017 08:57:18 AEDT
# Added Docker encrypted network traffic check
# 6.6.3: Wed  8 Feb 2017 08:59:50 AEDT
# Added Docker seccomp profile test
# 6.6.4: Wed Feb  8 09:23:05 AEDT 2017
# Added Docker swarm unlock key test
# 6.6.5: Wed  8 Feb 2017 10:16:35 AEDT
# Added Docker file permission tests
# 6.6.6: Wed  8 Feb 2017 10:43:45 AEDT
# Added Docker container user test
# 6.6.7: Wed  8 Feb 2017 11:53:36 AEDT
# Added Docker Healthcheck test
# 6.6.8: Wed  8 Feb 2017 12:33:33 AEDT
# Added Docker AppArmor test
# 6.6.9: Wed  8 Feb 2017 12:46:13 AEDT
# Added Docker SELinux test
# 6.7.0: Wed  8 Feb 2017 14:41:52 AEDT
# Added Docker capabilities test
# 6.7.1: Wed  8 Feb 2017 14:48:15 AEDT
# Added Docker privileged container check
# 6.7.2: Wed  8 Feb 2017 15:11:17 AEDT
# Added Docker host network namespace check
# 6.7.3: Wed  8 Feb 2017 15:26:33 AEDT
# Added Docker memory usage limit test
# 6.7.4: Wed  8 Feb 2017 17:17:58 AEDT
# Initial Docker code cleanup
# 6.7.5: Wed  8 Feb 2017 17:50:16 AEDT
# Additional Docker code cleanup
# 6.7.6: Wed  8 Feb 2017 17:57:59 AEDT
# Added Docker Memory and CpuShares tests
# 6.7.7: Wed  8 Feb 2017 19:04:24 AEDT
# Added Docker Ports check and cleaned up code
# 6.7.8: Wed  8 Feb 2017 19:24:39 AEDT
# More Docker fixes
# 6.7.9: Wed  8 Feb 2017 19:38:44 AEDT
# Added Docker PidMode check
# 6.8.0: Wed  8 Feb 2017 19:41:46 AEDT
# Added Docker IpcMode check
# 6.8.1: Wed  8 Feb 2017 19:57:04 AEDT
# Added Docker Devices check
# 6.8.2: Wed  8 Feb 2017 20:02:58 AEDT
# Added Docker Ulimits check
# 6.8.3: Wed  8 Feb 2017 20:15:10 AEDT
# Added Docker mount propagation check
# 6.8.4: Wed  8 Feb 2017 20:20:25 AEDT
# Added Docker UTSMode check
# 6.8.5: Wed  8 Feb 2017 21:58:01 AEDT
# Added Docker exec commands with privileged option check
# 6.8.6: Wed  8 Feb 2017 22:45:04 AEDT
# Cleaned up Docker tests
# 6.8.7: Wed  8 Feb 2017 22:56:11 AEDT
# Added Docker exec commands with user option check
# 6.8.8: Wed  8 Feb 2017 22:59:43 AEDT
# Added Docker CgroupParent test
# 6.8.9: Wed  8 Feb 2017 23:09:53 AEDT
# Added Docker SecurityOpt tests
# 6.9.0: Wed  8 Feb 2017 23:28:37 AEDT
# Added Docker Health test
# 6.9.1: Wed  8 Feb 2017 23:45:46 AEDT
# Added Docker default bridge test
# 6.9.2: Wed  8 Feb 2017 23:49:04 AEDT
# Added Docker UsernsMode test
# 6.9.3: Wed  8 Feb 2017 23:59:47 AEDT
# Added Docker socket mount test
# 6.9.4: Thu  9 Feb 2017 00:18:07 AEDT
# Added option to list Docker reports
# 6.9.5: Thu  9 Feb 2017 00:36:30 AEDT
# Updated GRUB test
# 6.9.6: Thu Feb  9 06:53:33 AEDT 2017
# Code cleanup and bug fixes
# 6.9.7: Thu  9 Feb 2017 09:12:03 AEDT
# Bug fixes and documenation updates
# 6.9.8: Thu  9 Feb 2017 09:37:36 AEDT
# Bug fixes and documenation updates
# 6.9.9: Thu  9 Feb 2017 10:51:58 AEDT
# Bug fixes and documenation updates
# 7.0.0: Thu  9 Feb 2017 11:09:01 AEDT
# Bug fixes and documenation updates
# 7.0.1: Thu  9 Feb 2017 15:37:09 AEDT
# Updated documentation
# 7.0.2: Fri 10 Feb 2017 00:23:29 AEDT
# Updates for OS X 10.12
# 7.0.3: Fri 10 Feb 2017 08:25:51 AEDT
# Bug fixes and documentation updates
# 7.0.4: Fri 10 Feb 2017 11:52:39 AEDT
# Code cleanup
# 7.0.5: Fri 10 Feb 2017 12:28:13 AEDT
# Added screen sharing test for OS X
# 7.0.6: Fri 10 Feb 2017 12:50:59 AEDT
# Added remote login check for OS X
# 7.0.7: Fri 10 Feb 2017 13:44:56 AEDT
# Added sleep check for OS X and updated documentation
# 7.0.8: Fri 10 Feb 2017 14:05:20 AEDT
# Code cleanup
# 7.0.9: Sat 11 Feb 2017 07:39:17 AEDT
# Code cleanup
# 7.1.0: Sat 11 Feb 2017 09:52:05 AEDT
# Updated SSH support to include sandbox for privilege separation
# 7.1.1: Sat 11 Feb 2017 11:56:22 AEDT
# Added Java test for OS X
# 7.1.2: Sat 11 Feb 2017 12:21:17 AEDT
# Added system log test for OS X
# 7.1.3: Sat 11 Feb 2017 12:34:06 AEDT
# Added addition system log tests for OS X and updated documentation
# 7.1.4: Sat 11 Feb 2017 12:50:18 AEDT
# Added addition system log tests for OS X and updated documentation
# 7.1.5: Sat 11 Feb 2017 12:58:07 AEDT
# Added wireless check for OS X
# 7.1.6: Sat 11 Feb 2017 13:16:16 AEDT
# Added NFS daemon check for OS X
# 7.1.7: Sat 11 Feb 2017 15:44:55 AEDT
# Added Application permission checks for OS X
# 7.1.8: Sat 11 Feb 2017 16:33:48 AEDT
# Updated OS X password policy test
# 7.1.9: Sat 11 Feb 2017 17:18:07 AEDT
# Updated OS X password policy test
# 7.2.0: Sat 11 Feb 2017 17:39:07 AEDT
# Updated OS X keychain check
# 7.2.1: Sat 11 Feb 2017 17:50:45 AEDT
# Updated OS X login policy test and documentation
# 7.2.2: Sat 11 Feb 2017 18:18:10 AEDT
# Added system preferences check for OS X
# 7.2.3: Sat 11 Feb 2017 20:36:05 AEDT
# Added System Integrity Protection test for OS X
# 7.2.4: Sat 11 Feb 2017 21:39:02 AEDT
# Updated documentation
# 7.2.5: Sun Feb 12 13:26:29 AEDT 2017
# Code cleanup
# 7.2.6: Sat  9 Sep 2017 17:44:38 AEST
# Cleaned up command line argument handling
# 7.2.7: Wed 27 Dec 2017 07:55:29 AEDT
# Fixed uname and stat on OS X
# 7.2.8: Sat  9 Feb 2019 13:09:58 AEDT
# Fixed a bug with chkconfig on Centos
# 7.2.9: Sun 21 Apr 2019 11:19:00 AEST
# Fixed Java version check and some other bugs
# 7.3.0: Sun 21 Apr 2019 13:06:51 AEST
# Added initial code for detecting virtual platform and fixed separate filesystems check
# 7.3.1: Sun Apr 21 15:48:28 AEST 2019
# Cleanup and bug fixes
# 7.3.2: Sun 21 Apr 2019 16:25:36 AEST
# Fixed bug with sulogin check
# 7.3.3: Sun 21 Apr 2019 17:40:10 AEST
# Fixed bug with file value check and check values starting in hyphens
# 7.3.4: Sun 21 Apr 2019 18:16:35 AEST
# Initial bug fix for X Windows System package group being installed 
# 7.3.5: Sun 21 Apr 2019 21:11:20 AEST
# Added group package check
# 7.3.6: Tue 23 Apr 2019 12:06:07 AEST
# Fixed bug with module check
# 7.3.7: Tue 23 Apr 2019 14:24:39 AEST
# Made code more portable
# 7.3.8: Tue 23 Apr 2019 15:14:52 AEST
# More fixes
# 7.3.9: Tue 23 Apr 2019 18:37:02 AEST
# Added initial docker test matrix
# 7.4.0: Tue 23 Apr 2019 19:16:20 AEST
# More bug fixes
# 7.4.1: Tue 23 Apr 2019 20:36:25 AEST
# Improved handling for beta releases of Red Hat Linux
# 7.4.2: Tue 23 Apr 2019 20:44:23 AEST
# Added file check to securetty test
# 7.4.3: Tue 23 Apr 2019 22:04:08 AEST
# Initial Kubernetes support
# 7.4.4: Wed 24 Apr 2019 07:24:28 AEST
# Added support of hyphens in parameter names in file value checks
# 7.4.5: Wed 24 Apr 2019 08:15:38 AEST
# Added additional kubernetes checks
# 7.4.6: Wed 24 Apr 2019 12:10:50 AEST
# Added additional kubernetes checks
# 7.4.7: Wed 24 Apr 2019 16:38:49 AEST
# Minor cleanup
# 7.4.8: Wed 24 Apr 2019 18:27:05 AEST
# Updated check file value function
# 7.4.9: Wed 24 Apr 2019 20:39:39 AEST
# Added additional kubernetes checks
# 7.5.0: Tue 11 Jun 2019 14:58:46 AEST
# Execshield fix
# 7.5.1: Tue 30 Jul 2019 21:54:54 AEST
# Fixes for Debian
# 7.5.2: Wed 31 Jul 2019 09:48:02 AEST
# Additional fix for Debian unstable
# 7.5.3: Wed 31 Jul 2019 20:36:53 AEST
# Fixes for date on Linux
# 7.5.4: Wed 22 Jan 2020 09:33:40 AEDT
# Bug fixes and initial ansbile output
# 7.5.5: Wed 22 Jan 2020 10:13:08 AEDT
# Bug fixes
# 7.5.6: Wed 22 Jan 2020 14:13:22 AEDT
# Bug fixes and code cleanup
# 7.5.7: Wed 22 Jan 2020 20:36:05 AEDT
# Added more ansible stanzas
# 7.5.8: Wed 22 Jan 2020 21:43:05 AEDT
# Bug fixes and code cleanup
# 7.5.9: Thu 23 Jan 2020 12:05:26 AEDT
# Added more ansible stanzas
# 7.6.0: Thu 23 Jan 2020 15:07:16 AEDT
# Added more ansible stanzas
# 7.6.1: Tue 18 Feb 2020 08:09:12 AEDT
# Fixes and improvements as suggesting in issue 36
# 7.6.2: Tue Feb 18 09:17:17 AEDT 2020
# Fixes for RedHat/Centos 8.x using chrony by default as suggested in issue 35
# 7.6.3: Sun  3 May 2020 08:48:13 AEST
# Fixed bug with filesystem partitions check
# 7.6.4: Sun  3 May 2020 10:53:34 AEST
# Formating cleanup
# 7.6.5: Sun 03 May 2020 12:19:19 AEST
# Added in function to check_file_value to cater for multiple parameters in a line
# 7.6.6: Sun 03 May 2020 13:13:14 AEST
# Ansible output tweaks
# 7.6.7: Sun 03 May 2020 14:34:48 AEST
@ More ansible output tweaks
# 7.6.8: Mon 04 May 2020 12:01:58 AEST
# More ansible output tweaks
# 7.6.9: Mon 18 May 2020 19:25:17 AEST
# More Apache support
# 7.7.0: Wed 16 Sep 2020 09:08:19 AEST
# Fix for filesystem searches on Linux
# 7.7.1: Wed 16 Sep 2020 21:54:39 AEST
# Removed elfsign
# 7.7.2: Fri 18 Sep 2020 22:58:52 AEST
# Fixed duplicate options
# 7.7.3: Sat 19 Sep 2020 21:53:54 AEST
# Fix big with AIX Retry Limit code
# 7.7.4: Sun 20 Sep 2020 17:54:08 AEST
# Fixed AWS password policy module
# 7.7.5: Thu 22 Apr 2021 15:15:54 AEST
# Cleaned up linux service check code as per issue #37
# 7.7.6: Thu 22 Apr 2021 16:32:24 AEST
# Added code to deal with issue #61
# 7.7.7: Mon 31 Jan 2022 15:56:28 AEDT
# Updated security banner based on suggestion from Mark Lane so it can be grepped out easier
# 7.7.8: Fri 23 Sep 2022 12:19:00 AEST
# Updated check for tally2 PAM module which has been replaced with faillock PAM module in Ubuntu 22.04
# 7.7.9: Fri 23 Sep 2022 17:00:49 AEST
# Added check for apport service on Ubuntu 22.04
# 7.8.0: Fri 23 Sep 2022 17:53:12 AEST
# Fixed AppArmor check for Ubuntu
# 7.8.1: Sat 24 Sep 2022 19:10:14 AEST
# Added grub check to Apparmor check
# 7.8.2: Sun 25 Sep 2022 08:26:46 AEST
# Added grub config/menu file check to Apparmor test
# 7.8.3: Sun 25 Sep 2022 15:39:50 AEST
# Added gnome defaults check for GDM3
# 7.8.4: Sun 25 Sep 2022 17:05:31 AEST
# Added initial code for gsettings function
# 7.8.5: Sun 25 Sep 2022 17:11:38 AEST
# Fixed bug with apparmor module
# 7.8.6: Sun 25 Sep 2022 18:42:04 AEST
# Added GDM lock check for Linux
# 7.8.7: Sun 25 Sep 2022 21:17:32 AEST
# Updated GDM lock check for Linux
# 7.8.8: Mon 26 Sep 2022 13:38:37 AEST
# Updated GDM lock check for Linux
# 7.8.9: Mon 26 Sep 2022 14:39:14 AEST
# Added Gnome automount check
# 7.9.0: Mon 26 Sep 2022 14:53:17 AEST
# Added Gnome autorun check
# 7.9.1: Mon 26 Sep 2022 15:10:43 AEST
# Updated Gnome autorun check and added Gnome XDMCP check
# 7.9.2: Mon 26 Sep 2022 16:52:46 AEST
# Fixed prelink and aide checks
# 7.9.3: Mon 26 Sep 2022 20:18:21 AEST
# Added PAE/NX check
# 7.9.4: Tue 27 Sep 2022 10:48:50 AEST
# Added exim check
# 7.9.5: Tue 27 Sep 2022 10:59:19 AEST
# Added wireless check for Linux
# 7.9.6: Tue 27 Sep 2022 11:26:50 AEST
# Added some UFW checks for Ubuntu Linux
# 7.9.7: Tue 27 Sep 2022 11:47:58 AEST
# Added audispd-plugins package check
# 7.9.8: Wed 28 Sep 2022 20:20:02 AEST
# Added grub check for audit flag
# 7.9.9: Thu 29 Sep 2022 04:42:26 AEST
# Added audit log size check
# 8.0.0: Thu 29 Sep 2022 04:56:18 AEST
# Fixed audit max log file size
# 8.0.1: Thu 29 Sep 2022 05:11:57 AEST
# Added faillock to auditing
# 8.0.2: Thu 29 Sep 2022 07:23:59 AEST
# Added additional checks to system accounting/auditing
# 8.0.3: Thu 29 Sep 2022 13:42:08 AEST
# Added auditd log_group check
# 8.0.4: Thu 29 Sep 2022 14:59:40 AEST
# Added additional aide checks
# 8.0.5: Thu 29 Sep 2022 16:17:53 AEST
# Various updates to system logging and auditing checks
# 8.0.6: Sat  1 Oct 2022 14:22:20 AEST
# Added check for audit log of running command as another user
# 8.0.7: Sat  1 Oct 2022 14:28:36 AEST
# Added sudo check to audit
# 8.0.8: Sat  1 Oct 2022 14:40:46 AEST
# Added check for auditing chchon
# 8.0.9: Fri 27 Oct 2023 12:53:20 AEDT
# Moved home directory check to be a part of filesystem check option
# 8.1.0: Fri Oct 27 18:55:59 AEDT 2023
# Bug fixes for aide check
# 8.1.1: Fri Oct 27 19:11:38 AEDT 2023
# Bug fix for apparmor check
# 8.1.2: Fri Oct 27 19:15:46 AEDT 2023
# Bug fix for OS X defaults check
# 8.1.3: Fri Oct 27 19:18:29 AEDT 2023
# Bug fixes for auditd check
# 8.1.4: Fri Oct 27 19:34:00 AEDT 2023
# Bug fixes
# 8.1.5: Sat Oct 28 08:25:51 AEDT 2023
# Added check for iptables
# 8.1.6: Sat Oct 28 08:31:48 AEDT 2023
# Added check for nmcli
# 8.1.7: Sat Oct 28 15:59:00 AEDT 2023
# Added non root user check for reading shadow file
# 8.1.8: Sat Oct 28 17:16:46 AEDT 2023
# Added more checks for when not running as root
# 8.1.9: Sat 28 Oct 2023 22:53:06 AEDT
# Added addition shoftware update checks for macOS Sonoma
# 8.2.0: Sat 28 Oct 2023 22:56:29 AEDT
# Added keychain sync test for macOS Sonoma
# 8.2.1: Sun 29 Oct 2023 07:23:04 AEDT
# Fixed issue with OS version/release handling
# 8.2.2: Sun 29 Oct 2023 12:47:48 AEDT
# Documentation cleanup
# 8.2.3: Sun 29 Oct 2023 13:18:06 AEDT
# Added Air Drop check
# 8.2.4: Sun 29 Oct 2023 13:48:36 AEDT
# Added Air Play Receiver check
# 8.2.5: Sun 29 Oct 2023 13:52:09 AEDT
# Documentation fixes
# 8.2.6: Sun 29 Oct 2023 14:17:47 AEDT
# Updates for MacOS Sonoma
# 8.2.7: Sun 29 Oct 2023 14:29:02 AEDT
# Documentation updates
# 8.2.8: Sun 29 Oct 2023 15:09:04 AEDT
# Added MacOS check for asset caching
# 8.2.9: Sun 29 Oct 2023 20:48:01 AEDT
# Added MacOS check for media sharing
# 8.3.0: Sun 29 Oct 2023 21:05:10 AEDT
# Added additional MacOS check for bluetooth sharing
# 8.3.1: Sun 29 Oct 2023 21:31:22 AEDT
# Added MacOS Time Machine check
# 8.3.2: Sun 29 Oct 2023 21:52:39 AEDT
# Added additional MacOS wireless check
# 8.3.3: Sun 29 Oct 2023 21:59:28 AEDT
# Added additional MacOS wireless check
# 8.3.4: Mon 30 Oct 2023 07:16:19 AEDT
# Added MacOS Siri checks
# 8.3.5: Mon 30 Oct 2023 14:46:34 AEDT
# Added MacOS Location Services check
# 8.3.6: Mon 30 Oct 2023 16:09:37 AEDT
# Added MacOS defaults function to handle user defaults
# 8.3.7: Mon 30 Oct 2023 16:11:53 AEDT
# Bug fixes
# 8.3.8: Mon 30 Oct 2023 16:19:09 AEDT
# Added additional location services check
# 8.3.9: Mon 30 Oct 2023 16:59:08 AEDT
# Added MacOS Usage data check
# 8.4.0: Mon 30 Oct 2023 17:14:08 AEDT
# Added MacOS Ad Tracking check and updated test feedback
# 8.4.1: Mon 30 Oct 2023 20:35:54 AEDT
# Updated documentation
# 8.4.2: Mon 30 Oct 2023 20:49:28 AEDT
# Added MacOS Lockdown check
# 8.4.3: Mon 30 Oct 2023 21:11:38 AEDT
# Added MacOS screen corner setting check
# 8.4.4: Mon 30 Oct 2023 21:51:34 AEDT
# Added MacOS universal control check
# 8.4.5: Tue 31 Oct 2023 10:31:22 AEDT
# Added additional MocOS sleep checks for Intel
# 8.4.6: Tue 31 Oct 2023 10:37:41 AEDT
# Added additional MocOS sleep checks for Apple Silicon
# 8.4.7: Tue 31 Oct 2023 10:45:58 AEDT
# Added filevault check to sleep checks
# 8.4.8: Tue 31 Oct 2023 10:53:13 AEDT
# Added powernap check to sleep checks
# 8.4.9: Tue 31 Oct 2023 13:12:55 AEDT
# Added screen idle time check
# 8.5.0: Tue 31 Oct 2023 13:35:22 AEDT
# Updated documentation
# 8.5.1: Tue 31 Oct 2023 14:12:38 AEDT
# Added Touch ID checks
# 8.5.2: Tue 31 Oct 2023 14:20:28 AEDT
# Documentation updates
# 8.5.3: Wed  1 Nov 2023 13:57:00 AEDT
# Added MacOS check sysadminctl function
# 8.5.4: Wed  1 Nov 2023 16:11:13 AEDT
# Added MacOS SMB guest sharing check
# 8.5.5: Wed  1 Nov 2023 19:56:46 AEDT
# Updated documentation
# 8.5.6: Wed  1 Nov 2023 20:43:59 AEDT
# Updated kernel accounting test for MacOS Sonoma
# 8.5.7: Wed  1 Nov 2023 21:10:07 AEDT
# Updated firewall logging test for MacOS Sonoma
# 8.5.8: Wed  1 Nov 2023 21:22:02 AEDT
# Updated bonjour advertising test for MacOS Sonoma
# 8.5.9: Wed  1 Nov 2023 22:10:04 AEDT
# Updated web sharing and NFS check for MacOS Sonoma
# 8.6.0: Thu  2 Nov 2023 07:15:56 AEDT
# Updated documentation
# 8.6.1: Thu  2 Nov 2023 08:35:25 AEDT
# Added Apple Mobile File Integrity check
# 8.6.2: Thu  2 Nov 2023 08:58:41 AEDT
# Added MacOS Sealed System Volume check
# 8.6.3: Thu  2 Nov 2023 09:31:41 AEDT
# Added MacOS /System permissions check
# 8.6.4: Thu  2 Nov 2023 09:58:55 AEDT
# Updated MacOS password policy check for Sonoma
# 8.6.5: Thu  2 Nov 2023 14:06:09 AEDT
# Added APFS encrypted volume checks
# 8.6.6: Thu  2 Nov 2023 14:16:30 AEDT
# Added Core Storage encrypted volume checks
# 8.6.7: Thu  2 Nov 2023 14:55:46 AEDT
# Updated sudoers timeout check
# 8.6.8: Thu  2 Nov 2023 15:19:35 AEDT
# Added sudoers timestamp check
# 8.6.9: Thu  2 Nov 2023 15:39:28 AEDT
# Updated documentation
# 8.7.0: Thu  2 Nov 2023 15:48:28 AEDT
# Updated documentation
# 8.7.1: Thu  2 Nov 2023 20:11:40 AEDT
# Added Safari history limit check
# 8.7.2: Thu  2 Nov 2023 20:23:00 AEDT
# Added Safari Fradulent Website Warning check
# 8.7.3: Thu  2 Nov 2023 21:12:05 AEDT
# Added Safari Tracking check
# 8.7.4: Thu  2 Nov 2023 21:19:57 AEDT
# Added Hide IP Address in Safari check
# 8.7.5: Thu  2 Nov 2023 21:47:18 AEDT
# Added Safari Advertising Privacy Protection check
# 8.7.6: Fri  3 Nov 2023 08:07:58 AEDT
# Added Safari show full URL check
# 8.7.7: Fri  3 Nov 2023 09:22:30 AEDT
# Added Safari auto fill check
# 8.7.8: Fri  3 Nov 2023 09:50:02 AEDT
# Added Safari allow popups check
# 8.7.9: Fri  3 Nov 2023 10:09:51 AEDT
# Added Safari Javascript check
# 8.8.0: Fri  3 Nov 2023 10:14:10 AEDT
# Added Safari status bar check
# 8.8.1: Fri  3 Nov 2023 11:45:26 AEDT
# Added MacOS Administrative login to another session check
# 8.8.2: Fri  3 Nov 2023 19:38:55 AEDT
# Code cleanup for MacOS defaults function
# 8.8.3: Fri  3 Nov 2023 22:00:36 AEDT
# Improved MacOS version handling
# 8.8.4: Sat  4 Nov 2023 15:00:34 AEDT
# Added check for gsettings when running gnome checks
# 8.8.5: Sat  4 Nov 2023 16:31:08 AEDT
# Improved tcpwrappers check
# 8.8.6: Sat  4 Nov 2023 16:50:01 AEDT
# Improved verbose output
# 8.8.7: Sun 12 Nov 2023 20:41:54 AEDT
# Fixed PAM based account lockout issue
# 8.8.8: Sun 12 Nov 2023 20:57:03 AEDT
# More fixes for PAM checks
# 8.8.9: Sun  9 Jun 2024 15:02:54 AEST
# Fixed check_file_perms.sh find depth
# 8.9.0: Fri Jun 14 04:51:06 PM AEST 2024
# Fixed PAE check
# 8.9.1: Mon Jun 17 02:11:39 PM AEST 2024
# Improved wireless test
# 8.9.2: Mon Jun 17 02:19:52 PM AEST 2024
# Updated motd secure message check
# 8.9.3: Mon Jun 17 02:39:20 PM AEST 2024
# Updated ssh config check
# 8.9.4: Mon Jun 17 04:26:30 PM AEST 2024
# Fixes for auditd checks
# 8.9.5: Mon Jun 17 04:52:05 PM AEST 2024
# Improved syslog check
# 8.9.6: Tue Jun 18 18:23:09 AEST 2024
# Fixed code to print module info
# 8.9.7: Tue Jun 18 18:52:41 AEST 2024
# Updated command line handling
# 8.9.8: Tue 18 Jun 2024 21:30:13 AEST
# Updated defaults
# 8.9.9: Tue Jun 18 11:41:53 PM AEST 2024
# Improved systemctl check
# 9.0.0: Wed Jun 19 04:35:29 PM AEST 2024
# Improvements to reporting output
# 9.0.1: Wed Jun 19 08:24:22 PM AEST 2024
# Improvements to reporting output
# 9.0.2: Wed Jun 19 09:30:20 PM AEST 2024
# Improvements to reporting output
# 9.0.3: Fri 28 Jun 2024 14:28:00 AEST
# Major cleanup of code underway
# 9.0.4: Fri Jun 28 03:49:10 PM AEST 2024
# Fixed bug with old users check
# 9.0.5 Fri Jun 28 04:37:05 PM AEST 2024
# Fixed bug with daemon unmask check
# 9.0.6: Fri Jun 28 04:46:27 PM AEST 2024
# Improved select function check
# 9.0.7: Fri 28 Jun 2024 17:09:33 AEST
# Bug fixes
# 9.0.8: Fri Jul  5 10:27:59 AM AEST 2024
# Formatting and bug fixes
# 9.0.9: Fri Jul  5 01:41:18 PM AEST 2024
# Improved avahi conf check
# 9.1.0: Fri Jul  5 03:57:46 PM AEST 2024
# Output format improvements
# 9.1.1: Fri Jul  5 04:03:52 PM AEST 2024
# Fixed bug with systemctl command
# 9.1.2: Fri Jul  5 07:36:42 PM AEST 2024
# Added directory check to file check 
# 9.1.3: Fri Jul  5 08:59:48 PM AEST 2024
# Added directory check to file append
# 9.1.4: Sat Jul  6 09:48:27 AM AEST 2024
# Initial clean up of defaults
# 9.1.5: Sat Jul  6 11:09:59 AM AEST 2024
# Updated documentation
# 9.1.6: Sat Jul  6 11:18:47 AM AEST 2024
# Cleaned up some commands
# 9.1.7: Sat Jul  6 11:47:47 AM AEST 2024
# Fixed temp_file assignment
# 9.1.8: Sat Jul  6 14:10:53 AEST 2024
# Disable results output when running in restore mode
# 9.1.9: Sat Jul  6 14:56:17 AEST 2024
# Added file checks for deleting some files
# 9.2.0: Sat Jul  6 15:07:51 AEST 2024
# Bug fixes
# 9.2.1: Sat Jul  6 08:35:44 PM AEST 2024
# Fixed wheel group test
# 9.2.2: Sat Jul  6 21:04:48 AEST 2024
# Fixed find command in cron test
# 9.2.3: Sat Jul  6 21:11:40 AEST 2024
# Improved gnome automount test
# 9.2.4: Sat Jul  6 21:20:59 AEST 2024
# Improved gnome screen lock test
# 9.2.5: Sat Jul  6 21:27:38 AEST 2024
# Improved cron allow test
# 9.2.6: Sat Jul  6 21:57:14 AEST 2024
# Improved gsettings function
# 9.2.7: Sun Jul  7 10:07:11 AM AEST 2024
# Improved file backup function
# 9.2.8: Sun Jul  7 10:12:53 AM AEST 2024
# Made file warnings consistent when file doesn't exist
# 9.2.9: Mon Jul  8 12:32:14 AEST 2024
# Improved aide check
# 9.3.0: Mon Jul  8 13:54:59 AEST 2024
# Improved tcp_wrappers check
# 9.3.1: Tue  9 Jul 2024 12:19:45 AEST
# Initial clean up of options to allow other containers besides docker
# 9.3.2: Tue Jul  9 14:47:38 AEST 2024
# Bug fixes
# 9.3.3: Tue Jul  9 21:23:27 AEST 2024
# Cleaned up tests/list options, added some multipass support for testing and updated documentation
# 9.3.4: Wed Jul 10 03:07:15 PM AEST 2024
# Improved dialog
# 9.3.5: Wed Jul 10 03:12:22 PM AEST 2024
# Bug fixes
# 9.3.6: Wed Jul 10 10:15:15 PM AEST 2024
# Bug fixes and improvements
# 9.3.7: Thu Jul 11 02:05:40 PM AEST 2024
# Added strict and debug switches
# 9.3.8: Thu Jul 11 05:07:08 PM AEST 2024
# Fixed return code in check_systemctl_service
# 9.3.9: Fri Jul 12 10:48:58 AM AEST 2024
# Bug fixes and improvements
# 9.4.0: Fri Jul 12 01:26:48 PM AEST 2024
# Bug fixes
# 9.4.1: Fri Jul 12 05:06:40 PM AEST 2024
# Bug fixes
# 9.4.2: Fri Jul 12 08:43:30 PM AEST 2024
# Fixed iptables check
# 9.4.3: Fri Jul 12 08:50:57 PM AEST 2024
# Fixed apparmor check
# 9.4.4: Fri Jul 12 09:00:09 PM AEST 2024
# Fixed sendmail daemon check
# 9.4.5: Fri Jul 12 09:09:28 PM AEST 2024
# Fixed ssh root key check
# 9.4.6: Fri Jul 12 09:43:08 PM AEST 2024
# Fixed duplicate users check
# 9.4.7: Sat Jul 13 09:09:54 AM AEST 2024
# Fixed user dot files check
# 9.4.8: Sat Jul 13 09:14:14 AM AEST 2024
# Fixed password fields check
# 9.4.9: Sat Jul 13 09:18:36 AM AEST 2024
# Fixed reserved ID check
# 9.5.0: Sat Jul 13 09:35:18 AM AEST 2024
# Fixed daemon umask check
# 9.5.1: Sat Jul 13 10:09:32 AM AEST 2024
# Fixed wheel group check
# 9.5.2: Sat Jul 13 10:14:43 AM AEST 2024
# Added wheel group and password hashing switches
# 9.5.3: Sat Jul 13 10:30:34 AM AEST 2024
# Fixed file permissions check
# 9.5.4: Sat Jul 13 10:38:11 AM AEST 2024
# Fixed old users check
# 9.5.5: Sat Jul 13 11:24:41 AM AEST 2024
# Fixed cron check and added anacron switch
# 9.5.6: Sat Jul 13 11:32:17 AM AEST 2024
# Fixed shadow group check
# 9.5.7: Sat Jul 13 11:39:27 AM AEST 2024
# Fixed xlogin check
# 9.5.8: Sat Jul 13 11:46:38 AM AEST 2024
# Fixed gnome banner check
# 9.5.9: Sat Jul 13 11:57:17 AM AEST 2024
# Fixed krb5 check
# 9.6.0: Sat Jul 13 12:03:35 PM AEST 2024
# Fixed NIS entries check
# 9.6.1: Sat Jul 13 12:13:35 PM AEST 2024
# Fixed avahi daemon check
# 9.6.2: Sat Jul 13 12:16:42 PM AEST 2024
# Fixed mount setuid check
# 9.6.3: Sat Jul 13 12:26:27 PM AEST 2024
# Fixed NFS check
# 9.6.4: Sat Jul 13 12:31:12 PM AEST 2024
# Fixed filesystem mount check
# 9.6.5: Sat Jul 13 12:48:49 PM AEST 2024
# Fixed syslog server check
# 9.6.6: Sat Jul 13 12:54:24 PM AEST 2024
# Fixed SNMP test
# 9.6.7: Sat Jul 13 01:03:46 PM AEST 2024
# Fixed chrony check
# 9.6.8: Sat Jul 13 01:07:45 PM AEST 2024
# Fixed dhcp server test
# 9.6.9: Sat Jul 13 01:10:26 PM AEST 2024
# Fixed apport check
# 9.7.0: Sat Jul 13 01:15:04 PM AEST 2024
# Fixed SPARC hardware check
# 9.7.1: Sat Jul 13 01:27:35 PM AEST 2024
# Documentation updates
# 9.7.2: Sat 13 Jul 2024 17:33:22 AEST
# Fixed version detection on MacOS
# 9.7.3: Sat 13 Jul 2024 17:37:35 AEST
# Fixed dmidecode check
# 9.7.4: Sat 13 Jul 2024 17:41:13 AEST
# Fixed SSH sandbox check
# 9.7.5: Sat 13 Jul 2024 17:43:01 AEST
# Fixed password strength test
# 9.7.6: Sat 13 Jul 2024 17:48:24 AES
# Fixed kernel accounting check
# 9.7.7: Sat 13 Jul 2024 17:57:16 AEST
# Fixed ntp check
# 9.7.8: Sat 13 Jul 2024 20:04:00 AEST
# Fixes for MacOS
# 9.7.9: Sat 13 Jul 2024 20:41:18 AEST
# More fixes for MacOS
# 9.8.0: Sat 13 Jul 2024 22:01:16 AEST
# Fixes for MacOS defaults checks
# 9.8.1: Sat 13 Jul 2024 22:05:46 AEST
# Fixed file sharing check
# 9.8.2: Sat 13 Jul 2024 22:10:29 AEST
# Fixed firewall setting check
# 9.8.3: Sat 13 Jul 2024 22:14:57 AEST
# More firewall setting check fixes
# 9.8.4: Sat 13 Jul 2024 22:24:09 AEST
# Fixed pmset check
# 9.8.5: Sat 13 Jul 2024 22:37:04 AEST
# Improved MacOS defaults check
# 9.8.6: Sat 13 Jul 2024 22:42:24 AEST
# Fixed dscl check
# 9.8.7: Sat 13 Jul 2024 22:50:22 AEST
# Fixed remote management check
# 9.8.8: Sat 13 Jul 2024 22:56:50 AEST
# Fixed safe downloads check
# 9.8.9: Sat 13 Jul 2024 23:06:29 AEST
# Fixed keychain lock check
# 9.9.0: Sat 13 Jul 2024 23:09:40 AEST
# Fixed application permissions check
# 9.9.1: Sat 13 Jul 2024 23:12:47 AEST
# Fixed touch ID check
# 9.9.2: Sat 13 Jul 2024 23:15:06 AEST
# Fixed APFS check
# 9.9.3: Sat 13 Jul 2024 23:17:18 AEST
# Fixed safari history check
# 9.9.4: Sat 13 Jul 2024 23:20:30 AEST
# Fixed safari warning check
# 9.9.5: Sat 13 Jul 2024 23:23:49 AEST
# Updated documentation
# 9.9.6: Sun 14 Jul 2024 10:45:51 AEST
# Fixed multipass VM check
# 9.9.7: Sun 14 Jul 2024 11:28:05 AEST
# Added debug switch to multipass
# 9.9.8: Sun 14 Jul 2024 11:39:07 AEST
# Added select switch to select
# 9.9.9: Sun 14 Jul 2024 12:03:00 AEST
# Improved systemctl check
# 10.0.0: Sun 14 Jul 2024 12:08:51 AEST
# Removed may need to be run as root warning for help and version switches
# 10.0.1: Sun 14 Jul 2024 12:21:36 AEST
# Improved gsettings check
# 10.0.2: Sun Jul 14 12:36:32 AEST 2024
# More improvements to gsettings check
# 10.0.3: Sun 14 Jul 2024 12:56:07 AEST
# Removed check_rpm function
# 10.0.4: Sun 14 Jul 2024 13:03:58 AEST
# Improved select function/module handling
# 10.0.5: Mon 15 Jul 2024 11:31:58 AEST
# Updated output
# 10.0.6: Mon Jul 22 14:59:00 AEST 2024
# Bug fixes
# 10.0.7: Mon Jul 22 15:06:52 AEST 2024
# Fix for systemctl check
# 10.0.8: Mon Jul 22 15:43:40 AEST 2024
# Fix for old users check
# 10.0.9: Fri 25 Apr 2025 13:55:04 AEST
# Code cleanup
# 10.1.0: Fri 25 Apr 2025 15:49:37 AEST
# Updated help routine
# 10.1.1: Sat 26 Apr 2025 10:54:56 AEST
# More code cleanup
# 10.1.2: Sat 26 Apr 2025 11:08:06 AEST
# Updated switch processing
# 10.1.3: Sat 26 Apr 2025 22:35:08 AEST
# Fixes recommended by Shellcheck
# 10.1.4: Sun 27 Apr 2025 11:35:45 AEST
# Fixed keychain sync check
# 10.1.5: Sun 27 Apr 2025 17:17:40 AEST
# Documentation updates
# 10.1.6: Sun 27 Apr 2025 18:53:29 AEST
# Updated modprobe filesystem kernel modules check
# 10.1.7: Sun Apr 27 07:58:25 PM AEST 2025
# Updated filesystem checks
# 10.1.8: Sun 27 Apr 2025 21:25:56 AEST
# Updated AppArmor test
# 10.1.9: Sun 27 Apr 2025 22:41:11 AEST
# Updated documentation
# 10.2.0: Sun 27 Apr 2025 23:10:52 AEST
# Updated virtual memory test and added ptrace test
# 10.2.1: Sun 27 Apr 2025 23:45:37 AEST
# Updated documentation and gdm test
# 10.2.2: Mon Apr 28 21:04:35 AEST 2025
# Broke out functions from main script
# 10.2.3: Tue Apr 29 09:28:23 AEST 2025
# Updated audit tests and documentation
# 10.2.4: Tue Apr 29 10:00:28 AEST 2025
# Updated rsyslog log rotate test
# 10.2.5: Tue Apr 29 13:07:05 AEST 2025
# Updated journald test
# 10.2.6: Tue Apr 29 13:27:54 AEST 2025
# Added shell timeout check
# 10.2.7: Tue Apr 29 15:16:39 AEST 2025
# Updated shell check
# 10.2.8: Tue Apr 29 15:20:43 AEST 2025
# Updated documentation
# 10.2.9: Tue Apr 29 18:19:12 AEST 2025
# Added root access test
# 10.3.0: Tue Apr 29 20:18:09 AEST 2025
# Added non root UID 0 test
# 10.3.1: Tue Apr 29 20:50:36 AEST 2025
# Added non root GID 0 test
# 10.3.2: Tue Apr 29 21:17:01 AEST 2025
# Added password history test
# 10.3.3: Tue Apr 29 22:10:06 AEST 2025
# Added inactive password lock test
# 10.3.4: Tue Apr 29 22:17:53 AEST 2025
# Updated documentation
# 10.3.5: Wed Apr 30 12:03:09 AEST 2025
# Started adding addition pam checks
# 10.3.6: Wed 30 Apr 2025 21:52:52 AEST
# Cleaned up PAM tests and added authtok test
# 10.3.7: Thu  1 May 2025 09:48:32 AEST
# Updated documentation and password quality tests
# 10.3.8: Thu  1 May 2025 11:19:34 AEST
# Updated tests and documentation
# 10.3.9: Thu  1 May 2025 12:00:56 AEST
# Renamed chkconfig test to make it more generic and updated documentation
# 10.4.0: Thu  1 May 2025 12:06:10 AEST
# Updated java test
# 10.4.1: Thu  1 May 2025 13:35:33 AEST
# Updated tests and documentation and add ftp client package test
# 10.4.2: Thu  1 May 2025 14:22:20 AEST
# Updated tests and documentation
# 10.4.3: Thu  1 May 2025 17:17:11 AEST
# Updated tests and documentation
# 10.4.4: Thu  1 May 2025 21:09:59 AEST
# Updated password quality documentation and tests
# 10.4.5: Thu  1 May 2025 22:20:53 AEST
# Documentation and test updates
# 10.4.6: Fri  2 May 2025 09:03:49 AEST
# Added sudo authenticate test
# 10.4.7: Fri  2 May 2025 09:22:59 AEST
# Added sudo NOPASSWD test
# 10.4.8: Fri  2 May 2025 10:42:57 AEST
# Updated sudo tests
# 10.4.9: Fri  2 May 2025 15:34:21 AEST
# Updated SSH config tests
# 10.5.0: Fri  2 May 2025 16:23:34 AEST
# Added SSH permissions test
# 10.5.1: Fri  2 May 2025 21:30:47 AEST
# Formatting cleanup
# 10.5.2: Sat  3 May 2025 15:57:37 AEST
# More formatting cleanup
# 10.5.3: Sat  3 May 2025 16:33:59 AEST
# Moved shellcheck function to core
# 10.5.4: Sat  3 May 2025 17:09:16 AEST
# Shellcheck fixes
# 10.5.5: Sun  4 May 2025 16:54:11 AEST
# Added ansible output for some tests
# 10.5.6: Mon  5 May 2025 10:37:12 AEST
# Added file comment function and updated ansible in some tests
# 10.5.7: Wed  7 May 2025 15:07:01 AEST
# Updated touch ID test
# 10.5.8: Wed  7 May 2025 15:41:38 AEST
# Updated Solaris audit class check
# 10.5.9: Thu  8 May 2025 10:50:22 AEST
# Updated some ansible stanzas
# 10.6.0: Fri  9 May 2025 15:49:24 AEST
# Updated AppArmor test
# 10.6.1: Fri  9 May 2025 15:51:10 AEST
# Fixed dot files test
# 10.6.2: Mon 12 May 2025 10:57:47 AEST
# Updated lockdown and restore commands in functions
# 10.6.3: Mon 12 May 2025 14:03:15 AEST
# Updated lockdown and restore commands in some modules
# 10.6.4: Mon 12 May 2025 14:30:16 AEST
# Updated lockdown and restore commands in some modules
# 10.6.5: Mon 12 May 2025 15:58:48 AEST
# Updated lockdown and restore commands in some modules
# 10.6.6: Thu 15 May 2025 18:10:29 AEST
# Added sudo check to some tests
# 10.6.7: Thu 15 May 2025 19:02:52 AEST
# Cleaned up some variable names
# 10.6.8: Thu 15 May 2025 20:42:06 AEST
# Updated xlogin test and some other tests
# 10.6.9: Thu 15 May 2025 22:23:07 AEST
# Updated formating of some tests
# 10.7.0: Sun 18 May 2025 15:52:53 AEST
# Updated formating of some tests
# 10.7.1: Mon May 19 00:26:10 AEST 2025
# Added function to print module and function names
# 10.7.2: Mon May 19 00:30:40 AEST 2025
# Fixed typos
# 10.7.3: Thu 29 May 2025 11:55:24 AEST
# Improved print_audit_info routine
# 10.7.4: Thu 29 May 2025 14:50:10 AEST
# Added lockdown check
# 10.7.5: Thu 29 May 2025 15:38:42 AEST
# Added dryrun switch
# 10.7.6: Thu 29 May 2025 15:47:11 AEST
# Fixed lockdown check
# 10.7.7: Thu 29 May 2025 16:32:48 AEST
# Improved listing of backups
# 10.7.8: Thu 29 May 2025 17:12:25 AEST
# Added lockdown/restore counting
# 10.7.9: Thu 29 May 2025 20:05:20 AEST
# Output improvements
# 10.8.0: Fri 30 May 2025 13:21:01 AEST
# Sudo improvements
# 10.8.1: Fri 30 May 2025 14:24:37 AEST
# Improved restore function
# 10.8.2: Fri 30 May 2025 14:30:04 AEST
# More improvements
# 10.8.3: Fri 30 May 2025 17:32:12 AEST
# Improved report
# 10.8.4: Fri 30 May 2025 19:42:47 AEST
# Cleaned up some variable names
# 10.8.5: Sat 31 May 2025 14:21:00 AEST
# Fixed check_file_value routine logging
# 10.8.6: Sat 31 May 2025 14:29:11 AEST
# Stopped check_environment running multiple times
# 10.8.7: Sat 31 May 2025 15:30:36 AEST
# Improved check_file_value routine
# 10.8.8: Sat May 31 15:38:14 AEST 2025
# Fixed bug with module_name being recast
# 10.8.9: Sat 31 May 2025 16:03:06 AEST
# Fixes based on POSIX sh recommendations from shellcheck
# 10.9.0: Sat 31 May 2025 16:09:06 AEST
# More shellcheck recommendations
# 10.9.1: Sat 31 May 2025 17:25:53 AEST
# Updated documentation
