{"id":6627,"date":"2020-08-05T19:49:54","date_gmt":"2020-08-05T16:49:54","guid":{"rendered":"https:\/\/kifarunix.com\/?p=6627"},"modified":"2024-03-14T22:43:50","modified_gmt":"2024-03-14T19:43:50","slug":"install-and-setup-lynis-security-auditing-tool-on-ubuntu-20-04","status":"publish","type":"post","link":"https:\/\/kifarunix.com\/install-and-setup-lynis-security-auditing-tool-on-ubuntu-20-04\/","title":{"rendered":"Install and Setup Lynis Security Auditing tool on Ubuntu 20.04"},"content":{"rendered":"\n<p>In this tutorial, you will learn how to install and setup Lynis security auditing tool on Ubuntu 20.04. <a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/cisofy.com\/lynis\/\" target=\"_blank\" rel=\"noreferrer noopener\">Lynis<\/a> is an open-source security tool that can perform an in-depth system security scan in order to evaluate the system\u2019s security profile. Due to its simplicity and flexibility, Lynis can be used to achieve the following;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automated Security auditing<\/li>\n\n\n\n<li>Compliance testing (e.g. PCI, HIPAA, SOx)<\/li>\n\n\n\n<li>Penetration testing<\/li>\n\n\n\n<li>Vulnerability detection<\/li>\n\n\n\n<li>System hardening<\/li>\n\n\n\n<li>Configuration and asset management<\/li>\n\n\n\n<li>Software patch management<\/li>\n\n\n\n<li>Intrusion detection<\/li>\n<\/ul>\n\n\n\n<p>Lynis, however, doesn\u2019t provide system hardening automatically but instead provide tips on how to harden your system.<\/p>\n\n\n\n<p>It is a cross platform tool and it was designed for systems running Linux, macOS, or Unix-based operating system.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing Lynis Security Auditing tool on Ubuntu 20.04<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Install Lynis on Ubuntu 20.04<\/h3>\n\n\n\n<p>There are various methods in which Lynis can be installed on an Ubuntu 20.04 system or on any other system. These include;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Clonening their Github repository<\/li>\n\n\n\n<li>Via a source tarball<\/li>\n\n\n\n<li>Via Package manager using their Software repos<\/li>\n<\/ul>\n\n\n\n<p>In this tutorial, we will install the free version of Lynis from their official <a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/packages.cisofy.com\/community\/\" target=\"_blank\" rel=\"noreferrer noopener\">community software repository<\/a>.<\/p>\n\n\n\n<p>As much as Lynis is available on the default Ubuntu 20.04 universe repos, it is not up-to-date.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt-cache policy lynis<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>lynis:\n  Installed: (none)\n  Candidate: 2.6.2-1\n  Version table:\n     2.6.2-1 500\n        500 http:\/\/ke.archive.ubuntu.com\/ubuntu focal\/universe amd64 Packages<\/code><\/pre>\n\n\n\n<p>As you can see, the Lynis v2.6.2 is provided by universe repos. As of this writing, Lynis 3.0.0 is the current stable release version.<\/p>\n\n\n\n<p>You can obtain the latest version by using the Lynis community software repos.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Install Lynis Community Software Repository on Ubuntu 20.04<\/h4>\n\n\n\n<p>Download and install the Lynis repository PGP signing key from a central keyserver;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>wget -O - https:\/\/packages.cisofy.com\/keys\/cisofy-software-public.key | sudo apt-key add -<\/code><\/pre>\n\n\n\n<p>Install the repository itself;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>echo \"deb https:\/\/packages.cisofy.com\/community\/lynis\/deb\/ stable main\" | sudo tee \/etc\/apt\/sources.list.d\/cisofy-lynis.list<\/code><\/pre>\n\n\n\n<p>To only the English version of the software, disable translations from being downloaded to save on bandwidth.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>echo 'Acquire::Languages \"none\";' | sudo tee \/etc\/apt\/apt.conf.d\/99disable-translations<\/code><\/pre>\n\n\n\n<p>Next, resynchronize the package repositories to their latest versions;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt install apt-transport-https<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt update<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Install Lynis Security Auditing tool<\/h4>\n\n\n\n<p>Once the repos are in place, you can proceed to install Lynis security auditing tool.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt install lynis<\/code><\/pre>\n\n\n\n<p>Check the version of installed Lynis;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>lynis show version<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>3.0.0<\/code><\/pre>\n\n\n\n<p>Check if there an update available;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>lynis update info<\/code><\/pre>\n\n\n\n<p>Check the output status.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code> == Lynis ==\n\n  Version            : 3.0.0\n<strong>  Status             : Up-to-date\n<\/strong>  Release date       : 2020-03-20\n  Project page       : https:\/\/cisofy.com\/lynis\/\n  Source code        : https:\/\/github.com\/CISOfy\/lynis\n  Latest package     : https:\/\/packages.cisofy.com\/\n\n\n2007-2020, CISOfy - https:\/\/cisofy.com\/lynis\/<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Lynis Command Line Syntax and Options<\/h3>\n\n\n\n<p>The Lynis command syntax is<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>lynis [scan mode] [other options]<\/code><\/pre>\n\n\n\n<p>To show Lynis commands, run;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>lynis show commands<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>Commands:\nlynis audit\nlynis configure\nlynis generate\nlynis show\nlynis update\nlynis upload-only<\/code><\/pre>\n\n\n\n<p>To show Lynis Settings run;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>lynis show settings<\/code><\/pre>\n\n\n\n<p>To show discovered audit profiles;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>lynis show profiles<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code><strong>\/etc\/lynis\/default.prf<\/strong><\/code><\/pre>\n\n\n\n<p>For a comprehensive list of options, check;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>man lynis<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Perform System Audit using Lynis on Ubuntu 20.04<\/h3>\n\n\n\n<p>When run, Lynis checks the system and the software configuration for any would be security loopholes. Lynis logs the audit details in a log file as well as in a report file. The reports can be used to compare differences between audits.<\/p>\n\n\n\n<p>The test and debug information are logged in <strong><code>\/var\/log\/lynis.log<\/code>&nbsp;<\/strong>while the audit report data is stored in:&nbsp;<strong><code>\/var\/log\/lynis-report.dat<\/code><\/strong>.<\/p>\n\n\n\n<p><strong><code>\/var\/log\/lynis.log<\/code><\/strong>&nbsp;is the file an auditor has to check and interpret the results as it explains the reason for the issues identified as well suggestions on how to fix those issues.<\/p>\n\n\n\n<p>The following system areas may be checked by Lynis: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Boot loader files<\/li>\n\n\n\n<li>Configuration files<\/li>\n\n\n\n<li>Software packages<\/li>\n\n\n\n<li>Directories and files related to logging and auditing<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Running Lynis for the First time<\/h4>\n\n\n\n<p>Lynis can run interactively or as a cronjob. Root permissions (e.g. sudo) are not required, however they provide more details during the audit.<\/p>\n\n\n\n<p>To run a basic system audit with Lynis for the first time. execute the command below;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>lynis audit system<\/code><\/pre>\n\n\n\n<p>When it runs, it display various checks and results to the standard output as well as writing to the log and reports file;<\/p>\n\n\n\n<p>The output of the Lynis may show OK or WARNING with OK meaning good while WARNING shows an identified issue in the system that requires attention. Sometimes what may be flagged as OK may not actually be good to the best practice and what is flagged as WARNING may actually be nothing and can be ignored.<\/p>\n\n\n\n<p>Sample checks;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>...\n&#91;+] Printers and Spools\n------------------------------------\n  - Checking cups daemon                                      &#91; NOT FOUND ]\n  - Checking lp daemon                                        &#91; NOT RUNNING ]\n\n&#91;+] Software: e-mail and messaging\n------------------------------------\n\n&#91;+] Software: firewalls\n------------------------------------\n  - Checking iptables kernel module                           &#91; FOUND ]\n    - Checking iptables policies of chains                    &#91; FOUND ]\n    - Checking for empty ruleset                              &#91; OK ]\n    - Checking for unused rules                               &#91; FOUND ]\n  - Checking host based firewall                              &#91; ACTIVE ]\n\n&#91;+] Software: webserver\n------------------------------------\n  - Checking Apache (binary \/usr\/sbin\/apache2)                &#91; FOUND ]\n      Info: Configuration file found (\/etc\/apache2\/apache2.conf)\n      Info: No virtual hosts found\n    * Loadable modules                                        &#91; FOUND (119) ]\n        - Found 119 loadable modules\n          mod_evasive: anti-DoS\/brute force                   &#91; NOT FOUND ]\n          mod_reqtimeout\/mod_qos                              &#91; FOUND ]\n          ModSecurity: web application firewall               &#91; NOT FOUND ]\n  - Checking nginx                                            &#91; NOT FOUND ]\n\n&#91;+] SSH Support\n------------------------------------\n  - Checking running SSH daemon                               &#91; FOUND ]\n    - Searching SSH configuration                             &#91; FOUND ]\n    - OpenSSH option: AllowTcpForwarding                      &#91; SUGGESTION ]\n    - OpenSSH option: ClientAliveCountMax                     &#91; SUGGESTION ]\n...\n&#91;+] Home directories\n------------------------------------\n  - Permissions of home directories                           &#91; WARNING ]\n  - Ownership of home directories                             &#91; OK ]\n  - Checking shell history files                              &#91; OK ]\n...<\/code><\/pre>\n\n\n\n<p>The summary of the results;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>...\n================================================================================\n\n  -&#91; Lynis 3.0.0 Results ]-\n\n  Warnings (1):\n  ----------------------------\n  ! Found one or more vulnerable packages. &#91;PKGS-7392] \n      https:&#47;&#47;cisofy.com\/lynis\/controls\/PKGS-7392\/\n\n  Suggestions (56):\n  ----------------------------\n  * This release is more than 4 months old. Consider upgrading &#91;LYNIS] \n      https:\/\/cisofy.com\/lynis\/controls\/LYNIS\/\n\n  * Set a password on GRUB boot loader to prevent altering boot configuration (e.g. boot in single user mode without password) &#91;BOOT-5122] \n      https:\/\/cisofy.com\/lynis\/controls\/BOOT-5122\/\n\n  * Consider hardening system services &#91;BOOT-5264] \n    - Details  : Run '\/usr\/bin\/systemd-analyze security SERVICE' for each service\n      https:\/\/cisofy.com\/lynis\/controls\/BOOT-5264\/\n...<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Lynis Security scan details;<\/h4>\n\n\n\n<p>From the scan details, you will see the percentage score of your current system hardening, number of tests performed, plugins enabled, scan mode activated and enabled Lynis modules.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>...\n================================================================================\n\n  Lynis security scan details:\n\n  Hardening index : 60 &#91;############        ]\n  Tests performed : 250\n  Plugins enabled : 0\n\n  Components:\n  - Firewall               &#91;V]\n  - Malware scanner        &#91;X]\n\n  Scan mode:\n  Normal &#91;V]  Forensics &#91; ]  Integration &#91; ]  Pentest &#91; ]\n\n  Lynis modules:\n  - Compliance status      &#91;?]\n  - Security audit         &#91;V]\n  - Vulnerability scan     &#91;V]\n\n  Files:\n  - Test and debug information      : \/var\/log\/lynis.log\n  - Report data                     : \/var\/log\/lynis-report.dat\n\n================================================================================<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Check Hardening Warnings and Suggestions from Lynis Audit report<\/h4>\n\n\n\n<p>You can check the warning or suggestions of the Lynis audit scan from the <code><strong>\/var\/log\/lynis-report.dat<\/strong><\/code> report.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>grep -i \"^warning\" \/var\/log\/lynis-report.dat<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>warning[]=PKGS-7392|Found one or more vulnerable packages.|-|-|<\/code><\/pre>\n\n\n\n<p>To check the suggestions;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>grep -i \"^suggestion\" \/var\/log\/lynis-report.dat<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>suggestion&#91;]=LYNIS|This release is more than 4 months old. Consider upgrading|-|-|\nsuggestion&#91;]=BOOT-5122|Set a password on GRUB boot loader to prevent altering boot configuration (e.g. boot in single user mode without password)|-|-|\nsuggestion&#91;]=BOOT-5264|Consider hardening system services|Run '\/usr\/bin\/systemd-analyze security SERVICE' for each service|-|\nsuggestion&#91;]=KRNL-5820|If not required, consider explicit disabling of core dump in \/etc\/security\/limits.conf file|-|-|\nsuggestion&#91;]=AUTH-9229|Check PAM configuration, add rounds if applicable and expire passwords to encrypt with new values|-|-|\nsuggestion&#91;]=AUTH-9230|Configure minimum encryption algorithm rounds in \/etc\/login.defs|-|-|\nsuggestion&#91;]=AUTH-9230|Configure maximum encryption algorithm rounds in \/etc\/login.defs|-|-|\nsuggestion&#91;]=AUTH-9262|Install a PAM module for password strength testing like pam_cracklib or pam_passwdqc|-|-|\nsuggestion&#91;]=AUTH-9282|When possible set expire dates for all password protected accounts|-|-|\nsuggestion&#91;]=AUTH-9286|Configure minimum password age in \/etc\/login.defs|-|-|\nsuggestion&#91;]=AUTH-9286|Configure maximum password age in \/etc\/login.defs|-|-|\n..<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Show Details of a Specific Test<\/h4>\n\n\n\n<p>Every system check has an associated test ID. If you need to find more details about an specific test, you can grab its ID and display more information using the command below;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>lynis show details TEST-ID<\/code><\/pre>\n\n\n\n<p>Take for example, let us check more about the vulnerable package with a warning above<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>lynis show details PKGS-7392<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>2020-08-05 15:43:47 Performing test ID PKGS-7392 (Check for Debian\/Ubuntu security updates)\n2020-08-05 15:43:47 Action: updating package repository with apt-get\n2020-08-05 15:44:01 Result: apt-get finished\n2020-08-05 15:44:01 Test: Checking if \/usr\/lib\/update-notifier\/apt-check exists\n2020-08-05 15:44:01 Result: found \/usr\/lib\/update-notifier\/apt-check\n2020-08-05 15:44:01 Test: checking if any of the updates contain security updates\n2020-08-05 15:44:03 Result: found 9 security updates via apt-check\n2020-08-05 15:44:03 Hardening: assigned partial number of hardening points (0 of 25). Currently having 109 points (out of 180)\n2020-08-05 15:44:04 Result: found vulnerable package(s) via apt-get (-security channel)\n<strong>2020-08-05 15:44:04 Found vulnerable package: apport\n2020-08-05 15:44:04 Found vulnerable package: grub-common\n2020-08-05 15:44:04 Found vulnerable package: grub-pc\n2020-08-05 15:44:04 Found vulnerable package: grub-pc-bin\n2020-08-05 15:44:04 Found vulnerable package: grub2-common\n2020-08-05 15:44:04 Found vulnerable package: libmysqlclient21\n2020-08-05 15:44:04 Found vulnerable package: libssh-4\n2020-08-05 15:44:04 Found vulnerable package: python3-apport\n2020-08-05 15:44:04 Found vulnerable package: python3-problem-report<\/strong>\n2020-08-05 15:44:04 Warning: Found one or more vulnerable packages. [test:PKGS-7392] [details:-] [solution:-]\n2020-08-05 15:44:04 <strong>Suggestion: Update your system with apt-get update, apt-get upgrade, apt-get dist-upgrade and\/or unattended-upgrades [test:PKGS-7392] [details:-] [solution:-]<\/strong>\n2020-08-05 15:44:04 ====<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Disabling Specific Checks<\/h4>\n\n\n\n<p>Assuming you have some checks that are throwing warnings and you consider them false positives, then you can create your custom profile where you can specific the checks ID and tell Lynis to skip the checks against those specific IDs.<\/p>\n\n\n\n<p>Lynis uses profiles to have a set of predefined options for your operating system and preferences. The default profiles are stored under <code><strong>\/etc\/lynis<\/strong><\/code> directory.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>ls \/etc\/lynis<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>default.prf developer.prf<\/code><\/pre>\n\n\n\n<p>You can tell Lynis to use a specific profile using the <code><strong>\u2013profile &lt;name&gt; <\/strong><\/code>option.<\/p>\n\n\n\n<p> If you don&#8217;t specify the profile, then the default profile, <code>\/etc\/lynis\/default.prf<\/code> will be used. You can open this file and read what it contains. It is highly commended.<\/p>\n\n\n\n<p>To create your own custom profile, you can copy the default profile and edit it to define your custom test options.<\/p>\n\n\n\n<p>For instance, to skip the warnings about vulnerable packages shown in the Lynis audit report above, create a custom profile and put the following contents.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>vim \/etc\/lynis\/custom.prf<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code># Lynis - Custom Scan Profile to ignore some warnings\n#\n# Ignore Vulnerable packages Warnings\nskip-test=PKGS-7392<\/code><\/pre>\n\n\n\n<p>Save and exit the file. When you re-run the audit scan, the specified checks will be skipped;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>lynis audit system<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>================================================================================\n\n  -[ Lynis 3.0.0 Results ]-\n\n<strong>  Great, no warnings\n<\/strong>\n  Suggestions (56):\n...<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"audit-docker-file-using-lynis\"><a href=\"#audit-docker-file-using-lynis\">Auditing Docker file with Lynis Auditing tool<\/a><\/h4>\n\n\n\n<p>it is also possible to audit your Docker file using Lynis.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>lynis audit dockerfile Dockerfile<\/code><\/pre>\n\n\n\n<p>Sample output;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;+] System Tools\n------------------------------------\n  - Scanning available tools...\n  - Checking system binaries...\n\n&#91;+] Helper: audit_dockerfile\n------------------------------------\n  File to audit = Dockerfile\n\n&#91;+] Image\n------------------------------------\n  Found image:                                                &#91; nginx:alpine ]\n\n&#91;+] Basics\n------------------------------------\n\n&#91;+] Software\n------------------------------------\n\n&#91;+] Downloads\n------------------------------------\n  No files seems to be downloaded in this Dockerfile\n\n&#91;+] Permissions\n------------------------------------\n\n================================================================================\n\n  -&#91; Lynis 3.0.0 Results ]-\n\n  Warnings (4):\n  ----------------------------\n  ! No maintainer found. Unclear who created this file. &#91;dockerfile] \n      https:&#47;&#47;cisofy.com\/lynis\/controls\/dockerfile\/\n\n  ! No ENTRYPOINT defined in Dockerfile. &#91;dockerfile] \n      https:\/\/cisofy.com\/lynis\/controls\/dockerfile\/\n\n  ! No CMD defines in Dockerfile. &#91;dockerfile] \n      https:\/\/cisofy.com\/lynis\/controls\/dockerfile\/\n\n  ! No user declared in Dockerfile. Container will execute command as root &#91;dockerfile] \n      https:\/\/cisofy.com\/lynis\/controls\/dockerfile\/<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"audit-remote-hosts-using-lynis\"><a href=\"#audit-remote-hosts-using-lynis\">Auditing Remote Linux hosts using Lynis<\/a><\/h4>\n\n\n\n<p>To audit a remote host, use the command;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>lynis audit system remote &lt;host&gt;<\/code><\/pre>\n\n\n\n<p>The command will basically gives you steps you need to take to scan a remote host.<\/p>\n\n\n\n<p>Reference;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/cisofy.com\/documentation\/lynis\/get-started\/\" target=\"_blank\" rel=\"noreferrer noopener\">Get Started with Lynis<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/CISOfy\/lynis\" target=\"_blank\" rel=\"noreferrer noopener\">Lynis \u2013 Security auditing tool for Linux, macOS, and UNIX-based systems<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Other Related Tutorials<\/h3>\n\n\n\n<p><a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/kifarunix.com\/how-to-perform-system-security-auditing-with-lynis-on-ubuntu-18-04\/\" target=\"_blank\" rel=\"noreferrer noopener\">How to Perform System Security Auditing with Lynis on Ubuntu 18.04<\/a><\/p>\n\n\n\n<p><a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/kifarunix.com\/restrict-access-to-wordpress-login-page-to-specific-ips-with-libmodsecurity\/\" target=\"_blank\" rel=\"noreferrer noopener\">Restrict Access to WordPress Login Page to Specific IPs with libModSecurity<\/a><\/p>\n\n\n\n<p><a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/kifarunix.com\/install-and-use-clamav-on-ubuntu-20-04\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install and use ClamAV on Ubuntu 20.04<\/a><\/p>\n\n\n\n<p><a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/kifarunix.com\/how-to-install-and-configure-maltrail-on-ubuntu-18-04\/\" target=\"_blank\" rel=\"noreferrer noopener\">How to Install and Configure Maltrail on Ubuntu 18.04<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/how-to-install-rkhunter-rootkit-hunter-on-ubuntu-18-04\/\">How to Install RKHunter (RootKit Hunter) On Ubuntu 18.04<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, you will learn how to install and setup Lynis security auditing tool on Ubuntu 20.04. Lynis is an open-source security tool that<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"footnotes":""},"categories":[121,34],"tags":[1877,1872,1875,1874,1871,1876,1873,1200],"class_list":["post-6627","post","type-post","status-publish","format-standard","hentry","category-howtos","category-security","tag-compliance","tag-install-lynis-on-ubuntu-20-04","tag-linux-system-hardening","tag-lynis-system-auditing-tool","tag-perform-system-audit-with-lynis","tag-system-auditing","tag-system-hardening-with-lynis","tag-ubuntu-20-04","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50"],"_links":{"self":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/6627"}],"collection":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/comments?post=6627"}],"version-history":[{"count":5,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/6627\/revisions"}],"predecessor-version":[{"id":21501,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/6627\/revisions\/21501"}],"wp:attachment":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media?parent=6627"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/categories?post=6627"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/tags?post=6627"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}