Lynis Controls



Security Controls

[ACCT-2754] FreeBSD process accounting Category  
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. Accounting
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[ACCT-9622] Linux process accounting Category  
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. Accounting
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[ACCT-9626] Sysstat accounting data Category  
Sysstat collects system information Accounting
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[ACCT-9628] Audit daemon status Category  
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. Accounting
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[ACCT-9630] Empty Linux audit daemon ruleset Category  
This control checks for an empty ruleset of the Linux audit daemon. Accounting
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[ACCT-9632] Auditd configuration file location Category  
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. Accounting
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[ACCT-9636] Linux audit trail (Snoopy) Category  
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. Accounting
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[AUTH-9204] Multiple users with uid 0 Category  
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. Authentication
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[AUTH-9208] Duplicate accounts or IDs Category  
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. Authentication
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[AUTH-9216] Consistency of password/group files Category  
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. Authentication
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[AUTH-9218] Accounts without password Category  
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. Authentication
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[AUTH-9222] Unique authentication groups Category  
Groups should be unique to ensure each user has the appropriate permissions. Authentication
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[AUTH-9228] Linux password file consistency Category  
Password files like /etc/passwd and /etc/shadow should be checked on a regular basis to see if any errors are present. Authentication
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[AUTH-9262] PAM password strengthening tools Category  
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). Authentication
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[AUTH-9282] Passwords (expire date) Category  
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. Authentication
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[AUTH-9283] Passwords (no password set) Category  
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. Authentication
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[AUTH-9286] Password aging Category  
Proper protection against weak passwords and regular changes, limits the risk of cracking passwords or being obtained by unauthorized people. Authentication
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[AUTH-9308] Protect single user mode Category  
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. Authentication
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[AUTH-9328] Default umask Category  
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). Authentication
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[BANN-7122] Banner in /etc/motd Category  
Authorized and unauthorized users should know that the system is monitored and deter unauthorized users from attempting to log in. Banner
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[BANN-7126] Banner /etc/issue Category  
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. Banner
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[BANN-7130] Banner /etc/issue.net Category  
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. Banner
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[BOOT-5121] GRUB boot loader check Category  
Check if GRUB boot loader exists Boot
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[BOOT-5122] Set boot loader password Category  
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
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[BOOT-5139] LILO bootloader password Category  
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
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[BOOT-5180] Linux boot services (Debian) Category  
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
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[BOOT-5184] Writable start-up scripts Category  
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
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[BOOT-5260] Single user mode for systemd Category  
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. Authentication
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[CONT-8104] Docker warnings Category  
Docker should preferably run without any warnings. Containers
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[CRYP-7902] Expiry of certificates Category  
Certificates have a begin and end date configured to prevent misuse of expired certificates. Crypto
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[DBS-1816] Empty root password for MySQL Category  
No password has been set for MySQL 'root' user Database
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[DBS-1882] Redis configuration file Category  
This Lynis control tests for file permissions of the Redis configuration file. Database
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[DBS-1884] Redis 'requirepass' option Category  
Require a password for Redis instances to prevent unauthorized connections from connecting to your Redis instances. Database
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[DBS-1886] Redis CONFIG parameter Category  
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. Database
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[DEB-0280] Invalid test Category  
Invalid test Other
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[DEB-0285] Invalid test Category  
Invalid test Other
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[DEB-0520] Invalid test Category  
Invalid test Other
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[DEB-0870] Invalid test Category  
Invalid test Other
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[DEB-0880] Invalid test Category  
Invalid test Other
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[FILE-6310] Separation of partitions Category  
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 Integrity
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[FILE-6332] Swap in /etc/fstab Category  
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 Integrity
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[FILE-6336] Swap partition options Category  
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 Integrity
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[FILE-6344] Restricting process details to users Category  
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 Systems
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[FILE-6354] Old files in /tmp Category  
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 Integrity
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[FILE-6362] Sticky bit on /tmp Category  
Check if a sticky bit is set on /tmp File Systems
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[FILE-6410] Locate database Category  
When locate has been found, Lynis checks for the related database. File Integrity
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[FILE-7524] File permissions Category  
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. File Integrity
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[FINT-4315] AIDE configuration check Category  
AIDE configuration errors were found File Integrity
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[FINT-4350] Install a file integrity tool Category  
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. File Integrity
Cfengine Chef Shell script Puppet Effort Risk
    tick tick
1 2 3 4 5
1 2 3 4 5

[FINT-4402] Usage of SHA256/SHA512 in AIDE configuration Category  
This check found that SHA256 or SHA512 were not used to create hashes of files. File Integrity
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[FIRE-4512] Empty iptables ruleset Category  
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. Firewall
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[FIRE-4513] Unused iptables rules Category  
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. Firewall
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[FIRE-4520] Configuration warnings in pf firewall Category  
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. Networking
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[FIRE-4590] Active firewall Category  
Depending on the type of system and sensitivity of the data being stored and processed, a firewall is advised. Firewall
Cfengine Chef Shell script Puppet Effort Risk
tick tick   tick
1 2 3 4 5
1 2 3 4 5

[HRDN-7220] Limit access to compilers Category  
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. Hardening
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[HRDN-7222] Permissions on installed compilers Category  
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). Hardening
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[HRDN-7230] Presence malware scanner Category  
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. Malware
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[HTTP-6640] mod_evasive module Category  
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. Web
Cfengine Chef Shell script Puppet Effort Risk
tick tick   tick
1 2 3 4 5
1 2 3 4 5

[HTTP-6641] mod_qos module Category  
Module to protect against SlowLoris attack, especially useful for webservers which are available from public networks. Web
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[HTTP-6642] mod_spamhaus module Category  
Module against spammers, useful for webservers which are available from public networks. Web
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[HTTP-6643] mod_security module Category  
Module for webservers to act as a web application firewall. Web
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[HTTP-6710] SSL configuration in nginx Category  
To protect the privacy of users, including sniffing of sensitive data on networks, enable SSL/TLS in nginx. Web
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[HTTP-6712] Log file configuration in nginx Category  
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. Web
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[HTTP-6714] Missing error logs in nginx Category  
This test searches for the presence of error logs. Web
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[INSE-8006] Inetd configuration Category  
When inetd is not used in production, remove it all together, or make sure no entries can be started by accident. Hardening
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[KRNL-5677] PAE kernel test Category  
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. Kernel
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[KRNL-5788] Linux kernel update available Category  
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. Kernel
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[KRNL-5830] Required system reboot Category  
If this test shows up, a reboot of the system is required. Schedule down time for a reboot. Kernel
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[KRNL-6000] Kernel sysctl values Category  
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). Kernel
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[LOGG-2138] Kernel logger (klogd) Category  
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. Logging
Cfengine Chef Shell script Puppet Effort Risk
tick tick   tick
1 2 3 4 5
1 2 3 4 5

[LOGG-2154] Remote syslogging Category  
To prevent log data from being lost (e.g. destroyed on purpose), logging all data to a remote system is advised. Logging
Cfengine Chef Shell script Puppet Effort Risk
tick tick   tick
1 2 3 4 5
1 2 3 4 5

[LOGG-2190] Deleted files Category  
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. Logging
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[LYNIS] Generic Lynis Category  
This is a generic Lynis control (see details) Other
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[MACF-6208] AppArmor status Category  
This test determines the status of AppArmor, on systems like Debian, Ubuntu, openSUSE, and others. Framework
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[MACF-6234] SELinux status Category  
This test compares the SELinux system configuration with the actual status. Framework
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[MAIL-8818] Postfix information leakage Category  
To prevent announcing software or version to malicious people or scripts, it is advised to hide such information. Mail
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[MALW-3280] Commercial anti-virus tool Category  
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. Malware
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[MALW-3286] Up-to-date ClamAV database Category  
This control checks if the ClamAV database is kept up-to-date with the freshclam utility. Malware
Cfengine Chef Shell script Puppet Effort Risk
tick   tick  
1 2 3 4 5
1 2 3 4 5

[MALW-3288] ClamXav for Mac OS X Category  
This control checks if ClamXav is installed on Mac OS X Malware
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[NAME-4018] Search entries for name resolving Category  
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. Networking
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[NAME-4028] DNS domain name Category  
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. Nameservers
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[NAME-4210] Bind version Category  
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. Nameservers
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[NAME-4402] Duplicate entries in hosts file Category  
This test found multiple duplicates in the hosts file Networking
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[NAME-4404] Name resolving Category  
Add the IP name and FQDN to /etc/hosts for proper name resolving Networking
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[NAME-4406] Name resolving: local hostname Category  
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. Networking
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[NETW-2704] Nameserver configuration Category  
Nameservers, or DNS servers, are being used to do host resolving. They resolve a hostname like www.google.com into an IP address like 74.135.133.72. If one or more nameservers are not working as expected, it might influence the performance of the system and result in other unexpected issues. Networking
Cfengine Chef Shell script Puppet Effort Risk
tick tick   tick
1 2 3 4 5
1 2 3 4 5

[NETW-2705] Properly functioning name servers Category  
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. Networking
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[NETW-3014] Promiscuous interfaces Category  
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. Networking
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[NETW-3028] Network connections in WAIT state Category  
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. Networking
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[NETW-3032] ARP monitoring Category  
Consider the usage of a tool which monitors ARP traffic Networking
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[PHP-2320] PHP disabled functions Category  
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
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[PHP-2372] PHP expose_php option Category  
Software in general should not display software names or versions to normal users of a service, to avoid information leakage. PHP
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[PHP-2374] Disable dynamic loading of modules Category  
This test determines if modules can be loaded with the ld() function PHP
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[PHP-2376] PHP allow_url_fopen Category  
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
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[PHP-2378] PHP allow_url_include Category  
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
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[PKGS-7308] RPM output Category  
Empty output of RPM command Software
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[PKGS-7312] Package updates for pacman based system Category  
This control shows up when there are update for systems running pacman. Software
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[PKGS-7314] Configuration of pacman (package manager) Category  
This control checks the configuration of pacman, a package manager used on Arch Linux. Software
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[PKGS-7320] Usage of arch-audit Category  
To determine which packages have a known vulnerability, consider using a tool like arch-audit. Software
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[PKGS-7330] Vulnerable Software Packages Category  
When this Lynis control is triggered, vulnerable software packages have been found on the system. Software
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[PKGS-7346] Unpurged packages Category  
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. Software
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[PKGS-7370] Install debsums utility Category  
Install the debsums utility for additional checks. Software
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[PKGS-7380] NetBSD vulnerable packages Category  
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. Software
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[PKGS-7382] Vulnerable packages (portaudit) Category  
Portaudit tests packages on FreeBSD based systems and determines what software is vulnerable. Discovered software is a security risk and should be investigated. Software
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[PKGS-7383] No repolist on yum based system Category  
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. Software
Cfengine Chef Shell script Puppet Effort Risk
tick tick   tick
1 2 3 4 5
1 2 3 4 5

[PKGS-7384] yum-utils package Category  
Install package 'yum-utils' for better consistency checking of the package database Software
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[PKGS-7386] yum-plugin-security Category  
Install package yum-plugin-security to maintain security updates easier Software
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[PKGS-7387] YUM repositories Category  
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). Software
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[PKGS-7388] Security updates on Debian and others Category  
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. Software
Cfengine Chef Shell script Puppet Effort Risk
tick tick   tick
1 2 3 4 5
1 2 3 4 5

[PKGS-7392] Vulnerable packages Category  
Lynis tests for vulnerable packages, packages with known security flaws and which already have an update available. Software
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[PKGS-7393] Gentoo vulnerable packages Category  
This controls checks for vulnerable packages on Gentoo based systems Software
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[PKGS-7394] Ubuntu upgrade packages Category  
This control tests for available upgrades on Ubuntu. Depending on your software upgrade policy, determine if this control is too strict. Software
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[PKGS-7398] Package audit tool Category  
Most operating systems provide a tool to check for security packages, to fix vulnerable versions of installed software. When possible, install such tool. Software
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[PRNT-2307] CUPS configuration file permissions Category  
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. Printing
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[PRNT-2308] CUPS network configuration Category  
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. Printing
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[PROC-3612] Zombie processes Category  
This control tests for zombie processes Processes
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[PROC-3614] Processes waiting for IO Category  
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). Processes
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[SCHD-7704] Permissions of cron jobs Category  
Lynis triggers this control when files have their file permissions set to a dangerous value. For example when everyone can write to them. Scheduling
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[SHLL-6202] Insecure console Category  
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'. Shell
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[SHLL-6220] Idle session handling Category  
Depending on security requirements, idle sessions should be appropriately checked and dealt with. Shell
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[SHLL-6290] Shellshock vulnerability in Bash Category  
When this control shows up, Bash is vulnerable for one or more Shellshock related issues. Shell
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[SNMP-3306] Easy guessable SNMP string Category  
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. SNMP
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[SQD-3613] Squid configuration file permissions Category  
The configuration permissions of the Squid configuration file should be as strict as possible. By default it may be world readable, or worse. Squid
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[SQD-3630] Squid reply_body_max_size option Category  
Limit the upper size of replies within the Squid proxy configuration. This helps to protect resource exhaustion within Squid and thwart malicious attempts. Squid
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[SSH-7408] SSH configuration Category  
Proper hardening of your SSH configuration can reduce known weaknesses SSH
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[SSH-7412] SSH permit root login Category  
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
Cfengine Chef Shell script Puppet Effort Risk
    tick tick
1 2 3 4 5
1 2 3 4 5

[SSH-7416] StrictModes option in SSH Category  
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). SSH
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[STRG-1840] USB storage drivers Category  
Disable drivers like USB storage when not used, to prevent unauthorized storage or data theft Storage
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[STRG-1846] Firewire storage drivers Category  
Disable drivers like firewire storage when not used, to prevent unauthorized storage or data theft Storage
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[STRG-1930] Limit NFS access to exported filesystems Category  
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. Storage
Cfengine Chef Shell script Puppet Effort Risk
tick tick   tick
1 2 3 4 5
1 2 3 4 5

[TIME-3104] Running NTP daemon Category  
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
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[TIME-3106] Check status of timedatectl Category  
NTP is enabled, however timedatectl is not syncing time Time
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[TIME-3116] Stratum 16 servers Category  
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
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[TIME-3120] Reliability of NTP servers Category  
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
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[TIME-3124] NTP time local source used Category  
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
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[TIME-3128] NTP time source candidates Category  
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. Time
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[TIME-3132] NTP false-tickers Category  
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
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[TIME-3136] NTP protocol version Category  
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
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[TIME-3160] NTP step-tickers configuration Category  
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. Time
Cfengine Chef Shell script Puppet Effort Risk
    tick  
1 2 3 4 5
1 2 3 4 5

[TOOL-5002] Check for automation tools Category  
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. Tooling
Cfengine Chef Shell script Puppet Effort Risk
       
1 2 3 4 5
1 2 3 4 5

[TOOL-5102] Presence of fail2ban Category  
This test checks if fail2ban is used Tooling
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5

[TOOL-5104] All fail2ban jails are disabled Category  
Lynis triggers this control when none of the jails within fail2ban are enabled. Tooling
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5