J’avais écrit un article décrivant comment installer dansguardian avec le plugin clamav, or le dépot que j’utilisais pour la Centos4 n’est plus valable pour la version 5.
Cette doc a ensuite été modifiée pour prendre en compte les remarques de strato. Merci à lui pour ses commentaires.
J’ai donc créé mon propre rpm comme je vais l’indiquer ci-dessous.
Télécharger le src.rpm depuis le site http://sourceforge.net/projects/dgav/.
Avant de le compiler, il faut installer les paquets clamav-devel et la libesmtp.
clamav-devel existe en standard ( j’ai le dépot rpmforge de dag sur ma machine ) et un simple yum -y install clamav-devel
suffit à l’installer.
Pour avoir la librairie libesmtp, j’ai téléchargé le src.rpm depuis le site RPMFIND .
Ce fichier est actuellement libesmtp-1.0.4-2.fc6.src.rpm.
Je crée le rpm avec la commande rpmbuild --rebuild libesmtp-1.0.4-2.fc6.src.rpm
Les paquets créés se trouvent dans /usr/src/redhat/RPMS/i386/
Pour utiliser clamd sur CentOS 5.1 il faut préalablement désactiver SELinux pour clamd
Pour ma part je le désactive carrément du système, mais pour être plus « clean », vous pouvez taper la commande :
setsebool -P clamd_disable_trans=1
J’installe les paquets avec la commande rpm -ivh /usr/src/redhat/RPMS/i386/libesmtp*
Je crée le rpm avec la commande suivante : rpmbuild --rebuild dansguardian-antivirus-6.4.4.2-1.src.rpm
J’installe le paquet que je viens de créer.
rpm -ivh /usr/src/redhat/RPMS/i386/
dansguardian-antivirus-6.4.4.2-1.i386.rpm
Vérifiez que les paquets squid et clamd sont installés car ils sont necessaires au fonctionnement de dansguardian-antivirus.
S’ils n’y sont pas, installez-les avec yum et démarrez squid et clamd.
Modifiez le fichier /etc/dansguardian/dansguardian.conf à votre convenance, en prenant exemple sur mon fichier en pièce jointe, mais attention à la valeur de accessdeniedaddress = 'http://213.190.70.89/cgi-bin/dansguardian.pl'
.
En effet, c’est vers cet url que dansguardian redirige les accés refusés et affichant une page web.
Dans mon cas j’ai installé apache sur ma machine locale et j’ai inscrit son adresse ip. Pensez à la modifier et à configurer apache correctement.
Je joins mon fichier /etc/httpd/conf.d/dansguardian.conf et le contenu de mon dossier /var/www/dansguardian, composé de l’unique dansguardian.pl.
Pensez à donner les droits à apache pour exécuter ce script cgi et à modifier le range réseau dans le fichier /etc/httpd/conf.d/dansguardian.conf.
Dans le fichier /etc/dansguardian/dansguardian.conf se trouve 2 directives importantes :
daemonuser = ‘amavis’
daemongroup = ‘amavis’
Par défaut, ces directives sont à nobody.
Or sur ma machine, le socket /tmp/clamd.socket appartient au compte amavis, comme le confirme la commande suivante :
[root@portableLR dansguardian]# ls /tmp/ -l
total 248
srwxrwxrwx 1 amavis amavis 0 nov 14 14:03 clamd.socket
Cette valeur amavis existe car j’ai ce logiciel actif sur mon serveur, cela sera certainement différent sur le votre.
Remplacez bien au besoin amavis par la valeur que vous retourne ls /tmp/ -l /tmp/clamd.socket
J’ai donc modifié les directives et je dois remplacerles droits sur les dossiers utilisés par dansguardian-antivirus, car ils sont créés avec le user nobody et cela bloque l’analyse antivirus de dansguardian.
Donc je change les droits :
chown -R amavis: /var/log/dansguardian/
chown -R amavis: /tmp/dgvirus/
Vérifier également le socket utilisé par clamd dans le fichier dansguardian.conf.
Comme vu ci dessus, le socket est /tmp/clamd.socket, ce qui n’est pas la valeur par défaut de clamd.
Vérifiez donc que vous avez bien modifié ou ajouté cette valeur :
clamdsocket = '/tmp/clamd.socket'
Je démarre clamd et squid, car dansguardian vérifie leur présence.
/etc/init.d/squid restart
/etc/init.d/clamd restart
Je démarre dansguardian qui va alors écouter sur le port 8080.
/etc/init.d/dansguardian start
J’active tous les services :
chkconfig dansguardian on
chkconfig squid on
chkconfig clamd on
J’ai viré les lignes de certains fichiers de /etc/dansguardian, afin de ne pas bloquer des types de fichiers, car je n’en ai pas besoin.
Ces fichiers sont bannedextensionlist et bannedmimetypelist.
A vous de voir sivous devez le faire ou en modifier d’autres.