GNU/Linux >> Tutoriels Linux >  >> Linux

Premiers pas avec l'audit de sécurité Lynis

Les pirates sont toujours là, à la recherche de leurs prochaines victimes ? La sécurité de vos appareils Linux est-elle un sujet préoccupant et quelque chose que vous cherchez à améliorer ? Ne cherchez plus. Dans cet article, vous découvrirez un outil appelé Lynis par CISOfy qui vous aide à effectuer des analyses de vulnérabilité pour découvrir les problèmes avant qu'ils ne surviennent.

Vous apprendrez à effectuer diverses analyses d'audit de sécurité et à vous plonger dans les rapports fournis par l'outil Lynis. Lisez la suite pour commencer à auditer !

Prérequis

Pour utiliser Lynis et parcourir les démos de ce didacticiel, assurez-vous de disposer des éléments suivants :

  • Une distribution Debian Linux – Ce didacticiel utilisera Ubuntu 20.04 LTS.
  • Trafic SSH et ICMP entrant autorisé depuis l'hôte Lynis vers tous les hôtes auditables distants.
  • Un utilisateur non root avec sudo privilèges.

Installer Lynis

Lancez ce didacticiel en vous familiarisant avec Lynis et en apprenant à installer l'outil.

Lynis est un outil d'audit de sécurité open source pour les systèmes de type Unix/Linux et effectue des analyses de vulnérabilité approfondies sur presque tous les systèmes basés sur UNIX, fournissant les éléments suivants.

  • Audit de sécurité : tester les certificats SSL, les comptes d'utilisateurs sans mot de passe, etc.
  • Renforcement du système : correctifs logiciels, ajustements de la configuration réseau, incohérences des autorisations de fichiers.
  • Analyse des vulnérabilités : validation des packages par rapport aux vulnérabilités connues de bases de données telles que CVE.
  • Rapports sur la conformité de la configuration et correction : valider l'état actuel des points de terminaison par rapport aux documents de stratégie prédéfinis.

Lynis ne vous montre que les problèmes de sécurité potentiels ; il ne durcira pas les machines pour vous.

Il est maintenant temps d'installer Lynis afin que vous puissiez commencer à profiter des fonctionnalités. Connectez-vous à votre hôte Linux basé sur Ubuntu ou Debian en tant qu'utilisateur non root avec des privilèges sudo et suivez les instructions ci-dessous pour installer Lynis.

1. Tout d'abord, mettez à jour vos référentiels de packages apt, afin que vos référentiels disposent des packages Lynis nécessaires.

Vous pouvez installer Lynis via apt-get , l'archive source ou en clonant le référentiel GitHub. Ce tutoriel installera Lynis via apt-get .

# Downloads the package lists from the repositories and "updates" them 
# to get information on the newest versions of packages and their dependencies
sudo apt-get -y update

# Fetches new versions of packages existing on the machine and handle
# the dependencies so it might remove obsolete packages or add new ones
sudo apt-get -y dist-upgrade

# Download (wget) and install apt-transport-https. The apt-transport-https 
# is an APT transport method. This APT transport method allows APT to use 
# HTTPS certificates when downloading repository metadata and packages from servers.
sudo apt install apt-transport-https wget -y

Ensuite, téléchargez la clé publique à partir de la clé de signature du référentiel officiel via le wget utilitaire et ajoutez la clé à APT avec le apt-key commande.

La clé publique fournit une méthode pour vérifier qu'une entité de confiance signe le logiciel. Dans ce cas, le apt-get gestionnaire de paquets dans Debian.

wget -O - https://packages.cisofy.com/keys/cisofy-software-public.key | sudo apt-key add -

Vous verrez un OK message indiquant que la clé a été correctement ajoutée.

3. Maintenant, ajoutez le référentiel Lynis (cisofy-lynis ) à la liste des référentiels de packages système avec la commande suivante

echo "deb https://packages.cisofy.com/community/lynis/deb/ stable main" | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list

4. Ensuite, exécutez les commandes ci-dessous pour update la liste des paquets et installez Lynis avec le apt directeur chargé d'emballage.

sudo apt-get -y update # Update the package list
sudo apt install lynis -y # Install Lynis

Enfin, exécutez la commande ci-dessous pour vérifier la version de Lynis installée. Comme vous pouvez le voir ci-dessous, la commande renvoie la version de Lynis installée.

Au moment de la rédaction, la version stable/dernière sortie de Lynis est la 3.0.6.

sudo lynis show version

Comme vous pouvez le voir ci-dessous, la commande renvoie la version de Lynis installée.

Vérification des commandes et paramètres Lynis

Avec Lynis installé, il est temps de vérifier certaines de ses commandes et options de configuration. Exécutez le show commande avec le commands argument pour voir toutes les différentes commandes Lynis.

sudo lynis show commands

Lynis dispose de divers paramètres pour personnaliser son comportement. Exécutez lynis show settings pour inspecter les multiples paramètres définis dans le fichier de configuration Lynis. Le fichier de configuration se trouve généralement dans /etc/audit répertoire.

Lorsque Lynis s'exécute, il recherche d'abord le fichier de configuration dans le répertoire /etc/audit. A défaut de le trouver, il essaiera de le trouver dans votre répertoire personnel.

sudo lynis show settings

Pour une liste complète des options et de la syntaxe de Lynis, exécutez le man lynis commande.

Invoquer un audit

Lynis est un outil d'audit, alors exécutons votre premier audit de sécurité. Lorsque vous exécutez un audit de sécurité, Lynis vérifie la configuration système et logicielle pour tout problème de sécurité.

Exécutez le lynis audit system comme indiqué ci-dessous pour effectuer un audit sur votre système.

L'exécution de Lynis en tant que root (ou un autre utilisateur avec tous les droits) est recommandée pour tester tout ce qui est disponible sur votre système. L'analyse proposera des recommandations d'amélioration et montrera quelles parties de votre système manquent de renforcement de sécurité.

sudo lynis audit system

Le résultat de la commande est un rapport détaillé, que vous verrez détaillé dans les sections suivantes. Alors, gardez à l'esprit que les prochaines captures d'écran sont le résultat de l'exécution du lynis audit system rapport.

Comprendre le rapport d'audit

Le system audit fournit un rapport détaillé sur divers domaines, notamment :

  • Répertoires et fichiers liés à la journalisation et à l'audit
  • Services tels que le démon SSH, le serveur Web Apache, la base de données MySQL et autres
  • Aspects de sécurité tels que la force du mot de passe, les quotas du système de fichiers et l'utilisation de la mémoire (heap)

Pour catégoriser la gravité, Lynis a plusieurs états de statut et également des résultats codés par couleur indiquant la gravité de chaque problème trouvé.

  • D'accord – Tous les tests requis ont été réussis.
  • AVERTISSEMENT – Un problème qui doit être vérifié et corrigé lorsque cela est possible.
  • ÉCHEC – Échec d'un test susceptible d'affecter la sécurité du système.
  • TROUVÉ – Lynis a trouvé l'objet demandé, généralement utilisé pour localiser des fichiers spécifiques.
  • INTROUVABLE – Lynis n'a pas pu localiser l'objet demandé.
  • SUGGESTIONS – Une suggestion non critique qui doit être évaluée pour action.
  • TERMINÉ – Généralement utilisé pour indiquer qu'une tâche est terminée, comme l'interrogation de données.

Comprendre les résultats du "noyau"

La prise en charge de l'audit du noyau est activée par défaut sur la plupart des distributions Linux modernes. Lynis vérifie si vous utilisez des fonctionnalités de sécurité du noyau telles que SELinux, AppArmor ou GRSecurity.

Évaluer les résultats "Mémoire et processus"

Lynis effectue de nombreux tests pour vérifier la quantité de mémoire utilisée et d'autres problèmes de processus connexes. Par exemple, lorsqu'une application utilise trop de mémoire, elle peut devenir un vecteur de déni de service (DoS). Lynis vérifie si des services tels que httpd ou sshd divulguent des informations.

Vérification des résultats "Logiciel :pare-feu"

Dans ce test, Lynis vérifie le module du noyau iptables. Il peut vérifier si vos paramètres de pare-feu sont également sains pour les pare-feu logiciels, y compris FireHOL, FireQoS, IPCop, IPTables (Netfilter), Kerio Control.

Évaluer les résultats des "services non sécurisés"

Lynis analyse également les services non sécurisés tels que FTP et Telnet. Ces services pourraient entraîner un risque de sécurité important, en particulier les deux premiers s'ils sont exposés via un système accessible sur Internet.

En outre, Lynis effectuera également des vérifications pour les services dont vous souhaitez améliorer la sécurité, tels que les paramètres du port SSH, les paramètres du serveur de noms BIND, et bien plus encore.

Trouver les fichiers de Lynis

Le rapport est généré sur la console, mais Lynis crée également un fichier journal et un fichier de rapport. Le chemin du rapport est /var/log/lynis-report.dat . Le rapport de journal plus granulaire, avec des informations de journal de test et de débogage, se trouve dans /var/log/lynis.log.

Le fichier journal des informations est enregistré après chaque analyse, tandis que les informations du fichier de rapport ne sont enregistrées qu'une fois l'audit terminé.

Les informations qui vont dans le fichier journal :

  • Informations d'audit : trouvé des éléments de configuration, des suggestions d'amélioration et des risques de sécurité.
  • Résultat du test (et autre) : le type de vérification et la raison de l'exécution d'un test.
  • Informations de débogage : utilisé pour examiner les problèmes ou comment quelque chose a fonctionné. Les détails peuvent inclure des lignes de commande complètes ou des informations utiles supplémentaires pour résoudre les problèmes.

Inspecter des tests spécifiques à partir d'avertissements et de suggestions

Maintenant que vous avez généré un rapport, l'étape suivante consiste à examiner comment résoudre les vulnérabilités signalées par Lynis.

Lorsque Lynis termine une analyse, il vous fournit une liste de résultats. Certains de ces résultats peuvent être des avertissements ou des suggestions. Chaque avertissement ou suggestion est accompagné d'une brève explication et d'un lien vers le groupe de contrôle, où vous pouvez trouver plus d'informations sur le message et comment corriger les avertissements.

Par exemple, l'avertissement ci-dessous vous indique que Lynis a effectué une analyse du système et que vous devez redémarrer l'hôte en raison d'une mise à niveau probable du noyau. Vous verrez que chaque avertissement est associé à un ID de test. Dans ce cas, l'ID est KRL-5830 . Vous pouvez en savoir plus sur l'avertissement grâce à son ID.

Creusons dans un avertissement spécifique. Pour ce faire, exécutez le show details commande fournissant l'ID de test sur lequel vous souhaitez en savoir plus. Le même KRL-5830 comme avant, par exemple. La commande complète suit.

sudo lynis show details KRNL-5830

Une fois que vous avez exécuté le show details commande, Lynis fournira un journal détaillé de ce qu'il a fait et comment il a généré l'avertissement, comme indiqué ci-dessous.

Vous pouvez trouver l'ID de test pour les suggestions exactement de la même manière que pour les avertissements.

Personnalisation des profils de numérisation Lynis

Pour regrouper les tests, vous permettant d'activer ou de désactiver les tests, définir l'étendue des tests, et plus encore, Lynis a des profils d'analyse stockés dans le /etc/lynis annuaire. Les profils d'analyse ont diverses configurations, offrant un moyen pratique de gérer des tests similaires en masse plutôt que de se soucier de les gérer un par un.

Lynis est livré avec un seul profil de numérisation appelé default par défaut, comme vous pouvez le voir en exécutant le show profiles commande. Le profil par défaut est aussi générique que possible.

sudo lynis show profiles 

Si vous préférez ne pas exécuter tous les tests, modifier la sortie d'une manière ou d'une autre ou modifier le comportement de quelque manière que ce soit, vous pouvez créer ou modifier des profils. Par exemple, ouvrez le fichier /etc/lynis/default.prf scannez le profil dans votre éditeur préféré. Vous pouvez voir ci-dessous le contenu de la default profil de numérisation.

Vous pouvez soit modifier le profil de numérisation par défaut, soit créer le vôtre. Par exemple, vous avez peut-être des tests que vous aimeriez ignorer. Vous pouvez dire à Lynis quels tests ignorer en définissant le skip-test attribut dans un profil de numérisation.

Pour créer un profil personnalisé, copiez le default.prf scannez le profil et appelez-le quelque chose de spécifique comme custom.prf . Ouvrez le profil de numérisation dans un éditeur de texte et ajoutez les attributs suivants. Lynis ignorera toujours les deux tests dont vous spécifiez les ID ci-dessous lorsque vous appelez ce profil d'analyse.

# Skip checking password set for single mode.

skip-test=AUTH-9308

# Skip checking the PKGS-7392 package.

skip-test=PKGS-7392

Vous pouvez avoir autant de profils personnalisés que vous le souhaitez. Mais un seul profil personnalisé peut être exécuté à la fois.

Créer un profil personnalisé

Vous voudrez peut-être personnaliser vos tests Lynis et pour ce faire, vous pouvez créer un profil personnalisé. Pour savoir comment procéder, suivez les instructions ci-dessous.

1. Créez un custom.prf fichier dans /etc/lynis/ répertoire en utilisant le nano éditeur.

sudo nano /etc/lynis/custom.prf

2. Remplissez le fichier custom.prf. Dans cet exemple, vous allez essayer d'ignorer deux avertissements :AUTH-9308 et PKGS-7392.

Pour ignorer les tests, ajoutez le contenu suivant au fichier.

# Skip checking password set for single mode.

skip-test=AUTH-9308

# Skip checking the PKGS-7392 package.

skip-test=PKGS-7392

3. Enregistrez et quittez le fichier en appuyant sur Ctrl + O puis Ctrl + X lorsque vous avez terminé. La prochaine fois que vous exécuterez un contrôle d'audit Lynis, il ignorera l'ID de test spécifié, comme indiqué ci-dessous.

sudo lynis audit system

Comme vous pouvez le voir, les deux avertissements ci-dessus ont disparu.

Interprétation de l'indice de durcissement de Lynis

Lorsqu'une analyse se termine, Lynis vous fournira un résumé. Dans ce résumé, vous trouvez une métrique intéressante appelée Index de durcissement . L'indice de durcissement est un nombre calculé en fonction de la menace globale pour l'hôte analysé sur la base de la dernière analyse.

L'indice de durcissement vous donne une indication du degré de sécurité de votre système. Si, par exemple, votre système présente plus de vulnérabilités critiques que d'habitude, l'indice sera inférieur. Lorsque vous corrigez des avertissements ou mettez en œuvre des suggestions, cet indice de durcissement augmente en conséquence.

La sortie ci-dessous vous indique le nombre de tests effectués par Lynis et les valeurs de l'indice de durcissement trouvées en exécutant cet outil d'audit. Le nombre 239 signifie qu'il a effectué 239 tests, et le score est de 60 % du chemin à parcourir pour être durci.

Conclusion

À présent, vous devriez avoir une solide compréhension de l'outil d'analyse des vulnérabilités Lynis et de la manière dont il vous aide à protéger vos hôtes. Grâce à Lynis, vous pouvez désormais analyser périodiquement vos systèmes à la recherche des dernières vulnérabilités et assurer la sécurité de vos hôtes !

Si vous avez suivi ce tutoriel, êtes-vous satisfait de l'indice de durcissement que vous avez récupéré ? Quels changements allez-vous apporter pour l'améliorer ?


Linux
  1. Analysez votre sécurité Linux avec Lynis

  2. Premiers pas avec Zsh

  3. Démarrer avec ls

  4. 5 conseils pour démarrer avec la sécurité des serveurs Linux

  5. Premiers pas avec PostgreSQL sous Linux

Premiers pas avec le système d'exploitation Linux

Premiers pas avec GitHub

Premiers pas avec le gestionnaire de paquets Nix

Premiers pas avec systemctl

Audit de sécurité avec Lynis

Comment exécuter un audit de sécurité sur AlmaLinux avec Lynis