Mon but est d'installer une solution anti-virus efficace sur mon serveur FTP.
La solution retenu sera ClamAv qui je pense est largement assez puissante pour mon objectif .
Voilà la situation , serveur Linux sous débian lenny , avec VsfTP comme serveur FTP
L'installation
Commençons par le commencement ...
Prérequis
Voici les paquets qui doivent être installé avant la mise en place de ClamAv
#apt-get install zlib1g zlib1g-dev gcc bzip2 libbz2-dev build-essential ncurses-dev
Il nous faut ensuite créer l'utilisateur qui sera utilisé par ClamAv
groupadd clamav useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav
Récupération des sources et décompression
A vous de vérifier qu'il n'y a pas de nouvelle version depuis l'écriture de ce billet , ici nous allons installer la version 0.95.3
wget http://downloads.sourceforge.net/project/clamav/clamav/0.95.3/clamav-0.95.3.tar.gz?use_mirror=heanet
Ne reste plus qu'à décompresser ...
zcat clamav-0.95.3.tar.gz | tar xvf - cd clamav-0.95.3
Compilation
Pour la compilation , vous avec de nombreuses option , pour les lister , voici la commande
$./configure --help | less
Pour une utilisation standard , voilà les commandes à utiliser
$./configure --sysconfdir=/etc --with-user=clamav --with-group=clamav --with-dbdir=/var/lib/clamav $make #make install
N'oubliez pas la mise à jour des liens des libs
#ldconfig
Les Chemins
Pour une bonne utilisation , il nous faut maintenant créer les répertoires suivants :
mkdir /var/lib/clamav /var/run/clamav /var/log/clamav chown -R clamav:clamav /var/lib/clamav /var/log/clamav /var/run/clamav
Les fichiers de configuration
Ils se trouvent dans /etc et sont :
- freshclam.conf
- clamd.conf
Comparez et commentez/dé-commentez ce qu'il faut ( n'oubliez pas de commenter la ligne "exemple" au début de chacun de ces fichiers )
Voici les fichiers tel que vous devriez les avoir avec la configuration
Mises à jours automatique
Pour mettre en place la mise à jour automatique des signatures de virus , nous allons créer une tâche CRON
#vim /etc/cron.d/freshclam
Voici le contenu de ce fichier
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root 0 0,6,12,18 * * * clamav /usr/local/bin/freshclam --log-verbose @reboot amavis /usr/local/bin/freshclam
MAILTO permet de définir l'utilisateur qui recevra les resultats/erreurs par courrier
Pour la périodicité , nous avons mis ici l'exécution du script chaque jour à 6h00 12h00 et 18h00 .Ainsi qu'au reboot éventuel de la machine .
Démarrer le démon au démarrage
Et oui dans la configuration actuelle , le mode daemon est activé , ce qui a pour avantage de charger une fois pour toute les signatures en mémoire à son démarrage , plutot qu'à chaque scan
Nous allons ajouter le petit script de start dans init.d
#vim /etc/init.d/clamd
voici le contenu
#!/bin/sh
# clamd
case "$1" in
'start')
/usr/local/sbin/clamd
;;
'stop')
/usr/bin/killall clamd > /dev/null 2>&1 && echo -n 'Clamd stopped'
;;
*)
echo "Usage: $0 { start | stop }"
;;
esac
exit 0
Ajoutons ce script aux runlevels
chmod 777 /etc/init.d/clamd update-rc.d clamd defaults
Il ne nous reste plus qu'à faire la première mise à jours des signatures
#freshclam -v
Une fois le téléchargement terminé , l'on peu démarrer le démon
/etc/init.d/clamd start
Mais .. la suite
Ne reste plus qu'à créer un serveur mandataire transparent , pour filtrer les flux FTP .. je travail actuellement sur FROX .. la suite bientot .

