Lynis security controls
|ACCT-2754||Accounting||FreeBSD process accounting|
Process accounting is a method to track system resources. It includes a way to monitor system resources and how these resources are used for the users on the system. On FreeBSD accounting can be enabled to track these resources.
|ACCT-9622||Accounting||Linux process accounting|
Process accounting is a method to track system resources. It includes a way to monitor system resources and how these resources are used for the users on the system. On Linux systems, process accounting can be enabled to track these resources.
|ACCT-9626||Accounting||Sysstat accounting data|
Sysstat collects system information
|ACCT-9628||Accounting||Audit daemon status|
For Linux systems the Linux audit daemon can audit files and processes. This control checks for the status of the audit daemon. Suspicious changes or activities will trigger an event to be logged by the audit daemon.
|ACCT-9630||Accounting||Empty Linux audit daemon ruleset|
This control checks for an empty ruleset of the Linux audit daemon.
|ACCT-9632||Accounting||Auditd configuration file location|
The Linux audit framework consists of an audit daemon (auditd), utilities, audit rules and a configuration file for the daemon. This file (auditd.conf) is generally located in the /etc/audit directory or similar. Lynis tries to determine where this file is located. If this control shows up, the location could not be discovered. This is unusual, as the binaries of the framework are present and the audit daemon is running.
|ACCT-9636||Accounting||Linux audit trail (Snoopy)|
This control checks if the Snoopy library can be found, which is a wrapper around execve() and logger. By implementing Snoopy an audit trail can be created by logging all executed commands.
|AUTH-9204||Authentication||Multiple users with uid 0|
While allowed, usually configuration of multiple users with an ID of zero (0) is bad practice. Better is to create separated accounts and use proper group membership.
|AUTH-9208||Authentication||Duplicate accounts or IDs|
Lynis checks for any duplicates by checking the passwd file and count them. Any ID which shows up more than a single time is reported as a finding. Accounts and user IDs should be unique to enable proper accounting. Using several accounts with the same ID may result in data loss.
|AUTH-9216||Authentication||Consistency of password/group files|
The password and group files (and their shadow equivalents) are an important part in the authentication process. Also the security controls like access control and file permissions are impacted by proper authentication and accounting of users. Inconsistencies in the password file can be caused by malicious activities or in some cases due to improper usage of tools, like a file editor. Inconsistencies should therefore be checked and fixed.
|AUTH-9218||Authentication||Accounts without password|
Lynis checks for users accounts and which ones do not have a password. Accounts without a password are considered to be a bad practice, as each user should prove he or she is the rightful owner of the account. Lacking a password may give more than 1 authorized user access to the account and therefore seriously impact proper accounting. Loss of data or impact to the integrity of data may be the result of lacking passwords.
|AUTH-9222||Authentication||Unique authentication groups|
Groups should be unique to ensure each user has the appropriate permissions.
|AUTH-9228||Authentication||Linux password file consistency|
Password files like /etc/passwd and /etc/shadow should be checked on a regular basis to see if any errors are present.
|AUTH-9262||Authentication||PAM password strengthening tools|
Several modules within the PAM framework can help restricting access to facilities to only authorized people, including limitations as a strong password, the right console, or the right software.
Passwords should be protected and strengthened where possible. On Unix and Linux based systems this is usually done via PAM modules and the related configuration files. Examples include tools like passwdqc (password quality control) and cracklib (password cracking library).
|AUTH-9282||Authentication||Passwords (expire date)|
Passwords are the main key to access an account, related services and information. Therefore they need to be protected via means of a strong password and password expiry. This particular test found passwords without an expire date. Depending on the sensitivity of the information on this machine, check if this appropriate and according to the security policy.
|AUTH-9283||Authentication||Passwords (no password set)|
Passwords are the main key to access an account, related services and information. Therefore they need to be protected via means of a strong password and password expiry. This particular test found accounts without a password. Depending on the sensitivity of the information on this machine, check if this appropriate and according to the security policy.
Proper protection against weak passwords and regular changes, limits the risk of cracking passwords or being obtained by unauthorized people.
|AUTH-9308||Authentication||Protect single user mode|
Physical access to the machine can be used to load alternative software or a different operating system, during the boot phase. Configure a password in the boot loader to prevent this risk. This test applies to Linux based systems only.
The umask defines what default file permissions will be applied on a file or directory. Usually servers can have a more strict umask like 027, where desktops may be less strict (022).
|BANN-7122||Banner||Banner in /etc/motd|
Authorized and unauthorized users should know that the system is monitored and deter unauthorized users from attempting to log in.
Make users aware that systems are monitored and their privacy might be limited, if required by legal requirements or law. Add a banner to /etc/issue to warn users.
Make users aware that systems are monitored and their privacy might be limited, if required by legal requirements or law. Add a banner to /etc/issue.net to warn users.
|BOOT-5121||Boot||GRUB boot loader check|
Check if GRUB boot loader exists
|BOOT-5122||Boot||Set boot loader password|
By default anyone with physical access to the machine can load alternative software or another operating system during the boot phase. Configure a password in grub to prevent this possibility.
|BOOT-5139||Boot||LILO bootloader password|
By default anyone with physical access to the machine can load alternative software or another operating system during the boot phase. Configure a password in LILO to prevent this possibility.
|BOOT-5180||Boot||Linux boot services (Debian)|
Lynis determines what services are started during runlevel 2 (boot). All boot services should be equal to the ones running, with the exception of the "one-time" processes. The latter group are processes which need a task to perform during or just after booting, like checking the file system. For all others it's common to be equal: if MySQL is running now, it is likely to be found in the boot services scripts as well.
Missing processes in the boot list may lead to unavailability of important services after a reboot. Regular testing and reboots help in determining any missing services.
|BOOT-5184||Boot||Writable start-up scripts|
Unix based systems have an extensive boot process, from loading the bootloader up to the execution of post-boot scripts. Protecting the boot process is important for the integrity of the system.
Start-up scripts define what services will be initialized and started during the boot process. Lynis tests if there are scripts with world writable permissions. These files can be changed by all users on the system and usually started with root permissions. Therefore they impose a risk to the system, as one might include a backdoor into a start-up script.
|BOOT-5260||Authentication||Single user mode for systemd|
Systemd has a single user mode, named rescue.service. Similar to normal single user mode, it allows access to the system and bypass several levels of authorization. To protect against this, reconfigure the service with the sulogin option.
Docker should preferably run without any warnings.
|CRYP-7902||Crypto||Expiry of certificates|
Certificates have a begin and end date configured to prevent misuse of expired certificates.
|DBS-1816||Database||Empty root password for MySQL|
No password has been set for MySQL 'root' user
|DBS-1820||Databases||Check empty MongoDB authorization|
This control is displayed when no configured authorization mechanism was found on MongoDB.
|DBS-1882||Database||Redis configuration file|
This Lynis control tests for file permissions of the Redis configuration file.
|DBS-1884||Database||Redis 'requirepass' option|
Require a password for Redis instances to prevent unauthorized connections from connecting to your Redis instances.
|DBS-1886||Database||Redis CONFIG parameter|
By default the CONFIG command can be used. To prevent users from using this command, it can be disabled or renamed for an additional level of security.
|FILE-6310||File Integrity||Separation of partitions|
Some partitions like /tmp and /home can be easily filled by users of a system. When not being separated from the root file system, this might increase the risk of filling up this file system and cause malfunctioning to other system components.
|FILE-6332||File Integrity||Swap in /etc/fstab|
This control checks if there is a swap partition configured in /etc/fstab. Usually it should be there, depending on how the system has been configured.
|FILE-6336||File Integrity||Swap partition options|
The /etc/fstab file determines the available mount points for your system. This particular test looks for a swap partition and determines if there is any unexpected mount parameter used for these kind of partitions.
|FILE-6344||File Systems||Restricting process details to users|
The pseudo file system /proc reveals a process data for all users. Especially in shared environments, or where multiple users have access, this is a security risk. Even for a basic web server it may help restricting who can see process data in /proc, to prevent possible information leakage.
|FILE-6354||File Integrity||Old files in /tmp|
Lynis tests for the presence of old files in /tmp, as these files might be filling up space without any reason. Secondly to prevent file systems running out of space, or be used as permanent storage. Also malware is commonly found in /tmp, as a temporary staging place.
|FILE-6362||File Systems||Sticky bit on /tmp|
Check if a sticky bit is set on /tmp
|FILE-6410||File Integrity||Locate database|
When locate has been found, Lynis checks for the related database.
|FILE-7524||File Integrity||File permissions|
This control describes the expected file permissions as configured in the profile. Depending on the tested files and related result, determine why a different permission set is being used, or correct it where appropriate.
|FINT-4315||File Integrity||AIDE configuration check|
AIDE configuration errors were found
|FINT-4350||File Integrity||Install a file integrity tool|
To monitor for unauthorized changes, a file integrity tool can help with the detection of such event. Each time the contents or the properties of a file change, it will have a different checksum. With regular checks of the related integrity database, discovering changes becomes easy.Install a tool like AIDE, Samhain or Tripwire to monitor important system and data files. Additionally configure the tool to alert system or security personnel on events.
|FINT-4402||File Integrity||Usage of SHA256/SHA512 in AIDE configuration|
This check found that SHA256 or SHA512 were not used to create hashes of files.
|FIRE-4512||Firewall||Empty iptables ruleset|
Lynis checks for the availability of IPtables, but also if the ruleset is not empty. This might indicate bad configuration or a missing ruleset on the system.
|FIRE-4513||Firewall||Unused iptables rules|
This control checks what iptables rules are currently not being used. Proper maintenance of firewall rules is essential for accuracy and proper network traffic filtering. Regular checks on the proper working and rule-sets help in limiting traffic to the bare minimum and decrease general risk of unauthorized connections.
Note: Some rules might have no hits, while still being applicable. Before removing rules, make sure that the time to monitor is long enough.
|FIRE-4520||Networking||Configuration warnings in pf firewall|
Lynis uses the built-in check of pf to determine if the configuration has any warnings. When the utility shows any, Lynis will trigger this control.
Depending on the type of system and sensitivity of the data being stored and processed, a firewall is advised.
|HRDN-7220||Hardening||Limit access to compilers|
Compilers are usually not needed on production systems, unless the upgrade mechanism of the particular system uses the source code of a package and compiles it into an executable form. Leaving compilers accessible to all users increases the risk of abuse or give attackers additional leverage when finding other flaws. One example is privilege escalation, by compiling and execution a discovered weakness in an existing system component.
|HRDN-7222||Hardening||Permissions on installed compilers|
Compilers turn source code into binary executable code. For a production system a compiler is usually not needed, unless package upgrades are performed by means of their source code. If a compiler is found, execution should be limited to authorized users only (e.g. root user).
|HRDN-7230||Malware||Presence malware scanner|
Malware scanners search for any traces of malware. Regular checks are advised to improve the detection rate, in case of an intrusion of the system. Also the proper implementation can prevent malware from spreading to other systems. One example might be installing a virus scanner on a mail gateway, to protect users.
Anti Denial of Service (DoS) module and protects against brute force attempts. This control is advised for systems running a webserver and those in particular which are available from public networks.
Module to protect against SlowLoris attack, especially useful for webservers which are available from public networks.
Module against spammers, useful for webservers which are available from public networks.
Module for webservers to act as a web application firewall.
|HTTP-6710||Web||SSL configuration in nginx|
To protect the privacy of users, including sniffing of sensitive data on networks, enable SSL/TLS in nginx.
|HTTP-6712||Web||Log file configuration in nginx|
For auditing purposes logging should be properly configured in nginx. Missing log files or disabled entries might result in losing valuable data for analytics and accounting.
|HTTP-6714||Web||Missing error logs in nginx|
This test searches for the presence of error logs.
|HTTP-6716||Web services||Nginx error_log in debugging mode|
This test shows up when one or more lines have 'debug' for the error_log configuration in nginx.
|INSE-8006||Hardening||Inetd configuration |
When inetd is not used in production, remove it all together, or make sure no entries can be started by accident.
|KRNL-5677||Kernel||PAE kernel test|
Kernels with PAE support have additional security controls like No eXecute. When possible, it is advised to use such kernel. For other systems where it is not possible to run such kernel, this control might be hidden/ignored.
|KRNL-5788||Kernel||Linux kernel update available|
This control is for systems based on Debian/Ubuntu and tests the availability of a new Linux kernel. When an update is available, it's usually a security related update or an update to fix serious flaws.
|KRNL-5830||Kernel||Required system reboot|
If this test shows up, a reboot of the system is required. Schedule down time for a reboot.
|KRNL-6000||Kernel||Kernel sysctl values|
By means of sysctl values we can adjust kernel related parameters. Many of them are related to hardening of the network stack, how the kernel deals with processes or files. This control is a generic test with several sysctl variables (configured by the scan profile).
|LOGG-2138||Logging||Kernel logger (klogd)|
For most Linux systems the kernel log daemon is used. Newer Linux versions may not include this kernel logger, but have an alternative to capture kernel related events. In that case, this control can be ignored. For all other systems it is advised to check why the kernel log daemon is not running.
To prevent log data from being lost (e.g. destroyed on purpose), logging all data to a remote system is advised.
Deleted files may sometimes be in use by applications. While this is uncommon behavior, it's usually seen by malicious software to hide its presence on the system. Investigate the related files by determining which application keeps it open and the related reason.
This is a generic Lynis control (see details)
This test determines the status of AppArmor, on systems like Debian, Ubuntu, openSUSE, and others.
This test compares the SELinux system configuration with the actual status.
|MAIL-8818||Postfix information leakage|
To prevent announcing software or version to malicious people or scripts, it is advised to hide such information.
This set of individual tests perform Postfix testing.
|MALW-3280||Malware||Commercial anti-virus tool|
Depending on your requirements, use an anti-virus tool. While open source options are available, some companies or regulations require the usage of a well-tested anti-virus scanner.
|MALW-3286||Malware||Up-to-date ClamAV database|
This control checks if the ClamAV database is kept up-to-date with the freshclam utility.
|MALW-3288||Malware||ClamXav for Mac OS X|
This control checks if ClamXav is installed on Mac OS X
|NAME-4018||Networking||Search entries for name resolving|
A misconfigured resolver configuration may result in unexpected system behavior or a decrease in network performance. Worst case it may even make the system unavailable to other systems.
|NAME-4028||Nameservers||DNS domain name|
DNS resolving is part of the network functionality of systems. Properly configured network settings are needed for providing business services.
Unix based systems are usually part of a domain. This domain name is the DNS domain name of the company. Lynis tries to determine what domain name this is, by checking several configuration files. In case this control shows up, Lynis was unable to discover it properly. This might indicate a misconfiguration of the server, or an alternative configuration set-up being used. Check the system and network configuration for the possible cause.
The name or version of software should generally be hidden to external users of the software. In case of Bind, there is no clear benefit of revealing the version. To limit the risk of information leakage to malicious people or scripts, hide the Bind version.
|NAME-4402||Networking||Duplicate entries in hosts file|
This test found multiple duplicates in the hosts file
Add the IP name and FQDN to /etc/hosts for proper name resolving
|NAME-4406||Networking||Name resolving: local hostname|
For proper resolving, the entries of localhost and the local defined hostname, could be split. Especially with some middleware and some applications, resolving of the hostname to localhost, might confuse the software.
Nameservers, or DNS servers, are being used to do host resolving. They resolve a hostname like www.google.com into an IP address like 220.127.116.11. If one or more nameservers are not working as expected, it might influence the performance of the system and result in other unexpected issues.
|NETW-2705||Networking||Properly functioning name servers|
Connectivity is the central link for systems to communicate. Most communication occurs on layer 3 (network) for interconnected systems. There DNS resolving is very important for proper functioning.DNS resolving, while it is part of the basics, is often overlooked. To limit the chance of failure or bad performance, at least two working name servers are advised.Lynis tests the availability of name servers and if they actually respond to queries. To determine what DNS servers are used, consult the /etc/resolv.conf file.
When a network interface is actively listening it is in "promiscuous mode". This may happen when running a tool like tcpdump, an IDS, or some other software component.
|NETW-3028||Networking||Network connections in WAIT state|
When systems are exchanging data and one of them is waiting, the connection will be displayed as "WAIT" in netstat. In such case it's up to the systems to decide how long they want to keep the connection open, for possible new data. Too much waiting connections might have a bad influence on new connections, as the kernel needs to maintain a long list. If this control shows up, it's usually a matter of determining if the behavior is common and if related applications need to be fine-tuned.
Consider the usage of a tool which monitors ARP traffic
|PHP-2320||PHP||PHP disabled functions|
PHP enables system administrators to disable possible harmful functions. Depending on the software being used, many functions are not needed for proper functioning. An example of this would be the possibility to download a remote file via PHP, which is only needed in some applications.
|PHP-2372||PHP||PHP expose_php option|
Software in general should not display software names or versions to normal users of a service, to avoid information leakage.
|PHP-2374||PHP||Disable dynamic loading of modules|
This test determines if modules can be loaded with the ld() function
PHP allows file downloads with the allow_url_fopen setting. If not strictly needed for the applications running on the server, make sure this option is disabled.
PHP allows file downloads with the allow_url_include setting. If not strictly needed for the applications running on the server, make sure this option is disabled.
|PHP-2379||PHP||PHP Suhosin extension status|
This control checks for the presence of Suhosin.
Empty output of RPM command
|PKGS-7312||Software||Package updates for pacman based system|
This control shows up when there are update for systems running pacman.
|PKGS-7314||Software||Configuration of pacman (package manager)|
This control checks the configuration of pacman, a package manager used on Arch Linux.
|PKGS-7320||Software||Usage of arch-audit|
To determine which packages have a known vulnerability, consider using a tool like arch-audit.
|PKGS-7330||Software||Vulnerable Software Packages|
When this Lynis control is triggered, vulnerable software packages have been found on the system.
While not directly a security concern, unpurged packages are not installed but still have remains left on the system (e.g. configuration files). In case software is reinstalled, an old configuration might be applied. Proper cleanups are therefore advised.
|PKGS-7370||Software||Install debsums utility|
Install the debsums utility for additional checks.
|PKGS-7380||Software||NetBSD vulnerable packages|
Vulnerable packages are a serious risk for the stability and security of a system. When this control shows up, one or more vulnerable software packages have been found. These packages, especially when listening on a network interface, might be abused by attackers.
|PKGS-7382||Software||Vulnerable packages (portaudit)|
Portaudit tests packages on FreeBSD based systems and determines what software is vulnerable. Discovered software is a security risk and should be investigated.
|PKGS-7383||Software||No repolist on yum based system|
For systems using the yum package manager, a repolist is being checked. If not found, this might indicate that the system is not properly configured to receive updates. Check if yum is properly functioning and receiving package updates. Registration might be needed to fix this problem.
Install package 'yum-utils' for better consistency checking of the package database
Install package yum-plugin-security to maintain security updates easier
This control test if the software repositories via YUM are available. If not, it might be due to bad configuration (e.g. missing registration with RHN).
|PKGS-7388||Software||Security updates on Debian and others|
This control tests for the presence of a security repository in the updates. On most Debian based systems this line is there by default, to allow the installation of security patches. When this line is not available, it might indicate that this system does not receive security patches. An alternative is that it uses a merged tree, in that case this control should be ignored for this particular system.
Lynis tests for vulnerable packages, packages with known security flaws and which already have an update available.
|PKGS-7393||Software||Gentoo vulnerable packages|
This controls checks for vulnerable packages on Gentoo based systems
|PKGS-7394||Software||Ubuntu upgrade packages|
This control tests for available upgrades on Ubuntu. Depending on your software upgrade policy, determine if this control is too strict.
|PKGS-7398||Software||Package audit tool|
Most operating systems provide a tool to check for security packages, to fix vulnerable versions of installed software. When possible, install such tool.
|PRNT-2307||Printing||CUPS configuration file permissions|
The configuration file (cupsd.conf) should be have limited file permissions. This reduces who can see the configuration of the CUPS daemon. Generally it should not be readable for normal users.
|PRNT-2308||Printing||CUPS network configuration|
Depending on the usage of the CUPS daemon, listening on the network should be limited. If the daemon is used a local spooler, it should be configured to listen on localhost only.
This control tests for zombie processes
|PROC-3614||Processes||Processes waiting for IO|
This control checks if there are processes waiting for IO requests to finish. The availability and performance of a system might be in danger when it occurs too often. High IO might be caused due to high disk activity or in some cases network issues (high bandwidth usage, unstable connectivity).
|SCHD-7704||Scheduling||Permissions of cron jobs|
Lynis triggers this control when files have their file permissions set to a dangerous value. For example when everyone can write to them.
Consoles should be protected by only allowing access to single user mode by means of password authentication. Check consoles in /etc/ttys and adjust the related console with parameter 'secure' and mark them as 'insecure'.
|SHLL-6220||Shell||Idle session handling|
Depending on security requirements, idle sessions should be appropriately checked and dealt with.
|SHLL-6290||Shell||Shellshock vulnerability in Bash|
When this control shows up, Bash is vulnerable for one or more Shellshock related issues.
|SNMP-3306||SNMP||Easy guessable SNMP string|
Older protocol versions of SNMP provide no authentication or protection against data gathering via the network. By using easy guessable names, attackers may use SNMP to gather system details.
|SQD-3613||Squid||Squid configuration file permissions|
The configuration permissions of the Squid configuration file should be as strict as possible. By default it may be world readable, or worse.
|SQD-3630||Squid||Squid reply_body_max_size option|
Limit the upper size of replies within the Squid proxy configuration. This helps to protect resource exhaustion within Squid and thwart malicious attempts.
Proper hardening of your SSH configuration can reduce known weaknesses
|SSH-7412||SSH||SSH permit root login|
For proper authorization purposes, do not use direct root logins. Doing so, may result in actions being performed by administrators without any traceability. Also using root permissions directly might increase the risk of intrusion or availability. (e.g. brute force attacks on the password, account lockout)Unless the owner of each key is traceable, public key authentication can be considered.
|SSH-7416||SSH||StrictModes option in SSH|
SSH has the option to check for file permissions before use configuration and other files. With the StrictModes option, it will only use those files which are properly configured (e.g. not using chmod 777 applied).
|STRG-1840||Storage||USB storage drivers|
Disable drivers like USB storage when not used, to prevent unauthorized storage or data theft
|STRG-1846||Storage||Firewire storage drivers|
Disable drivers like firewire storage when not used, to prevent unauthorized storage or data theft
|STRG-1930||Storage||Limit NFS access to exported filesystems|
When possible, limit the access to NFS exports. If all clients need to access the related NFS exports, then this control might be considered as too strict and should be hidden.
|TIME-3104||Time||Running NTP daemon |
Proper time synchronization is important for authentication services, forensics and troubleshooting. Therefore a time daemon (like ntpd) should be running, or a scheduled task to sync time (like ntpdate).
|TIME-3106||Time||Check status of timedatectl|
NTP is enabled, however timedatectl is not syncing time
|TIME-3116||Time||Stratum 16 servers|
Time servers are used to sync the time with the host. When a used server is not properly configured or not working, it will be listed as a stratum 16 server, giving it a very low priority. Usually when finding a server with a value of 16, the server should be checked or replaced with an alternative server.
|TIME-3120||Time||Reliability of NTP servers|
Lynis tests if the used NTP server candidates are reliable enough to be used. If items show up with a dash or minus, they are unreliable and should be checked or replaced.
The NTP configuration and time synchronization in particular, is important for systems. It helps with properly logging the actual time, which is needed for many services. Having the right time is also important for accounting purposes and forensics.
|TIME-3124||Time||NTP time local source used|
When only a local source is being used on a system, it might indicate that external sources are not reachable or usable.
The NTP configuration and time synchronization in particular, is important for systems. It helps with properly logging the actual time, which is needed for many services. Having the right time is also important for accounting purposes and forensics.
Check the NTP configuration of this system to determine the cause of this finding.
|TIME-3128||Time||NTP time source candidates|
Lynis checks if the NTP time source candidates can be found in the peers overview. If not, then the configuration usually needs to be checked and updated. Differences between the active configuration and the one stored on disk, may result in a non-functional NTP configuration after reboot.
False-tickers are NTP sources which do not work properly (e.g. non-functional, time not accurate). Lynis checks for false-tickers to prevent systems using bad sources for time synchronization. This may otherwise result in incorrect timestamps in log files and accounting data.
|TIME-3136||Time||NTP protocol version|
The NTP protocol version is gathered by Lynis as an informational test. Only when Lynis is not being able to detect the version, it will provide a suggestion to check it manually.
|TIME-3160||Time||NTP step-tickers configuration|
Lynis checks if step-tickers are configured in /etc/ntp/step-tickers and compares them with the list of servers in the general NTP configuration file.
|TOOL-5002||Tooling||Check for automation tools|
This control checks if there are tools installed which help with automating system management. This increases integrity and stability of systems, by keep systems equally managed and configured, with only minor exceptions depending on the role of the machine.
|TOOL-5102||Tooling||Presence of fail2ban|
This test checks if fail2ban is used
|TOOL-5104||Tooling||All fail2ban jails are disabled|
Lynis triggers this control when none of the jails within fail2ban are enabled.