Twitter icon for CISOfy handle Facebook icon for CISOfy page Google+ icon for CISOfy plus page

Lynis Security Controls


Security Controls: Overview

FreeBSD process accounting Category Control
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 ACCT-2754
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Linux process accounting Category Control
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 ACCT-9622
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Sysstat accounting data Category Control
Sysstat collects system information Accounting ACCT-9626
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Audit daemon status Category Control
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 ACCT-9628
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Empty Linux daemon ruleset Category Control
This control checks for an empty ruleset of the Linux audit daemon. Accounting ACCT-9630
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Auditd configuration file location Category Control
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 ACCT-9632
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Linux audit trail (Snoopy) Category Control
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 ACCT-9636
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Multiple users with uid 0 Category Control
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 AUTH-9204
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Duplicate accounts or IDs Category Control
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 AUTH-9208
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Consistency of password/group files Category Control
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 AUTH-9216
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Accounts without password Category Control
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 AUTH-9218
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

PAM password strengthening tools Category Control
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 AUTH-9262
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Passwords (expire date) Category Control
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 AUTH-9282
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Passwords (no password set) Category Control
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 AUTH-9283
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

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

Protect single user mode Category Control
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 AUTH-9308
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Default umask Category Control
The umask defines what default file permissions will be applied on a file or directory. Authentication AUTH-9328
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

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

Banner /etc/issue Category Control
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 BANN-7126
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Banner /etc/issue.net Category Control
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 BANN-7130
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

GRUB boot loader check Category Control
Check if GRUB boot loader exists Boot BOOT-5121
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Set bootloader password Category Control
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 BOOT-5122
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

LILO bootloader password Category Control
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 BOOT-5139
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Linux boot services (Debian) Category Control
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 BOOT-5180
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Writable start-up scripts Category Control
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 BOOT-5184
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Expiry of certificates Category Control
Certificates have a begin and end date configured to prevent misuse of expired certificates. Crypto CRYP-7902
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Swap in /etc/fstab Category Control
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 FILE-6332
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Separation of partitions Category Control
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 FILE-6310
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Old files in /tmp Category Control
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 FILE-6354
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Locate database Category Control
When locate has been found, Lynis checks for the related database. File Integrity FILE-6410
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

File permissions Category Control
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 FILE-7524
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Install a file integrity tool Category Control
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 FINT-4350
Cfengine Chef Shell script Puppet Effort Risk
- - tick tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Unused iptables rules Category Control
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 FIRE-4513
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

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

Limit access to compilers Category Control
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 HRDN-7220
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Permissions on installed compilers Category Control
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 HRDN-7222
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

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

Presence malware scanner Category Control
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 HRDN-7230
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Commercial anti-virus tool Category Control
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 MALW-3280
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

ClamXav for Mac OS X Category Control
This control checks if ClamXav is installed on Mac OS X Malware MALW-3288
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

DNS domain name Category Control
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 NAME-4028
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Bind version Category Control
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 NAME-4210
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Properly functioning name servers Category Control
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. Nameservers NETW-2705
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

CUPS network configuration Category Control
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 PRNT-2308
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Processes waiting for IO Category Control
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 PROC-3614
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Idle session handling Category Control
Depending on security requirements, idle sessions should be appropriately checked and dealt with. Shell SHLL-6220
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

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

Package updates for pacman based system Category Control
This control shows up when there are update for systems running pacman. Software PKGS-7312
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

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

NetBSD vulnerable packages Category Control
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 PKGS-7380
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Gentoo vulnerable packages Category Control
This controls checks for vulnerable packages on Gentoo based systems Software PKGS-7393
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

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

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

SSH permit root login Category Control
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 SSH-7412
Cfengine Chef Shell script Puppet Effort Risk
- - tick tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Reliability of NTP servers Category Control
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 TIME-3120
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

NTP time local source used Category Control
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 TIME-3124
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

NTP time source candidates Category Control
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 TIME-3128
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

NTP false-tickers Category Control
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 TIME-3132
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

NTP protocol version Category Control
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 TIME-3136
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

NTP step-tickers configuration Category Control
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 TIME-3160
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Check for automation tools Category Control
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 TOOL-5002
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Empty iptables ruleset Category Control
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. Uncategorized FIRE-4512
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Log file configuration in nginx Category Control
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. Uncategorized HTTP-6712
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Inetd configuration Category Control
When inetd is not used in production, remove it all together, or make sure no entries can be started by accident. Uncategorized INSE-8006
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

PAE kernel test Category Control
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. Uncategorized KRNL-5677
Cfengine Chef Shell script Puppet Effort Risk
tick tick - tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Linux kernel update available Category Control
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. Uncategorized KRNL-5788
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Kernel sysctl values Category Control
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). Uncategorized KRNL-6000
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Kernel logger (klogd) Category Control
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. Uncategorized LOGG-2138
Cfengine Chef Shell script Puppet Effort Risk
tick tick - tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Remote syslogging Category Control
To prevent log data from being lost (e.g. destroyed on purpose), logging all data to a remote system is advised. Uncategorized LOGG-2154
Cfengine Chef Shell script Puppet Effort Risk
tick tick - tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Deleted files Category Control
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. Uncategorized LOGG-2190
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Postfix information leakage Category Control
To prevent announcing software or version to malicious people or scripts, it is advised to hide such information. Uncategorized MAIL-8818
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Name resolving Category Control
Add the IP name and FQDN to /etc/hosts for proper name resolving Uncategorized NAME-4404
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Name resolving: local hostname Category Control
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. Uncategorized NAME-4406
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Nameserver configuration Category Control
Nameservers are being used to do host resolving. If one or more nameservers are not working as expected, it might influence the performance of the system and result in other unexpected issues. Uncategorized NETW-2704
Cfengine Chef Shell script Puppet Effort Risk
tick tick - tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Network connections in WAIT state Category Control
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. Uncategorized NETW-3028
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

PHP disabled functions Category Control
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. Uncategorized PHP-2320
Cfengine Chef Shell script Puppet Effort Risk
tick tick - tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

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

PHP allow_url_fopen Category Control
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. Uncategorized PHP-2376
Cfengine Chef Shell script Puppet Effort Risk
tick tick - tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

PHP allow_url_include Category Control
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. Uncategorized PHP-2378
Cfengine Chef Shell script Puppet Effort Risk
tick tick - tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Unpurged packages Category Control
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. Uncategorized PKGS-7346
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Vulnerable packages (portaudit) Category Control
Portaudit tests packages on FreeBSD based systems and determines what software is vulnerable. Discovered software is a security risk and should be investigated. Uncategorized PKGS-7382
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

No repolist on yum based system Category Control
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. Uncategorized PKGS-7383
Cfengine Chef Shell script Puppet Effort Risk
tick tick - tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

yum-utils package Category Control
Install package 'yum-utils' for better consistency checking of the package database Uncategorized PKGS-7384
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

yum-plugin-security Category Control
Install package yum-plugin-security to maintain security updates easier Uncategorized PKGS-7386
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

YUM repositories Category Control
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). Uncategorized PKGS-7387
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Security updates on Debian and others Category Control
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. Uncategorized PKGS-7388
Cfengine Chef Shell script Puppet Effort Risk
tick tick - tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Vulnerable packages Category Control
Lynis tests for vulnerable packages, packages with known security flaws and which already have an update available. Uncategorized PKGS-7392
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Ubuntu upgrade packages Category Control
This control tests for available upgrades on Ubuntu. Depending on your software upgrade policy, determine if this control is too strict. Uncategorized PKGS-7394
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Package audit tool Category Control
Most operating systems provide a tool to check for security packages, to fix vulnerable versions of installed software. When possible, install such tool. Uncategorized PKGS-7398
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

CUPS configuration file permissions Category Control
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. Uncategorized PRNT-2307
Cfengine Chef Shell script Puppet Effort Risk
- - tick -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Insecure console Category Control
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'. Uncategorized SHLL-6202
Cfengine Chef Shell script Puppet Effort Risk
tick tick tick tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

USB storage drivers Category Control
Disable drivers like USB storage when not used, to prevent unauthorized storage or data theft Uncategorized STRG-1840
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Firewire storage drivers Category Control
Disable drivers like firewire storage when not used, to prevent unauthorized storage or data theft Uncategorized STRG-1846
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

Limit NFS access to exported filesystems Category Control
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. Uncategorized STRG-1930
Cfengine Chef Shell script Puppet Effort Risk
tick tick - tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Running NTP daemon Category Control
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). Uncategorized TIME-3104
Cfengine Chef Shell script Puppet Effort Risk
tick tick - tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

Stratum 16 servers Category Control
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. Uncategorized TIME-3116
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

mod_evasive module Category Control
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 HTTP-6640
Cfengine Chef Shell script Puppet Effort Risk
tick tick - tick
1 2 3 4 5
1 2 3 4 5
More information available: See details

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

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

mod_security module Category Control
Module for webservers to act as a web application firewall. Web HTTP-6643
Cfengine Chef Shell script Puppet Effort Risk
- - - -
1 2 3 4 5
1 2 3 4 5
More information available: See details

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


Security Controls: Details

Users of Lynis Enterprise Suite will see more details for each control.
This includes implementation tips, code snippets and control ratings (effort/risk).

Additional benefits:
- Extensive details regarding each control
- See implementation risk and effort for each control
- Most controls have easy to use shell scripts to solve findings
- Optional snippets (e.g. Puppet) for users of the Plus/Premium package
Already Lynis Enterprise user? Please login.