9
 Mise en place d’un système de protection antivirus sur un serveur de chiers Samba sous Debian GNU/Linux Nowicki Christophe [email protected] [email protected] Permission est accordée 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 ultérieure publiée par la Free Software Foundation. Pas de section inaltérable. Ce document est disponible aux formats :  HTML (http://et ud.epita.fr/~nowick_c/publications /deb_vscan/deb_vs can.html)  PDF (http://etud.epita.fr/~nowick_c/publication s/deb_vscan/deb_v scan.pdf)  R TF (http://etud.epita.fr/~nowick_c/p ublications/deb_vsca n/deb_vscan.rtf)  Te xte (http://etud.epita.fr/~nowi ck_c/publications/deb_vs can/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 chier Unix de type Samba pour protéger les machines Microsoft Windows. Le but est de centraliser sur le serveur de chiers la détection des virus et d’empêcher leur propagation à l’aide de l’échange de chiers. Pour mettre en place ce système de protection, nous avons besoin des projets suivants. 1

Anti Virus Samba

  • 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

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.

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