Lynis is a security auditing tool for Unix and Linux operating systems. It performs in-depth security audits with almost no configuration. It runs on the host itself, so it performs more extensive security checks than vulnerability scanners.
Lynis performs hundreds of individual tests to determine the security state of the system. The security check itself consists of performing a set of steps from program initialization to its report:
- Identifies the operating system.
- Searches for available tools and utilities.
- Checking for Lynis updates.
- Running tests for enabled plug-ins.
- Running security tests for each category.
- Security check report status.
During a scan, technical data about the scan is stored in a log file. At the same time, results (warnings, suggestions, data collection) are stored in the report file.
Download the archive with the source codes and unzip to a temporary directory.
https://cisofy.com/download/lynis/
cd /tmp
wget https://cisofy.com/files/lynis-3.0.3.tar.gz
tar xvfz lynis-3.0.3.tar.gz
mv lynis /usr/local/
ln -s /usr/local/lynis/lynis /usr/local/bin/lynis
root@dsde949-22869:~# cd /tmp
root@dsde949-22869:/tmp# wget https://cisofy.com/files/lynis-3.0.3.tar.gz
--2021-02-22 18:13:58-- https://cisofy.com/files/lynis-3.0.3.tar.gz
Resolving cisofy.com (cisofy.com)... 37.97.224.115, 2a01:7c8:aac4:309::1
Connecting to cisofy.com (cisofy.com)|37.97.224.115|:443... connected.
HTTP request sent, waiting for response... 301 Moved Permanently
Location: https://downloads.cisofy.com/lynis/lynis-3.0.3.tar.gz [following]
--2021-02-22 18:13:58-- https://downloads.cisofy.com/lynis/lynis-3.0.3.tar.gz
Resolving downloads.cisofy.com (downloads.cisofy.com)... 37.97.194.171, 2a01:7c8:aac2:37b::1
Connecting to downloads.cisofy.com (downloads.cisofy.com)|37.97.194.171|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 331182 (323K) [application/octet-stream]
Saving to: 'lynis-3.0.3.tar.gz'
lynis-3.0.3.tar.gz 100%[=========================>] 323.42K --.-KB/s in 0.03s
2021-02-22 18:13:58 (9.72 MB/s) - 'lynis-3.0.3.tar.gz' saved [331182/331182]
root@dsde949-22869:/tmp# tar xvfz lynis-3.0.3.tar.gz
lynis/CHANGELOG.md
lynis/CODE_OF_CONDUCT.md
lynis/CONTRIBUTING.md
lynis/CONTRIBUTORS.md
lynis/FAQ
lynis/HAPPY_USERS.md
lynis/INSTALL
lynis/LICENSE
lynis/README
lynis/SECURITY.md
lynis/db/
lynis/db/languages/
lynis/db/languages/da
lynis/db/languages/en
lynis/db/languages/sk
lynis/db/languages/he
lynis/db/languages/pl
lynis/db/languages/gr
lynis/db/languages/pt
lynis/db/languages/en-GB
lynis/db/languages/fr
lynis/db/languages/en
lynis/db/languages/de
lynis/db/languages/cn
lynis/db/languages/br
lynis/db/languages/nl-BE
lynis/db/languages/nl-NL
lynis/db/languages/ko
lynis/db/languages/tr
lynis/db/languages/hu
lynis/db/languages/es
lynis/db/languages/se
lynis/db/languages/ja
lynis/db/languages/de-AT
lynis/db/languages/nl
lynis/db/languages/en-US
lynis/db/languages/az
lynis/db/languages/fi
lynis/db/languages/nb-NO
lynis/db/languages/it
lynis/db/tests.db
lynis/db/malware.db
lynis/db/integrity.db
lynis/db/hints.db
lynis/db/software-eol.db
lynis/db/malware-susp.db
lynis/db/fileperms.db
lynis/db/sbl.db
lynis/default.prf
lynis/developer.prf
lynis/extras/
lynis/extras/build-lynis.sh
lynis/extras/bash_completion.d/
lynis/extras/bash_completion.d/lynis
lynis/extras/systemd/
lynis/extras/systemd/lynis.timer
lynis/extras/systemd/lynis.service
lynis/extras/README
lynis/extras/files.dat
lynis/extras/openbsd/
lynis/extras/openbsd/+CONTENTS
lynis/extras/lynis.spec
lynis/extras/travis-ci/
lynis/extras/travis-ci/before_script.sh
lynis/extras/check-lynis.sh
lynis/include/
lynis/include/tests_system_integrity
lynis/include/tests_usb
lynis/include/tests_homedirs
lynis/include/profiles
lynis/include/tests_kernel_hardening
lynis/include/tool_tips
lynis/include/tests_networking
lynis/include/helper_update
lynis/include/tests_virtualization
lynis/include/tests_banners
lynis/include/helper_generate
lynis/include/functions
lynis/include/tests_filesystems
lynis/include/parameters
lynis/include/tests_file_integrity
lynis/include/tests_php
lynis/include/tests_databases
lynis/include/tests_accounting
lynis/include/tests_file_permissions
lynis/include/tests_storage
lynis/include/tests_custom.template
lynis/include/helper_system_remote_scan
lynis/include/data_upload
lynis/include/tests_squid
lynis/include/tests_ports_packages
lynis/include/tests_scheduling
lynis/include/binaries
lynis/include/tests_authentication
lynis/include/tests_logging
lynis/include/tests_time
lynis/include/tests_containers
lynis/include/tests_webservers
lynis/include/tests_insecure_services
lynis/include/tests_tooling
lynis/include/tests_storage_nfs
lynis/include/osdetection
lynis/include/tests_ssh
lynis/include/tests_mail_messaging
lynis/include/consts
lynis/include/tests_memory_processes
lynis/include/tests_ldap
lynis/include/tests_malware
lynis/include/tests_crypto
lynis/include/report
lynis/include/helper_configure
lynis/include/tests_printers_spoolers
lynis/include/tests_dns
lynis/include/tests_snmp
lynis/include/tests_shells
lynis/include/helper_audit_dockerfile
lynis/include/helper_show
lynis/include/tests_hardening
lynis/include/tests_mac_frameworks
lynis/include/tests_firewalls
lynis/include/tests_nameservices
lynis/include/tests_boot_services
lynis/include/tests_kernel
lynis/lynis
lynis/lynis.8
lynis/plugins/
lynis/plugins/custom_plugin.template
lynis/plugins/README
root@dsde949-22869:/tmp# mv lynis /usr/local/
root@dsde949-22869:/tmp# ln -s /usr/local/lynis/lynis /usr/local/bin/lynis
This will install Lynis in the /usr/local/lynis directory and create a symlink for easy access
Let's check the version of the utility:
lynis update info
root@dsde949-22869:/tmp# lynis update info
== Lynis ==
Version : 3.0.3
Status : Up-to-date
Release date : 2021-01-07
Project page : https://cisofy.com/lynis/
Source code : https://github.com/CISOfy/lynis
Latest package : https://packages.cisofy.com/
2007-2021, CISOfy - https://cisofy.com/lynis/
To start Lynis, it is enough to specify at least one key
For example, to start all available tests you should specify key -c (check all):
# Typical test suite
sudo lynis audit system
# Full test suite
sudo lynis audit system -c
# Remote host scan
audit system remote <host>
lynis audit system
root@dsde949-22869:/tmp# lynis audit system
[ Lynis 3.0.3]
################################################################################
Lynis comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
welcome to redistribute it under the terms of the GNU General Public License.
See the LICENSE file for details about using this software.
2007-2021, CISOfy - https://cisofy.com/lynis/
Enterprise support available (compliance, plugins, interface and tools)
################################################################################
[+] Initializing program
------------------------------------
- Detecting OS... [ DONE ]
- Checking profiles... [ DONE ]
---------------------------------------------------
Program version: 3.0.3
Operating system: Linux
Operating system name: Ubuntu
Operating system version: 20.04
Kernel version: 5.4.0
Hardware platform: x86_64
Hostname: dsde949-22869
---------------------------------------------------
Profiles: /usr/local/lynis/default.prf
Log file: /var/log/lynis.log
Report file: /var/log/lynis-report.dat
Report version: 1.0
Plugin directory: /usr/local/lynis/plugins
---------------------------------------------------
Auditor: [Not Specified]
Language: en
Test category: all
Test group: all
---------------------------------------------------
- Program update status... [ NO UPDATE ]
[+] System tools
------------------------------------
- Scanning available tools...
- Checking system binaries...
[+] Plugins (phase 1)
------------------------------------
Note: plugins have more extensive tests and may take several minutes to complete
- Plugins enabled [ NONE ]
[+] Boot and services
------------------------------------
- Service Manager [ systemd ]
- Checking UEFI boot [ DISABLED ]
- Checking presence GRUB2 [ FOUND ]
- Checking for password protection [ NONE ]
- Check running services (systemctl) [ DONE ]
Result: found 26 running services
- Check enabled services at boot (systemctl) [ DONE ]
Result: found 57 enabled services
- Check startup files (permissions) [ OK ]
- Running 'systemd-analyze security'
- accounts-daemon.service: [ UNSAFE ]
- apache2.service: [ UNSAFE ]
- apport.service: [ UNSAFE ]
- atd.service: [ UNSAFE ]
- cron.service: [ UNSAFE ]
- dbus.service: [ UNSAFE ]
- dm-event.service: [ UNSAFE ]
- dmesg.service: [ UNSAFE ]
- dovecot.service: [ EXPOSED ]
- emergency.service: [ UNSAFE ]
- exim4.service: [ UNSAFE ]
- fwupd.service: [ EXPOSED ]
- getty@tty1.service: [ UNSAFE ]
- grub-common.service: [ UNSAFE ]
- hestia.service: [ UNSAFE ]
- ifup@eth0.service: [ UNSAFE ]
- irqbalance.service: [ MEDIUM ]
- iscsid.service: [ UNSAFE ]
- lvm2-lvmpolld.service: [ UNSAFE ]
- lxd-agent.service: [ UNSAFE ]
- mariadb.service: [ MEDIUM ]
- multipathd.service: [ UNSAFE ]
- nginx.service: [ UNSAFE ]
- ondemand.service: [ UNSAFE ]
- open-vm-tools.service: [ UNSAFE ]
- php7.4-fpm.service: [ UNSAFE ]
- plymouth-start.service: [ UNSAFE ]
- polkit.service: [ UNSAFE ]
- qemu-guest-agent.service: [ UNSAFE ]
- rc-local.service: [ UNSAFE ]
- rescue.service: [ UNSAFE ]
- rsync.service: [ UNSAFE ]
- rsyslog.service: [ UNSAFE ]
- serial-getty@ttyS0.service: [ UNSAFE ]
- snapd.service: [ UNSAFE ]
- ssh.service: [ UNSAFE ]
- systemd-ask-password-console.service: [ UNSAFE ]
- systemd-ask-password-plymouth.service: [ UNSAFE ]
- systemd-ask-password-wall.service: [ UNSAFE ]
- systemd-fsckd.service: [ UNSAFE ]
- systemd-initctl.service: [ UNSAFE ]
- systemd-journald.service: [ OK ]
- systemd-logind.service: [ OK ]
- systemd-rfkill.service: [ UNSAFE ]
- systemd-timesyncd.service: [ OK ]
- systemd-udevd.service: [ EXPOSED ]
- thermald.service: [ UNSAFE ]
- unattended-upgrades.service: [ UNSAFE ]
- user@0.service: [ UNSAFE ]
- uuidd.service: [ OK ]
- vgauth.service: [ UNSAFE ]
- vsftpd.service: [ UNSAFE ]
[+] Kernel
------------------------------------
- Checking default run level [ RUNLEVEL 5 ]
- Checking CPU support (NX/PAE)
CPU support: PAE and/or NoeXecute supported [ FOUND ]
- Checking kernel version and release [ DONE ]
- Checking kernel type [ DONE ]
- Checking loaded kernel modules [ DONE ]
Found 58 active modules
- Checking Linux kernel configuration file [ FOUND ]
- Checking default I/O kernel scheduler [ NOT FOUND ]
- Checking for available kernel update [ OK ]
- Checking core dumps configuration
- configuration in systemd conf files [ DEFAULT ]
- configuration in etc/profile [ DEFAULT ]
- 'hard' configuration in security/limits.conf [ DEFAULT ]
- 'soft' configuration in security/limits.conf [ DEFAULT ]
- Checking setuid core dumps configuration [ PROTECTED ]
- Check if reboot is needed [ YES ]
[+] Memory and Processes
------------------------------------
- Checking /proc/meminfo [ FOUND ]
- Searching for dead/zombie processes [ NOT FOUND ]
- Searching for IO waiting processes [ NOT FOUND ]
- Searching for prelink tooling [ NOT FOUND ]
[+] Users, Groups and Authentication
------------------------------------
- Administrator accounts [ OK ]
- Unique UIDs [ WARNING ]
- Consistency of group files (grpck) [ OK ]
- Unique group IDs [ OK ]
- Unique group names [ OK ]
- Password file consistency [ OK ]
- Password hashing methods [ SUGGESTION ]
- Checking password hashing rounds [ DISABLED ]
- Query system users (non daemons) [ DONE ]
- NIS+ authentication support [ NOT ENABLED ]
- NIS authentication support [ NOT ENABLED ]
- Sudoers file(s) [ FOUND ]
- Permissions for directory: /etc/sudoers.d [ WARNING ]
- Permissions for: /etc/sudoers [ OK ]
- Permissions for: /etc/sudoers.d/admin [ OK ]
- Permissions for: /etc/sudoers.d/README [ OK ]
- Permissions for: /etc/sudoers.d/99-snapd.conf [ OK ]
- PAM password strength tools [ SUGGESTION ]
- PAM configuration files (pam.conf) [ FOUND ]
- PAM configuration files (pam.d) [ FOUND ]
- PAM modules [ FOUND ]
- LDAP module in PAM [ NOT FOUND ]
- Accounts without expire date [ SUGGESTION ]
- Accounts without password [ OK ]
- Locked accounts [ OK ]
- Checking user password aging (minimum) [ DISABLED ]
- User password aging (maximum) [ DISABLED ]
- Checking expired passwords [ OK ]
- Checking Linux single user mode authentication [ OK ]
- Determining default umask
- umask (/etc/profile) [ NOT FOUND ]
- umask (/etc/login.defs) [ SUGGESTION ]
- LDAP authentication support [ NOT ENABLED ]
- Logging failed login attempts [ ENABLED ]
[+] Shells
------------------------------------
- Checking shells from /etc/shells
Result: found 10 shells (valid shells: 10).
- Session timeout settings/tools [ NONE ]
- Checking default umask values
- Checking default umask in /etc/bash.bashrc [ NONE ]
- Checking default umask in /etc/profile [ NONE ]
[+] File systems
------------------------------------
- Checking mount points
- Checking /home mount point [ SUGGESTION ]
- Checking /tmp mount point [ SUGGESTION ]
- Checking /var mount point [ SUGGESTION ]
- Query swap partitions (fstab) [ OK ]
- Testing swap partitions [ OK ]
- Testing /proc mount (hidepid) [ OK ]
- Checking for old files in /tmp [ OK ]
- Checking /tmp sticky bit [ OK ]
- Checking /var/tmp sticky bit [ OK ]
- ACL support root file system [ ENABLED ]
- Mount options of / [ OK ]
- Mount options of /dev [ HARDENED ]
- Mount options of /dev/shm [ PARTIALLY HARDENED ]
- Mount options of /run [ HARDENED ]
- Total without nodev:5 noexec:5 nosuid:3 ro or noexec (W^X): 5 of total 33
- Disable kernel support of some filesystems
- Discovered kernel modules: cramfs freevxfs jffs2 udf
[+] USB Devices
------------------------------------
- Checking usb-storage driver (modprobe config) [ NOT DISABLED ]
- Checking USB devices authorization [ ENABLED ]
- Checking USBGuard [ NOT FOUND ]
[+] Storage
------------------------------------
- Checking firewire ohci driver (modprobe config) [ DISABLED ]
[+] NFS
------------------------------------
- Check running NFS daemon [ NOT FOUND ]
[+] Name services
------------------------------------
- Checking /etc/resolv.conf options [ FOUND ]
- Searching DNS domain name [ FOUND ]
Domain name: fornex.org
- Checking /etc/hosts
- Duplicate entries in hosts file [ NONE ]
- Presence of configured hostname in /etc/hosts [ NOT FOUND ]
- Hostname mapped to localhost [ NOT FOUND ]
- Localhost mapping to IP address [ OK ]
[+] Ports and packages
------------------------------------
- Searching package managers
- Searching dpkg package manager [ FOUND ]
- Querying package manager
- Query unpurged packages [ FOUND ]
- Checking security repository in sources.list file [ OK ]
- Checking APT package database [ OK ]
- Checking vulnerable packages [ OK ]
[WARNING]: Test PKGS-7392 had a long execution: 25.953545 seconds
- Checking upgradeable packages [ SKIPPED ]
- Checking package audit tool [ INSTALLED ]
Found: apt-check
- Toolkit for automatic upgrades (unattended-upgrade) [ FOUND ]
[+] Networking
------------------------------------
- Checking IPv6 configuration [ ENABLED ]
Configuration method [ AUTO ]
IPv6 only [ NO ]
- Checking configured nameservers
- Testing nameservers
Nameserver: 91.228.153.88 [ OK ]
Nameserver: 212.224.118.111 [ OK ]
Nameserver: 185.18.52.124 [ OK ]
- Minimal of 2 responsive nameservers [ OK ]
- DNSSEC supported (system-resolved) [ UNKNOWN ]
- Getting listening ports (TCP/UDP) [ DONE ]
- Checking promiscuous interfaces [ OK ]
- Checking status of DHCP client
- Checking for ARP monitoring software [ NOT FOUND ]
- Uncommon network protocols [ 0 ]
[+] Printers and Spools
------------------------------------
- Checking cups daemon [ NOT FOUND ]
- Checking lp daemon [ NOT RUNNING ]
[+] Software: e-mail and messaging
------------------------------------
- Exim status [ RUNNING ]
- Type [ NOT CONFIGURED ]
- Dovecot status [ RUNNING ]
[+] Software: firewalls
------------------------------------
- Checking iptables kernel module [ FOUND ]
- Checking iptables policies of chains [ FOUND ]
- Checking for empty ruleset [ WARNING ]
- Checking for unused rules [ OK ]
- Checking host based firewall [ ACTIVE ]
[+] Software: webserver
------------------------------------
- Checking Apache (binary /usr/sbin/apache2) [ FOUND ]
Info: Configuration file found (/etc/apache2/apache2.conf)
Info: Found 8 virtual hosts
* Loadable modules [ FOUND (120) ]
- Found 120 loadable modules
mod_evasive: anti-DoS/brute force [ NOT FOUND ]
mod_reqtimeout/mod_qos [ FOUND ]
ModSecurity: web application firewall [ NOT FOUND ]
- Checking nginx [ FOUND ]
- Searching nginx configuration file [ FOUND ]
- Found nginx includes [ 6 FOUND ]
- Parsing configuration options
- /etc/nginx/nginx.conf
- /etc/nginx/conf.d/212.224.113.76.conf
- /etc/nginx/conf.d/status.conf
- /etc/nginx/conf.d/domains/mecmep.site.conf
- /etc/nginx/conf.d/domains/mecmep.site.ssl.conf
- /etc/nginx/conf.d/domains/webmail.mecmep.site.conf
- SSL configured [ YES ]
- Ciphers configured [ YES ]
- Prefer server ciphers [ YES ]
- Protocols configured [ YES ]
- Insecure protocols found [ NO ]
- Checking log file configuration
- Missing log files (access_log) [ NO ]
- Disabled access logging [ YES ]
- Missing log files (error_log) [ NO ]
- Debugging mode on error_log [ NO ]
** Suggestions for fixes**
During the audit, the Lynis application runs several tests, divided into categories. After each stage, test results, debug information, and suggestions for protecting the system are displayed in the standard output (on the screen)
All warnings (Warnings) will be listed after the results. Each one starts with the text of the warning, then next to it in brackets is the test that generated it. The next line suggests a solution to the problem, if one exists
The last line is a URL where you can look up the details and find additional recommendations on how to fix the problem.
Warnings (3):
----------------------------
! Reboot of system is most likely needed [KRNL-5830]
- Solution : reboot
https://cisofy.com/lynis/controls/KRNL-5830/
! Multiple accounts found with same UID [AUTH-9208]
https://cisofy.com/lynis/controls/AUTH-9208/
! iptables module(s) loaded, but no rules active [FIRE-4512]
https://cisofy.com/lynis/controls/FIRE-4512/
Suggestions (52):
----------------------------
* Set a password on GRUB boot loader to prevent altering boot configuration (e.g. boot in single user mode without password) [BOOT-5122]
https://cisofy.com/lynis/controls/BOOT-5122/
* Consider hardening system services [BOOT-5264]
- Details : Run '/usr/bin/system-analyze security SERVICE' for each service
https://cisofy.com/lynis/controls/BOOT-5264/
* If not required, consider explicit disabling of core dump in /etc/security/limits.conf file [KRNL-5820]
https://cisofy.com/lynis/controls/KRNL-5820/
* Check PAM configuration, add rounds if applicable and expire passwords to encrypt with new values [AUTH-9229]
https://cisofy.com/lynis/controls/AUTH-9229/
* Configure password hashing rounds in /etc/login.defs [AUTH-9230]
https://cisofy.com/lynis/controls/AUTH-9230/
* Install a PAM module for password strength testing like pam_cracklib or pam_passwdqc [AUTH-9262]
https://cisofy.com/lynis/controls/AUTH-9262/
* When possible set expire dates for all password protected accounts [AUTH-9282]
https://cisofy.com/lynis/controls/AUTH-9282/
* Configure minimum password age in /etc/login.defs [AUTH-9286]
https://cisofy.com/lynis/controls/AUTH-9286/
* Configure maximum password age in /etc/login.defs [AUTH-9286]
https://cisofy.com/lynis/controls/AUTH-9286/
* Default umask in /etc/login.defs could be more strict like 027 [AUTH-9328]
https://cisofy.com/lynis/controls/AUTH-9328/
* To decrease the impact of a full /home file system, place /home on a separate partition [FILE-6310]
https://cisofy.com/lynis/controls/FILE-6310/
* To decrease the impact of a full /tmp file system, place /tmp on a separate partition [FILE-6310]
https://cisofy.com/lynis/controls/FILE-6310/
* To decrease the impact of a full /var file system, place /var on a separate partition [FILE-6310]
https://cisofy.com/lynis/controls/FILE-6310/
* Consider disabling unused kernel modules [FILE-6430]
- Details : /etc/modprobe.d/blacklist.conf
- Solution : Add 'install MODULENAME /bin/true' (without quotes)
https://cisofy.com/lynis/controls/FILE-6430/
* Disable drivers like USB storage when not used, to prevent unauthorized storage or data theft [USB-1000]
https://cisofy.com/lynis/controls/USB-1000/
* Add the IP name and FQDN to /etc/hosts for proper name resolving [NAME-4404]
https://cisofy.com/lynis/controls/NAME-4404/
* Purge old/removed packages (15 found) with aptitude purge or dpkg --purge command. This will cleanup old configuration files, cron jobs and startup scripts. [PKGS-7346]
https://cisofy.com/lynis/controls/PKGS-7346/
* Install debsums utility for the verification of packages with known good databases. [PKGS-7370]
https://cisofy.com/lynis/controls/PKGS-7370/
* Install package apt-show-versions for patch management purposes [PKGS-7394]
https://cisofy.com/lynis/controls/PKGS-7394/
* Remove any unneeded kernel packages [PKGS-7410]
- Details : 6 kernels
- Solution : validate dpkg -l output and perform cleanup with apt autoremove
https://cisofy.com/lynis/controls/PKGS-7410/
* Determine if protocol 'dccp' is really needed on this system [NETW-3200]
https://cisofy.com/lynis/controls/NETW-3200/
* Determine if protocol 'sctp' is really needed on this system [NETW-3200]
https://cisofy.com/lynis/controls/NETW-3200/
* Determine if protocol 'rds' is really needed on this system [NETW-3200]
https://cisofy.com/lynis/controls/NETW-3200/
* Determine if protocol 'tipc' is really needed on this system [NETW-3200]
https://cisofy.com/lynis/controls/NETW-3200/
* Install Apache mod_evasive to guard webserver against DoS/brute force attempts [HTTP-6640]
https://cisofy.com/lynis/controls/HTTP-6640/
* Install Apache modsecurity to guard webserver against web application attacks [HTTP-6643]
https://cisofy.com/lynis/controls/HTTP-6643/
* Check your nginx access log for proper functioning [HTTP-6712]
https://cisofy.com/lynis/controls/HTTP-6712/
* Consider hardening SSH configuration [SSH-7408]
- Details : AllowTcpForwarding (set YES to NO)
https://cisofy.com/lynis/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : ClientAliveCountMax (set 3 to 2)
https://cisofy.com/lynis/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : Compression (set YES to NO)
https://cisofy.com/lynis/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : LogLevel (set INFO to VERBOSE)
https://cisofy.com/lynis/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : MaxAuthTries (set 6 to 3)
https://cisofy.com/lynis/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : MaxSessions (set 10 to 2)
https://cisofy.com/lynis/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : PermitRootLogin (set YES to (FORCED-COMMANDS-ONLY|NO|PROHIBIT-PASSWORD|WITHOUT-PASSWORD))
https://cisofy.com/lynis/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : Port (set 22 to )
https://cisofy.com/lynis/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : TCPKeepAlive (set YES to NO)
https://cisofy.com/lynis/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : X11Forwarding (set YES to NO)
https://cisofy.com/lynis/controls/SSH-7408/
* Consider hardening SSH configuration [SSH-7408]
- Details : AllowAgentForwarding (set YES to NO)
https://cisofy.com/lynis/controls/SSH-7408/
* Change the allow_url_fopen line to: allow_url_fopen = Off, to disable downloads via PHP [PHP-2376]
https://cisofy.com/lynis/controls/PHP-2376/
* Enable logging to an external logging host for archiving purposes and additional protection [LOGG-2154]
https://cisofy.com/lynis/controls/LOGG-2154/
* Check what deleted files are still in use and why. [LOGG-2190]
https://cisofy.com/lynis/controls/LOGG-2190/
* Add a legal banner to /etc/issue, to warn unauthorized users [BANN-7126]
https://cisofy.com/lynis/controls/BANN-7126/
* Add a legal banner to /etc/issue.net, to warn unauthorized users [BANN-7130]
https://cisofy.com/lynis/controls/BANN-7130/
* Enable process accounting [ACCT-9622]
https://cisofy.com/lynis/controls/ACCT-9622/
* Enable sysstat to collect accounting (disabled) [ACCT-9626]
https://cisofy.com/lynis/controls/ACCT-9626/
* Enable auditd to collect audit information [ACCT-9628]
https://cisofy.com/lynis/controls/ACCT-9628/
More detailed information is recorded in /var/log/lynis.log, and report data is saved in /var/log/lynis-report.dat
Reports contain general information about the server and the application itself, so it is better to pay special attention to the log file. The log is cleared (overwritten) with each check, so the results of the previous check are not saved.
Evaluation of hardening state
After all the tests are done you will see a section at the end of each output of the utility's audit (just below the suggestions section) which will look approximately like this
Lynis security scan details:
Hardening index : 64 [############ ]
Tests performed : 265
Plugins enabled : 0
Components:
- Firewall [V]
- Malware scanner [X]
Scan mode:
Normal [V] Forensics [ ] Integration [ ] Pentest [ ]
Lynis modules:
- Compliance status [?]
- Security audit [V]
- Vulnerability scan [V]
Files:
- Test and debug information : /var/log/lynis.log
- Report data : /var/log/lynis-report.dat
This result, expressed as a number, shows the number of tests passed and the system security index, that is, the hardening index, the final number by which Lynis assesses the overall security level of the server. Keep in mind that the security index changes depending on the number of corrected warnings and implemented Lynis recommendations
Therefore, a second audit after the fixes may show a completely different number!
To automatically run Lynis to check at night, create a cron job:
crontab -e
For example:
0 3 * * * * /usr/local/bin/lynis --quick 2>&1 | mail -s "chkrootkit Report" your_mail@box
The check will run daily, at 3am
Replace the path to lynis and specify your mail address where the mail will be sent to.
If you have configuration difficulties or have further questions, you can always contact our support team via [Ticket system] (https://fornex.com/my/tickets/).