« LINUX:Openvas » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 195 : | Ligne 195 : | ||
''->[[LINUX:Tester la sécurité|retour au test de la sécurité]]'' | ''->[[LINUX:Tester la sécurité|retour au test de la sécurité]]'' | ||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
[[Category:LINUX]] |
Version du 3 décembre 2020 à 14:10
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".
Maintenant, si nous faisons la même chose mais pour "Fedora 32", nous constatons que les deux versions existent.
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/.
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:
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.
La première étape consiste à créer une tâche et à la lancer.
On va dans le menu "Scans" et en dessous "Tasks".
Dans la fenêtre qui s'ouvre, en haut à gauche, cliquez sur la baguette magique et en dessous sur "Task wizard".
Dans l'écran, introduisez l'adresse IP ou le nom de la machine distante à analyser.
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.
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.