LINUX:Openvas

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

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








->retour au test de la sécurité