Antivirus http : HAVP

Date : 14/11/2007
OS : Linux Fedora 7

Pré-requis

  • Le proxy Squid doit être installé et configuré.
  • Vous devez savoir installer et désinstaller des programmes et être familiarisé avec la ligne de commande.

Installation des programmes associés

Anti Virus (Clamav)

La version contenu dans les dépôts YUM ne fonctionnera pas, on installera donc clamav à partir des sources.

# Si nécessaire On vérifie que l'on n'a plus de programmes clamav installés
rpm -qa |grep clamav
yum remove clamav*
 
# Téléchargement et installation du programme et ses dépendances.
wget -c http://dag.wieers.com/rpm/packages/clamav/clamav-0.91.2-1.rf.src.rpm
rpm -i clamav-0.91.2-1.rf.src.rpm
yum install sendmail-devel
rpmbuild -bb /usr/src/redhat/SPECS/clamav.spec
rpm -i /usr/src/redhat/RPMS/i386/clamav-0.91.2-1.rf.i386.rpm
rpm -i /usr/src/redhat/RPMS/i386/clamav-db-0.91.2-1.rf.i386.rpm
rpm -i /usr/src/redhat/RPMS/i386/clamav-devel-0.91.2-1.rf.i386.rpm
 
# Mise à jour de la base de données virale (liste des virus connus)
freshclam

HTTP Anti Virus Proxy (HAVP)

Installation de HTTP Anti Virus Proxy qui va filtrer les pages passant par le proxy.

# Téléchargement et installation du programme
wget -c http://www.server-side.de/download/havp-0.86.tar.gz
tar xvf havp-0.86.tar.gz 
cd havp-0.86/
./configure --with-scanner=libclammav
make
make install
 
# copie des fichiers modèles sur le système
cp -rf etc/havp /etc/
cp etc/init.d/havp /etc/init.d/
 
# Edition du fichier de configuration de havp en décommantant l utilisation de clamav. 
# Commenter : REMOVETHISLINE (sécurité pour savoir si vous avez bien éditer le fichier de configuration)
# Mettre : ENABLECLAMLIB true, CLAMDBDIR /var/clamav
vi /etc/havp/havp.config
 
# Cette commande ajoute automatiquement dans la fichier de configuration de squid :
echo "cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange default" >> /etc/squid/squid.conf
 
# Configuration de havp
useradd havp
chown havp -R /var/log/havp/
chown havp -R /var/tmp/havp/

A partir de ce moment, le système est installé. Il ne reste plus qu'à tester si tout fonctionne correctement.

# Montage d'un disque virtuel pour havp à créer à chaque démarrage
dd if=/dev/zero of=/tmp/disk30M bs=1024k count=30
mke2fs -F /tmp/disk30M
mount -t ext2 -o loop,mand,noatime,async /tmp/disk30M /var/tmp/havp
 
# Lancement de havp
chown havp -R /var/tmp/havp/
havp -c /etc/havp/havp.config

Utilisation

Lancement automatique d'un script qui montera automatiquement le disque virtuel et lancera havp. Il est préférable de modifier le fichier service /etc/init.d/havp pour le mount du disque virtuel (cf commandes précédentes). Modifier le chemin de recherche de ficher config de havp (/etc/havp/havp.config). Penser aussi à faire un sleep 5 && umount /var/tmp/havp à l'arrêt du service havp. Ainsi en chargeant les services, tout sera opérationnel.

Ensuite :

/etc/init.d/havp start

Si vous ne voulez pas modifier le fichier service, vous pouvez ajouter le lancement de havp dans le fichier /etc/rc.local.

Comme configuré ici, il faut changer le port par défaut du proxy (squid = 3128 par défaut) sur la machine cliente (havp = 8080 par défaut).

On peut personnaliser la page d'alerte virus par défaut en éditant le fichiers html dans /usr/local/etc/havp/templates/.

Liens connexes