SquidGuard et les Blacklists

J’ai récemment du implémenter des listes noires dans squid via squidGuard.

Le problème, c’est que certaines listes sont tellement grosses qu’il est presque impossible de les compiler sans bloquer le serveur. De plus, les performance sont dégradées sur ces listes.

Vient alors la question: sont-elles à jour ?

pour les nouveaux sites, plutôt. Par contre, il traine dedans moultes sites qui n’existent plus.

d’où le petit script suivant qui permet de créer un fichier .new de la blacklist en paramètre (chemin) .

#!/bin/bash

function one_line (){
if host -s -4 -W 1 -t any $1 >/dev/null 2>&1 ; then
echo "$1" >>$2.new
ok="ok"
else
echo "-$1">>$2.diff
ok="nok"
fi
echo "$1 $ok"
}

count=0
NB_PROC=8
# nb de process en parallele
for line in $(cat $1)
do
one_line $line $1 &
let count+=1
[[ $((count%NB_PROC)) -eq 0 ]] && wait
#si modulo 0 tous process pris!
done

libre à vous de le mette ensuite en production en ajoutant au script :

squidGuard -C $1

si vous utilisez le nouveau fichier ( .new) que vous prendrez soin de renommer ou

squidGuard -u

si vous utilisez le .diff généré 🙂

vous noterez la parallélisation des tests: la commande host étant plutôt lente, il est intéressant de traiter plusieurs lignes en simultané.

 

 

Related Images:

Lien Permanent pour cet article : http://www.phigtech.com/?p=455

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


La période de vérification reCAPTCHA a expiré. Veuillez recharger la page.