[Copyright Notice]

Virus et anti-virus sur Linux - Chapitre 5
Les cas particuliers


Il arrive de plus en plus fréquemment que des systèmes GNU/Linux soient utilisés comme serveurs de fichiers, ou serveurs de messagerie électronique pour d'autres systèmes d'exploitation tels que Microsoft Windows, ou encore comme serveurs web. Dans de telles configurations, des précautions particulières se doivent d'être prises pour éviter l'infection, voire la propagation des virus.


5.1 Un système GNU/Linux comme serveur de fichiers

Le problème d'un serveur de fichiers pour d'autre système d'exploitation vient du fait que, même si l'on a protégé la machine GNU/Linux comme il se doit, c'est-à-dire avec un administrateur responsable, et les verrous adéquats, on ne se trouve pas nécessairement à l'abri d'un virus dans les documents qui seront sauvegardés sur ce serveur de fichiers.

En effet, rien n'empêche l'écriture d'un document contenant un virus qui pourrait ensuite être propagé sur les réseaux extérieurs, voire même le réseau interne. Par exemple, dans le cas où le document se retrouve sur un système présentant de grande failles. Où encore, dans le cas où le système serait serveur de fichiers dans un environnement Microsoft, il est facile d'imaginer une situation ou un document doit circuler de service en service se transmettant de la même façon le virus qui infecterait le système de l'utilisateur. Celui ci produirait alors des documents qui seraient eux aussi porteur du virus. Documents qui peuvent aussi être échangés avec des personnes extérieurs à la société.

De tels outils existent sur le système Microsoft Windows, tels que ceux fournis par la société Symantec, qui peuvent vérifier le contenu des fichiers avant leur écriture sur le disque. Ces outils n'existent pas sur GNU/Linux, mais cela n'empêche pas leur développement. Par exemple en détournant les appels systèmes d'écriture pour que le contenu d'un document soit vérifié avant son écriture sur le disque. Cela nécessiterait d'écrire une bibliothèque particulière contenant les fonctions de gestion d'accès aux disques correctement modifiées. L'utilisation de celle ci serait forcée par le biais de la variable d'environnement LD_PRELOAD qui permet de charger une bibliothèque avant l'exécution d'un programme.

Il existe cependant des logiciels de parcours de fichiers tels que ceux proposés par la société Sophos (http://www.sophos.com/) pour détecter la présence de virus dans ceux ci. Une politique de vérifications adéquates peut alors être mise en place, (étude du temps séparant chacune des vérifications, par exemple), et prévenir les administrateurs de la présence de virus trouvés dans les fichiers.


5.2 Un système GNU/Linux comme serveur de messagerie électronique

Les virus ont beaucoup muté pour combiner de nombreuses techniques de propagation. L'une des plus commune dernièrement consiste à utiliser le courrier électronique comme véhicule. Cela avait commencé en mars 1999 avec le virus « Melissa » qui, même s'il était inoffensif, s'est propagé sur un grand nombre de machines. Il a été suivi par « BubbleBoy » en novembre 1999 pour lequel une simple lecture du courrier électronique suffisait à être infecté, et tout dernièrement le virus « Melissa » a été imité par « ILoveYou » qui s'envoyait à toutes les personnes présentes dans le carnet d'adresses de la personne infectée (« Melissa » ne s'envoyait qu'aux 50 premiers alias), qui vient lui-même d'être copié par un nouveau virus qui combine en plus une technique furtive en changeant le sujet du message à chaque fois. Ce virus se nomme « VBS.NewLove.A » et est bien plus destructeur que « ILoveYou ».

Disposer un système GNU/Linux en serveur de messagerie peut nous permettre de filtrer les courriers électroniques infectés sans prendre le risque d'être infecté.

Les serveurs de messagerie actuels nous permettent d'écrire des filtres de rejet de mail rapidement, en utilisant certains champs dans les en-têtes des mails. Les outils de vérification de virus dans le courrier électronique sont identiques à ceux que l'on trouve communément sur un système comme Microsoft Windows, à la différence qu'il est possible de combiner plusieurs de ces anti-virus, en utilisant le logiciel libre « Amavis » (http://www.amavis.org/) qui pourrait se définir comme un méta anti-virus.

Certains anti-virus sont parfois moins performants que d'autres lors de la détection de virus dans les pièces jointes. Cet outil nécessite la présence de logiciels anti-virus commerciaux tels que McAfee, DrSolomon, etc., car il n'existe pas de tels outils parmi les logiciels libres, puisque la communauté de développeurs de logiciels libres est moins concernée par ces problèmes. Cet outil s'interface aussi très facilement avec les serveurs de messagerie couramment utilisés sur GNU/Linux.

Amavis fonctionne de la manière suivante, lorsqu'un mail arrive, il va l'écrire dans une répertoire de travail dans lequel il va effectuer un certain nombre d'opération en fonction du contenu du mail. Si ce mail contient des attachements ils seront extrait du mail puis analysé. Il est capable d'analyser le contenu d'attachements qui soient compressés et archivés. Si pendant l'analyse du mail il détecte un virus il préviendra l'administrateur de sa découverte et préviendra aussi l'expéditeur du document pour le prévenir qu'il est infecté d'un virus afin qu'il puisse prendre les mesures nécessaires contre cela, et finalement préviendra le destinataire qu'un message n'a pas pu lui être livré.


5.3 Les problèmes avec les serveurs Web

Les pages HTML ne sont plus de simples pages statiques, elle peuvent être couplées avec des langages de programmation qui sont susceptibles de causer des dégâts sur le système où sera exécutée cette page/script. Il suffit de constater qu'avec certains navigateurs web et sous certains environnements, il est tout à fait possible d'accéder à des informations contenues sur le système, et même de les effacer. Il est alors naturel de penser que des virus ou des chevaux de Troie puissent être présents dans ces pages.

Il en est de même avec le langage Java avec lequel il était possible d'effectuer n'importe quelle opération sur un disque en ayant au préalable désactivé les sécurités du navigateur.

Cette problématique est très proche de celle du serveur de fichiers et la politique de vérification des fichiers sur le serveur a aussi son importance, dans le cas de l'hébergement de ce serveur.

Si le virus est inclu dans une page extérieure à notre réseau, une solution possible consiste à supprimer les codes de type Javascript et VBscript des pages HTML, en adjoignant des filtres (http://sites.inka.de/~bigred/devel/squid-filter.html) au proxy Squid (http://www.squid-cache.org/).


[Copyright Notice]

Virus et anti-virus sur Linux
Tony Bassette tony.bassette@alcove.fr