Vous êtes sur la page 1sur 9

Mise en place dun systme de protection antivirus sur un serveur de chiers Samba sous Debian GNU/Linux

Nowicki Christophe
nowick_c@epita.fr cscmeu@andesi.org

Permission est accorde de copier, distribuer et/ou modier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License), version 1.1 ou toute version ultrieure publie par la Free Software Foundation. Pas de section inaltrable. Ce document est disponible aux formats :

HTML (http://etud.epita.fr/~nowick_c/publications/deb_vscan/deb_vscan.html) PDF (http://etud.epita.fr/~nowick_c/publications/deb_vscan/deb_vscan.pdf) RTF (http://etud.epita.fr/~nowick_c/publications/deb_vscan/deb_vscan.rtf) Texte (http://etud.epita.fr/~nowick_c/publications/deb_vscan/deb_vscan.txt)

Les sources au format XML DocBook v4.2 de ce document se trouvent ladresse http://etud.epita.fr/~nowick_c/publications/deb_vscan/deb_vscan.xml (http://etud.epita.fr/~nowick_c/publications/deb_vscan/deb_vscan.xml).

1. Introduction
Cet article explique comment mettre en place un systme de protection antivirus sur un serveur de chier Unix de type Samba pour protger les machines Microsoft Windows. Le but est de centraliser sur le serveur de chiers la dtection des virus et dempcher leur propagation laide de lchange de chiers. Pour mettre en place ce systme de protection, nous avons besoin des projets suivants.

Mise en place dun systme de protection antivirus sur un serveur de chiers Samba sous Debian GNU/Linux

1.1. Le projet Samba

Implmentation du protocole SMB/CIFS sous Unix. Cest un logiciel libre qui permet nimporte quelle machine Unix dtre serveur de chiers, dimpression ou bien contrleur de domaine dans un environnement Microsoft. Nous utiliserons la branche 3.0 du projet, plus exactement la version 3.0.2a disponible dans Debian "Sarge". La site Internet du projet Samba est : http://www.samba.org/

1.2. Clam AntiVirus : ClamAV

Antivirus pour les virus Windows fonctionnant sous Unix. Bas sur le projet OpenAntivirus (http://www.openantivirus.org/), qui permet de dtecter tous les types de Virus Windows. Le principal atout de ClamAV est son dmon, Clamd, qui fonctionne en tche de fond et qui est facilement interfaable, avec les applications telles quun serveur de mail, serveur http ou bien ici un serveur de chiers Samba. Le dmon demeure peu gourmand en ressources systme et pourra tre install mme sur les congurations lgres. La page principale du projet est http://www.clamav.net/

1.3. OpenAntivirus : Samba-vscan

Module VFS pour Samba qui permet danalyser le chiers lors des accs sur le serveur de chiers. Nous utiliserons la version 0.3.5 du projet qui est hberger sur Sourceforge : http://sourceforge.net/projects/openantivirus/.

Mise en place dun systme de protection antivirus sur un serveur de chiers Samba sous Debian GNU/Linux

2. Installation
2.1. ClamAV
Il faut tout dabord installer lantivirus ClamAV. Celui-ci est disponible dans Debian sous forme de paquet :

#apt-get install clamav clamav-daemon clamav-testfiles

Debconf va vous demander comment mettre jour automatiquement la base de signature de virus. Vous avez le choix entre :

Options de Debconf pour la mise jours des signatures de virus pour clamav
daemon si vous avez une connexion Internet permanante le daemon va rcuprer la liste des mises jour automatiquement. ifup.d si vous avez une connexion Internet de type RTC, clamav va mettre jour la base lors de ltablissement de la connexion. cron debconf va mettre en place un crontab pour excuter la mise jour priodiquement. manual vous devez mettre jour la base de signature de virus manuellement en ligne de commande.

Puis debconf va vous demander ladresse du serveur de mises jour des signatures. Vous pouvez garder la valeur par dfaut qui pointe sur un round robin DNS mondial : http://database.clamav.net/ Debconf vous permet aussi de congurer un serveur mandataire HTTP si vous en avez besoin. Et nalement si vous voulez notier le serveur danalyse antiviral des mises jour de la base de signature de virus. Il vaut mieux rpondre oui cette question.

Mise en place dun systme de protection antivirus sur un serveur de chiers Samba sous Debian GNU/Linux

2.2. Samba
Nous avons aussi besoin du paquet samba. La version 3.0 se trouve directement dans "Sarge". Il suft de linstaller laide de la commande apt.

#apt-get install samba

Debconf vous propose de lancer samba en deamon ou bien partir de inetd. Pour de meilleur performances il faut lancer Samba en mode deamon. Pour installer le projet Samba-vscan, nous avons besoin des sources de Samba. Pour cela, il faut se placer dans un rpertoire de compilation comme /usr/src et tlcharger les sources et les dpendances de Samba laide dapt.

#cd /usr/src #apt-get source samba #apt-get build-deb samba

Une fois les sources telecharges et les bibliothques ncessaires installes, vous pouvez reprendre les options de compilation du paquet Debian.

#cd samba-3.0-2a #./debian/rules configure-stamp

Le programme dh_make va patcher, lance le script autoconf avec les mmes options que celles du paquet Samba de Debian que vous avez installes prcdemment. Il ne nous reste plus qu gnrer les prototypes des fonctions :

#cd sources #make proto

Mise en place dun systme de protection antivirus sur un serveur de chiers Samba sous Debian GNU/Linux

2.3. Samba-vscan
Une fois que vous avez une version congure des sources de Samba il faut rcuprer les sources de Samba-vscan sur sourceforge. http://sourceforge.net/project/showles.php?group_id=10590&package_id=29198

#cd /usr/src #wget http://switch.dl.sourceforge.net/sourceforge/openantivirus/samba-vscan-0.3.5.tar.bz2 #tar xjvf samba-vscan-0.3.5.tar.bz2

Le module VFS samba-vscan est fortement dpendant des sources de Samba. Il faut donc indiquer lors de la conguration le rpertoire o se trouve les sources de Samba :

#cd samba-vscan-0.3.5 #./configure --with-samba-source=/usr/src/samba-3.0.2a/source #make #make install #cp clamav/vscan-clamav.conf /etc/samba/

3. Conguration
3.1. Samba-vscan
Une fois que vous avez install tous les lments, il ne vous reste plus qu congurer le comportement de lantivirus et les partages Samba. Dans le chier de conguration de samba-vscan (/etc/samba/vscan-clamav.conf), il faut modier plusieurs variables :

; envoyer un message de notification grce au service ; Windows Messenger service lorsquun virus est trouv? ; (default: yes) send warning message = yes ; le nom de la socket de clamav dfinie dans /etc/clamav/clamav.conf clamd socket name = /var/run/clamav/clamd.ctl ; action faire en cas dinfection

Mise en place dun systme de protection antivirus sur un serveur de chiers Samba sous Debian GNU/Linux
; quarantine: essayer de dplacer le fichier dans le rprtoire de quarantaine ; si le dplacement choue le fichier est effac. ; delete: ffacer le fichier (dangeureux) ; nothing: ne rien faire infected file action = quarantine quarantine directory = /tmp quarantine prefix = vir-

3.2. Les partages Samba


Une fois le comportement de lantivirus dni, il ne nous reste plus qu ajouter des partages Samba protgs par lantivirus. Pour cela nous allons ajouter dans le chier de conguration de Samba deux nouveaux partages (/etc/samba/smb.conf) :

[smb] comment = /smb directory path = /smb writeable = yes browseable = yes guest ok = yes [smb_vscan] comment = virus-protected /smb directory path = /smb vfs object = vscan-clamav vscan-clamav: config-file = /etc/samba/vscan-clamav.conf writeable = yes browseable = yes guest ok = yes

Note : Noubliez pas de tester votre chier de conguration laide du programme testparm qui fait partie de la suite Samba.

3.3. Test de la conguration


Si la syntaxe du chier de conguration est correcte vous pouvez redmarrer le deamon Samba et tester le bon fonctionnement des partages.

#/etc/init.d/samba restart $smbclient //serveur/smb_vscan Password: Anonymous login successful

Mise en place dun systme de protection antivirus sur un serveur de chiers Samba sous Debian GNU/Linux
Domain=[REZO] OS=[Unix] Server=[Samba 3.0.2a-Debian] $smb: \> lcd /usr/share/clamav-testfiles/ $smb: \> put test2.zip

Si vous voulez voir si lantivirus fonctionne correctement il suft de regarder dans syslog (le chier /var/log/syslog) du serveur de chiers :

May May May May

11 11 11 11

06:44:16 06:44:16 06:44:27 06:44:27

sarge sarge sarge sarge

smbd_vscan-clamav[21257]: smbd_vscan-clamav[21257]: smbd_vscan-clamav[21257]: smbd_vscan-clamav[21257]:

samba-vscan (vscan-clamav 0.3.5) connected (Samba INFO: connect to service smb_vscan by user nobody ALERT - Scan result: /smb/test2.zip infected wit INFO: quarantining file /smb/test2.zip to /tmp/

Si vous avez activ le service Windows Messenger sur le poste Windows (celui-ci est activ par dfaut dans toutes les versions de Microsoft Windows sauf 2003) . Vous devriez voir apparatre le pop-up suivant sur votre cran.

Voil, vous de jouer. Vous pouvez dnir un comportement diffrent par partage en jouant avec les options du chier /etc/samba/smb.conf.

4. Performances
Cest bien beau tout cela, mais quel vont tre les performances de mon serveur de chiers? Pour tre honnte avec vous votre magnique serveur de chier Samba va se transformer en un serveur de chiers NT ;) Il faut bien comprendre que pour chaque tentative douverture ou de fermeture de chier, celui-ci va tre analyser par lantivirus. Pour vous donner une ide de la dgradation des performancs, jai effectu un benchmark laide de smbtorture et dbench. Comme tout benchmark, il est prendre avec des pincettes dautant plus que les rsultats sont catastrophiques.

Mise en place dun systme de protection antivirus sur un serveur de chiers Samba sous Debian GNU/Linux

4.1. Conguration Matriel de la machine de test


Processeur : 2 x AMD Athlon MP 2000+ (2 x 3600 bogomips) Memoire : 512 Mo Disque dur : 2 x 40Go sur un contrleur RAID 0 Promise Rseau : Ethernet 100 BaseTx

4.2. Rsultats

4.3. Interprtation des rsultats


Comme vous pouvez le constater sur ce graphique la vitesse du serveur de chier est divise par 100 en moyenne. La vitesse du serveur augmente avec le nombre de clients seulement car la machine dispose de deux processeurs et que le deamon Samba et Clamd "forkent". Si les rsultats de ce benchmark sont dramatiques, dans la pratique les rsultats sont bien meilleurs. Ce benchmark pousse a bout le serveur de chier en crant normment de petits chiers. Ce qui dans la pratique narrive pas souvent sur un serveur de chiers dentreprise. En moyenne, le serveur permet dobtenir des dbits entre 500ko/sec et 1.5Mo/sec. Ce qui reste acceptable pour un serveur de PME.

Mise en place dun systme de protection antivirus sur un serveur de chiers Samba sous Debian GNU/Linux

5. Conclusion
Grce aux logiciels libres, il est possible de protger les documents importants de votre entreprise dans un environnement hostile. Bien sr il ne sagit que dune solution de plus pour protger votre systme dinformation contre les virus qui sont les sous-produits du logiciel propritaire. Elle ne permet pas llimination des virus de votre infrastructure informatique comme le permettrait une migration vers une environnement able comme Linux, Unix ou MacOS X.

Bibliographie

Articles
Rideau Franois-Ren : Les virus informatiques comme sous-produits des logiciels exclusifs (http://fare.tunes.org/articles/virus.html) Bernard Thierry, Framasoft : Prsentation de ClamAV (http://www.framasoft.net/article2385.html) John H Terpstra, Caldera International : Samba Performance: Windows 2000 Advanced Server Vs Samba on Linux (http://sambaxp.org/sambaXP_2002/terpstra.pdf) Andrew Tridgell, Samba Team : Using the Samba Testsuite (http://samba.org/ftp/samba/slides/samba4_testing_tutorial.pdf)

Glossaire
Disk And Execution MONitor Programme ralisant des tches de fond du systme, sous Unix. Appel aussi driver sur dautres systme. En temps normal, son fonctionnement ne doit pas tre remarqu par lutilisateur. Server Message Block

Protocole de Microsoft et dIntel, fonctionnant sur NetBIOS et permettant le partage de ressources (disques et imprimantes) travers un rseau publi en 1988. Common Internet File Systemr

Dernire version du protocole SMB, permettant une meilleure extensibilit.