Lynis security controls



Controls

ControlCategoryDescription
ACCT-2754AccountingFreeBSD 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-9622AccountingLinux 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-9626AccountingSysstat accounting data

Sysstat collects system information

ACCT-9628AccountingAudit 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-9630AccountingEmpty Linux audit daemon ruleset

This control checks for an empty ruleset of the Linux audit daemon.

ACCT-9632AccountingAuditd 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-9636AccountingLinux 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-9204AuthenticationMultiple 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-9208AuthenticationDuplicate 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-9216AuthenticationConsistency 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-9218AuthenticationAccounts 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-9222AuthenticationUnique authentication groups

Groups should be unique to ensure each user has the appropriate permissions.

AUTH-9228AuthenticationLinux 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-9262AuthenticationPAM 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-9282AuthenticationPasswords (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-9283AuthenticationPasswords (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.

AUTH-9286AuthenticationPassword aging

Proper protection against weak passwords and regular changes, limits the risk of cracking passwords or being obtained by unauthorized people.

AUTH-9288AuthenticationExpired passwords

Some accounts have been found with an expired password.

AUTH-9308AuthenticationProtect 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.

AUTH-9328AuthenticationDefault umask

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-7122BannerBanner in /etc/motd

Authorized and unauthorized users should know that the system is monitored and deter unauthorized users from attempting to log in.

BANN-7126BannerBanner /etc/issue

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.

BANN-7130BannerBanner /etc/issue.net

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-5121BootGRUB boot loader check

Check if GRUB boot loader exists

BOOT-5122BootSet 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-5139BootLILO 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-5180BootLinux 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-5184BootWritable 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-5260AuthenticationSingle 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.

CONT-8104ContainersDocker warnings

Docker should preferably run without any warnings.

CONT-8107ContainersNumber of unused Docker containers

This Lynis test determines the number of containers that are stopped.

CRYP-7902CryptoExpiry of certificates

Certificates have a begin and end date configured to prevent misuse of expired certificates.

DBS-1816DatabaseEmpty root password for MySQL

No password has been set for MySQL 'root' user

DBS-1820DatabasesCheck empty MongoDB authorization

This control is displayed when no configured authorization mechanism was found on MongoDB.

DBS-1882DatabaseRedis configuration file

This Lynis control tests for file permissions of the Redis configuration file.

DBS-1884DatabaseRedis 'requirepass' option

Require a password for Redis instances to prevent unauthorized connections from connecting to your Redis instances.

DBS-1886DatabaseRedis 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.

DBS-1888DatabaseRedis bind on localhost

This test determines if the 'bind' setting has been configured to listen on the localhost.

DEB-0280OtherInvalid test

Invalid test

DEB-0285OtherInvalid test

Invalid test

DEB-0520OtherInvalid test

Invalid test

DEB-0870OtherInvalid test

Invalid test

DEB-0880OtherInvalid test

Invalid test

FILE-6310File IntegritySeparation 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-6332File IntegritySwap 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-6336File IntegritySwap 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-6344File SystemsRestricting 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-6354File IntegrityOld 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-6362File SystemsSticky bit on /tmp

Check if a sticky bit is set on /tmp

FILE-6410File IntegrityLocate database

When locate has been found, Lynis checks for the related database.

FILE-7524File IntegrityFile 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-4315File IntegrityAIDE configuration check

AIDE configuration errors were found

FINT-4350File IntegrityInstall 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-4402File IntegrityUsage of SHA256/SHA512 in AIDE configuration

This check found that SHA256 or SHA512 were not used to create hashes of files.

FIRE-4512FirewallEmpty 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-4513FirewallUnused 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-4520NetworkingConfiguration 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.

FIRE-4590FirewallActive firewall

Depending on the type of system and sensitivity of the data being stored and processed, a firewall is advised.

GEN-0010GenericOperating system end-of-life

The operating system is end-of-life and does no longer receive updates

GEN-0020GenericOld-style configuration found

Your profile contains one or more lines that are in the old configuration format (key:value).

HRDN-7220HardeningLimit 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-7222HardeningPermissions 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-7230MalwarePresence 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.

HTTP-6640Webmod_evasive module

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.

HTTP-6641Webmod_qos module

Module to protect against SlowLoris attack, especially useful for webservers which are available from public networks.

HTTP-6642Webmod_spamhaus module

Module against spammers, useful for webservers which are available from public networks.

HTTP-6643Webmod_security module

Module for webservers to act as a web application firewall.

HTTP-6710WebSSL configuration in nginx

To protect the privacy of users, including sniffing of sensitive data on networks, enable SSL/TLS in nginx.

HTTP-6712WebLog 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-6714WebMissing error logs in nginx

This test searches for the presence of error logs.

HTTP-6716Web servicesNginx error_log in debugging mode

This test shows up when one or more lines have 'debug' for the error_log configuration in nginx.

INSE-8000Insecure servicesInstalled inetd package

This test determines if the inetd package is installed.

INSE-8002Insecure servicesStatus of inet daemon

This test determines if the inet daemon is active.

INSE-8006Insecure servicesInetd configuration

When inetd is not used in production, remove it all together, or make sure no entries can be started by accident.

INSE-8116Insecure servicesInsecure services enabled via xinetd

Discover the usage of insecure services via xinetd configuration.

INSE-8300Insecure servicesPresence of rsh client

This test determines if the rsh client tool is installed.

INSE-8302Insecure servicesPresence of rsh server

This test looks in the installed packages for the presence of the rsh server package.

KRNL-5677KernelPAE 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-5788KernelLinux 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-5820KernelUsage of core dumps

Lynis tests if core dumps are enabled on the system.

KRNL-5830KernelRequired system reboot

If this test shows up, a reboot of the system is required. Schedule down time for a reboot.

KRNL-6000KernelKernel 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-2138LoggingKernel 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.

LOGG-2154LoggingRemote syslogging

To prevent log data from being lost (e.g. destroyed on purpose), logging all data to a remote system is advised.

LOGG-2190LoggingDeleted files

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.

LYNISOtherGeneric Lynis

This is a generic Lynis control (see details)

MACF-6208FrameworkAppArmor status

This test determines the status of AppArmor, on systems like Debian, Ubuntu, openSUSE, and others.

MACF-6234FrameworkSELinux status

This test compares the SELinux system configuration with the actual status.

MAIL-8818MailPostfix information leakage

To prevent announcing software or version to malicious people or scripts, it is advised to hide such information.

MAIL-8820MailPostfix hardening

This set of individual tests perform Postfix testing.

MALW-3280MalwareCommercial 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-3286MalwareUp-to-date ClamAV database

This control checks if the ClamAV database is kept up-to-date with the freshclam utility.

MALW-3288MalwareClamXav for Mac OS X

This control checks if ClamXav is installed on Mac OS X

NAME-4018NetworkingSearch 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-4028NameserversDNS 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.

NAME-4206NameserversValidation of bind configuration file

Test the configuration of bind configuration for errors or warnings.

NAME-4210NameserversBind version

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-4402NetworkingDuplicate entries in hosts file

This test found multiple duplicates in the hosts file

NAME-4404NetworkingName resolving

Add the IP name and FQDN to /etc/hosts for proper name resolving

NAME-4406NetworkingName 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.

NETW-2704NetworkingNameserver configuration

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.

NETW-2705NetworkingProperly 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.

NETW-3014NetworkingPromiscuous interfaces

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-3015NetworkingPromiscuous network interface (Linux)

This test determines which network interfaces are in a listening state (promiscuous).

NETW-3028NetworkingNetwork 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.

NETW-3032NetworkingARP monitoring

Consider the usage of a tool which monitors ARP traffic

NETW-3200UncategorizedDisable unused network protocols

This test checks for several network protocols that are uncommon and are only used in very specific cases. Therefore they are usually safe to disable, to ensure they can't be used or misused.

PHP-2320PHPPHP 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-2372PHPPHP expose_php option

Software in general should not display software names or versions to normal users of a service, to avoid information leakage.

PHP-2374PHPDisable dynamic loading of modules

This test determines if modules can be loaded with the ld() function

PHP-2376PHPPHP allow_url_fopen

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-2378PHPPHP allow_url_include

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-2379PHPPHP Suhosin extension status

This control checks for the presence of Suhosin.

PKGS-7308SoftwareRPM output

Empty output of RPM command

PKGS-7312SoftwarePackage updates for pacman based system

This control shows up when there are update for systems running pacman.

PKGS-7314SoftwareConfiguration of pacman (package manager)

This control checks the configuration of pacman, a package manager used on Arch Linux.

PKGS-7320SoftwareUsage of arch-audit

To determine which packages have a known vulnerability, consider using a tool like arch-audit.

PKGS-7322SoftwareArch Linux vulnerable packages

The arch-audit tool may have discovered some vulnerable packages.

PKGS-7330SoftwareVulnerable Software Packages

When this Lynis control is triggered, vulnerable software packages have been found on the system.

PKGS-7346SoftwareUnpurged packages

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-7348SoftwareUnused distfiles

Lynis tests for unused distfiles on FreeBSD systems

PKGS-7370SoftwareInstall debsums utility

Install the debsums utility for additional checks.

PKGS-7380SoftwareNetBSD 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-7382SoftwareVulnerable 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-7383SoftwareNo 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.

PKGS-7384Softwareyum-utils package

Install package 'yum-utils' for better consistency checking of the package database

PKGS-7386Softwareyum-plugin-security

Install package yum-plugin-security to maintain security updates easier

PKGS-7387SoftwareYUM repositories

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-7388SoftwareSecurity 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.

PKGS-7392SoftwareVulnerable packages

Lynis tests for vulnerable packages, packages with known security flaws and which already have an update available.

PKGS-7393SoftwareGentoo vulnerable packages

This controls checks for vulnerable packages on Gentoo based systems

PKGS-7394SoftwareUbuntu upgrade packages

This control tests for available upgrades on Ubuntu. Depending on your software upgrade policy, determine if this control is too strict.

PKGS-7398SoftwarePackage 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.

PKGS-7410SoftwareNumber of installed kernel packages

Most Linux distributions use a kernel package to easily allow upgrading it when bugs or security flaws were found. This test determines the number of installed packages.

PKGS-7420SoftwareToolkit for unattended upgrades

This Lynis test determines if there is a toolkit installed to automatically download and apply upgrades.

PRNT-2307PrintingCUPS 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-2308PrintingCUPS 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.

PROC-3612ProcessesZombie processes

This control tests for zombie processes

PROC-3614ProcessesProcesses 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-7704SchedulingPermissions 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.

SHLL-6202ShellInsecure console

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-6220ShellIdle session handling

Depending on security requirements, idle sessions should be appropriately checked and dealt with.

SHLL-6290ShellShellshock vulnerability in Bash

When this control shows up, Bash is vulnerable for one or more Shellshock related issues.

SNMP-3306SNMPEasy 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-3602SquidDetermine Squid process status

Lynis tests if Squid is running

SQD-3604SquidSquid configuration file location

This test determines where Squid has its configuration stored.

SQD-3606SquidSquid version

This test determines what version of Squid is available on the system.

SQD-3610SquidSquid configuration options

-

SQD-3613SquidSquid 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-3614SquidSquid authentication

Lynis retrieves the authentication methods that are configured within Squid. If none are found, the proxy may allow access from untrusted or unknown users.

SQD-3630SquidSquid 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.

SQD-3680SquidSquid version suppression

This Lynis test determines if Squid may reveal its version

SSH-7408SSHSSH configuration

Proper hardening of your SSH configuration can reduce known weaknesses

SSH-7412SSHSSH 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-7416SSHStrictModes 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-1840StorageUSB storage drivers

Disable drivers like USB storage when not used, to prevent unauthorized storage or data theft

STRG-1846StorageFirewire storage drivers

Disable drivers like firewire storage when not used, to prevent unauthorized storage or data theft

STRG-1930StorageLimit 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-3104TimeRunning 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-3106TimeCheck status of timedatectl

NTP is enabled, however timedatectl is not syncing time

TIME-3116TimeStratum 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-3120TimeReliability 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-3124TimeNTP 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-3128TimeNTP 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.

TIME-3132TimeNTP false-tickers

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-3136TimeNTP 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-3160TimeNTP 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-5002ToolingCheck 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-5102ToolingPresence of fail2ban

This test checks if fail2ban is used

TOOL-5104ToolingAll fail2ban jails are disabled

Lynis triggers this control when none of the jails within fail2ban are enabled.

USB-1000UncategorizedDisable USB storage

Disable drivers like USB storage when not used. This helps preventing unauthorized storage, data copies, or data theft.