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
Bonjour,
Je rencontre une erreur avec le script python openvas_to_document :
# /usr/bin/python3.4 /rw/usrlocal/lib/python3.4/dist-packages/openvas_to_report/openvas_to_document.py -i report_openvas.xml -o report.xlsx
Traceback (most recent call last):
File « /rw/usrlocal/lib/python3.4/dist-packages/openvas_to_report/openvas_to_document.py », line 82, in
main()
File « /rw/usrlocal/lib/python3.4/dist-packages/openvas_to_report/openvas_to_document.py », line 65, in main
convert(config)
File « /rw/usrlocal/lib/python3.4/dist-packages/openvas_to_report/api.py », line 248, in convert
openvas_info = openvas_parser(config.input_files, excluded_hosts=excluded_hosts, scope_hosts=scope_hosts)
File « /rw/usrlocal/lib/python3.4/dist-packages/openvas_to_report/libs/parsers/openvas_parser.py », line 129, in openvas_parser
vuln_level = nvt_tmp.find(« .//risk_factor »).text
AttributeError: ‘NoneType’ object has no attribute ‘text’
Comment fixer cette erreur ?
Merci bien