Comment effectuer des audits de sécurité avec Lynis sur Ubuntu 16.04

introduction

Lynis est une application d’audit de sécurité open source basée sur l’hôte qui permet d’évaluer le profil de sécurité et la posture de Linux et d’autres systèmes d’exploitation de type UNIX.

Dans ce didacticiel, vous allez installer Lynis et l’utiliser pour effectuer un audit de sécurité de votre serveur Ubuntu 16.04. Ensuite, vous explorerez les résultats d’un exemple d’audit et configurerez Lynis pour ignorer les tests qui ne correspondent pas à vos besoins.

Lynis n’effectuera aucun durcissement automatique du système. mais il offrira des suggestions qui vous montreront comment vous pouvez renforcer vous-même le système. En tant que tel, il sera utile si vous avez une connaissance fondamentale de la sécurité du système Linux. Vous devez également connaître les services en cours d’exécution sur la machine que vous prévoyez d’auditer, tels que les serveurs Web, les bases de données et d’autres services que Lynis peut analyser par défaut. Cela vous aidera à identifier les résultats que vous pouvez ignorer en toute sécurité.

Conditions préalables

Pour compléter cet article, vous aurez besoin de:

Étape 1 - Installation de Lynis sur votre serveur

Il y a plusieurs façons d’installer Lynis. Vous pouvez le compiler à partir des sources, télécharger et copier le fichier binaire dans un emplacement approprié du système ou l’installer à l’aide du gestionnaire de packages. Utiliser le gestionnaire de paquets est le moyen le plus simple d’installer Lynis et de le maintenir à jour, c’est donc la méthode que nous allons utiliser.

Cependant, sous Ubuntu 16.04, la version disponible dans le référentiel n’est pas la version la plus récente. Afin d’avoir accès aux toutes dernières fonctionnalités, nous allons installer Lynis à partir du référentiel officiel du projet.

Le référentiel de logiciels de Lynis utilise le protocole HTTPS. Par conséquent, nous devons nous assurer que la prise en charge HTTPS du gestionnaire de packages est installée. Utilisez la commande suivante pour vérifier:

dpkg -s apt-transport-https | grep -i status

S’il est installé, le résultat de cette commande devrait être:

OutputStatus: install ok installed

Si le résultat dit qu’il n’est pas installé, installez-le en utilisant sudo apt-get install apt-transport-https +

Avec la dépendance unique maintenant installée, nous installerons Lynis. Pour commencer ce processus, ajoutez la clé du référentiel:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C80E383C3DE9F082E01391A0366C67DE91CA5D5F

Vous verrez la sortie suivante, indiquant que la clé a été ajoutée avec succès:

OutputExecuting: /tmp/tmp.AnVzwb6Mq8/gpg.1.sh --keyserver
keyserver.ubuntu.com
--recv-keys
C80E383C3DE9F082E01391A0366C67DE91CA5D5F
gpg: requesting key 91CA5D5F from hkp server keyserver.ubuntu.com
gpg: key 91CA5D5F: public key "CISOfy Software (signed software packages) <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Ajoutez ensuite le référentiel Lynis à la liste de ceux disponibles pour le gestionnaire de packages:

sudo add-apt-repository "deb [arch=amd64] https://packages.cisofy.com/community/lynis/deb/ xenial main"

Pour rendre les packages du référentiel nouvellement ajouté disponibles pour le système, mettez à jour la base de données de packages:

sudo apt-get update

Enfin, installez Lynis:

sudo apt-get install lynis

Une fois l’installation terminée, vous devriez avoir accès à la commande + lynis + et à ses sous-commandes. Voyons maintenant comment utiliser Lynis.

Étape 2 - Réalisation d’un audit

Une fois l’installation terminée, vous pouvez désormais utiliser Lynis pour effectuer des audits de sécurité de votre système. Commençons par afficher une liste des actions que vous pouvez effectuer avec Lynis. Exécutez la commande suivante:

lynis show commands

Vous verrez le résultat suivant:

Output
Commands:
lynis audit
lynis configure
lynis show
lynis update
lynis upload-only

Les audits Lynis sont possibles grâce aux profils, qui sont comme des fichiers de configuration avec des paramètres qui contrôlent la manière dont Lynis effectue un audit. Affichez les paramètres du profil par défaut:

lynis show settings

Vous verrez une sortie comme celle-ci:

Output# Colored screen output
colors=1

# Compressed uploads
compressed-uploads=0

# Use non-zero exit code if one or more warnings were found
error-on-warnings=0

...

# Upload server (ip or hostname)
upload-server=[not configured]

# Data upload after scanning
upload=no

# Verbose output
verbose=0

# Add --brief to hide descriptions, --configured-only to show configured items only, or --nocolors to remove colors

C’est toujours une bonne idée de vérifier si une nouvelle version est disponible avant de procéder à un audit. De cette façon, vous obtiendrez les suggestions et les informations les plus récentes. Emettez la commande suivante pour vérifier les mises à jour:

lynis update info

Le résultat devrait ressembler à ce qui suit, ce qui montre que la version de Lynis est la plus récente:

Output == Lynis ==

 Version            : 2.4.8
 Status             : Up-to-date
 Release date       : 2017-03-29
 Update location    : https://cisofy.com/lynis/


2007-2017, CISOfy - https://cisofy.com/lynis/

Vous pouvez également taper + lynis update check +, ce qui génère la sortie sur une ligne suivante:

Outputstatus=up-to-date

Si la version nécessite une mise à jour, utilisez votre gestionnaire de packages pour effectuer la mise à jour.

Pour exécuter un audit de votre système, utilisez la commande + lynis audit system +. Vous pouvez exécuter Lynis en mode privilégié et non privilégié (pentest). Dans ce dernier mode, certains tests nécessitant des privilèges root sont ignorés. En conséquence, vous devriez exécuter votre audit en mode privilégié avec + sudo +. Exécutez cette commande pour effectuer votre premier audit:

sudo lynis audit system

Après l’authentification, Lynis exécutera ses tests et diffusera les résultats sur votre écran. Un audit Lynis prend généralement une minute ou moins.

Lorsque Lynis effectue un audit, il passe par un certain nombre de tests, répartis en catégories. Après chaque audit, les résultats des tests, les informations de débogage et les suggestions visant à renforcer le système sont consignés dans la sortie standard (écran). Des informations plus détaillées sont consignées dans + / var / log / lynis.log +, tandis que les données de rapport sont enregistrées dans + / var / log / lynis-report.dat +. Les données du rapport contiennent des informations générales sur le serveur et l’application elle-même. Par conséquent, le fichier auquel vous devez faire attention est le fichier journal. Le fichier journal est purgé (écrasé) à chaque audit. Par conséquent, les résultats d’un audit précédent ne sont pas enregistrés.

Une fois l’audit terminé, vous examinerez les résultats, les avertissements et les suggestions, puis implémenterez les suggestions pertinentes.

Regardons les résultats d’un audit Lynis effectué sur la machine utilisée pour écrire ce tutoriel. Les résultats que vous voyez sur votre audit peuvent être différents, mais vous devriez quand même pouvoir suivre.

La première partie importante d’une sortie d’audit Lynis est purement informative. Il vous indique le résultat de chaque test, groupé par catégorie. Les informations se présentent sous la forme de mots clés, tels que * NONE *, * WEAK *, * DONE *, * FOUND *, * NOT_FOUND *, * OK * et * WARNING *.

Output[+] Boot and services
------------------------------------
- Service Manager                                           [ systemd ]
- Checking UEFI boot                                        [ DISABLED ]
- Checking presence GRUB                                    [ OK ]
- Checking presence GRUB2                                   [ FOUND ]
  - Checking for password protection                        [ WARNING ]

..

[+] File systems
------------------------------------
- Checking mount points
   - Checking /home mount point                              [ SUGGESTION ]
   - Checking /tmp mount point                               [ SUGGESTION ]
   - Checking /var mount point                               [ OK ]
- Query swap partitions (fstab)                             [ NONE ]
- Testing swap partitions                                   [ OK ]
- Testing /proc mount (hidepid)                             [ SUGGESTION ]
- Checking for old files in /tmp                            [ OK ]
- Checking /tmp sticky bit                                  [ OK ]
- ACL support root file system                              [ ENABLED ]
- Mount options of /                                        [ OK ]
- Checking Locate database                                  [ FOUND ]
- Disable kernel support of some filesystems
   - Discovered kernel modules: udf

...

[+] Hardening
------------------------------------
- Installed compiler(s)                                   [ FOUND ]
- Installed malware scanner                               [ NOT FOUND ]
- Installed malware scanner                               [ NOT FOUND ]

...

[+] Printers and Spools
------------------------------------
- Checking cups daemon                                      [ NOT FOUND ]
- Checking lp daemon                                        [ NOT RUNNING ]

Bien que Lynis effectue plus de 200 tests par défaut, tous ne sont pas nécessaires pour votre serveur. Comment savoir quels tests sont nécessaires et lesquels ne le sont pas? C’est là que certaines connaissances sur ce qui devrait ou ne devrait pas être exécuté sur un serveur entrent en jeu. Par exemple, si vous consultez la section des résultats d’un audit Lynis typique, vous trouverez deux tests dans la catégorie * Imprimantes et spouleurs *:

Output[+] Printers and Spools
------------------------------------
- Checking cups daemon                                      [ NOT FOUND ]
- Checking lp daemon                                        [ NOT RUNNING ]

Exécutez-vous réellement un serveur d’impression sur un serveur Ubuntu 16.04? Sauf si vous exécutez un serveur d’impression basé sur un nuage, vous n’avez pas besoin que Lynis exécute ce test à chaque fois.

Bien que ce soit un exemple parfait de test, vous pouvez sauter, mais d’autres ne sont pas si évidents. Prenez cette section de résultats partielle, par exemple:

Output[+] Insecure services
------------------------------------
 - Checking inetd status                                     [ NOT ACTIVE ]

Cette sortie indique que + inetd + n’est pas actif, mais que cela est prévu sur un serveur Ubuntu 16.04, car Ubuntu a remplacé + inetd + par + systemd +. Sachant cela, vous pouvez marquer ce test comme un test que Lynis ne devrait pas effectuer dans le cadre d’un audit sur votre serveur.

En examinant chacun des résultats de test, vous obtenez une assez bonne liste de tests superflus. Avec cette liste en main, vous pouvez alors personnaliser Lynis pour les ignorer lors de futurs audits. Vous apprendrez comment faire cela à l’étape 5.

Dans les sections suivantes, nous allons passer en revue les différentes parties d’une sortie d’audit Lynis afin que vous compreniez mieux comment auditer correctement votre système avec Lynis. Voyons d’abord comment gérer les avertissements émis par Lynis.

Étape 3 - Correction des avertissements d’audit Lynis

Une sortie d’audit Lynis ne comporte pas toujours de section avertissements, mais vous saurez comment résoudre le (s) problème (s) après la lecture de cette section.

Les avertissements sont listés après la section des résultats. Chaque avertissement commence par le texte d’avertissement lui-même, avec le test qui a généré l’avertissement sur la même ligne entre parenthèses. La ligne suivante contiendra une solution suggérée, s’il en existe une. La dernière ligne est une URL de contrôle de sécurité où vous pouvez trouver des indications sur l’avertissement. Malheureusement, l’URL n’offre pas toujours une explication, vous devrez peut-être effectuer des recherches supplémentaires.

La sortie suivante provient de la section avertissements d’un audit Lynis effectué sur le serveur utilisé pour cet article. Passons en revue chaque avertissement et voyons comment le résoudre:

OutputWarnings (3):
 ----------------------------
! Version of Lynis is very old and should be updated [LYNIS]
   https://cisofy.com/controls/LYNIS/

! Reboot of system is most likely needed [KRNL-5830]
   - Solution : reboot
     https://cisofy.com/controls/KRNL-5830/

! Found one or more vulnerable packages. [PKGS-7392]
     https://cisofy.com/controls/PKGS-7392/

Le premier avertissement indique que Lynis doit être mis à jour. Cela signifie également que cet audit a utilisé la version de Lynis. Par conséquent, les résultats risquent de ne pas être complets. Ceci aurait pu être évité si nous avions effectué une vérification de version de base avant d’exécuter les résultats, comme indiqué à l’étape 3. La solution à ce problème est simple: mettez à jour Lynis.

Le deuxième avertissement indique que le serveur doit être redémarré. Cela est probablement dû au fait qu’une mise à jour du système impliquant une mise à niveau du noyau a été effectuée récemment. La solution ici est de redémarrer le système.

En cas de doute sur un avertissement ou sur n’importe quel résultat de test, vous pouvez obtenir plus d’informations sur le test en interrogeant Lynis pour obtenir l’identifiant du test. La commande à accomplir qui prend cette forme:

sudo lynis show details

Donc, pour le deuxième avertissement, qui porte l’identifiant de test * KRNL-5830 *, nous pourrions exécuter cette commande:

sudo lynis show details KRNL-5830

La sortie pour ce test particulier suit. Cela vous donne une idée du processus suivi par Lynis pour chaque test effectué. À partir de cette sortie, Lynis donne même des informations spécifiques sur l’élément qui a donné lieu à l’avertissement:

Output2017-03-21 01:50:03 Performing test ID KRNL-5830 (Checking if system is running on the latest installed kernel)
2017-03-21 01:50:04 Test: Checking presence /var/run/reboot-required.pkgs
2017-03-21 01:50:04 Result: file /var/run/reboot-required.pkgs exists
2017-03-21 01:50:04 Result: reboot is needed, related to 5 packages
2017-03-21 01:50:04 Package: 5
2017-03-21 01:50:04 Result: /boot exists, performing more tests from here
2017-03-21 01:50:04 Result: /boot/vmlinuz not on disk, trying to find /boot/vmlinuz*
2017-03-21 01:50:04 Result: using 4.4.0.64 as my kernel version (stripped)
2017-03-21 01:50:04 Result: found /boot/vmlinuz-4.4.0-64-generic
2017-03-21 01:50:04 Result: found /boot/vmlinuz-4.4.0-65-generic
2017-03-21 01:50:04 Result: found /boot/vmlinuz-4.4.0-66-generic
2017-03-21 01:50:04 Action: checking relevant kernels
2017-03-21 01:50:04 Output: 4.4.0.64 4.4.0.65 4.4.0.66
2017-03-21 01:50:04 Result: Found 4.4.0.64 (= our kernel)
2017-03-21 01:50:04 Result: found a kernel (4.4.0.65) later than running one (4.4.0.64)
2017-03-21 01:50:04 Result: Found 4.4.0.65
2017-03-21 01:50:04 Result: found a kernel (4.4.0.66) later than running one (4.4.0.64)
2017-03-21 01:50:04 Result: Found 4.4.0.66
2017-03-21 01:50:04 Warning: Reboot of system is most likely needed [test:KRNL-5830] [details:] [solution:text:reboot]
2017-03-21 01:50:04 Hardening: assigned partial number of hardening points (0 of 5). Currently having 7 points (out of 14)
2017-03-21 01:50:04 Checking permissions of /usr/share/lynis/include/tests_memory_processes
2017-03-21 01:50:04 File permissions are OK
2017-03-21 01:50:04 ===---------------------------------------------------------------===

Pour le troisième avertissement, * PKGS-7392 *, qui concerne les paquets vulnérables, nous avons exécuté cette commande:

sudo lynis show details PKGS-7392

La sortie nous donne plus d’informations sur les packages qui doivent être mis à jour:

Output2017-03-21 01:39:53 Performing test ID PKGS-7392 (Check for Debian/Ubuntu security updates)
2017-03-21 01:39:53 Action: updating repository with apt-get
2017-03-21 01:40:03 Result: apt-get finished
2017-03-21 01:40:03 Test: Checking if /usr/lib/update-notifier/apt-check exists
2017-03-21 01:40:03 Result: found /usr/lib/update-notifier/apt-check
2017-03-21 01:40:03 Test: checking if any of the updates contain security updates
2017-03-21 01:40:04 Result: found 7 security updates via apt-check
2017-03-21 01:40:04 Hardening: assigned partial number of hardening points (0 of 25). Currently having 96 points (out of 149)
2017-03-21 01:40:05 Result: found vulnerable package(s) via apt-get (-security channel)
2017-03-21 01:40:05 Found vulnerable package: libc-bin
2017-03-21 01:40:05 Found vulnerable package: libc-dev-bin
2017-03-21 01:40:05 Found vulnerable package: libc6
2017-03-21 01:40:05 Found vulnerable package: libc6-dev
2017-03-21 01:40:05 Found vulnerable package: libfreetype6
2017-03-21 01:40:05 Found vulnerable package: locales
2017-03-21 01:40:05 Found vulnerable package: multiarch-support
2017-03-21 01:40:05 Warning: Found one or more vulnerable packages. [test:PKGS-7392] [details:-] [solution:-]
2017-03-21 01:40:05 Suggestion: Update your system with apt-get update, apt-get upgrade, apt-get dist-upgrade and/or unattended-upgrades [test:PKGS-7392] [details:-] [solution:-]
2017-03-21 01:40:05 ===---------------------------------------------------------------===

La solution à cela est de mettre à jour la base de données de paquets et de mettre à jour le système.

Après avoir corrigé l’élément qui a entraîné un avertissement, vous devez réexécuter l’audit. Les audits ultérieurs doivent être exempts du même avertissement, bien que de nouveaux avertissements puissent apparaître. Dans ce cas, répétez le processus présenté à cette étape et corrigez les avertissements.

Maintenant que vous savez lire et corriger les avertissements générés par Lynis, voyons comment implémenter les suggestions proposées par Lynis.

Étape 4 - Implémentation des suggestions d’audit Lynis

Après la section des avertissements, vous verrez une série de suggestions qui, si elles sont mises en œuvre, peuvent rendre votre serveur moins vulnérable aux attaques et aux logiciels malveillants. Au cours de cette étape, vous apprendrez à implémenter certaines des suggestions générées par Lynis après l’audit d’un serveur de test Ubuntu 16.04. Le processus pour ce faire est identique aux étapes de la section précédente.

Une suggestion spécifique commence par la suggestion elle-même, suivie de l’ID de test. Ensuite, en fonction du test, la ligne suivante vous indiquera exactement les modifications à apporter au fichier de configuration du service concerné. La dernière ligne est une URL de contrôle de sécurité où vous pouvez trouver plus d’informations sur le sujet.

Voici, par exemple, une section de suggestion partielle d’un audit Lynis, présentant des suggestions relatives au service SSH:

OutputSuggestions (36):
 ----------------------------
 * Consider hardening SSH configuration [SSH-7408]
   - Details  : ClientAliveCountMax (3 --> 2)
     https://cisofy.com/controls/SSH-7408/

 * Consider hardening SSH configuration [SSH-7408]
   - Details  : PermitRootLogin (YES --> NO)
     https://cisofy.com/controls/SSH-7408/

 * Consider hardening SSH configuration [SSH-7408]
   - Details  : Port (22 --> )
     https://cisofy.com/controls/SSH-7408/

 * Consider hardening SSH configuration [SSH-7408]
   - Details  : TCPKeepAlive (YES --> NO)
     https://cisofy.com/controls/SSH-7408/

 * Consider hardening SSH configuration [SSH-7408]
   - Details  : UsePrivilegeSeparation (YES --> SANDBOX)
     https://cisofy.com/controls/SSH-7408/
...

Selon votre environnement, toutes ces suggestions peuvent être mises en œuvre en toute sécurité. Pour prendre cette décision, cependant, vous devez savoir ce que chaque directive signifie. Comme ils concernent le serveur SSH, toutes les modifications doivent être apportées au fichier de configuration des démons SSH, + / etc / ssh / sshd_config +. Si vous avez un doute sur une suggestion de Lynis concernant SSH, consultez la directive avec + man sshd_config +. Ces informations sont également disponible en ligne.

Une des suggestions demande de changer le port SSH par défaut de + 22 +. Si vous apportez cette modification et que le pare-feu est configuré, veillez à insérer une règle d’accès SSH via ce nouveau port.

Comme pour la section warnings, vous pouvez obtenir des informations plus détaillées sur une suggestion en interrogeant Lynis pour l’ID de test à l’aide de + sudo lynis show details +.

D’autres suggestions nécessitent l’installation de logiciels supplémentaires sur votre serveur. Prenez celui-ci, par exemple:

Output* Harden the system by installing at least one malware scanner, to perform periodic file system scans [HRDN-7230]
   - Solution : Install a tool like rkhunter, chkrootkit, OSSEC
     https://cisofy.com/controls/HRDN-7230/

La suggestion est d’installer + rkhunter +, + chkrootkit + ou OSSEC pour satisfaire à un test de renforcement (HRDN-7230). OSSEC est un système de détection d’intrusion basé sur l’hôte qui peut générer et envoyer des alertes. C’est une très bonne application de sécurité qui facilitera certains des tests effectués par Lynis. Pour en savoir plus sur cet outil, consultez dans ces didacticiels DigitalOcean. Cependant, installer OSSEC seul ne fait pas passer ce test particulier. L’installation de + chkrootkit + l’obtient enfin. C’est un autre cas où vous devrez parfois effectuer des recherches supplémentaires allant au-delà de ce que suggère Lynis.

Regardons un autre exemple. Voici une suggestion affichée à la suite d’un test d’intégrité de fichier.

Output* Install a file integrity tool to monitor changes to critical and sensitive files [FINT-4350]
     https://cisofy.com/controls/FINT-4350/

La suggestion donnée dans l’URL de contrôle de sécurité ne mentionne pas le programme OSSEC mentionné dans la suggestion précédente, mais son installation était suffisante pour réussir le test lors d’un audit ultérieur. C’est parce que OSSEC est un très bon outil de surveillance de l’intégrité des fichiers.

Vous pouvez ignorer certaines suggestions qui ne vous concernent pas. Voici un exemple:

Output* To decrease the impact of a full /home file system, place /home on a separated partition [FILE-6310]
     https://cisofy.com/controls/FILE-6310/

 * To decrease the impact of a full /tmp file system, place /tmp on a separated partition [FILE-6310]
     https://cisofy.com/controls/FILE-6310/

Historiquement, les systèmes de fichiers Linux essentiels tels que + / home,` + / tmp`, + / var et` + / usr` étaient montés sur une partition distincte afin de minimiser l’impact sur l’ensemble du serveur. espace disque. Ce n’est pas quelque chose que vous verrez aussi souvent, surtout sur les serveurs cloud. Ces systèmes de fichiers sont maintenant montés comme un répertoire sur la même partition racine. Mais si vous effectuez un audit Lynis sur un tel système, vous obtiendrez quelques suggestions comme celles présentées dans la sortie précédente. Sauf si vous êtes en mesure de mettre en œuvre les suggestions, vous voudrez probablement les ignorer et configurer Lynis afin que le test qui les a générées ne soit pas effectué lors de futurs audits.

Réaliser un audit de sécurité à l’aide de Lynis implique plus que la résolution des avertissements et la mise en œuvre des suggestions. cela implique également l’identification de tests superflus. À l’étape suivante, vous apprendrez à personnaliser le profil par défaut pour qu’il ignore ces tests.

Étape 5 - Personnalisation des audits de sécurité Lynis

Dans cette section, vous apprendrez à personnaliser Lynis afin qu’il n’exécute que les tests nécessaires à votre serveur. Les profils, qui régissent l’exécution des audits, sont définis dans des fichiers portant l’extension + .prf + dans le répertoire + / etc / lynis +. Le profil par défaut est bien nommé + default.prf +. Vous ne modifiez pas directement ce profil par défaut. Au lieu de cela, vous ajoutez les modifications souhaitées dans un fichier + custom.prf + dans le même répertoire que la définition du profil.

Créez un nouveau fichier nommé + / etc / lynis / custom.prf + en utilisant votre éditeur de texte:

sudo nano /etc/lynis/custom.prf

Utilisons ce fichier pour dire à Lynis d’ignorer certains tests. Voici les tests que nous voulons ignorer:

  • * FILE-6310 *: Utilisé pour vérifier la séparation des partitions.

  • * HTTP-6622 *: Utilisé pour tester l’installation du serveur Web Nginx.

  • * HTTP-6702 *: Utilisé pour vérifier l’installation du serveur Web Apache. Ce test et le test Nginx ci-dessus sont effectués par défaut. Donc, si vous avez installé Nginx et non Apache, vous voudrez ignorer le test Apache.

  • * PRNT-2307 * et * PRNT-2308 *: Utilisés pour rechercher un serveur d’impression.

  • * TOOL-5002 *: permet de rechercher des outils d’automatisation tels que Puppet et Salt. Si vous n’avez pas besoin de tels outils sur votre serveur, vous pouvez ignorer ce test.

  • * SSH-7408: tcpkeepalive *: plusieurs tests Lynis peuvent être regroupés sous un seul ID de test. Si vous souhaitez ignorer un test dans cet ID de test, voici comment le spécifier.

Pour ignorer un test, vous transmettez à la directive * skip-test * l’ID de test que vous souhaitez ignorer, un par ligne. Ajoutez le code suivant à votre fichier:

/etc/lynis/custom.prf

# Lines starting with "#" are comments
# Skip a test (one per line)

# This will ignore separation of partitions test
skip-test=FILE-6310

# Is Nginx installed?
skip-test=HTTP-6622

# Is Apache installed?
skip-test=HTTP-6702

# Skip checking print-related services
skip-test=PRNT-2307
skip-test=PRNT-2308

# If a test id includes more than one test use this form to ignore a particular test
skip-test=SSH-7408:tcpkeepalive

Enregistrez et fermez le fichier.

Lors de votre prochain audit, Lynis ignorera les tests correspondant aux ID de test que vous avez configurés dans le profil personnalisé. Les tests seront omis de la section des résultats de la vérification, ainsi que de la section des suggestions.

Le fichier + / etc / lynis / custom.prf + vous permet également de modifier les paramètres d’un profil. Pour ce faire, copiez le paramètre + / etc / lynis / default.prf + dans + / etc / lynis / custom.prf + et modifiez-le ici. Il est rarement nécessaire de modifier ces paramètres. Concentrez-vous donc sur les tests que vous pouvez ignorer.

Voyons maintenant ce que Lynis appelle l’index_hardening.

Étape 6 - Interprétation de l’indice de durcissement

Dans la partie inférieure de chaque sortie d’audit Lynis, juste en dessous de la section des suggestions, vous trouverez une section ressemblant à ce qui suit:

OutputLynis security scan details:

 Hardening index :
 Tests performed : 206
 Plugins enabled : 0

Cette sortie vous indique le nombre de tests effectués, ainsi que l’index hardening, un nombre fourni par Lynis pour vous donner une idée de la sécurité de votre serveur. Ce numéro est unique à Lynis. L’index de renforcement va changer en fonction des avertissements que vous corrigez et des suggestions que vous implémentez. Cette sortie, qui montre que le système a un indice de renforcement de 64, provient du premier audit Lynis sur un nouveau serveur Ubuntu 16.04.

Après avoir corrigé les avertissements et mis en œuvre la plupart des suggestions, un nouvel audit a donné le résultat suivant. Vous pouvez voir que l’indice de durcissement est légèrement supérieur:

OutputLynis security scan details:

Hardening index : 86 [#################   ]
Tests performed : 205
Plugins enabled : 0

L’indice de renforcement ne constitue pas une évaluation précise de la sécurité d’un serveur, mais simplement une mesure de la qualité de la configuration (ou du renforcement) du serveur en fonction des tests effectués par Lynis. Et comme vous l’avez vu, plus l’indice est élevé, mieux c’est. L’objectif d’un audit de sécurité Lynis n’est pas simplement d’obtenir un index de durcissement élevé, mais également de corriger les avertissements et les suggestions qu’il génère.

Conclusion

Dans ce didacticiel, vous avez installé Lynis, utilisé pour effectuer un audit de sécurité d’un serveur Ubuntu 16.04, expliquant comment résoudre les avertissements et les suggestions qu’il génère, et comment personnaliser les tests effectués par Lynis.

Cela prend un peu plus de temps et d’efforts, mais l’investissement en vaut la peine pour rendre votre machine plus sûre, et Lynis facilite beaucoup ce processus.

Pour plus d’informations sur Lynis, consultez la page Get Started with Lynis dans la documentation officielle. Lynis est un projet open-source. Si vous souhaitez contribuer, visitez la page GitHub du projet.