Upload
ajagbe
View
24
Download
0
Embed Size (px)
Citation preview
5/17/2018 Anti Virus Samba - slidepdf.com
http://slidepdf.com/reader/full/anti-virus-samba 1/9
Mise en place d’un système de protection
antivirus sur un serveur de fichiers Samba
sous Debian GNU/LinuxNowicki Christophe
[email protected]@andesi.org
Permission est accordée de copier, distribuer et/ou modifier ce document selon les termes de la Licencede Documentation Libre GNU (GNU Free Documentation License), version 1.1 ou toute version
ultérieure publiée par la Free Software Foundation. Pas de section inaltérable.
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 à l’adresse
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 système de protection antivirus sur un serveur de fichier Unix
de type Samba pour protéger les machines Microsoft Windows. Le but est de centraliser sur le serveur de fichiers
la détection des virus et d’empêcher leur propagation à l’aide de l’échange de fichiers. Pour mettre en place ce
système de protection, nous avons besoin des projets suivants.
1
5/17/2018 Anti Virus Samba - slidepdf.com
http://slidepdf.com/reader/full/anti-virus-samba 2/9
Mise en place d’un système de protection antivirus sur un serveur de fichiers Samba sous Debian GNU/Linux
1.1. Le projet Samba
Implémentation du protocole SMB/CIFS sous Unix. C’est un logiciel libre
qui permet à n’importe quelle machine Unix d’être serveur de fichiers, d’impression ou bien contrôleur 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 détecter tous les types de Virus Windows.
Le principal atout de ClamAV est son démon, Clamd, qui fonctionne en tâche de fond et qui est facilementinterfaçable, avec les applications telles qu’un serveur de mail, serveur http ou bien ici un serveur de fichiers
Samba. Le démon demeure peu gourmand en ressources système et pourra être installé même sur les
configurations légères. La page principale du projet est http://www.clamav.net/
1.3. OpenAntivirus : Samba-vscan
Module VFS pour Samba qui permet d’analyser le fichiers lors des accès sur le serveur
de fichiers. Nous utiliserons la version 0.3.5 du projet qui est héberger sur Sourceforge :
http://sourceforge.net/projects/openantivirus/.
2
5/17/2018 Anti Virus Samba - slidepdf.com
http://slidepdf.com/reader/full/anti-virus-samba 3/9
Mise en place d’un système de protection antivirus sur un serveur de fichiers Samba sous Debian GNU/Linux
2. Installation
2.1. ClamAV
Il faut tout d’abord installer l’antivirus 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 récupérer 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 l’établissement de
la connexion.
cron
debconf va mettre en place un crontab pour exécuter la mise à jour périodiquement.
manual
vous devez mettre à jour la base de signature de virus manuellement en ligne de commande.
Puis debconf va vous demander l’adresse du serveur de mises à jour des signatures. Vous pouvez garder la valeur
par défaut qui pointe sur un round robin DNS mondial : http://database.clamav.net/
Debconf vous permet aussi de configurer un serveur mandataire HTTP si vous en avez besoin.
Et finalement si vous voulez notifier le serveur d’analyse antiviral des mises à jour de la base de signature de
virus. Il vaut mieux répondre oui à cette question.
3
5/17/2018 Anti Virus Samba - slidepdf.com
http://slidepdf.com/reader/full/anti-virus-samba 4/9
Mise en place d’un système de protection antivirus sur un serveur de fichiers 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 suffit de
l’installer à l’aide 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
répertoire de compilation comme /usr/src et télécharger les sources et les dépendances de Samba à l’aide d’apt.
#cd /usr/src
#apt-get source samba
#apt-get build-deb samba
Une fois les sources telechargées et les bibliothèques nécessaires installées, 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 mêmes options que celles du paquet Samba
de Debian que vous avez installées précédemment. Il ne nous reste plus qu’à générer les prototypes des fonctions
:
#cd sources
#make proto
4
5/17/2018 Anti Virus Samba - slidepdf.com
http://slidepdf.com/reader/full/anti-virus-samba 5/9
Mise en place d’un système de protection antivirus sur un serveur de fichiers Samba sous Debian GNU/Linux
2.3. Samba-vscan
Une fois que vous avez une version configurée des sources de Samba il faut récupérer les sources de
Samba-vscan sur sourceforge.
http://sourceforge.net/project/showfiles.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 dépendant des sources de Samba. Il faut donc indiquer lors de la
configuration le répertoire 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. Configuration
3.1. Samba-vscan
Une fois que vous avez installé tous les éléments, il ne vous reste plus qu’à configurer le comportement de
l’antivirus et les partages Samba. Dans le fichier de configuration de samba-vscan
(/etc/samba/vscan-clamav.conf), il faut modifier plusieurs variables :
; envoyer un message de notification grâce au service
; Windows Messenger service lorsqu’un virus est trouvé?
; (default: yes)
send warning message = yes
; le nom de la socket de clamav définie dans /etc/clamav/clamav.conf
clamd socket name = /var/run/clamav/clamd.ctl
; action à faire en cas d’infection
5
5/17/2018 Anti Virus Samba - slidepdf.com
http://slidepdf.com/reader/full/anti-virus-samba 6/9
Mise en place d’un système de protection antivirus sur un serveur de fichiers Samba sous Debian GNU/Linux
; quarantine: essayer de déplacer le fichier dans le répértoire de quarantaine
; si le déplacement échoue le fichier est effacé.
; delete: éffacer le fichier (dangeureux)
; nothing: ne rien faire
infected file action = quarantine
quarantine directory = /tmpquarantine prefix = vir-
3.2. Les partages Samba
Une fois le comportement de l’antivirus défini, il ne nous reste plus qu’à ajouter des partages Samba protégés par
l’antivirus. Pour cela nous allons ajouter dans le fichier de configuration 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 : N’oubliez pas de tester votre fichier de configuration à l’aide du programme testparm qui fait partie de
la suite Samba.
3.3. Test de la configuration
Si la syntaxe du fichier de configuration est correcte vous pouvez redémarrer le deamon Samba et tester le bon
fonctionnement des partages.
#/etc/init.d/samba restart
$smbclient //serveur/smb_vscan
Password:
Anonymous login successful
6
5/17/2018 Anti Virus Samba - slidepdf.com
http://slidepdf.com/reader/full/anti-virus-samba 7/9
Mise en place d’un système de protection antivirus sur un serveur de fichiers 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 l’antivirus fonctionne correctement il suffit de regarder dans syslog (le fichier
/var/log/syslog) du serveur de fichiers :
May 11 06:44:16 sarge smbd_vscan-clamav[21257]: samba-vscan (vscan-clamav 0.3.5) connected (Samba
May 11 06:44:16 sarge smbd_vscan-clamav[21257]: INFO: connect to service smb_vscan by user nobody
May 11 06:44:27 sarge smbd_vscan-clamav[21257]: ALERT - Scan result: ’/smb/test2.zip’ infected wi
May 11 06:44:27 sarge smbd_vscan-clamav[21257]: 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 défaut dans
toutes les versions de Microsoft Windows sauf 2003) . Vous devriez voir apparaître le pop-up suivant sur votre
écran.
Voilà, à vous de jouer. Vous pouvez définir un comportement différent par partage en jouant avec les options du
fichier /etc/samba/smb.conf.
4. Performances
C’est bien beau tout cela, mais quel vont être les performances de mon serveur de fichiers? Pour être honnête
avec vous votre magnifique serveur de fichier Samba va se transformer en un serveur de fichiers NT ;) Il faut
bien comprendre que pour chaque tentative d’ouverture ou de fermeture de fichier, celui-ci va être analyser par
l’antivirus. Pour vous donner une idée de la dégradation des performancés, j’ai effectué un benchmark à l’aide de
smbtorture et dbench. Comme tout benchmark, il est à prendre avec des pincettes d’autant plus que les résultats
sont catastrophiques.
7
5/17/2018 Anti Virus Samba - slidepdf.com
http://slidepdf.com/reader/full/anti-virus-samba 8/9
Mise en place d’un système de protection antivirus sur un serveur de fichiers Samba sous Debian GNU/Linux
4.1. Configuration Matériel 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 contrôleur RAID 0 Promise
• Réseau : Ethernet 100 BaseTx
4.2. Résultats
4.3. Interprétation des résultats
Comme vous pouvez le constater sur ce graphique la vitesse du serveur de fichier est divisée par 100 en
moyenne. La vitesse du serveur augmente avec le nombre de clients seulement car la machine dispose de deuxprocesseurs et que le deamon Samba et Clamd "forkent".
Si les résultats de ce benchmark sont dramatiques, dans la pratique les résultats sont bien meilleurs. Ce
benchmark pousse a bout le serveur de fichier en créant énormément de petits fichiers. Ce qui dans la pratique
n’arrive pas souvent sur un serveur de fichiers d’entreprise. En moyenne, le serveur permet d’obtenir des débits
entre 500ko/sec et 1.5Mo/sec. Ce qui reste acceptable pour un serveur de PME.
8
5/17/2018 Anti Virus Samba - slidepdf.com
http://slidepdf.com/reader/full/anti-virus-samba 9/9
Mise en place d’un système de protection antivirus sur un serveur de fichiers Samba sous Debian GNU/Linux
5. Conclusion
Grâce aux logiciels libres, il est possible de protéger les documents importants de votre entreprise dans un
environnement hostile. Bien sûr il ne s’agit que d’une solution de plus pour protéger votre système d’information
contre les virus qui sont les sous-produits du logiciel propriétaire. Elle ne permet pas l’élimination des virus de
votre infrastructure informatique comme le permettrait une migration vers une environnement fiable comme
Linux, Unix ou MacOS X.
Bibliographie
ArticlesRideau François-René : Les virus informatiques comme sous-produits des logiciels exclusifs
(http://fare.tunes.org/articles/virus.html)
Bernard Thierry, Framasoft : Présentation de ClamAV (http://www.framasoft.net/article2385.html)
John H Terpstra, Caldera International : Samba Performance: Windows 2000 Advanced Server V’s 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 réalisant des tâches de fond du système, sous Unix. Appelé aussi driver sur d’autres système.
En temps normal, son fonctionnement ne doit pas être remarqué par l’utilisateur.
Server Message Block
Protocole de Microsoft et d’Intel, fonctionnant sur NetBIOS et permettant le partage de ressources (disques
et imprimantes) à travers un réseau publié en 1988.
Common Internet File Systemr
Dernière version du protocole SMB, permettant une meilleure extensibilité.
9