diff --git a/lynis_report.pl b/lynis_report.pl
index eb720fd..64dd912 100755
--- a/lynis_report.pl
+++ b/lynis_report.pl
@@ -232,6 +232,12 @@ if ($excel) {
lynis info | host info |
network info | security Info |
+ boot info | kernel info |
+
+
+ filesystem/journalling info | service info |
+ installed packages | |
+ | |
@@ -480,7 +486,16 @@ END
END
- print OUT "\t\t\t\t\t\tauthorised default USB devices: | ".join(" \n", @{$lynis_report_data{'usb_authorized_default_device[]'}})." | \n";
+ if (exists($lynis_report_data{'usb_authorized_default_device[]'})) {
+ print OUT "\t\t\t\t\t\tauthorized default USB devices: | ".join(" \n", @{$lynis_report_data{'usb_authorized_default_device[]'}})." | \n";
+ } else {
+ print OUT "\t\t\t\t\t\tauthorized default USB devices: | | \n";
+ }
+ if (exists($lynis_report_data{'expired_certificate[]'})) {
+ print OUT "\t\t\t\t\t\texpired certificates: | ".join(" \n", @{$lynis_report_data{'expired_certificate[]'}})." | \n";
+ } else {
+ print OUT "\t\t\t\t\t\texpired certificates: | | \n";
+ }
print OUT <
@@ -640,13 +655,34 @@ END
print OUT "\t\t\t\t\t\tMalware Scanner(s): | | \n";
}
+ print OUT <compiler installed:$to_bool{$lynis_report_data{'compiler_installed'}} |
+END
+ print OUT "\t\t\t\t\t\tcompilers: | ".join(" \n", @{$lynis_report_data{'compiler[]'}})." | \n";
+ print OUT <
+
+END
if (exists($lynis_report_data{'ids_ips_tooling[]'})) {
print OUT "\t\t\t\t\t\tIDS/IPS Tooling | $lynis_report_data{'ids_ips_tooling[]'} | \n";
} else {
print OUT "\t\t\t\t\t\tIDS/IPS Tooling | | \n";
}
+ if (exists($lynis_report_data{'fail2ban_config'})) {
+ if (ref($lynis_report_data{'fail2ban_config'}) eq 'ARRAY') {
+ print OUT "\t\t\t\t\t\tfail2ban config file(s): | ".join(" \n", @{$lynis_report_data{'fail2ban_config'}})." | \n";
+ } else {
+ print OUT "\t\t\t\t\t\tfail2ban config file(s): | $lynis_report_data{'fail2ban_config'} | \n";
+ }
+ }
+ if (exists($lynis_report_data{'fail2ban_enabled_service[]'})) {
+ if (ref($lynis_report_data{'fail2ban_enabled_service[]'}) eq 'ARRAY') {
+ print OUT "\t\t\t\t\t\tfail2ban enabled service(s): | ".join(" \n", @{$lynis_report_data{'fail2ban_enabled_service[]'}})." | \n";
+ } else {
+ print OUT "\t\t\t\t\t\tfail2ban enabled service(s): | $lynis_report_data{'fail2ban_enabled_service[]'} | \n";
+ }
+ }
print OUT <compiler installed:$to_bool{$lynis_report_data{'compiler_installed'}} |
@@ -907,7 +943,7 @@ END
print OUT "\t\t\t\t\t\n";
}
print OUT <ntp detail:> show <
+ ntp detail:
> show <
- nginx detail
+ nginx detail
main config file: | $lynis_report_data{'nginx_main_conf_file'} |
@@ -962,7 +998,7 @@ END
END
if (exists($lynis_report_data{'nginx_config_option'})) {
- print OUT "\t\t\t\tnginx config options:
> show <\n";
+ print OUT "\t\t\t\tnginx config options:
> show <\n";
print OUT "\t\t\t\t\t\n";
print OUT "\t\t\t\t\t
\n";
if (ref($lynis_report_data{'nginx_config_option'}) eq 'ARRAY') {
@@ -978,7 +1014,7 @@ END
END
if (exists($lynis_report_data{'ssl_tls_protocol_enabled[]'})) {
print OUT <SSL/TLS protocols enabled:
+ SSL/TLS protocols enabled:
> show <
@@ -986,14 +1022,40 @@ END
if (ref($lynis_report_data{'ssl_tls_protocol_enabled[]'}) eq 'ARRAY') {
foreach my $p ( @{$lynis_report_data{'ssl_tls_protocol_enabled[]'}} ) { print OUT "\t\t\t\t\t\t- $p
\n"; }
} else {
- warn colored("ssltls protocols object not an array! \n", "yellow");
- print Dumper($lynis_report_data{'ssl_tls_protocol_enabled[]'});
+ print OUT "\t\t\t\t\t\t- $lynis_report_data{'ssl_tls_protocol_enabled[]'}
\n";
+ #warn colored("ssltls protocols object not an array! \n", "yellow");
+ #print Dumper($lynis_report_data{'ssl_tls_protocol_enabled[]'});
}
print OUT "\t\t\t\t\t
\n";
print OUT "\t\t\t\t
\n";
}
+ if (exists($lynis_report_data{'apache_version'})) {
+ print OUT <apache details:
+ > show <
+
+
apache version: | $lynis_report_data{'apache_version'} |
+END
+ if (exists($lynis_report_data{'apache_module[]'})) {
+ print OUT <
apache modules found:
+ > show <
+
+
+END
+ if (ref($lynis_report_data{'apache_module[]'}) eq 'ARRAY') {
+ foreach my $m ( sort @{$lynis_report_data{'apache_module[]'}} ) { print OUT "\t\t\t\t\t\t\t\t- $m
\n"; }
+ } else {
+ warn colored("apache module object not an array!\n", "yellow");
+ print Dumper($lynis_report_data{'apache_module[]'});
+ }
+ print OUT "\t\t\t\t\t\t\t
\n";
+ print OUT "\t\t\t\t\t\t
\n";
+ }
+ print OUT "\t\t\t\t\t \n";
+ }
print OUT <systemd detail:> show <
+ systemd detail:
> show <
@@ -1118,7 +1180,7 @@ END
close OUT or die colored("There was a problem closing the output file ($output): $! \n", "bold red");
- my @indexes = qw( lynis_version lynis_tests_done lynis_update_available license_key report_datetime_start report_datetime_end plugins_directory plugins_enabled finish report_version_major report_version_minor hostid hostid2 plugin_enabled_phase1[] hardening_index warning[] hostname domainname linux_kernel_version linux_config_file memory_size nameserver[] network_interface[] framework_grsecurity vm vmtype uptime_in_seconds linux_kernel_release os framework_selinux uptime_in_days os_fullname default_gateway[] cpu_nx cpu_pae linux_version os_version network_ipv6_address[] boot_loader suggestion[] manual manual[] linux_version cpu_pae cpu_nx network_ipv4_address[] network_mac_address[] os_name os_kernel_version os_kernel_version_full firewall_installed max_password_retry password_max_days password_min_days pam_cracklib password_strength_tested minimum_password_length package_audit_tool package_audit_tool_found vulnerable_packages_found firewall_active firewall_software[] firewall_software auth_failed_logins_logged authentication_two_factor_enabled memory_units default_gateway authentication_two_factor_required malware_scanner_installed file_integrity_tool_installed file_integrity_tool_installed pam_module[] ids_ips_tooling[] ipv6_mode ipv6_only name_cache_used ldap_pam_enabled ntp_daemon_running mysql_running ssh_daemon_running dhcp_client_running arpwatch_running running_service[] audit_daemon_running installed_packages binaries_count installed_packages_array crond_running network_listen_port[] firewall_empty_ruleset automation_tool_present automation_tool_running[] file_integrity_tool ldap_auth_enabled password_max_l_credit password_max_u_credit password_max_digital_credit password_max_other_credit loaded_kernel_module[] plugin_directory package_manager[] linux_kernel_io_scheduler[] linux_kernel_type details[] available_shell[] locate_db smtp_daemon pop3_daemon ntp_daemon imap_daemon printing_daemon boot_service[] boot_uefi_boot_secure linux_default_runlevel boot_service_tool boot_uefi_booted systemctl_exit_code min_password_class session_timeout_enabled compiler_installed real_user[] home_directory[] swap_partition[] filesystem_ext[] journal_disk_size journal_coredumps_lastday journal_oldest_bootdate journal_contains_errors swap_partition[] file_systems_ext[] test_category test_group scheduler[] journal_meta_data boot_uefi_booted_secure service_manager running_service_tool binary_paths valid_certificate[] cronjob[] log_directory[] open_logfile[] journal_bootlogs log_rotation_tool log_rotation_config_found auditor deleted_file[] vulnerable_package[] malware_scanner[] file_integrity_tool[] plugin_firewall_iptables_list linux_amount_of_kernels ntp_config_type_startup ntp_config_type_scheduled ntp_config_type_eventbased ntp_config_type_daemon ntp_config_file[] ntp_config_found ntp_version ntp_unreliable_peer[] postgresql_running linux_auditd_running linux_kernel_io_scheduler nginx_main_conf_file log_file nginx_sub_conf_file nginx_config_option ssl_tls_protocol_enabled[] systemd systemd_builtin_components systemd_version systemd_status plugin_processes_allprocesses usb_authorized_default_device[] systemd_unit_file[] systemd_unit_not_found[] systemd_service_not_found[] resolv_conf_search_domain[] );
+ my @indexes = qw( lynis_version lynis_tests_done lynis_update_available license_key report_datetime_start report_datetime_end plugins_directory plugins_enabled finish report_version_major report_version_minor hostid hostid2 plugin_enabled_phase1[] hardening_index warning[] hostname domainname linux_kernel_version linux_config_file memory_size nameserver[] network_interface[] framework_grsecurity vm vmtype uptime_in_seconds linux_kernel_release os framework_selinux uptime_in_days os_fullname default_gateway[] cpu_nx cpu_pae linux_version os_version network_ipv6_address[] boot_loader suggestion[] manual manual[] linux_version cpu_pae cpu_nx network_ipv4_address[] network_mac_address[] os_name os_kernel_version os_kernel_version_full firewall_installed max_password_retry password_max_days password_min_days pam_cracklib password_strength_tested minimum_password_length package_audit_tool package_audit_tool_found vulnerable_packages_found firewall_active firewall_software[] firewall_software auth_failed_logins_logged authentication_two_factor_enabled memory_units default_gateway authentication_two_factor_required malware_scanner_installed file_integrity_tool_installed file_integrity_tool_installed pam_module[] ids_ips_tooling[] ipv6_mode ipv6_only name_cache_used ldap_pam_enabled ntp_daemon_running mysql_running ssh_daemon_running dhcp_client_running arpwatch_running running_service[] audit_daemon_running installed_packages binaries_count installed_packages_array crond_running network_listen_port[] firewall_empty_ruleset automation_tool_present automation_tool_running[] file_integrity_tool ldap_auth_enabled password_max_l_credit password_max_u_credit password_max_digital_credit password_max_other_credit loaded_kernel_module[] plugin_directory package_manager[] linux_kernel_io_scheduler[] linux_kernel_type details[] available_shell[] locate_db smtp_daemon pop3_daemon ntp_daemon imap_daemon printing_daemon boot_service[] boot_uefi_boot_secure linux_default_runlevel boot_service_tool boot_uefi_booted systemctl_exit_code min_password_class session_timeout_enabled compiler_installed real_user[] home_directory[] swap_partition[] filesystem_ext[] journal_disk_size journal_coredumps_lastday journal_oldest_bootdate journal_contains_errors swap_partition[] file_systems_ext[] test_category test_group scheduler[] journal_meta_data boot_uefi_booted_secure service_manager running_service_tool binary_paths valid_certificate[] cronjob[] log_directory[] open_logfile[] journal_bootlogs log_rotation_tool log_rotation_config_found auditor deleted_file[] vulnerable_package[] malware_scanner[] file_integrity_tool[] plugin_firewall_iptables_list linux_amount_of_kernels ntp_config_type_startup ntp_config_type_scheduled ntp_config_type_eventbased ntp_config_type_daemon ntp_config_file[] ntp_config_found ntp_version ntp_unreliable_peer[] postgresql_running linux_auditd_running linux_kernel_io_scheduler nginx_main_conf_file log_file nginx_sub_conf_file nginx_config_option ssl_tls_protocol_enabled[] systemd systemd_builtin_components systemd_version systemd_status plugin_processes_allprocesses usb_authorized_default_device[] systemd_unit_file[] systemd_unit_not_found[] systemd_service_not_found[] resolv_conf_search_domain[] expired_certificate[] compiler[] fail2ban_config fail2ban_enabled_service[] );
foreach my $idx ( sort @indexes ) {
delete($lynis_report_data{$idx});
}