# 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
# 10.9.2: Thu Jan 15 11:57:32 AEDT 2026
# Updated Ubuntu codenames
# 10.9.3: Thu Jan 15 12:38:51 AEDT 2026
# Fixed OS version check in aide check
# 10.9.4: Thu Jan 15 14:16:46 AEDT 2026
# Improved virtual check
# 10.9.5: Thu Jan 15 14:22:12 AEDT 2026
# Added output file and format options for future improvements
# 10.9.6: Thu Jan 15 15:25:37 AEDT 2026
# Added hostname and domainname to OS info
# 10.9.7: Thu Jan 15 21:17:22 AEDT 2026
# Added initial CSV output
# 10.9.8: Thu Jan 15 21:26:27 AEDT 2026
# Fixed typo
# 10.9.9: Mon Jan 19 11:51:25 AEDT 2026
# Added initial Azure stub
# 11.0.0: Wed Jan 21 11:51:25 AEDT 2026
# Added Azure Storage Accounts audit stub
# 11.0.1: Wed Jan 21 15:52:58 AEDT 2026
# Added Azure Storage Accounts Key Expiration check
# 11.0.2: Thu Jan 22 14:47:19 AEDT 2026
# Fixed Azure Storage Accounts Key Expiration check
# 11.0.3: Thu Jan 22 17:10:30 AEDT 2026
# Added Azure Storage Accounts Key Regeneration check
# 11.0.4: Thu 22 Jan 2026 18:37:22 AEDT
# Added command_message routine
# 11.0.5: Thu 22 Jan 2026 20:44:42 AEDT
# Added Private Endpoint check for Storage Accounts
# 11.0.6: Thu 22 Jan 2026 21:29:00 AEDT
# Added Public Network Access check for Storage Accounts
# 11.0.7: Thu 22 Jan 2026 21:36:22 AEDT
# Added fix commands for some Storage Accounts tests
# 11.0.8: Thu 22 Jan 2026 21:41:33 AED
# Added check to verify default network access rule for Storage Accounts
# 11.0.9: Thu 22 Jan 2026 21:46:22 AEDT
# Added generic check_azure_storage_account_value function
# 11.1.0: Thu 22 Jan 2026 21:50:22 AEDT
# Added check to verify Microsoft Entra authorization for Storage Accounts
# 11.1.1: Thu 22 Jan 2026 21:51:33 AEDT
# Improved check_azure_storage_account_value function
# 11.1.2: Thu 22 Jan 2026 21:56:22 AEDT
# Added check to verify Azure services on the trusted services list for Storage Accounts
# 11.1.3: Thu 22 Jan 2026 22:06:22 AEDT
# Added check to verify Secure transfer required for Storage Accounts
# 11.1.4: Thu 22 Jan 2026 22:11:22 AEDT
# Added check to verify Cross Tenant Replication for Storage Accounts
# 11.1.5: Thu 22 Jan 2026 22:16:22 AEDT
# Added check to verify Allow blob public access for Storage Accounts
# 11.1.6: Thu 22 Jan 2026 22:21:22 AEDT
# Added Minimum TLS version check for Storage Accounts
# 11.1.7: Fri 23 Jan 2026 10:37:22 AEDT
# Added check_azure_resource_manager_locks function
# 11.1.8: Fri 23 Jan 2026 10:42:22 AEDT
# Added Azure Resource Manager Delete locks check for Storage Accounts
# 11.1.9: Fri 23 Jan 2026 10:46:22 AEDT
# Added Azure Resource Manager ReadOnly locks check for Storage Accounts
# 11.2.0: Fri 23 Jan 2026 11:12:39 AEDT
# Added Azure Storage Accounts Redundancy check
# 11.2.1: Fri 23 Jan 2026 11:51:22 AEDT
# Bug fixes and improvements
# 11.2.2: Fri 23 Jan 2026 12:06:22 AEDT
# Added check_azure_storage_blob_value function
# 11.2.3: Fri 23 Jan 2026 12:11:22 AEDT
# Added check for Azure Storage Blob Soft Delete
# 11.2.4: Fri 23 Jan 2026 12:16:22 AEDT
# Added check for Azure Storage Blob Days Retained
# 11.2.5: Fri 23 Jan 2026 14:12:30 AEDT
# Added Azure auth mode
# 11.2.6: Fri 23 Jan 2026 15:00:19 AEDT
# Added check_azure_storage_container_value function
# 11.2.7: Fri 23 Jan 2026 15:02:22 AEDT
# Added check for Azure Storage Container Soft Delete
# 11.2.8: Fri 23 Jan 2026 15:04:22 AEDT
# Added check for Azure Storage Container Days Retained
# 11.2.9: Fri 23 Jan 2026 15:06:22 AEDT
# Added check for Azure Storage Container Versioning
# 11.3.1: Fri 23 Jan 2026 20:06:22 AEDT
# Added check of Azure File Shares 
# 11.3.2: Fri 23 Jan 2026 20:06:22 AEDT
# Added check for Azure File Shares Soft Delete
# 11.3.3: Fri 23 Jan 2026 20:06:22 AEDT
# Added check for Azure File Shares Days Retained
# 11.3.4: Fri 23 Jan 2026 20:06:22 AEDT
# Added check for Azure File Shares SMB Protocol Version
# 11.3.5: Fri 23 Jan 2026 20:06:22 AEDT
# Added check for Azure File Shares SMB Channel Encryption
# 11.3.6: Fri 23 Jan 2026 20:51:27 AEDT
# Added Azure CLI extension checks
# 11.3.7: Sat 24 Jan 2026 14:19:25 AEDT
# Added Azure Databricks check routine
# 11.3.8: Sat 24 Jan 2026 14:22:22 AEDT
# Added Azure Monitor check routine
# 11.3.9: Sat 24 Jan 2026 17:16:34 AEDT
# Added Azure Databricks TBD check list
# 11.4.0: Sat 24 Jan 2026 17:18:34 AEDT
# Added Azure Databricks No Public IP check
# 11.4.1: Sat 24 Jan 2026 17:19:34 AEDT
# Added Azure Databricks Private Link check
# 11.4.2: Sat 24 Jan 2026 17:20:34 AEDT
# Added Azure Databricks Private Endpoints check
# 11.4.3: Sat 24 Jan 2026 17:47:34 AEDT
# Added Azure Compute Services check stub
# 11.4.4: Sat 24 Jan 2026 17:48:34 AEDT
# Added Azure Database Services check stub
# 11.4.5: Sat 24 Jan 2026 17:58:34 AEDT
# Added Azure Identity Services check stub
# 11.4.6: Sat 24 Jan 2026 18:07:34 AEDT
# Added Azure Logging and Monitoring check stub
# 11.4.7: Sat 24 Jan 2026 18:13:34 AEDT
# Added Azure Networking Services check stub
# 11.4.8: Sat 24 Jan 2026 18:18:34 AEDT
# Added Azure Security Services check stub
# 11.4.9: Sat 24 Jan 2026 18:23:34 AEDT
# Added Azure Storage Services check stub
# 11.5.0: Sat 24 Jan 2026 21:32:22 AEDT
# Added Azure Guest Users check
# 11.5.1: Sun 25 Jan 2026 10:01:40 AEDT
# Added Azure User Access Administrator Role check
# 11.5.2: Sun 25 Jan 2026 11:19:03 AEDT
# Added Azure Custom Subscription Admin Roles check
# 11.5.3: Sun 25 Jan 2026 14:54:42 AEDT
# Added Azure Subscription Owners check
# 11.5.4: Sun 25 Jan 2026 17:50:12 AEDT
# Added Azure Subscription Diagnostic Settings check
# 11.5.5: Sun 25 Jan 2026 18:01:22 AEDT
# Added check to ensure Diagnostic Setting captures appropriate categories
# 11.5.6: Sun 25 Jan 2026 19:40:16 AEDT
# Added check to ensure Diagnostic Logs are encrypted
# 11.5.7: Sun 25 Jan 2026 21:02:32 AEDT
# Added Azure Survey check
# 11.5.8: Mon 26 Jan 2026 12:16:32 AEDT
# Split out Azure Diagnostic Settings checks into multiple routines
# 11.5.9: Mon 26 Jan 2026 18:11:56 AEDT
# Added Azure Key Vault Logging check
# 11.6.0: Mon 26 Jan 2026 18:21:09 AEDT
# Added stub for Azure NSG Flow Logs check
# 11.6.1: Mon 26 Jan 2026 18:26:22 AEDT
# Added stub for Azure AppService HTTP logs check
# 11.6.2: Mon 26 Jan 2026 18:27:22 AEDT
# Documentation and formatting updates
# 11.6.3: Mon 26 Jan 2026 18:57:48 AEDT
# Added stub for Azure Virtual Network Flow Logs check
# 11.6.4: Mon 26 Jan 2026 21:02:22 AEDT
# Added stub for Azure Entra Diagnostic Settings check
# 11.6.5: Mon 26 Jan 2026 21:11:22 AEDT
# Added stub for Azure Graph Diagnostic Settings check
# 11.6.6: Mon 26 Jan 2026 21:15:22 AEDT
# Added stub for Azure Intune Logs check
# 11.6.7: Mon 26 Jan 2026 21:34:22 AEDT
# Added Azure Activity Log Alerts Create Policy Assignment check
# 11.6.8: Mon 26 Jan 2026 21:41:22 AEDT
# Added Azure Activity Log Alerts Delete Policy Assignment check
# 11.6.9: Mon 26 Jan 2026 21:46:22 AEDT
# Added Azure Activity Log Alerts Create or Update Network Security Group check
# 11.7.0: Tue 27 Jan 2026 08:38:22 AEDT
# Added Azure Activity Log Alerts Delete Network Security Group check
# 11.7.1: Tue 27 Jan 2026 08:51:22 AEDT
# Added Azure Activity Log Alerts Create or Update Security Solution check
# 11.7.2: Tue 27 Jan 2026 08:54:22 AEDT
# Added Azure Activity Log Alerts Delete Security Solution check
# 11.7.3: Tue 27 Jan 2026 08:57:22 AEDT
# Added Azure Activity Log Alerts Create or Update SQL Server Firewall Rule check
# 11.7.4: Tue 27 Jan 2026 09:00:22 AEDT
# Added Azure Activity Log Alerts Delete SQL Server Firewall Rule check
# 11.7.5: Tue 27 Jan 2026 09:03:22 AEDT
# Added Azure Activity Log Alerts Create or Update Public IP Address rule check
# 11.7.6: Tue 27 Jan 2026 09:06:22 AEDT
# Added Azure Activity Log Alerts Delete Public IP Address rule check
# 11.7.7: Tue 27 Jan 2026 09:09:22 AEDT
# Added Azure Activity Log Alerts Service Health check
# 11.7.8: Tue 27 Jan 2026 09:26:22 AEDT
# Added Azure Application Insights check
# 11.7.9: Tue 27 Jan 2026 09:38:22 AEDT
# Added Azure Resource Logging check
# 11.8.0: Tue 27 Jan 2026 10:08:22 AEDT
# Added Azure SKU Basic/Consumption check
# 11.8.1: Tue 27 Jan 2026 11:16:00 AEDT
# Updated documentation
# 11.8.2: Tue 27 Jan 2026 12:18:37 AEDT
# Added Azure Extensions check
# 11.8.3: Tue 27 Jan 2026 13:22:22 AEDT
# Updated documentation
# 11.8.4: Tue 27 Jan 2026 14:10:22 AEDT
# Added Azure Microsoft Defender check for CSPM
# 11.8.5: Tue 27 Jan 2026 14:40:22 AEDT
# Added Azure Microsoft Defender check for CWP
# 11.8.6: Tue 27 Jan 2026 15:14:52 AEDT
# Added status check to Microsoft Defender check
# 11.8.7: Tue 27 Jan 2026 15:24:22 AEDT
# Added Azure Microsoft Defender check for Defender for Servers
# 11.8.8: Tue 27 Jan 2026 15:38:22 AEDT
# Added function to check Azure security setting values
# 11.8.9: Tue 27 Jan 2026 15:42:22 AEDT
# Code cleanup
# 11.9.0: Tue 27 Jan 2026 15:44:22 AEDT
# Typo fixes
# 11.9.1: Tue 27 Jan 2026 19:21:22 AEDT
# Added error handling to systemctl commands
# 11.9.2: Tue 27 Jan 2026 19:46:22 AEDT
# Added check that enpoint protection is enabled
# 11.9.3: Tue 27 Jan 2026 19:51:22 AEDT
# Added check that agentless scanning is enabled
# 11.9.4: Tue 27 Jan 2026 20:16:55 AEDT
# Added check for Microsoft Defender for Containers
# 11.9.5: Tue 27 Jan 2026 20:19:55 AEDT
# Added check for Microsoft Defender for Storage
# 11.9.6: Tue 27 Jan 2026 20:23:55 AEDT
# Added check for Microsoft Defender for App Services
# 11.9.7: Tue 27 Jan 2026 20:26:55 AEDT
# Added check for Microsoft Defender for Azure Cosmos DB
# 11.9.8: Tue 27 Jan 2026 20:31:22 AEDT
# Added check for Microsoft Defender for Open-Source RDBMS
# 11.9.9: Tue 27 Jan 2026 20:34:22 AEDT
# Updated documentation
# 12.0.0: Tue Jan 27 20:36:59 AEDT 2026
# Added check for Microsoft Defender for SQL Server
# 12.0.1: Tue Jan 27 20:39:35 AEDT 2026
# Added check for Microsoft Defender for SQL Servers on Machines
# 12.0.2: Tue Jan 27 20:43:22 AEDT 2026
# Added check for Microsoft Defender for Azure Key Vault
# 12.0.3: Tue Wed 28 10:16:12 AEDT 2026
# Added check for Microsoft Defender for Resource Manager
# 12.0.4: Tue Wed 28 12:58:38 AEDT 2026
# Added Azure Security Contact check
# 12.0.5: Tue Wed 28 13:26:02 AEDT 2026
# Added Azure Security Contact check for email address
# 12.0.6: Tue Wed 28 13:28:02 AEDT 2026
# Added Azure Security Contact check for alert notifications
# 12.0.7: Tue Wed 28 13:30:02 AEDT 2026
# Updated documentation
# 12.0.8: Tue Wed 28 13:35:02 AEDT 2026
# Added Azure Security Contact check for alert notifications severity
# 12.0.9: Tue Wed 28 17:08:33 AEDT 2026
# Improved Microsoft Defender check
# 12.1.0: Thu 29 Jan 2026 15:07:22 AEDT
# Added Azure Key Vault check for key enabled status
# 12.1.1: Thu 29 Jan 2026 15:10:22 AEDT
# Added Azure Key Vault check for key expiry date
# 12.1.2: Thu 29 Jan 2026 15:46:51 AEDT
# Updated output for checks to be more consistent
# 12.1.3: Thu 29 Jan 2026 15:53:49 AEDT
# Updated checks for Azure Key Vault keys
# 12.1.4: Thu 29 Jan 2026 17:32:22 AEDT
# Added Azure Key Vault Purge Protection check
# 12.1.5: Thu 29 Jan 2026 18:04:54 AEDT
# Added Azure Key Vault RBAC check
# 12.1.6: Thu 29 Jan 2026 19:58:18 AEDT
# Function variable alignment for azure checks
# 12.1.7: Thu 29 Jan 2026 21:01:10 AEDT
# Added Azure Key Vault Public Network Access check
# 12.1.8: Thu 29 Jan 2026 21:30:38 AEDT
# Added Azure Key Vault Private Endpoint check
# 12.1.9: Fri 30 Jan 2026 14:04:38 AEDT
# Added command_message function
# 12.2.0: Fri 30 Jan 2026 14:06:38 AEDT
# Added key vault check for key rotation
# 12.2.1: Fri 30 Jan 2026 14:47:22 AEDT
# Fixed Azure Databricks check
# 12.2.2: Fri 30 Jan 2026 15:50:22 AEDT
# Started adding command_message function support
# 12.2.3: Fri 30 Jan 2026 15:53:22 AEDT
# Updated documentation
# 12.2.4: Fri 30 Jan 2026 15:56:22 AEDT
# Fixed Azure Application Insights check
# 12.2.5: Fri 30 Jan 2026 15:58:22 AEDT
# Cleaned up Azure User Access Administrator Role check
# 12.2.6: Fri 30 Jan 2026 16:18:22 AEDT
# Cleaned up some Azure storage checks
# 12.2.7: Fri 30 Jan 2026 16:46:22 AEDT
# Improved environment checking
# 12.2.8: Fri 30 Jan 2026 17:04:10 AEDT
# Added Azure login check
# 12.2.9: Fri 30 Jan 2026 17:12:10 AEDT
# Updated Azure Monitor Diagnostic Settings check
# 12.3.0: Sat 31 Jan 2026 11:59:26 AEDT
# Updated Azure Activity Log Alerts check
# 12.3.1: Sat 31 Jan 2026 12:34:51 AEDT
# Updated Azure Key Vault check
# 12.3.2: Sat 31 Jan 2026 12:36:51 AEDT
# Updated Azure Key Vault logging check
# 12.3.3: Sat 31 Jan 2026 15:06:48 AEDT
# Added command_message support to more Azure modules/functions
# 12.3.4: Sat 31 Jan 2026 15:47:22 AEDT
# Added command_message support to check_environment
# 12.3.5: Sun 01 Feb 2026 11:01:22 AEDT
# Added command_message support to modules in users directory
# 12.3.6: Sun 01 Feb 2026 15:43:22 AEDT
# Added command_message support to modules in wheel directory
# 12.3.7: Sun 01 Feb 2026 15:45:22 AEDT
# Added command_message support to modules in sudo directory
# 12.3.8: Sun 01 Feb 2026 15:47:22 AEDT
# Added command_message support to modules in sunos directory
# 12.3.9: Sun 01 Feb 2026 15:49:22 AEDT
# Added command_message support to modules in syslog directory
# 12.4.0: Sun 01 Feb 2026 15:51:22 AEDT
# Added command_message support to modules in talk directory
# 12.4.1: Sun 01 Feb 2026 15:53:22 AEDT
# Added command_message support to modules in tcp directory
# 12.4.2: Sun 01 Feb 2026 15:55:22 AEDT
# Added command_message support to modules in telnet directory
# 12.4.3: Sun 01 Feb 2026 20:54:46 AEDT
# Added command_message support to modules in ssh directory
# 12.4.4: Sun 01 Feb 2026 20:56:46 AEDT
# Added command_message support to modules in services directory
# 12.4.5: Sun 01 Feb 2026 21:04:54 AEDT
# Added command_message support to modules in remote directory
# 12.4.6: Sun 01 Feb 2026 21:17:54 AEDT
# Added command_message support to modules in print directory
# 12.4.7: Sun 01 Feb 2026 21:19:16 AEDT
# Added command_message support to modules in power directory
# 12.4.8: Mon 02 Feb 2026 07:18:53 AEDT
# Added command_message support to modules in password directory
# 12.4.9: Mon 02 Feb 2026 07:32:53 AEDT
# Added command_message support to modules in pam directory
# 12.5.0: Mon 02 Feb 2026 07:51:53 AEDT
# Added command_message support to modules in nis directory
# 12.5.1: Mon 02 Feb 2026 08:00:22 AEDT
# Added command_message support to modules in mounts directory
# 12.5.2: Mon 02 Feb 2026 08:07:22 AEDT
# Added command_message support to modules in mail directory
# 12.5.3: Mon 02 Feb 2026 08:11:22 AEDT
# Added command_message support to modules in logs directory
# 12.5.4: Mon 02 Feb 2026 08:22:22 AEDT
# Added command_message support to modules in login directory
# 12.5.5: Mon 02 Feb 2026 08:24:22 AEDT
# Added command_message support to modules in linux directory
# 12.5.6: Mon 02 Feb 2026 08:26:22 AEDT
# Commit some of the command_message changes
# 12.5.7: Mon 02 Feb 2026 13:12:23 AEDT
# Fixed typo
# 12.5.8: Mon 02 Feb 2026 21:14:23 AEDT
# Improved output for some checks
# 12.5.9: Mon 02 Feb 2026 21:48:57 AEDT
# Improved output for modules in fs directory
# 12.6.0: Tue 03 Feb 2026 11:20:57 AEDT
# Improved output for modules in other directories
# 12.6.1: Tue 03 Feb 2026 11:23:43 AEDT
# Fixed typo in audit_wireless.sh
# 12.6.2: Tue 03 Feb 2026 12:24:54 AEDT
# Update some more functions to use command_message
# 12.6.3: Tue 03 Feb 2026 12:25:13 AEDT
# Updated audit_system_accounts.sh to allow single ! in shadow field
# 12.6.4: Tue 03 Feb 2026 15:32:34 AEDT
# Updated more modules to use command_message
# 12.6.5: Tue 03 Feb 2026 16:36:34 AEDT
# Improved user account check for shells
# 12.6.6: Tue 03 Feb 2026 17:18:22 AEDT
# Typo fixes
# 12.6.7: Tue 03 Feb 2026 20:13:17 AEDT
# Updates and bug fixes
# 12.6.8: Wed 04 Feb 2026 10:55:40 AEDT
# Updates and bug fixes for AWS modules
# 12.6.9: Wed 04 Feb 2026 11:01:40 AEDT
# Added command_message support to modules in audit directory
# 12.7.0: Wed 04 Feb 2026 13:19:29 AEDT
# Added command_message support to modules in esxi directory
# 12.7.1: Wed 04 Feb 2026 13:23:29 AEDT
# Added command_message support to modules in firewall directory
# 12.7.2: Wed 04 Feb 2026 13:26:29 AEDT
# Added command_message support to modules in fs directory
# 12.7.3: Wed 04 Feb 2026 13:28:29 AEDT
# Bug fixes and improvements
# 12.7.4: Thu 05 Feb 2026 20:45:10 AEDT
# Added Azure NSG Security Rules check for RDP and SSH access
# 12.7.5: Thu 05 Feb 2026 21:01:24 AEDT
# Improved Azure NSG Security Rules check
# 12.7.6: Thu 05 Feb 2026 21:10:24 AEDT
# Added Azure NSG Security Rules check for UDP access
# 12.7.7: Fri 06 Feb 2026 11:15:24 AEDT
# Added Azure NSG Security Rules check for HTTP(S)
# 12.7.8: Fri 06 Feb 2026 11:22:24 AEDT
# Updated documentation for Azure NSG Security Rules check
# 12.7.9: Fri 06 Feb 2026 11:26:24 AEDT
# Added Azure Network Watcher check
# 12.8.0: Fri 06 Feb 2026 13:32:24 AEDT
# Documentation updates
# 12.8.1: Fri 06 Feb 2026 13:35:24 AEDT
# Added Azure Public IPs check
# 12.8.2: Fri 06 Feb 2026 15:37:24 AEDT
# Added Azure Network Watcher Flow Logs check
# 12.8.3: Fri 06 Feb 2026 16:01:24 AEDT
# Updated Azure Network Watcher Flow Logs check
# 12.8.4: Fri 06 Feb 2026 16:07:24 AEDT
# Added Azure Authentication Type check stub
# 12.8.5: Fri 06 Feb 2026 17:29:24 AEDT
# Added Azure WAF check
# 12.8.6: Fri 06 Feb 2026 17:31:24 AEDT
# Added Azure VNet check
# 12.8.7: Sat 07 Feb 2026 11:35:30 AEDT
# Added Azure WAF SSL Policy check
# 12.8.8: Sat 07 Feb 2026 11:58:30 AEDT
# Added Azure WAF HTTP2 check
# 12.8.9: Sat 07 Feb 2026 18:40:30 AEDT
# Added Azure WAF Request Body check
# 12.9.0: Sun 08 Feb 2026 14:39:15 AEDT
# Added Azure WAF Inspection Policy check
# 12.9.1: Sun 08 Feb 2026 14:51:15 AEDT
# Added Azure Network Security Perimeter module check
# 12.9.2: Sun 08 Feb 2026 16:00:15 AEDT
# Added Azure Network Security Perimeter check
# 12.9.3: Tue 10 Feb 2026 16:00:15 AEDT
# Replaced regex with case statement in several functions
# 12.9.4: Tue 10 Feb 2026 16:45:15 AEDT
# Added Azure Storage SAS check
# 12.9.5: Tue 10 Feb 2026 16:50:15 AEDT
# Added Azure Storage SAS HTTPS Only check
# 12.9.6: Tue 10 Feb 2026 18:01:15 AEDT
# Added Azure Storage SAS token expiration check stub
# 12.9.7: Tue 10 Feb 2026 18:05:15 AEDT
# Updates and improvements
# 12.9.8: Thu 12 Feb 2026 13:13:41 AEDT
# Updated and improvements
# 12.9.9: Thu 12 Feb 2026 16:27:41 AEDT
# Added Azure Elastic SAN module check
# 13.0.0: Thu 12 Feb 2026 16:32:31 AEDT
# Updated and improvements
# 13.0.1: Thu 12 Feb 2026 16:55:41 AEDT
# Added execute_command function
# 13.0.2: Thu 12 Feb 2026 18:01:47 AEDT
# Added Azure Elastic SAN check
# 13.0.3: Fri 13 Feb 2026 11:01:47 AEDT
# Added Azure Site Recovery module check
# 13.0.4: Fri 13 Feb 2026 17:15:47 AEDT
# Added Azure Recovery Service Vaults check
# 13.0.5: Fri 13 Feb 2026 17:29:47 AEDT
# Added Azure Virtual Network Access Rules check
# 13.0.6: Fri 13 Feb 2026 17:51:47 AEDT
# Added Azure Network Private Endpoints check
# 13.0.7: Fri 13 Feb 2026 17:55:47 AEDT
# Added Azure amlfs extension check
# 13.0.8: Sat 14 Feb 2026 11:52:20 AEDT
# Added Azure Managed Lustre check
# 13.0.9: Sat 14 Feb 2026 11:55:20 AEDT
# Added Azure Storage File System check
# 13.1.0: Sat 14 Feb 2026 11:58:20 AEDT
# Added Azure dataprotection extension check
# 13.1.1: Sat 14 Feb 2026 03:50:57 PM AEDT
# Added initial code for Azure Data Protection Backup Vault check
# 13.1.2: Mon 16 Feb 2026 12:40:01 PM AEDT
# Updates and Improvements
# 13.1.3: Mon 16 Feb 2026 01:18:57 PM AEDT
# Fixed check_shellcheck to use find instead of ls
# 13.1.4: Mon 16 Feb 2026 01:37:57 PM AEDT
# Applied shellcheck recommendation to azure functions
# 13.1.5: Mon 16 Feb 2026 01:45:57 PM AEDT
# Updates and improvements
# 13.1.6: Mon 16 Feb 2026 02:02:57 PM AEDT
# Applied shellcheck recommendations to azure modules
# 13.1.7: Mon 16 Feb 2026 02:27:57 PM AEDT
# Applied shellcheck recommendations to several modules
# 13.1.8: Mon 16 Feb 2026 03:28:57 PM AEDT
# Added Azure tenant ID support
# 13.1.9: Mon 16 Feb 2026 04:52:57 PM AEDT
# Added Azure allow no subscriptions support
# 13.2.0: Mon 16 Feb 2026 05:01:57 PM AEDT
# Added Azure Backup Vaults check
# 13.2.1: Mon 16 Feb 2026 05:19:38 PM AEDT
# Added additional checks to Azure Backup Vaults check
# 13.2.2: Mon 16 Feb 2026 05:29:38 PM AEDT
# Added additional checks to Azure Backup Vaults check
# 13.2.3: Mon 16 Feb 2026 05:32:38 PM AEDT
# Updates and improvements
# 13.2.4: Mon 16 Feb 2026 05:45:38 PM AEDT
# Added additional checks to Azure Backup Vaults check
# 13.2.5: Mon 16 Feb 2026 06:38:57 PM AEDT
# Added Azure Recovery Services Vault check
# 13.2.6: Mon 16 Feb 2026 06:41:57 PM AEDT
# Updates and improvements
# 13.2.7: Tue 17 Feb 2026 10:45:57 AM AEDT
# Updated Azure Recovery Services Vault check
# 13.2.8: Tue 17 Feb 2026 12:54:28 PM AEDT
# Added Azure File Shares check for NFS Root Squash
# 13.2.9: Tue 17 Feb 2026 01:54:28 PM AEDT
# Updates and improvements
# 13.3.0: Tue 17 Feb 2026 02:17:28 PM AEDT
# Added Azure NetApp Files check
# 13.3.1: Tue 17 Feb 2026 02:27:28 PM AEDT
# Updates and improvements
# 13.3.2: Tue 17 Feb 2026 05:14:46 PM AEDT
# Added additional Azure Elastic SAN checks
# 13.3.3: Tue 17 Feb 2026 05:45:46 PM AEDT
# Improved Arch Linux support
# 13.3.4: Wed 18 Feb 2026 11:10:46 AM AEDT
# Added Azure Databox extension check
# 13.3.5: Wed 18 Feb 2026 12:06:14 PM AEDT
# Added Azure Databox check
# 13.3.6: Wed 18 Feb 2026 12:22:55 PM AEDT
# Updates and improvements
# 13.3.7: Wed 18 Feb 2026 01:59:55 PM AEDT
# Updates and improvements
# 13.3.8: Wed 18 Feb 2026 09:02:55 PM AEDT
# Added Azure Storage Blob Policy Value check
# 13.3.9: Wed 18 Feb 2026 09:05:55 PM AEDT
# Updates and improvements
# 13.4.0: Wed 18 Feb 2026 11:22:55 PM AEDT
# Added Azure Storage Logging check for queues
# 13.4.1: Wed 18 Feb 2026 11:40:55 PM AEDT
# Added Azure Storage Logging check for blobs
# 13.4.2: Thu 19 Feb 2026 06:45:51 AM AEDT
# Added Azure Storage Logging check for tables
# 13.4.3: Thu 19 Feb 2026 06:45:51 AM AEDT
# Updates and improvements
# 13.4.4: Thu 19 Feb 2026 12:45:51 PM AEDT
# Added Azure Storage Account Delete Locks check
# 13.4.5: Thu 19 Feb 2026 01:15:51 PM AEDT
# Added Azure Storage Account Read-only Locks check
# 13.4.6: Thu 19 Feb 2026 01:26:27 PM AEDT
# Updates and improvements
# 13.4.7: Fri 20 Feb 2026 06:24:27 AM AEDT
# Added initial Redis Cache tests
# 13.4.8: Fri 20 Feb 2026 06:24:27 AM AEDT
# Updates and improvements
# 13.4.9: Fri 20 Feb 2026 06:24:27 AM AEDT
# Added Azure Redis Cache TLS check
# 13.5.0: Fri 20 Feb 2026 06:24:27 AM AEDT
# Added Azure Redis Cache Public Network Access check
# 13.5.1: Fri 20 Feb 2026 09:23:27 AM AEDT
# Added Azure Redis Cache Private Link check
# 13.5.2: Fri 20 Feb 2026 09:58:27 AM AEDT
# Added Azure redisenterprise extension check
# 13.5.3: Fri 20 Feb 2026 10:01:27 AM AEDT
# Added Azure Redis Enterprise function
# 13.5.4: Fri 20 Feb 2026 10:23:27 AM AEDT
# Added Azure Redis Enterprise Cache Customer-Managed Keys check
# 13.5.5: Fri 20 Feb 2026 11:17:30 AM AEDT
# Added Azure Redis Cache Access Keys Authentication check
# 13.5.6: Fri 20 Feb 2026 11:22:30 AM AEDT
# Added Azure Redis Cache Update Channel check
# 13.5.7: Fri 20 Feb 2026 11:22:30 AM AEDT
# Added Azure Cosmos DB Firewalls & Networks check
# 13.5.8: Fri 20 Feb 2026 11:22:30 AM AEDT
# Added Azure Cosmos DB Private Endpoints check
# 13.5.9: Fri 20 Feb 2026 03:59:23 PM AEDT
# Added Azure Cosmos DB Disable Local Auth check
# 13.6.0: Fri 20 Feb 2026 04:09:23 PM AEDT
# Updates and improvements
# 13.6.1: Fri 20 Feb 2026 04:24:23 PM AEDT
# Added Azure Cosmos DB Customer-Managed Keys check
# 13.6.2: Fri 20 Feb 2026 06:09:23 PM AEDT
# Added Azure Cosmos DB Firewalls & Networks IP Rules check
# 13.6.3: Sat 21 Feb 2026 06:09:23 PM AEDT
# Added Azure Cosmos DB Logging check
# 13.6.4: Sat 21 Feb 2026 07:09:23 PM AEDT
# Added Azure Data Factory module check
# 13.6.5: Sat 21 Feb 2026 07:09:23 PM AEDT
# Added Azure Data Factory Customer-Managed Keys check
# 13.6.6: Sat 21 Feb 2026 07:09:23 PM AEDT
# Added Azure Data Factory Managed Identities check
# 13.6.7: Sat 21 Feb 2026 09:09:23 PM AEDT
# Added Azure Data Factory Using Azure Key Vault check
# 13.6.8: Sun 22 Feb 2026 09:39:23 PM AEDT
# Added Azure Data Factory Using RBAC check
# 13.6.9: Sun 22 Feb 2026 09:39:23 PM AEDT
# Updates and improvements
# 13.7.0: Sun 22 Feb 2026 02:19:13 PM AEDT
# Added initial Azure MySQL DB module
# 13.7.1: Sun 22 Feb 2026 02:19:13 PM AEDT
# Added initial Azure MySQL DB function
# 13.7.2: Sun 22 Feb 2026 03:19:13 PM AEDT
# Added support for Azure MySQL Flexible Server
# 13.7.3: Sun 22 Feb 2026 03:22:13 PM AEDT
# Added support for Azure MySQL Single Server
# 13.7.4: Sun 22 Feb 2026 03:22:13 PM AEDT
# Added check for Azure MySQL DB Customer-Managed Keys
# 13.7.5: Sun 22 Feb 2026 03:22:13 PM AEDT
# Added check for Azure MySQL DB Microsoft Entra Authentication
# 13.7.6: Sun 22 Feb 2026 03:22:13 PM AEDT
# Updates and improvements
# 13.7.7: Sun 22 Feb 2026 03:38:13 PM AEDT
# Added check for Azure MySQL DB Public Network Access
# 13.7.8: Sun 22 Feb 2026 03:43:13 PM AEDT
# Added check for Azure MySQL DB Private Endpoints
# 13.7.9: Sun 22 Feb 2026 03:50:37 PM AEDT
# Added check stub for Azure MySQL DB Audit Log
# 13.8.0: Sun 22 Feb 2026 03:51:37 PM AEDT
# Added check stub for Azure MySQL DB Audit Log connection
# 13.8.1: Sun 22 Feb 2026 03:55:37 PM AEDT
# Added check stub for Azure MySQL DB Error Server Log File
# 13.8.2: Sun 22 Feb 2026 03:55:37 PM AEDT
# Added check stub for Azure MySQL DB Require Secure Transport
# 13.8.3: Sun 22 Feb 2026 03:59:37 PM AEDT
# Added check stub for Azure MySQL DB TLS Version
# 13.8.4: Tue 24 Feb 2026 01:24:08 PM AEDT
# Added initial Azure PostgreSQL DB module
# 13.8.5: Tue 24 Feb 2026 01:34:08 PM AEDT
# Added initial support for Azure PostgreSQL Flexible Server
# 13.8.6: Tue 24 Feb 2026 01:44:08 PM AEDT
# Added initial support for Azure PostgreSQL Single Server
# 13.8.7: Tue 24 Feb 2026 01:54:08 PM AEDT
# Add initial Azure PostgreSQL DB checks
# 13.8.8: Tue 24 Feb 2026 02:04:08 PM AEDT
# Updates and improvements
# 13.8.9: Tue 24 Feb 2026 04:04:08 PM AEDT
# Added initial Azure SQL DB module
# 13.9.0: Tue 24 Feb 2026 04:04:08 PM AEDT
# Added initial Azure SQL DB function
# 13.9.1: Tue 24 Feb 2026 04:09:08 PM AEDT
# Updates and improvements
# 13.9.2: Tue 24 Feb 2026 21:33:43 PM AEDT
# Updates and improvements
# 13.9.3: Wed 25 Feb 2026 11:42:53 AM AEDT
# Added initial Azure App Service App module
# 13.9.4: Wed 25 Feb 2026 11:42:53 AM AEDT
# Added initial Azure App Service App function
# 13.9.5: Wed 25 Feb 2026 11:42:53 AM AEDT
# Formating updates
# 13.9.6: Wed 25 Feb 2026 11:52:53 AM AEDT
# Added Azure App Service App check for Java
# 13.9.7: Wed 25 Feb 2026 11:52:53 AM AEDT
# Updates and improvements
# 13.9.8: Wed 25 Feb 2026 12:52:53 PM AEDT
# Added Azure App Service App check for Python
# 13.9.9: Wed 25 Feb 2026 01:12:53 PM AEDT
# Added Azure App Service App check for PHP
# 14.0.0: Wed 25 Feb 2026 01:59:53 PM AEDT
# Added Azure App Service App check for Basic Authentication Publishing Credentials
# 14.0.1: Wed 25 Feb 2026 02:10:53 PM AEDT
# Added Azure App Service App check for FTP State
# 14.0.2: Wed 25 Feb 2026 03:07:53 PM AEDT
# Bug fixes
# 14.0.3: Wed 25 Feb 2026 03:20:53 PM AEDT
# Added Azure App Service App check for HTTP Version
# 14.0.4: Wed 25 Feb 2026 03:20:53 PM AEDT
# Added Azure App Service App check for HTTPS Only
# 14.0.5: Wed 25 Feb 2026 04:20:53 PM AEDT
# Added Azure App Service App check for Minimum Inbound TLS Version
# 14.0.6: Wed 25 Feb 2026 04:50:53 PM AEDT
# Added Azure App Service App check for end to end TLS encryption
# 14.0.7: Wed 25 Feb 2026 05:20:53 PM AEDT
# Added Azure App Service App check for Remote Debugging
# 14.0.8: Wed 25 Feb 2026 05:50:53 PM AEDT
# Added Azure App Service App check for Client Certificates
# 14.0.9: Wed 25 Feb 2026 06:20:53 PM AEDT
# Added Azure App Service App check for Authentication
# 14.1.0: Wed 25 Feb 2026 06:20:53 PM AEDT
# Added Azure App Service App check for Managed Identities
# 14.1.1: Wed 25 Feb 2026 06:20:53 PM AEDT
# Added Azure App Service App check for Public Network Access
# 14.1.2: Wed 25 Feb 2026 06:20:53 PM AEDT
# Added Azure App Service App check for App Service Plan SKU
# 14.1.3: Wed 25 Feb 2026 10:20:21 PM AEDT
# Added Azure App Service App check for Private Endpoints
# 14.1.4: Thu 26 Feb 2026 10:37:21 AM AEDT
# Added Azure App Service App check for Private DNS Zone
# 14.1.5: Thu 26 Feb 2026 10:47:21 AM AEDT
# Added Azure App Service App check for Virtual Network Integration
# 14.1.6: Thu 26 Feb 2026 11:00:21 AM AEDT
# Added Azure App Service App check for VNet Image Pull
# 14.1.7: Thu 26 Feb 2026 11:00:21 AM AEDT
# Added Azure App Service App check for VNet Content Share
# 14.1.8: Thu 26 Feb 2026 11:13:09 AM AEDT
# Added Azure App Service App check for Cross-Origin Resource Sharing
# 14.1.9: Thu 26 Feb 2026 12:42:49 PM AEDT
# Added Azure App Service Deployment Slot audit module
# 14.2.0: Thu 26 Feb 2026 12:44:59 AEDT
# Added Azure App Service Deployment Slot function
# 14.2.1: Thu 26 Feb 2026 12:47:19 AEDT
# Added Azure App Service Deployment Slot Java version check
# 14.2.2: Thu 26 Feb 2026 12:49:16 AEDT
# Added Azure App Service Deployment Slot Python version check
# 14.2.3: Thu 26 Feb 2026 12:50:09 AEDT
# Added Azure App Service Deployment Slot PHP version check
# 14.2.4: Thu 26 Feb 2026 13:08:16 AEDT
# Added Azure App Service Deployment Slot Basic Authentication Publishing Credentials
# 14.2.4: Thu 26 Feb 2026 13:10:25 AEDT
# Added Azure App Service Deployment Slot FTP state check
# 14.2.5: Thu 26 Feb 2026 13:11:07 AEDT
# Added Azure App Service Deployment HTTP version check
# 14.2.6: Thu 26 Feb 2026 13:13:38 AEDT
# Added Azure App Service Deployment HTTPs check
# 14.2.7: Thu 26 Feb 2026 13:14:36 AEDT
# Added Azure App Service Deployment Slot TLS version check
# 14.2.8: Thu 26 Feb 2026 13:16:53 AEDT
# Added Azure App Service Deployment Slot end to end TLS encryptions check
# 14.2.9: Thu 26 Feb 2026 13:20:20 AEDT
# Added Azure App Service Deployment Slot Remote Debugging check
# 14.2.9: Thu 26 Feb 2026 13:27:03 AEDT
# Added Azure App Service Deployment Slot Client Certificates check
# 14.2.9: Thu 26 Feb 2026 13:28:00 AEDT
# Added Azure App Service Deployment Slot Managed Identities check
# 14.3.0: Thu 26 Feb 2026 13:28:23 AEDT
# Added Azure App Service Deployment Slot Public Network Access check
# 14.3.1: Thu 26 Feb 2026 13:39:41 AEDT
# Added Azure App Service Deployment Slot VNet check
# 14.3.2: Thu 26 Feb 2026 13:40:33 AEDT
# Added Azure App Service Deployment Slot VNet Routing check
# 14.3.3: Thu 26 Feb 2026 13:41:45 AEDT
# Added Azure App Service Deployment Slot Cross-Origin Resource Sharing check
# 14.3.4: Thu 26 Feb 2026 13:44:47 AEDT
# Updates and improvements
# 14.3.5: Thu 26 Feb 2026 15:46:47 AEDT
# Added Azure Function App module
# 14.3.6: Thu 26 Feb 2026 16:47:47 AEDT
# Added Azure Function App function
# 14.3.7: Thu 26 Feb 2026 16:48:47 AEDT
# Added Azure Function App check for Java version
# 14.3.8: Thu 26 Feb 2026 16:49:47 AEDT
# Added Azure Function App check for Python version
# 14.3.9: Thu 26 Feb 2026 16:50:47 AEDT
# Added Azure Function App check for PHP version
# 14.4.0: Thu 26 Feb 2026 16:51:47 AEDT
# Added Azure Function App check for Basic Authentication Publishing Credentials
# 14.4.1: Thu 26 Feb 2026 16:52:47 AEDT
# Added Azure Function App check for FTP state
# 14.4.2: Thu 26 Feb 2026 16:53:47 AEDT
# Added Azure Function App check for HTTP version
# 14.4.3: Thu 26 Feb 2026 16:54:47 AEDT
# Added Azure Function App check for HTTPS only
# 14.4.4: Thu 26 Feb 2026 16:55:47 AEDT
# Added Azure Function App check for Minimum Inbound TLS Version
# 14.4.5: Thu 26 Feb 2026 16:56:47 AEDT
# Added Azure Function App check for end to end TLS encryption
# 14.4.6: Thu 26 Feb 2026 16:57:47 AEDT
# Added Azure Function App check for Remote Debugging
# 14.4.7: Thu 26 Feb 2026 16:58:47 AEDT
# Added Azure Function App check for Client Certificates
# 14.4.8: Thu 26 Feb 2026 16:59:47 AEDT
# Added Azure Function App check for Authentication
# 14.4.9: Thu 26 Feb 2026 17:00:47 AEDT
# Added Azure Function App check for Managed Identities
# 14.5.0: Thu 26 Feb 2026 17:01:47 AEDT
# Added Azure Function App check for Public Network Access
# 14.5.1: Thu 26 Feb 2026 17:02:47 AEDT
# Added Azure Function App check for App Service Plan SKU
# 14.5.2: Thu 26 Feb 2026 17:03:47 AEDT
# Added Azure Function App check for Private Endpoints
# 14.5.3: Thu 26 Feb 2026 17:04:47 AEDT
# Added Azure Function App check for Private DNS Zone
# 14.5.4: Thu 26 Feb 2026 17:05:47 AEDT
# Added Azure Function App check for Virtual Network Integration
# 14.5.5: Thu 26 Feb 2026 17:06:47 AEDT
# Added Azure Function App check for VNet Image Pull
# 14.5.6: Thu 26 Feb 2026 17:07:47 AEDT
# Added Azure Function App check for VNet Content Share
# 14.5.7: Thu 26 Feb 2026 17:08:47 AEDT
# Added Azure Function App check for Cross-Origin Resource Sharing
# 14.5.8: Thu 26 Feb 2026 17:21:47 AEDT
# Updates and improvements
# 14.5.9: Thu 26 Feb 2026 17:38:47 AEDT
# Added Azure Function App Deployment Slot audit module
# 14.6.0: Thu 26 Feb 2026 17:39:47 AEDT
# Added Azure Function App Deployment Slot function
# 14.6.1: Thu 26 Feb 2026 17:40:47 AEDT
# Added Azure Function App Deployment Slot check for Java version
# 14.6.2: Thu 26 Feb 2026 17:41:47 AEDT
# Added Azure Function App Deployment Slot check for Python version
# 14.6.3: Thu 26 Feb 2026 17:42:47 AEDT
# Added Azure Function App Deployment Slot check for PHP version
# 14.6.4: Thu 26 Feb 2026 17:43:47 AEDT
# Added Azure Function App Deployment Slot check for Basic Authentication Publishing Credentials
# 14.6.5: Thu 26 Feb 2026 17:44:47 AEDT
# Added Azure Function App Deployment Slot check for FTP state
# 14.6.6: Thu 26 Feb 2026 17:45:47 AEDT
# Added Azure Function App Deployment Slot check for HTTP version
# 14.6.7: Thu 26 Feb 2026 17:46:47 AEDT
# Added Azure Function App Deployment Slot check for HTTPS only
# 14.6.8: Thu 26 Feb 2026 17:47:47 AEDT
# Added Azure Function App Deployment Slot check for Minimum Inbound TLS Version
# 14.6.9: Thu 26 Feb 2026 17:48:47 AEDT
# Added Azure Function App Deployment Slot check for end to end TLS encryption
# 14.7.0: Thu 26 Feb 2026 17:49:47 AEDT
# Added Azure Function App Deployment Slot check for Remote Debugging
# 14.7.1: Thu 26 Feb 2026 17:50:47 AEDT
# Added Azure Function App Deployment Slot check for Client Certificates
# 14.7.2: Thu 26 Feb 2026 17:51:47 AEDT
# Added Azure Function App Deployment Slot check for Authentication
# 14.7.3: Thu 26 Feb 2026 17:52:47 AEDT
# Added Azure Function App Deployment Slot check for Managed Identities
# 14.7.4: Thu 26 Feb 2026 17:53:47 AEDT
# Added Azure Function App Deployment Slot check for Public Network Access
# 14.7.5: Thu 26 Feb 2026 17:54:47 AEDT
# Added Azure Function App Deployment Slot check for Virtual Network Integration
# 14.7.6: Thu 26 Feb 2026 17:55:47 AEDT
# Added Azure Function App Deployment Slot check for VNet Image Pull
# 14.7.7: Thu 26 Feb 2026 17:56:47 AEDT
# Added Azure Function App Deployment Slot check for VNet Content Share
# 14.7.8: Thu 26 Feb 2026 17:57:47 AEDT
# Added Azure Function App Deployment Slot check for Cross-Origin Resource Sharing
# 14.7.9: Thu 26 Feb 2026 17:58:47 AEDT
# Updates and improvements
# 14.8.0: Fri 27 Feb 2026 11:31:09 AEDT
# Added Azure Key Vault Certificates audit module
# 14.8.1: Fri 27 Feb 2026 11:32:09 AEDT
# Added Azure Key Vault Secrets audit module
# 14.8.2: Fri 27 Feb 2026 11:33:09 AEDT
# Updates and improvements
# 14.8.3: Fri 27 Feb 2026 12:41:09 AEDT
# Added Azure App Service ASE audit module
# 14.8.4: Fri 27 Feb 2026 12:42:09 AEDT
# Added Azure App Service ASE function
# 14.8.5: Fri 27 Feb 2026 12:43:09 AEDT
# Added Azure App Service ASE check for internal load balancing mode
# 14.8.6: Fri 27 Feb 2026 12:50:11 AEDT
# Added Azure App Service ASE check for ASE version
# 14.8.7: Fri 27 Feb 2026 12:51:11 AEDT
# Added Azure App Service ASE check for internal encryption
# 14.8.8: Fri 27 Feb 2026 12:52:11 AEDT
# Added Azure App Service ASE check for TLS 1.0 and 1.1 disabled
# 14.8.9: Fri 27 Feb 2026 12:53:11 AEDT
# Added Azure App Service ASE check for TLS cipher suite ordering configured
# 14.9.0: Fri 27 Feb 2026 15:32:11 AEDT
# Added Azure Container Instances audit module
# 14.9.1: Fri 27 Feb 2026 15:33:11 AEDT
# Added Azure Container Instances function
# 14.9.2: Fri 27 Feb 2026 15:34:11 AEDT
# Added Azure Container Instances check for Private Virtual Networks
# 14.9.3: Fri 27 Feb 2026 15:35:11 AEDT
# Added Azure Container Instances check for Managed Identity
# 14.9.4: Fri 27 Feb 2026 16:05:11 AEDT
# Added Azure CycleCloud audit module
# 14.9.5: Fri 27 Feb 2026 16:22:11 AEDT
# Added Azure Batch audit module
# 14.9.6: Fri 27 Feb 2026 16:23:11 AEDT
# Added Azure Batch function
# 14.9.7: Fri 27 Feb 2026 16:24:11 AEDT
# Added Azure Batch check for customer managed keys
# 14.9.8: Fri 27 Feb 2026 16:25:11 AEDT
# Added Azure Batch check for pool disk encryption
# 14.9.9: Fri 27 Feb 2026 18:06:48 AEDT
# Added Azure Batch check for local authentication methods
# 15.0.0: Fri 27 Feb 2026 18:07:48 AEDT
# Added Azure Batch check for private endpoints
# 15.0.1: Fri 27 Feb 2026 18:08:48 AEDT
# Added Azure Batch check for public network access
# 15.0.2: Fri 27 Feb 2026 20:10:48 AEDT
# Updates and improvements
# 15.0.3: Sat 28 Feb 2026 11:47:48 AEDT
# Added Azure Virtual Machines audit module
# 15.0.4: Sat 28 Feb 2026 11:48:48 AEDT
# Added Azure Virtual Machines function
# 15.0.5: Sat 28 Feb 2026 11:49:48 AEDT
# Updates and improvements
# 15.0.6: Sat 28 Feb 2026 21:31:31 AEDT
# Formatting fixes
# 15.0.7: Mon  2 Mar 2026 11:44:44 AEDT
# Formatting fixes
# 15.0.8: Mon  2 Mar 2026 20:45:44 AEDT
# Formatting fixes
# 15.0.9: Wed 04 Mar 2026 17:28:10 AEDT
# More formatting fixes
# 15.1.0: Tue 10 Mar 2026 14:49:52 AEDT
# Added switch value checking
# 15.1.1: Tue 10 Mar 2026 16:38:52 AEDT
# Improved Azure CLI extension checking
# 15.1.2: Wed 11 Mar 2026 15:27:06 AEDT
# Improved module listing
# 15.1.3: Wed 11 Mar 2026 16:35:06 AEDT
# Formatting fixes
# 15.1.4: Thu 12 Mar 2026 08:06:53 AEDT
# Typo fixes
# 15.1.5: Thu 12 Mar 2026 13:08:36 AEDT
# Formatting fixes
# 15.1.6: Thu 12 Mar 2026 15:50:28 AEDT
# Shellcheck fixes
# 15.1.7: Thu 12 Mar 2026 17:29:28 AEDT
# Formatting fixes
# 15.1.8: Fri 13 Mar 2026 12:45:28 AEDT
# Split out Azure WebApps Java version check
# 15.1.9: Fri 13 Mar 2026 12:46:28 AEDT
# Updated Azure WebApps value check
# 15.2.0: Fri 13 Mar 2026 13:21:28 AEDT
# Split out Azure WebApps Python version check
# 15.2.1: Fri 13 Mar 2026 13:26:28 AEDT
# Split out Azure WebApps PHP version check
# 15.2.2: Fri 13 Mar 2026 13:27:28 AEDT
# Split out Azure WebApps FTP state check
# 15.2.3: Fri 13 Mar 2026 15:14:28 AEDT
# Split out Azure WebApps Basic Authentication Publishing Credentials check
# 15.2.4: Fri 13 Mar 2026 15:15:28 AEDT
# Fixed Azure WebApps Basic Authentication Publishing Credentials check
# 15.2.5: Fri 13 Mar 2026 16:36:28 AEDT
# Split out Azure WebApps HTTP values check
# 15.2.6: Fri 13 Mar 2026 16:57:28 AEDT
# Split out Azure WebApps TLS values check
# 15.2.7: Fri 13 Mar 2026 17:23:28 AEDT
# Split out Azure WebApps Remote Debugging check
# 15.2.8: Fri 13 Mar 2026 17:36:28 AEDT
# Split out Azure WebApps Client Certificates check
# 15.2.9: Fri 13 Mar 2026 17:43:28 AEDT
# Split out Azure WebApps Authentication check
# 15.3.0: Fri 13 Mar 2026 17:46:28 AEDT
# Split out Azure WebApps Managed Identities check
# 15.3.1: Fri 13 Mar 2026 17:54:28 AEDT
# Split out Azure WebApps Public Network Access check
# 15.3.2: Fri 13 Mar 2026 17:58:28 AEDT
# Split out Azure WebApps Private DNS Zones check
# 15.3.3: Fri 13 Mar 2026 18:14:28 AEDT
# Split out Azure WebApps Virtual Network Integration check
# 15.3.4: Fri 13 Mar 2026 18:22:28 AEDT
# Split out Azure WebApps VNet checks
# 15.3.5: Fri 13 Mar 2026 18:43:28 AEDT
# Split out Azure WebApps CORS check
# 15.3.6: Fri 13 Mar 2026 18:44:28 AEDT
# Split out Azure WebApps Private Endpoint check
# 15.3.7: Fri 13 Mar 2026 18:45:28 AEDT
# Fixed Azure Private Endpoint check
# 15.3.8: Fri 13 Mar 2026 20:46:28 AEDT
# Fixed Azure App Service Plan SKU check
# 15.3.9: Fri 13 Mar 2026 20:47:28 AEDT
# Split out Azure App Service Plan SKU check
# 15.4.0: Mon 16 Mar 2026 12:38:14 AEDT
# Split out Azure App Service Deployment Slot Java version check
# 15.4.1: Mon 16 Mar 2026 13:47:02 AEDT
# Split azure directories into sub directories
# 15.4.2: Mon 16 Mar 2026 14:43:03 AEDT
# Split out Azure App Service Deployment Slot Python version check
# 15.4.3: Mon 16 Mar 2026 15:14:03 AEDT
# Split out Azure App Service Deployment Slot PHP version check
# 15.4.4: Mon 16 Mar 2026 15:15:03 AEDT
# Split out Azure App Service Deployment Slot Basic Auth check
# 15.4.5: Mon 16 Mar 2026 15:31:03 AEDT
# Split out Azure App Service Deployment Slot FTP State check
# 15.4.6: Mon 16 Mar 2026 15:52:03 AEDT
# Split out Azure App Service Deployment Slot HTTP Version check
# 15.4.7: Mon 16 Mar 2026 15:59:11 AEDT
# Split out Azure App Service Deployment Slot HTTPS Only check
# 15.4.8: Mon 16 Mar 2026 16:07:11 AEDT
# Split out Azure App Service Deployment Slot TLS values check
# 15.4.9: Mon 16 Mar 2026 16:51:41 AEDT
# Split out Azure App Service Deployment Slot Remote Debugging check
# 15.5.0: Mon 16 Mar 2026 16:56:41 AEDT
# Split out Azure App Service Deployment Slot Client Certificates check
# 15.5.1: Mon 16 Mar 2026 17:04:41 AEDT
# Split out Azure App Service Deployment Slot Managed Identities check
# 15.5.2: Mon 16 Mar 2026 17:08:41 AEDT
# Split out Azure App Service Deployment Slot Public Network Access check
# 15.5.3: Mon 16 Mar 2026 17:12:41 AEDT
# Split out Azure App Service Deployment Slot Virtual Network Integration check
# 15.5.4: Mon 16 Mar 2026 17:15:41 AEDT
# Split out Azure App Service Deployment Slot VNet Image Pull check
# 15.5.5: Mon 16 Mar 2026 17:16:41 AEDT
# Split out Azure App Service Deployment Slot VNet Content Share check
# 15.5.6: Mon 16 Mar 2026 17:22:25 AEDT
# Split out Azure App Service Deployment Slot CORS check
# 15.5.7: Mon 16 Mar 2026 17:27:25 AEDT
# Split out Azure App Service Deployment Slot Private Endpoints check
# 15.5.8: Mon 16 Mar 2026 19:31:25 AEDT
# Split out Azure Function App Deployment Slots Java version check
# 15.5.9: Mon 16 Mar 2026 19:55:25 AEDT
# Split out Azure Function App Deployment Slots Python version check
# 15.6.0: Mon 16 Mar 2026 20:09:13 AEDT
# Split out Azure Function App Deployment Slots Basic Authentication Publishing Credentials check
# 15.6.1: Mon 16 Mar 2026 20:15:13 AEDT
# Split out Azure Function App Deployment Slots FTP State check
# 15.6.2: Mon 16 Mar 2026 20:20:13 AEDT
# Split out Azure Function App Deployment Slots HTTP Version and HTTPS Only check
# 15.6.3: Mon 16 Mar 2026 21:43:13 AEDT
# Split out Azure Function App Deployment Slots TLS values check
# 15.6.4: Mon 16 Mar 2026 21:44:13 AEDT
# Formatting fixes for Azure Function App Deployment Slots
# 15.6.5: Mon 17 Mar 2026 22:20:13 AEDT
# Formatting fixes for Azure App Service Deployment Slots
# 15.6.6: Mon 17 Mar 2026 22:28:13 AEDT
# Split out Azure Function App Deployment Slots Remote Debugging check
# 15.6.7: Mon 17 Mar 2026 22:32:13 AEDT
# Split out Azure Function App Deployment Slots Client Certificates check
# 15.6.8: Mon 17 Mar 2026 22:36:13 AEDT
# Split out Azure Function App Deployment Slots Managed Identities check
# 15.6.9: Mon 17 Mar 2026 22:40:13 AEDT
# Split out Azure Function App Deployment Slots Public Network Access check
# 15.7.0: Mon 17 Mar 2026 22:44:13 AEDT
# Split out Azure Function App Deployment Slots Virtual Network Integration and VNet check
# 15.7.1: Mon 17 Mar 2026 22:48:13 AEDT
# Split out Azure Function App Deployment Slots CORS check
# 15.7.2: Mon 17 Mar 2026 22:52:13 AEDT
# Split out Azure Function App Deployment Slots Private Endpoints check
# 15.7.3: Mon 17 Mar 2026 22:56:13 AEDT
# Directory structure clean up
# 15.7.4: Tue 17 Mar 2026 11:00:33 AEDT
# Split out Azure Function App Java versions check
# 15.7.5: Tue 17 Mar 2026 11:02:33 AEDT
# Split out Azure Function App Python versions check
# 15.7.6: Tue 17 Mar 2026 13:35:33 AEDT
# Split out Azure Function App Basic Authentication Publishing Credentials check
# 15.7.7: Tue 17 Mar 2026 13:46:33 AEDT
# Split out Azure Function App FTP State check
# 15.7.8: Tue 17 Mar 2026 14:30:13 AEDT
# Split out Azure Function App HTTP values check
# 15.7.9: Tue 17 Mar 2026 14:37:13 AEDT
# Split out Azure Function App TLS values check
# 15.8.0: Wed 18 Mar 2026 15:13:13 AEDT
# Split out Azure Function App Remote Debugging check
# 15.8.1: Wed 18 Mar 2026 15:17:40 AEDT
# Split out Azure Function App Client Certificates check
# 15.8.2: Wed 18 Mar 2026 15:35:40 AEDT
# Split out Azure Function App Service Authentication check
# 15.8.3: Wed 18 Mar 2026 15:52:40 AEDT
# Split out Azure Function App Managed Identities check
# 15.8.4: Wed 18 Mar 2026 15:57:40 AEDT
# Split out Azure Function App Public Network Access check
# 15.8.5: Wed 18 Mar 2026 16:09:40 AEDT
# Split out Azure Function App Virtual Network Integration and VNet checks
# 15.8.6: Wed 18 Mar 2026 16:13:40 AEDT
# Split out Azure Function App Cross-Origin Resource Sharing check
# 15.8.7: Wed 18 Mar 2026 16:31:40 AEDT
# Function name cleanup
# 15.8.8: Thu 19 Mar 2026 14:04:02 AEDT
# Cleaned up AWS module directory structure
# 15.8.9: Thu 19 Mar 2026 17:34:02 AEDT
# Added platform check to XD/NX Support check
# 15.9.0: Thu 19 Mar 2026 18:06:02 AEDT
# Added percentage calculation to print_info
# 15.9.1: Thu 19 Mar 2026 21:21:45 AEDT
# Fixed Bluetooth check
