LINUX:Openvas

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au test de la sécurité


But

Openvas est un outil qui sert à trouver les failles connues du moment. Il attaque, sans préjudice, votre serveur à distance à travers votre réseau ou à travers Internet. Le rapport vous signale les failles, leur gravité et, si possible, des solutions.


Installation

Nous avons comme OS Fedora 33. Il se fait que le logiciel Openvas inclus dans la distribution ne semble pas opérationnelle. Il faudra passer par un opérateur tiers.


Dépôt Atomic

Nous trouvons celui-ci dans le dépôt Atomic.

Pour l'installation de ce dépôt, on nous renseigne la commande suivante:

wget -q -O - http://www.atomicorp.com/installers/atomic | sh

Mais actuellement cette commande pose problème.

Pour résoudre ce premier problème, nous récupérons le script:

wget -q -O - http://www.atomicorp.com/installers/atomic > atomic.install.bat

En consultant ce fichier, nous constatons que ce script repère la distribution et la version de l'OS. En début du fichier, nous remarquons la version du dépôt à installer:

VERSION="1.0-21"

Si nous allons sur le site https://pkgs.org/, nous avons une liste de dépôts selon la distribution et sa version. On sélectionne "Fedora 33" et ensuite "Atomic (64 bits)". Nous repérons la paquet "Atomic-release". N nous constatons que la version est "1.0.22" et non "1.0.21".


LINUX:Atomic.release.fc.33.png


Maintenant, si nous faisons la même chose mais pour "Fedora 32", nous constatons que les deux versions existent.


LINUX:Atomic.release.fc.32.png


En conclusion, nous modifions le n° de version dans le script "atomic.install.bat":

VERSION="1.0-22"

Nous le rendons exécutable:

chmod 700 atomic.install.bat

et nous l'exécutons:

./atomic.install.bat

Dans le répertoire, "/etc/yum.repos.d", un nouveau fichier "atomic.repo" est apparu.

Avant de continuer, allons jeter un coup d'oeil au contenu du dépôt d'atomic correspondant: https://www3.atomicorp.com/channels/atomic/fedora/33/x86_64/RPMS/.


LINUX:Atomic.fc.33.png


Pas de chance, actuellement, les paquets d'Openvas ne s'y trouvent pas.

Allons inspecter le contenu pour "Fedora 32" ayant le même n° de version:


LINUX:Atomic.fc.32.png


Nous y trouvons ce que l'on recherche.


Il faut donc adapter le fichier "/etc/yum.repos.d/atomic.repo". Dans ce fichier, la variable "$releasever" correspond à "33". Nous dupliquons ces lignes; mettons une des deux lignes en commentaire pour pouvoir revenir en arrière (ajout de "#" en début de ligne) et remplaçons dans la ligne active, "$releasever" par "32".


[atomic]
#name = Fedora $releasever - atomic
#mirrorlist = http://updates.atomicorp.com/channels/mirrorlist/atomic/fedora-$releasever-$basearch
name = Fedora 32 - atomic
mirrorlist = http://updates.atomicorp.com/channels/mirrorlist/atomic/fedora-32-$basearch

Il suffit de modifier la première section "[atomic]", la seconde n'étant pas active par défaut.


Openvas

Suite à ces diverses manipulations, il est prudent d'effectuer un nettoyage:

dnf clean all

On peut dès lors procéder à l'installation:

dnf install openvas


Configuration

Cette étape n'est pas difficile mais dure longtemps (environ 1/2h à 1h). Elle présente plusieurs phases.


FireWall

Comme Openvas est un logiciel qui va attaquer tous azimut, il faut désactiver le mur de feu (FireWall) au moins en sortie.


Mise à jour

La seconde phase est incluse dans la troisième mais nous préférons la séparer car elle s'exécutera tous les jours.

Dans le répertoire "/etc/cron.daily" s'est installé un script: "gvm". Ce script récupère les dernières versions des procédures de détection des failles. Il faut absolument l'exécuter une première fois pour des raisons évidentes. Cette phase est longue. Il faut attendre sa bonne fin.

/etc/cron.daily/gvm


Configuration par défaut

Pour cette phase, arrêtez votre serveur WEB local momentanément. Car le processus a besoin des ports 80 et 443.


Ensuite exécutez la commande:

openvas-setup

Cette procédure configure l'ensemble assez complexe du logiciel. Vers la fin, il vous demandera un mot de passe pour l'utilisateur administrateur (user: admin) du système.

Il est possible par la suite de le changer si vous l'avez oublié par la commande suivante:

openvasmd --user=admin --new-password=NOUVEAUMOTDEPASSE

Ce processus a lancé de nombreux services et notamment la base de données PostgreSQL. Il a effectué l'équivalent des commandes suivante:

  • Activation:
systemctl enable postgresql
systemctl enable redis
systemctl enable gvmd
systemctl enable ospd-openvas
systemctl enable gsad
  • Lancement:
systemctl start postgresql
systemctl start redis
systemctl start gvmd
systemctl start ospd-openvas
systemctl start gsad

Attention: Si vous redémarrez les services, le service "gvmd" qui charge les scripts de détection des failles est long; attendez sa fin en le surveillant avec une commande du style:

ps axf


Ports

Le service "gsad" met en route un interface WEB sécurisé (port 443); le port 80 est automatiquement redirigé vers le port 443. Ce service rentre en conflit avec le service "httpd" (apache).

Si vous voulez changer ces ports, il faut modifier les options de lancement de ce service "gsad".

Ouvrez le fichier "/etc/sysconfig/gsad" et ajoutez les options suivante:

OPTIONS=" --port=444 --rport=81 "

Dans cet exemple, le port sécurisé du port 443 devient le port 444 et le port non sécurisé et redirigé, de 80 devient 81.

Après redémarrage de ces services, le service "httpd" peut être relancé.


Logrotate

Le service "Logrotate" sert à limiter la taille des journaux. Périodiquement, un journal change de nom en le renomment avec la date du jour; il est alors éventuellement compressé; les plus vieux journaux archivés sont détruits. Habituellement les journaux se trouvent dans le répertoire "/var/log".

Il se fait que l'installation d'Openvas commet des erreurs qui bloque le service "logrotate".

  • Le répertoire "/var/log/gvm" a de mauvais privilèges; il faut le modifier:
chmod -R 750 /var/log/gvm
  • Dans le fichier faisant référence aux jounaux du service "gsad", "/etc/logrotate.d/gsad" a une erreur. Le répertoire est non valide. Il faut changer:
/var/log/openvas/gsad.log {

par:

/var/log/gvm/gsad.log {

Il faut relancer le service concerné:

systemctl restart logrotate


Utilisation

On accède au logiciel via votre Explorateur Internet préféré en utilisant une URL du type:

https://serverdb.home.dom:444/login

L'utilisateur est: admin et le mot de passe que vous avez introduit.


LINUX:Openvas.login.png


La première étape consiste à créer une tâche et à la lancer.

On va dans le menu "Scans" et en dessous "Tasks".


LINUX:Openvas.menu.tashs.png


Dans la fenêtre qui s'ouvre, en haut à gauche, cliquez sur la baguette magique et en dessous sur "Task wizard".


LINUX:Openvas.menu.wizard.png


Dans l'écran, introduisez l'adresse IP ou le nom de la machine distante à analyser.


LINUX:Openvas.wizard.png


L'analyse ne tarde pas à démarrer. Dès que cette tâche est finie, vous pouvez cliquer sur le rapport pour plus de détails.


LINUX:Openvas.tash.png


Dans l'exemple, les deux rapports du bas correspondent à deux serveurs Windows d'une société privées dont, pour des raisons évidentes, nous tairons le nom.




retour au test de la sécurité