Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
picviz [Le 10/03/2010, 14:03] 213.95.41.13picviz [Le 12/08/2020, 00:31] (Version actuelle) – [Picviz] 90.91.54.148
Ligne 1: Ligne 1:
 +{{tag>système sécurité}}
 +----
  
 +====== Picviz ======
 +Picviz est un applicatif qui, à partir de fichiers log générés par des sources diverses telles que Apache, Netfilter, ... va concevoir des graphiques au format png permettant une vue plus synthétique et plus compréhensible des données contenues dans ces fichiers log (erreurs, anomalies, ...)
 +
 + Picviz permet de générer des graphiques type coordonnées parallèles. 
 +Les coordonnées parallèles sont une technique permettant de visualiser un nombre important d'informations de façon non ambiguë ([[wpfr>Coordonnées_parallèles|voir wikipedia]]).
 +
 +===== Pré-requis =====
 +
 +  * Disposer des [[:sudo|droits d'administration]].
 +  * Disposer d'une connexion à Internet configurée et activée.
 +  * Dépôt //universe// activé (sinon voir [[:depots]]).
 +===== Installation =====
 +Installation des paquetages prérequis (dont [[python]] et [[gcc]])
 +
 + apt-get install flex bison python-dev python-qt4 cmake cairo-dock gcc libpcre3 libpcre3-dbg libpcre3-dev
 +
 +Installation de libpicviz (c'est la library de picviz développée en python) l'archive est disponible  [[http://trac.wallinfire.net/picviz/wiki/ReleasesDownload|ici]]
 + cd ..
 + wget http://pkgs.fedoraproject.org/repo/pkgs/picviz/libpicviz-0.6.tar.gz/bd2cd1dd250dc5df362b1d3a5edea3cd/libpicviz-0.6.tar.gz
 + tar xvf libpicviz-0.6.1.tar.gz
 + cd libpicviz-0.6.1
 + make
 + sudo make install
 + cd src/bindings/python
 + sudo python setup.py install
 +
 +Installation de picviz-cli (picviz en interface texte) l'archive est disponible  [[http://trac.wallinfire.net/picviz/wiki/ReleasesDownload|ici]]
 + cd ..
 + wget http://pkgs.fedoraproject.org/repo/pkgs/picviz/picviz-cli-0.6.tar.gz/4ef5edbb77811de3ac608af28d02dce6/picviz-cli-0.6.tar.gz
 + tar xvf picviz-cli-0.6.tar.gz
 + cd picviz-cli-0.6/src
 + make
 + sudo make install
 +
 +Installation de picviz-Gui (picviz en interface graphique) l'archive est disponible  [[http://trac.wallinfire.net/picviz/wiki/ReleasesDownload|ici]]
 + cd ../..
 + wget http://www.wallinfire.net/files/picviz/picviz-gui-0.7.tar.gz
 + tar xvf picviz-gui-0.7.tar.gz
 + cd picviz-gui-0.7
 + sudo ./setup.py install
 + sudo ldconfig
 +
 +===== Configuration=====
 +
 +
 +==== > picviz-gui ====
 +
 +Intégrer picviz-gui au menu **Application** : Clic droit sur **Application**-> **Éditer les menus** -> **Accessoires** -> **Nouvel élément** -> le nom **Picviz**, la commande **picviz-gui**
 +
 +===== Utilisation=====
 +
 +Picviz reçoit en entrée des fichiers au format PCV.
 +
 +Avant d'utiliser le logiciel Picviz, il faut utiliser un script qui permet de convertir le fichier log en un fichier PCV par l'utilisation du langage PGDL ([[http://trac.wallinfire.net/picviz/wiki/PcvLanguage|plus d'information]]).
 +
 +
 +Sources (Syslog, [[:iptables|Netfilter]], [[apache2|Apache]]) -> Génération par le langage PGDL (utilisation de [[http://trac.wallinfire.net/picviz/wiki/PerlPcv|script]]) -> fichier PCV -> Conception du graphique (par utilisation picviz) -> Graphique png
 +
 +==== > picviz-cli ====
 +
 + pcv -Tpngcairo -Rheatline -rrrrrrrra access-wallinfire.net.pcv > access.png
 +
 +  * Tpngcairo : format png
 +  * Rheatline -Avirus : couleur
 +  * rrrrrrrr : permet une haute résolution
 +  * a : permet afficher du texte
 +Génération automatique de graphiques :
 +Nous pouvons, à partir [[cron]], créer un script qui permet de générer des images périodiques. Le script syslog2picviz.pl est disponible [[http://trac.wallinfire.net/picviz/browser/picviz-parsers/syslog2picviz.pl?rev=385|ici]]
 +
 + #!/bin/sh
 + ./syslog2picviz.pl syslogemu.log > syslogemu.pcv
 + pcv -Tpngcairo -Rheatline -rrrrrrrra syslogemu.pcv > syslogemu.png
 + echo "" | mutt -x -s "Picviz" root -a syslogemu.png
 + rm syslogemu.pcv
 + rm syslogemu.png
 +
 +Un envoi de mail se fait automatiquement par utilisation d'un [[serveurs_messagerie|serveur mail]]
 +
 +==== > picviz-gui ====
 +{{ http://www.picviz.com/images/montage/picviz-ss1.png?439x169|Screenshot de picviz}}
 +
 +picviz-gui apporte un plus à la ligne de commande, mais comme celle-ci est écrite en python. Elle est relativement moins fluide et fine que [[ggobi]].
 +==== > Exemple d'utilisation ====
 +=== La source ===
 +On récupère un log, dans mon cas syslogemu.log log de parfeu.
 +
 +Extrait du fichier log
 + Mar  3 09:38:46 debian DINPUT IN=eth0 OUT= MAC=00:0c:30:db:0c:32:00:0c:30:b1:d9:e2:09:00  SRC=192.168.1.205 DST=192.168.1.240 LEN=44 TOS=00 PREC=0x00 TTL=55 ID=53647 CE PROTO=TCP SPT=48040 DPT=23 SEQ=2989621591 ACK=0 WINDOW=4096 SYN URGP=0 
 + Mar  3 09:38:46 debian DINPUT IN=eth0 OUT= MAC=00:0c:30:db:0c:32:00:0c:30:b1:d9:e2:09:00  SRC=192.168.1.205 DST=192.168.1.240 LEN=44 TOS=00 PREC=0x00 TTL=40 ID=7426 PROTO=TCP SPT=48040 DPT=113 SEQ=2989621591 ACK=0 WINDOW=1024 SYN URGP=0 
 + Mar  3 09:38:46 debian DINPUT IN=eth0 OUT= MAC=00:0c:30:db:0c:32:00:0c:30:b1:d9:e2:09:00  SRC=192.168.1.205 DST=192.168.1.240 LEN=44 TOS=00 PREC=0x00 TTL=56 ID=40787 CE PROTO=TCP SPT=48040 DPT=21 SEQ=2989621591 ACK=0 WINDOW=1024 SYN URGP=0
 + ...
 +
 +=== Conversion ===
 +On convertit le log du parfeu en format PCV à l'aide de script. Le script syslog2picviz.pl est disponible [[http://trac.wallinfire.net/picviz/browser/picviz-parsers/syslog2picviz.pl?rev=385|ici]], On peut le modifier selon la situation.
 +
 + ./syslog2picviz.pl syslogemu.log > syslogemu.pcv
 +Extrait du fichier pcv
 + header {
 + title = "Syslog picviz analysis";
 + }
 + axes {
 + ipv4   SRC [label="Ip source"];
 + ipv4   DST [label="IP destination"];
 + port   SPT [label="Port source"];
 + port   DPT [label="Port destination"];
 + }
 + data {
 + PortIN="",SRC="192.168.1.205",DST="192.168.1.240",SPT="48040",DPT="23";
 + PortIN="",SRC="192.168.1.205",DST="192.168.1.240",SPT="48040",DPT="113";
 + PortIN="",SRC="192.168.1.205",DST="192.168.1.240",SPT="48040",DPT="21";
 + ...
 + }
 +
 +=== Création de l'image ===
 +On utilise la commande pcv pour convertir syslogemu.pcv en syslogemu.png. A partir de là, nous pouvons débuter l'analyse de l'image.
 + pcv -Tpngcairo -Rheatline -rrrrrrrra syslogemu.pcv > syslogemu.png
 +
 +===== Voir aussi =====
 +  * **(en)** [[http://www.wallinfire.net/picviz/|Site officiel du logiciel Picviz]]
 +  * **(en)** [[https://www.honeynet.org/files/KYT-Picviz_v1_0.pdf|Manuel d'utilisation du logiciel Picviz]]
 +  * **(en)** [[http://www.ggobi.org/docs/parallel-coordinates/|Site officiel du logiciel GGobi]]