Comment utiliser Vuls comme scanner de vulnérabilité sur Ubuntu 18.04

L’auteur a sélectionné le Free and Open Source pour recevoir un don dans le cadre du Write for DOnations programme.

introduction

Vuls est un scanner de vulnérabilités en accès libre et sans agent, écrit en Go. Il automatise l’analyse des vulnérabilités de sécurité des logiciels installés sur un système, ce qui peut être une tâche fastidieuse pour les administrateurs système à effectuer manuellement dans un environnement de production. Vuls utilise plusieurs bases de données de vulnérabilités renommées, telles que la base de données nationale de vulnérabilité (NVD). Peu gourmand en ressources, Vuls peut analyser plusieurs systèmes à la fois et envoyer des rapports par e-mail ou par Slack. Il comporte trois modes d’analyse (fast, fast root et deep), que vous pouvez sélectionner en fonction de la situation.

Vuls n’est pas un vaste scanner de sécurité informatique; Par exemple, il ne surveille pas le trafic réseau et ne protège pas contre les attaques de connexion brutales. Cependant, Vuls fournit un moyen d’automatiser les rapports de vulnérabilité pour les packages Linux. Lorsque les bases de données utilisées par Vuls sont informées de la résolution de certaines vulnérabilités, Vuls extraira également ces informations de correction dans ses rapports. Lors de la génération de rapports, Vuls hiérarchise les vulnérabilités les plus urgentes en utilisant le système de classement établi à partir de la base de données.

Dans ce tutoriel, vous allez déployer Vuls sur un serveur Ubuntu 18.04. Cela inclut la construction de Vuls et de ses dépendances à partir du code source, la configuration de l’analyse et du reporting vers Slack, ainsi que la connexion éventuelle de ce dernier aux ordinateurs cibles pour permettre l’analyse à distance. En fin de compte, vous aurez un système automatisé de rapport de vulnérabilité qui vous avertira des vulnérabilités, éliminant ainsi le besoin de vérifications manuelles.

Conditions préalables

Avant de commencer ce tutoriel, vous aurez besoin de:

  • Un serveur disposant d’au moins 2 Go de RAM sous Ubuntu 18.04 avec un accès root et d’un compte secondaire non root. Vous pouvez le configurer en suivant de ce guide de configuration initiale du serveur. Pour ce tutoriel, l’utilisateur non root est ++.

  • (Facultatif) Plusieurs serveurs exécutant (de préférence) Ubuntu 18.04 avec un accès root et un compte secondaire non-root, si vous souhaitez configurer Vuls pour une analyse à distance. Dans ce tutoriel, le compte secondaire est ++.

Étape 1 - Installation des dépendances

Dans cette section, vous allez créer un dossier pour stocker les données Vuls, installer la dernière version du langage de programmation Go et installer les autres packages requis par Vuls et ses dépendances.

Commencez par vous connecter en tant que ++:

ssh @

Pour ce tutoriel, vous allez stocker toutes les données relatives à Vuls dans le répertoire + / usr / share / +. Créez-le en exécutant la commande suivante:

sudo mkdir /usr/share/

Pour le rendre accessible à ++, exécutez la commande suivante:

sudo chown -R  /usr/share/

Vous avez maintenant créé le dossier ++, qui sera votre espace de travail. Avant de continuer à installer les packages requis, mettez d’abord à jour le cache du gestionnaire de packages:

sudo apt update

Pour télécharger et compiler les dépendances, vous allez installer + git +, + gcc +, '+ make + , + + sqlite +,' + debian-goodies + , '+ golang-go +, et' + wget + ` .

+ sqlite + est un système de base de données, que vous utiliserez ici pour stocker des informations sur les vulnérabilités. https://packages.debian.org/stretch/debian-goodies [+ debian-goodies +] contient l’utilitaire + checkrestart +, qui fournit des informations sur les paquetages pouvant et devant être redémarrés à tout moment. + golang-go + est le langage de programmation Go.

Vous pouvez les installer tous en une seule commande:

sudo apt install sqlite git debian-goodies gcc make wget golang-go -y

Vous avez maintenant installé les packages requis, y compris Go.

Pour pouvoir fonctionner, Go nécessite quelques variables d’environnement que vous définissez: + GOPATH + et + PATH +. + GOPATH + spécifie le répertoire de travail pour Go et + PATH + (qui contient les répertoires dans lesquels les programmes sont placés) qui doivent être étendus pour indiquer au système où se trouve Go lui-même.

Ces variables d’environnement doivent être définies chaque fois que l’utilisateur se connecte. Pour automatiser cela, vous allez créer un nouveau fichier exécutable, nommé + go-env.sh +, sous + / etc / profile.d +. Cela entraînera l’exécution du répertoire à chaque fois qu’un utilisateur ouvre une session.

Créez + go-env.sh + en utilisant votre éditeur de texte:

sudo nano /etc/profile.d/go-env.sh

Ajoutez les commandes suivantes au fichier:

/etc/profile.d/go-env.sh

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

La commande + export définit la variable d’environnement donnée sur la valeur souhaitée; ici, vous l’utilisez pour renseigner + GOPATH et` + PATH` avec les valeurs appropriées.

Enregistrez et fermez le fichier.

Actuellement, + go-env.sh + n’est pas exécutable. Pour résoudre ce problème, marquez-le comme exécutable en exécutant la commande suivante:

sudo chmod +x /etc/profile.d/go-env.sh

Pour éviter d’avoir à vous reconnecter, vous pouvez recharger + go-env.sh + en lançant:

source /etc/profile.d/go-env.sh

La commande + source + recharge le fichier donné dans le shell actuel tout en préservant son état.

Dans cette section, vous avez installé le langage Go, configuré ses variables d’environnement et installé les packages dont vous aurez besoin ultérieurement. Dans les étapes suivantes, vous téléchargerez et compilerez les programmes Go requis par Vuls. Ces programmes sont + go-cve-dictionary + et + goval-dictionary +, que Vuls utilise pour interroger les bases de données de vulnérabilités.

Étape 2 - Installation et exécution de go-cve-dictionary

Dans cette section, vous allez télécharger et compiler + go-cve-dictionary +, un package Go donnant accès à la NVD (base de données nationale sur les vulnérabilités). Ensuite, vous l’exécuterez et récupérerez les données de vulnérabilité que Vuls utilisera. Le NVD est le référentiel gouvernemental des vulnérabilités de cybersécurité rapportées publiquement, contenant les ID de vulnérabilité (CVE - Common Vulnerabilities and Exposures), des résumés et une analyse d’impact. Il est disponible dans un format lisible par machine.

Go stocke les paquets sous + $ GOPATH / src / +. Vous pouvez étendre cela plus loin en utilisant des sous-répertoires pour noter l’origine. Par exemple, les paquets de GitHub, créés par l’utilisateur, ++ seraient stockés sous + $ GOPATH / src / github.com / +.

Vous allez d’abord installer + go-cve-dictionary +, créé par + kotakanbe +, en clonant le paquet Go à partir de GitHub puis en le compilant.

Commencez par créer un répertoire pour le stocker, en suivant le chemin de l’exemple:

mkdir -p $GOPATH/src/github.com/kotakanbe

Accédez-y en exécutant:

cd $GOPATH/src/github.com/kotakanbe

Maintenant, vous allez cloner + go-cve-dictionary + depuis GitHub sur votre serveur en lançant:

git clone https://github.com/kotakanbe/go-cve-dictionary.git

Ensuite, accédez à la racine du paquet:

cd go-cve-dictionary

Enfin, compilez et installez-le en exécutant la commande suivante:

make install

Gardez à l’esprit que cette commande peut prendre un certain temps pour terminer. Pour le rendre disponible à l’échelle du système, copiez-le dans le fichier + / usr / local / bin:

sudo cp $GOPATH/bin/go-cve-dictionary /usr/local/bin

+ go-cve-dictionary + nécessite l’accès à un répertoire de sortie du journal. Par défaut, il s’agit de + + var / log / vuls + `. Créez-le en exécutant:

sudo mkdir /var/log/vuls

À l’heure actuelle, le répertoire des journaux est lisible par tout le monde. Limitez l’accès à l’utilisateur actuel à l’aide de la commande suivante:

sudo chmod 700 /var/log/vuls

Si vous définissez les indicateurs d’autorisation sur «+ 700 +», l’accès est réservé au propriétaire.

Pour le rendre accessible à ++ ou à un autre utilisateur, exécutez la commande suivante:

sudo chown -R  /var/log/vuls

Maintenant, vous allez récupérer les données de vulnérabilité du NVD et les stocker dans votre espace de travail Vuls (+ / usr / share / +):

for i in `seq 2002 $(date +"%Y")`; do sudo go-cve-dictionary fetchnvd -dbpath /usr/share//cve.sqlite3 -years $i; done

Cette commande boucle de 2002 à l’année en cours (+ seq 2002 $ (date +"% Y ") +) et appelle + go-cve-dictionary fetchnvd + pour récupérer les données NVD du courant (boucle). année en passant + -ans $ i +. Il stocke ensuite ces informations dans une base de données sous + / usr / share / +.

Dans cette étape, vous avez téléchargé et installé + go-cve-dictionary +, et récupéré des données NVD pour que Vuls les utilise ultérieurement. Dans la section suivante, vous allez télécharger et installer + goval-dictionary + et récupérer les données OVAL pour Ubuntu.

Étape 3 - Installer et exécuter goval-dictionary

Dans cette section, vous allez télécharger et compiler + goval-dictionary +, un paquet Go donnant accès à la base de données OVAL pour Ubuntu. Vous pourrez ensuite l’exécuter et récupérer les données de vulnérabilité que Vuls utilisera. OVAL signifie Open Vulnerability and Assessment Language, langage ouvert utilisé pour exprimer des contrôles permettant de déterminer si des vulnérabilités logicielles existent sur un système donné.

Le même auteur, + kotakanbe +, écrit le + goval-dictionary +, et vous le stockerez à côté du paquet précédent.

Accédez au dossier + $ GOPATH / src / github.com / kotakanbe +:

cd $GOPATH/src/github.com/kotakanbe

Clonez le paquet à partir de GitHub en exécutant la commande suivante:

git clone https://github.com/kotakanbe/goval-dictionary.git

Entrez le dossier du paquet:

cd goval-dictionary

Compilez-le et installez-le avec + make +:

make install

Copiez-le dans + / usr / local / bin + pour le rendre globalement accessible:

sudo cp $GOPATH/bin/goval-dictionary /usr/local/bin

Ensuite, récupérez les données OVAL pour Ubuntu 18.x en exécutant la commande suivante:

sudo goval-dictionary fetch-ubuntu -dbpath=/usr/share//oval.sqlite3 18

Dans cette étape, vous avez téléchargé et installé + goval-dictionary +, et récupéré les données OVAL pour Ubuntu 18.x. Dans l’étape suivante, vous allez télécharger et installer Vuls.

Étape 4 - Téléchargement et configuration de Vuls

Avec toutes les dépendances installées, vous allez maintenant télécharger et compiler Vuls à partir du code source. Ensuite, vous le configurerez pour analyser la machine locale.

Créez un nouveau répertoire contenant le chemin d’accès au référentiel Vuls, à l’aide de la commande suivante:

mkdir -p $GOPATH/src/github.com/future-architect

Naviguez jusqu’à:

cd $GOPATH/src/github.com/future-architect

Clonez Vuls depuis GitHub en lançant la commande suivante:

git clone https://github.com/future-architect/vuls.git

Entrez le dossier du paquet:

cd vuls

Compilez et installez-le en même temps en lançant:

make install

N’oubliez pas que l’exécution de cette commande peut prendre un certain temps.

Copiez-le dans + / usr / local / bin + pour le rendre globalement accessible:

sudo cp $GOPATH/bin/vuls /usr/local/bin

Vous allez maintenant créer un fichier de configuration pour Vuls. Revenez à + ​​/ usr / share / +:

cd /usr/share/

Vuls stocke sa configuration dans un fichier TOML, que vous appellerez + config.toml +. Créez-le en utilisant votre éditeur de texte:

sudo nano config.toml

Entrez la configuration suivante:

/usr/share/vuls-data/config.toml

[cveDict]
type = "sqlite3"
SQLite3Path = "/usr/share//cve.sqlite3"

[ovalDict]
type = "sqlite3"
SQLite3Path = "/usr/share//oval.sqlite3"

[servers]

[servers.localhost]
host = "localhost"
port = "local"
scanMode = [ "fast" ]
#scanMode = ["fast", "fast-root", "deep", "offline"]

Les deux premières sections de cette configuration (+ cveDict + et + + ovalDict + ) pointent Vuls vers les bases de données de vulnérabilités que vous avez créées au cours des deux dernières étapes. La section suivante (+ serveurs `) marque le début des informations relatives au serveur. Des sections distinctes regrouperont les informations sur chaque serveur. Le seul serveur que Vuls analysera avec cette configuration décrite est le serveur local (` localhost +`).

Vuls fournit quatre modes de balayage:

  • Fast mode (par défaut): analyse sans privilèges root, n’a pas de dépendances et est très léger sur le serveur cible.

  • Fast root rapide: analyse avec les privilèges root et peut détecter les processus mis à niveau mais pas encore redémarrés.

  • Mode d’analyse rapide: identique au mode racine rapide, mais vérifie les journaux des modifications, ce qui peut entraîner une charge élevée sur le serveur cible.

  • Mode hors ligne: analyse la machine sans accès à Internet et peut être utilisé avec d’autres modes.

Enregistrez et fermez le fichier.

Pour tester la validité du fichier de configuration, exécutez la commande suivante:

vuls configtest

Vous verrez le résultat suivant:

[Feb 27 19:36:42]  INFO [localhost] Validating config...
[Feb 27 19:36:42]  INFO [localhost] Detecting Server/Container OS...
[Feb 27 19:36:42]  INFO [localhost] Detecting OS of servers...
[Feb 27 19:36:42]  INFO [localhost] (1/1) Detected: localhost: ubuntu 18.04
[Feb 27 19:36:42]  INFO [localhost] Detecting OS of containers...
[Feb 27 19:36:42]  INFO [localhost] Checking Scan Modes...
[Feb 27 19:36:42]  INFO [localhost] Checking dependencies...
[Feb 27 19:36:42]  INFO [localhost] Dependencies... Pass
[Feb 27 19:36:42]  INFO [localhost] Checking sudo settings...
[Feb 27 19:36:42]  INFO [localhost] sudo ... No need
[Feb 27 19:36:42]  INFO [localhost] It can be scanned with fast scan mode even if warn or err messages are displayed due to lack of dependent packages or sudo settings in fast-root or deep scan mode
[Feb 27 19:36:42]  INFO [localhost] Scannable servers are below...
localhost

Vous avez correctement saisi la configuration et Vuls a détecté qu’il pouvait analyser le serveur local.

Vous avez installé et configuré Vuls pour analyser le serveur local. Dans l’étape suivante, vous allez exécuter une analyse locale et afficher le rapport généré.

Étape 5 - Exécution d’une analyse locale

Dans cette section, vous allez exécuter une analyse locale, puis afficher le rapport de vulnérabilité généré. A présent, vous avez uniquement configuré le serveur local, que Vuls a correctement détecté à la dernière étape. Le mode d’analyse par défaut, s’il n’est pas spécifié explicitement, est rapide.

Pour exécuter une analyse, exécutez la commande suivante:

vuls scan

Vous verrez une sortie semblable à celle-ci:

[Feb 27 19:44:12]  INFO [localhost] Start scanning
[Feb 27 19:44:12]  INFO [localhost] config: /usr/share//config.toml
[Feb 27 19:44:12]  INFO [localhost] Validating config...
[Feb 27 19:44:12]  INFO [localhost] Detecting Server/Container OS...
[Feb 27 19:44:12]  INFO [localhost] Detecting OS of servers...
[Feb 27 19:44:12]  INFO [localhost] (1/1) Detected: localhost: ubuntu 18.04
[Feb 27 19:44:12]  INFO [localhost] Detecting OS of containers...
[Feb 27 19:44:12]  INFO [localhost] Checking Scan Modes...
[Feb 27 19:44:12]  INFO [localhost] Detecting Platforms...
[Feb 27 19:44:12]  INFO [localhost] (1/1) localhost is running on other
[Feb 27 19:44:12]  INFO [localhost] Scanning vulnerabilities...
[Feb 27 19:44:12]  INFO [localhost] Scanning vulnerable OS packages...
[Feb 27 19:44:12]  INFO [localhost] Scanning in fast mode


One Line Summary
================
localhost       ubuntu18.04     539 installed


To view the detail, vuls tui is useful.
To send a report, run vuls report -h.

Vuls a enregistré ce qu’il a fait dans le processus. Pour afficher un rapport sur les vulnérabilités identifiées, exécutez:

vuls tui

Vuls divise la vue du rapport en quatre panneaux:

  • Machines scannées: situées en haut à gauche, répertorie les machines que Vuls a scannées.

  • Vulnérabilités trouvées: situé à droite de la liste des machines, affiche les vulnérabilités trouvées par Vuls dans les packages installés.

  • Informations détaillées: occupe la partie gauche de l’écran et affiche des informations détaillées sur la vulnérabilité extraites des bases de données.

  • Packages concernés: situé à droite des informations détaillées, indique les versions des packages concernés et indique s’il existe une version corrigée.

image: https: //assets.digitalocean.com/articles/vuls1804/step4a.png [Afficher les rapports alt vuls]

Vous pouvez faire défiler les panneaux en appuyant sur + ENTER et naviguer avec les flèches du clavier.

Dans cette étape, vous avez exécuté une analyse locale et inspecté les résultats. Dans la section facultative suivante, vous allez configurer Vuls pour analyser plusieurs ordinateurs cibles.

Étape 6 - (Facultatif) Configuration de plusieurs ordinateurs cibles

Dans cette section, vous allez configurer Vuls pour analyser plusieurs ordinateurs cibles. Cela implique de configurer + / etc / sudoers + sur la cible et de configurer Vuls pour analyser la cible.

Dans l’étape précédente, vous avez configuré Vuls pour analyser l’ordinateur local (+ localhost). Vous pouvez ajouter autant de serveurs que vous le souhaitez, à condition que vous disposiez des éléments suivants:

  • IP du serveur cible

  • accès root au serveur cible

  • un compte disponible sur le serveur cible (++ dans ce tutoriel)

Vous pouvez uniquement utiliser un compte d’utilisateur non root sur le serveur cible pour une analyse en mode rapide. Pour permettre la numérisation en mode racine rapide et en mode profond, vous devez éditer le fichier + / etc / sudoers + sur la ou les machines cibles. Le fichier + sudoers + contrôle quels utilisateurs peuvent exécuter quelles commandes et si vous avez besoin d’un mot de passe pour les commandes spécifiées.

Puisque + visudo + est l’utilitaire permettant de définir des règles d’accès et d’accès privilégié, vous ne pouvez l’exécuter que sous le nom + root +. En raison de l’importance de + sudoers +, le fichier ne se fermera pas avec des erreurs sans donner d’avertissement.

Sur le serveur cible, connectez-vous en tant que + root et ouvrez` + sudoers pour le modifier en exécutant` + visudo`:

visudo

Ajoutez cette ligne à la fin du fichier:

/ etc / sudoers

ALL=(ALL) NOPASSWD: /usr/bin/apt-get update, /usr/bin/stat *, /usr/sbin/checkrestart

Cette ligne indique à + ​​sudo d’autoriser l’utilisateur` + `à exécuter` + apt-get update`, ` checkrestart` et toutes les commandes disponibles à partir de` + stat + `, sans fournir de mot de passe.

Enregistrez et fermez le fichier. Si vous avez commis une erreur de syntaxe au cours du processus, + visudo + vous en informera et vous proposera de la modifier ou de la quitter.

Vuls utilise l’utilitaire + checkrestart + pour rechercher les packages mis à jour mais nécessitant un redémarrage. Pour vous assurer que le serveur cible l’a, connectez-vous en tant qu’utilisateur non root et installez-le en exécutant la commande suivante:

sudo apt install debian-goodies -y

C’est tout ce que vous devez faire sur le serveur cible. vous pouvez maintenant vous déconnecter de la cible et vous reconnecter à votre premier serveur.

Pour ajouter un nouveau serveur à analyser, ouvrez + config.toml + et ajoutez les lignes suivantes sous la marque + [serveurs] +:

/usr/share/vuls-data/config.toml

[servers.]
host = ""
port = "22"
user = ""
keyPath = ""
scanMode = [ "deep" ] # "fast", "fast-root" or "deep"

Les lignes ci-dessus servent de modèle pour l’ajout de nouveaux serveurs. N’oubliez pas de remplacer par le nom souhaité, par l’IP du serveur cible, par le nom d'utilisateur et par le chemin de la clé RSA. Vuls ne supporte pas l’authentification par mot de passe SSH, il est donc nécessaire de spécifier un + keyPath +.

Enregistrez et fermez le fichier.

Ensuite, pour chaque serveur cible que vous avez ajouté, vous confirmerez les clés RSA sur la machine locale. Pour ce faire, vous vous connecterez au serveur cible à partir de votre premier serveur avec la clé appropriée, comme suit:

ssh @ -i

Lorsqu’on vous demande si vous souhaitez continuer à vous connecter, entrez + yes +, puis déconnectez-vous en appuyant sur + CTRL + D +.

Si vous obtenez une erreur indiquant que les autorisations sur les fichiers de clés sont trop ouvertes, définissez-les sur + 600 + en exécutant la commande suivante:

chmod 600

La définition des autorisations sur + 600 + garantit que seul le propriétaire peut lire et écrire le fichier de clé.

Pour vérifier la validité de la nouvelle configuration, exécutez la commande suivante:

vuls configtest

Il n’y aura pas de sortie de cette commande. S’il y a des erreurs, vérifiez votre + config.toml + par rapport à la configuration dans le tutoriel.

Au cours de cette étape, vous avez ajouté davantage de serveurs cible à votre configuration Vuls, ce qui les a marqués pour l’analyse. Dans la section suivante, vous allez configurer Vuls pour qu’il analyse et envoie périodiquement des rapports à un espace de travail Slack configuré.

Étape 7 - Configuration de l’analyse périodique et de la création de rapports au ralenti

Dans cette section, vous allez configurer Vuls pour envoyer des rapports à Slack et créer un travail cron + pour exécuter périodiquement des analyses Vuls.

Pour utiliser l’intégration Slack, vous devez avoir un WebHook entrant sur Slack pour votre espace de travail. Les sites Web entrants constituent un moyen simple pour une application de fournir des informations en temps réel à d’autres applications. Dans ce cas, vous allez configurer le Vuls pour qu’il reporte sur votre canal Slack.

Si vous n’avez jamais créé de lien Web, vous devez d’abord créer une application pour votre espace de travail. Pour ce faire, connectez-vous d’abord à Slack et accédez à la page de création https://api.slack.com/apps?new_app=1&app]]. Choisissez un nom que vous reconnaîtrez, sélectionnez l’espace de travail souhaité, puis cliquez sur * Créer une application *.

Vous serez redirigé vers la page des paramètres de la nouvelle application. Cliquez sur * Webhooks entrants * dans la barre de navigation de gauche.

image: https: //assets.digitalocean.com/articles/vuls1804/step6a.png [Barre de navigation alt gauche "hooks Web entrants"]

Activez les Webhooks en faisant basculer le bouton de navigation à côté du titre * Activer les Webhooks entrants *.

image: https: //assets.digitalocean.com/articles/vuls1804/step6b.png [Activer les points d’ancrage Web entrants]

Une nouvelle section plus bas sur la page sera découverte. Faites défiler la liste et cliquez sur le bouton * Ajouter un nouveau Webhook à l’espace de travail *. Sur la page suivante, sélectionnez le canal auquel vous souhaitez envoyer les rapports et cliquez sur * Autoriser *.

Vous serez redirigé vers la page des paramètres pour les Webhooks et un nouveau Webhook apparaîtra dans le tableau. Cliquez sur * Copier * pour le copier dans le presse-papiers et en prendre note pour une utilisation ultérieure.

Ensuite, ouvrez + config.toml + pour l’édition:

sudo nano config.toml

Ajoutez les lignes suivantes:

/usr/share/vuls-data/config.toml

[slack]
hookURL      = ""
channel      = "#"
authUser     = ""
#notifyUsers  = ["@username"]

Remplacez le «» par l'URL Webhook que vous avez notée précédemment, le «» par le nom d’utilisateur de l’utilisateur qui a créé le raccordement Web et le «++» par le nom du canal souhaité. Enregistrez et fermez le fichier.

Pour tester l’intégration, vous pouvez générer un rapport en exécutant + vuls report +, comme ceci:

sudo vuls report -to-slack

Vuls prendra quelques instants pour courir et sortir avec succès. En cas d’erreur, vérifiez ce que vous avez saisi par rapport aux lignes précédentes.

Vous pouvez consulter l’application Slack et vérifier que Vuls a envoyé le rapport avec succès.

image: https: //assets.digitalocean.com/articles/vuls1804/step6c.png [En-tête de texte alternatif pour le rapport publié Slack]

Maintenant que vous avez configuré les rapports, vous allez configurer des analyses programmées. + cron + est un planificateur de travaux basé sur le temps trouvé sur chaque machine Ubuntu. Il est configuré via le fichier + crontab + qui définit avec une syntaxe précise le moment où une commande doit être exécutée. Pour faciliter la modification, vous utiliserez l’utilitaire + crontab +, qui ouvre le fichier + crontab + actuel dans un éditeur.

Ouvrez le fichier + crontab + actuel en exécutant la commande suivante:

crontab -e

Lorsque vous y êtes invité, sélectionnez votre éditeur de texte préféré dans la liste.

Ajoutez la ligne suivante à la fin du fichier:

0 0 * * * vuls scan -config=/usr/share//config.toml; vuls report -config=/usr/share//config.toml > /dev/null 2>&1

La ligne ci-dessus demande à + ​​cron + d’exécuter + vuls scan + et + vuls report + avec la configuration donnée tous les jours à midi (noté +0 0 * * * + dans la syntaxe + cron +).

Enregistrez et fermez le fichier.

Dans cette étape, vous avez connecté Vuls à votre espace de travail Slack et configuré + cron + pour exécuter une analyse et un rapport Vuls tous les jours à midi.

Conclusion

Vous avez maintenant configuré avec succès Vuls avec une analyse et des rapports automatisés sur un serveur Ubuntu 18.04. Pour plus d’options de création de rapports, ainsi que pour le dépannage, visitez la documentation Vuls.

Avec Vuls, l’évaluation de la vulnérabilité devient plus transparente pour les environnements de production. Au lieu de configurer + cron +, il est également possible d’utiliser Vuls dans un https://www.digitalocean.com/community/tutorials/an-inintroduction-to-continuous-integration-delivery-and-deployment [ déploiement continu], car ses analyses sont légères et vous pouvez les exécuter si nécessaire. Vous pouvez également envisager d’implémenter un firewall avec Vuls pour limiter l’accès et limiter la nécessité d’un accès root.