Generation de rapports OpenVAS

La génération de rapports OpenVAS nécessite quelques ajustements après l’installation du produit.

Rapports pdf

Il faut ajouter quelques dépendances pour que cela fonctionne

yum install texlive-latex*
yum -y install texlive-changepage texlive-titlesec
mkdir -p /usr/share/texlive/texmf-local/tex/latex/comment
cd /usr/share/texlive/texmf-local/tex/latex/comment
wget http://mirrors.ctan.org/macros/latex/contrib/comment/comment.sty
chmod 644 comment.sty
texhash

Attention tout de même, car la géneration du Pdf s’appuie sur Latex et ce dernier va interrompre le processus s’il détecte plus de 100 erreurs (ex: tableau coupé entre 2 pages).

Rapports Xls


Il en va de même pour la génération de fichiers Excel, ou il faudra passer par un rapport en xml puis utiliser une librairie python.

yum install epel-release 
yum install python34
curl -O https://bootstrap.pypa.io/get-pip.py
/usr/bin/python3.4 get-pip.py 
pip install openvas_to_report
/usr/bin/python3.4 /usr/lib/python3.4/site-packages/openvas_to_report/openvas_to_document.py -i report_openvas.xml -o report.xlsx

Rapports customs

Je me suis frotté à la génération d’un rapport personnalisé avec comme embuche de taille le format du csv qui contient des EOL non échappés dans les champs. Je suis donc passé par Xml avec l’appuie de xmlstarlet et voici le script que j’utilise pour générer un rapport csv.

#!/bin/bash

rm -f *.csv;

for file in *.xml; do
        FILE_RooT=`echo $file | awk -F '.xml' '{ print $1 }';`
        echo '#######################' $file ' ##################### ' $FILE_RooT;
        xmlstarlet sel -T -t -m "report/report/results/result" -s D:N:- "@id" -v "concat('\"',@id,'\",\"',host,'\",\"',threat,'\",\"',qod/value,'\",\"',name,'\"')" -n $file > "$FILE_RooT.csv" ;
        echo -ne "From \r" ;
        cat $file  | wc -l ;
        echo -ne " to " ;
        cat $FILE_RooT.csv | wc -l  ;
done
Pour marque-pages : Permaliens.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *