« LINUX:Wazuh-Statistiques » : différence entre les versions

Page créée avec « __FORCETOC__ ---- ''→ retour à Wazuh: HIDS'' ---- =But= Au fur et à mesure, les attaques se diversifient et s'accumulent. A partir des adresse… »
 
Aucun résumé des modifications
Ligne 7 : Ligne 7 :




=Script de regroupement et de détection du pays d'origine=
=Script de regroupement et de localisation du pays d'origine=
La première étape consiste à repérer dans le fichier "/var/ossec/logs/active-responses.log", les adresses IP bloquées. On les regroupe au fur et à mesure du temps en ne gardant qu'une occurrence.
La première étape consiste à repérer dans le fichier "/var/ossec/logs/active-responses.log", les adresses IP bloquées. On les regroupe au fur et à mesure du temps en ne gardant qu'une occurrence.


Ligne 87 : Ligne 87 :
  /usr/bin/rm -f listeip.txt
  /usr/bin/rm -f listeip.txt
----
----
Un fichier est créé "ns.lis" qu'il ne faut pas détruire. Au fur et à mesure du temps, les adresses IP et leur localisation vont s'y accumuler. Un second fichier "nss.lis" est le résultat trié par pays du premier fichier; ce second fichier peut être effacé.
Un fichier est créé "ns.lis" qu'il ne faut pas détruire. Au fur et à mesure du temps, les adresses IP et leur localisation vont s'y accumuler. Ce fichier comprend 4 colonnes: l'adresse IP, le code du pays, le nom du pays et, s'il est disponible, le nom de la machine.
 
Un second fichier "nss.lis" est le résultat trié par pays du premier fichier; ce second fichier peut être effacé.
 
 
=CRON=
Ce script est à exécuter régulièrement avant effacement du fichier "/var/ossec/logs/active-responses.log". On peut automatiser cette procédure par exemple une fois par jour ou toutes les heures via le service CRON.
 
On peut ajouter une ligne dans le fichier "/etc/crontab":
----
10  *  *  *  *  root /manager/wazuh/stat/nslookup.bat  >  /manager/wazuh/stat/nslookup.log
----
Dans cet exemple, il s'exécute tous les heures sous une session de l'utilisateur "root".
 
 
=Statistiques=
Sur base du fichier "ns.lis", on peut faire passer un script qui effectue le comptage par pays.
 
Voici un script simple nommé "compter.bat":
----
#!/bin/bash
# Statistiques par pays des adresses IP
cd /manager/wazuh/stat
# récupérer les noms du pays
/usr/bin/awk -F'\t' '{printf("%s\n",$3)}' ns.lis > ns3.1
# effacer les espaces en fin de ligne et remplacer les espaces intérieurs par un souligné puis tri unique
/usr/bin/sed -i 's/[ ]*$//' ns3.1
/usr/bin/sed -i 's/ /_/g' ns3.1
/usr/bin/sort -u ns3.1 > ns3.2
# comptage par pays
liste=`/usr/bin/cat ns3.2`
echo -e "Pays\tnbs" > nscompte.lis
echo  "=====================" >> nscompte.lis
for pays in $liste
do
  echo -n -e "$pays\t" >> nscompte.lis
  /usr/bin/grep $pays ns3.1 | /usr/bin/wc -l >> nscompte.lis
done
# effacer les soulignés
/usr/bin/sed -i 's/_/ /g' nscompte.lis
# nettoyage
/usr/bin/rm -f ns3.1
/usr/bin/rm -f ns3.2
----
 
Le résultat se retrouve dans le fichier "nscompte.lis".
 
 
=Résultats=
Les résultats ont été mis dans un graphique où seuls les 20 plus grands sont repris. Il faut attendre quelques mois pour voir une stabilisation.