La mise en quarantaine

Elle se fait à 2 niveaux. Le premier est sur le serveur de log (qui détecte et prend la décision), le second est sur le firewall.

Sur le serveur de log

Il est capable de déposer les fichiers sur le firewall et de demander à celui-ci de relancer le firewall. Le nom de la routine est propagation.sh

#!/bin/sh
#####################################################################
#
#	Script de redistribution des machines infectées et mise en place
#	des protections associées
#
#
cd /usr/local/etc/quarantaine
#
#	Sortie du processus de quarantaine des postes "protégés"
#
echo "Propagation de la quarantaine"
egrep -v -f exceptions_renater.lst quarantaine.lst > propagation_renater.lst
 
#
#	Heimdall
#
echo "Heimdall"
scp propagation_renater.lst heimdall:/htdocs/quarantaine_univ-tlse1.lst
ssh heimdall.univ-tlse1.fr /usr/local/scripts/quarantaine.sh
 
#
#	Firewall
#
echo "Firewall"
scp propagation.lst firewall:/usr/local/etc/firewall/quarantaine.lst
ssh firewall.univ-tlse1.fr /usr/local/etc/firewall/quarantaine.sh

Quelques précisiond

  • Heimdall est notre serveur WWW http://cri.univ-tlse1.fr
  • exceptions_renater.lst contient notre réseau interne, la RFC 3330, des machines "amies" et les machines googlebot.
^193\.49\.48\.
^193\.49\.50\.
^193\.49\.51\.
^193\.49\.52\.
^193\.49\.53\.
^193\.49\.54\.
^193\.49\.55\.
^193\.49\.58\.
^192\.93\.172\.
^194\.254\.254\.
^194\.254\.255\.
^10\.
^192\.168\.
^66\.249\.65\.[0-9]+$

Le firewall

Dans la chaine iptables, se trouve une ligne, à positionner très tôt (pour bloquer très vite) qui contient ceci :

iptables -A FORWARD -j TEST_QUARANTAINE

Elle est précédée d'une définition de la chaine de rejet QUARANTAINE.

iptables -N QUARANTAINE
iptables -A QUARANTAINE -j LOG --log-prefix "QUARANTAINE "
iptables -A QUARANTAINE -j DROP

Dans le répertoire /usr/local/etc/firewall se trouve le fichier quarantaine.sh qui modifie la chaine TEST_QUARANTAINE

#!/bin/sh
cd /usr/local/etc/firewall
iptables -F TEST_QUARANTAINE
LISTE_MACHINE=`cat quarantaine.lst`
for i in $LISTE_MACHINE
do
        iptables -A TEST_QUARANTAINE -s $i -j QUARANTAINE
done