Clamav, Protégez vos stations windows grâce à votre serveur sous linux! ● Association LOLITA ● Logiciels Libres à Tahiti & ses îles. ● Présentation de Clamav ● Antivirus libre pour Unix et Linux... ● Présentation entièrement réalisée avec des Logiciels libres. ● SHARK EURL MAKO ● - ● Jonas FERNANDEZ
Clamav : Utilité ● Clamav est un Antivirus fonctionnant sous linux... ● On peut penser que c'est parfaitement inutile... un peu comme le maquillage, la crème anti-rides ou l'homéopathie... Mais vous vous trompez ● Si c'est inutile pour votre serveur Unix ou Linux, pour protéger vos stations clientes qui seront connecté à votre machine ce sera un plus. ● Il existe plusieurs antivirus sous unix/linux, mais dans cette jungle, un projet libre : clamav. ● Il a l'avantage d'être modulaire et de pouvoir s'adapter aux fonctions du serveur. (messagerie, bureautique, proxy).
Clamav : historique et suivi ● Un clam est un petit mollusque. C'est aussi le petit surnom d'une catégorie de personne, qui ne méritent pas de publicité. ● Clamav est dérivé du projet openantivirus qui semble avoir été arrêté complètement. ● Il est bien suivi, les fichiers de signatures sont correctement mis à jour. ● Le moteur est également régulièrement mis à jour. (version à ce jour : )
Clamav sur les serveurs ● Le module de base est composé de clamd, clamdscan et freshclam, qui permettent de scanner tout ce qui se passe sur la machine et de mettre à jour le fichier de signature. ● On peut le faire fonctionner avec le MTA postfix (serveur de courrier), un serveur proxy et avec samba (serveur smb.) ● Il existe un module de messagerie dont je vous dirais quelques mots : clamsmtp. ● J'évoquerai aussi amavisd permettant d'utiliser simultanément clamav et spamassassin sur postfix.
Clamav & Le proxy ● Il existe un patch pour dansguardian, un module pour squid et probablement d'autres possibilité. ● Je n'ai pas encore installé de façon complètement opérationnel l'un de ces modules... (C'est donc à suivre.)
Clamav et samba ● Il y a quelques mois nous avons vu comment faire danser votre serveur avec samba... ● L'antivirus s'utilise comme n'importe quel autre antivirus réseau. Vous scannez régulièrement les lecteurs réseaux pour être tranquille. ● Vous planifiez un scan de /home régulièrement ● A l'aide du crontab, vous planifiez la mise à jour avec freshclam.
Freshclam ● Freshclam est l'outil de mise à jour des bases de signature de clamav. ● Il fonctionne en ligne de commande, mais la mise à jour peut être automatisé par un script que l'on programmera dans le fichier crontab.
Clamav et cron ● Il faudrait faire une brève présentation de cron. (crontab) ● Cron existe sous unix, netware et linux... ● C'est un outil de planification assez rudimentaire par sa présentation, mais très efficace. ● Pour lancer vos scan ou vos mises à jour, faîtes des petits scripts dont vous programmerez l'exécution quand vous voudrez avec cron.
Exemple de fichier crontab linux:~ # crontab -l # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.6573 installed on Thu Nov 16 08:52: ) # (Cron version -- $Id: crontab.c,v /01/17 03:20:37 vixie Exp $) #mise a jour freshclam - base de signature antivirus clamav # mise à jour base de signature antivirus clamav 0 9 * * 1,2,3,4,5,6,7 /root/majclam.sh # lancement d'un scan antivirus tous les dimanches à 18 heures * * 7 /root/scanvirus.sh # lancement de l'envoi du rapport de sauvegarde lisible tout les matins a 2 h. 0 2 * * 1,2,3,4,5,6,7 /root/arcmail.sh linux:~ #
Exemple de script Mise à jour de la base de signature avec freshclam nom du script : majclam.sh En gras les lignes utiles. #!/bin/sh # mise à jour des bases de signature de l'antivirus clamav. # fichier majclam.sh /usr/bin/freshclam > /var/log/clamav/majclam.log # Envoi d'un rapport sur le fonctionnement de la mise à jour # via le serveur de courrier local (postfix dans le cas présent). mutt -a /var/log/clamav/majclam.log -s "mise a jour clamav brico" <
Clamd ● Clamd est le DAEmon clamav. ● DAEMon est en fait un acronyme, il n'y a rien de métaphysique dans ce mot, mais on a tendance à le traduire communément et à tort par démon. ● C'est un programme qui se charge en mémoire et y réside jusqu'à ce qu'on lui demande d'en sortir ou qu'on arrête la machine.
clamdscan ● Comme son nom l'indique, il est le moteur de scan. ● Par exemple, c'est lui que va utiliser le démon clamsmtpd pour analyser un message, ● C'est lui qu'on va activer pour analyser une arborescence.
Module graphique KDE : KLAMAV
Portez un tee-shirt ClamAV ( C'est toujours mieux qu'une cagoule )
Paramètres Klamav
Clamav et Postfix Au moins 2 possibilités ● Clamsmtp qui est fournit par un tiers et qui fonctionne très bien. ● Amavisd-new produit tiers aussi, qui permet de vérifier les courriers avec spamassassin et clamav en même temps.
Clamsmtp ● ● Le serveur de messagerie envoie chacun de ses messages au module clamsmtp qui fait vérifier le contenu par clamdscan. ● Ensuite le message est restitué au serveur qui poursuit sa distribution. ● Clamsmtp fonctionne sur le même principe que spamassassin. (C'est un appel à volontaire pour une prochaine présentation)
clamsmtp suite... ● Nous utilisons les fichiers de configuration de postfix main.cf et master.cf ● On précise dans le main.cf que les messages doivent passer par un filtre sur le port ● Le fichier master.cf execute le filtrage et renvoie le message sur le port ● Postfix récupère le message et le distribue au serveur pop/imap
Configuration clamsmtpd ● Le fichier de configuration s'appelle clamsmtpd.conf. Il sert à interfacer clamsmtp avec clamav. Il comporte entre autres choses une section Virus action, permettant de définir une action en cas d'infection : Exemple #VirusAction: /path/to/some/script.sh VirusAction: /var/log/clamav/RapportClamsmtp.sh
RapportClamsmtp.sh ● # cat RapportClamsmtp.sh #!/bin/sh # envoi d'un rapport après reception message infecté. echo attention un virus a ete detecte dans un message. > /var/log/clamav/rapportclamsmtp.txt date >> /var/log/clamav/rapportclamsmtp.txt tail -2 /var/log/clamav/clamd >> /var/log/clamav/rapportclamsmtp.txt echo ci-dessous infos sur le message >> /var/log/clamav/rapportclamsmtp.txt cat /var/log/mail | grep Virus | tail -1 >> /var/log/clamav/rapportclamsmtp.txt mutt -a /var/log/clamav/rapportclamsmtp.txt -s "rapport clamsmtp serveur postfix" < /var/log/clamav/rapportclamsmtp.txt
Information reçue Le script envoi un rapport par messagerie qui contient ses lignes : attention un virus a ete detecte dans un message. Tue Feb 6 09:01:46 TAHT 2007 SelfCheck: Database status OK. /var/tmp/clamsmtpd.VZonNf: Eicar-Test-Signature FOUND ci-dessous infos sur le message Feb 6 09:01:46 spctux postfix/smtp[10847]: 068BD144E2C: to=, relay= [ ], delay=1, status=sent (250 Virus Detected; Discarded ) Ouf ! ce n'était qu'un test...
Amavisd-new ● Amavisd-new permet de passer le message dans deux moulinettes : ● l'antispam « spamassassin » ● l'antivirus, quel que soit celui-ci, (dans notre cas clamav.) ● Amavisd-new a besoin de modules perl pour fonctionner, il est plus complet que clamsmtp.
Configuration amavisd-new ● Il existe un fichier /etc/amavisd.conf use strict; # Configuration file for amavisd-new # # This software is licensed under the GNU General Public License (GPL). # See comments at the start of amavisd-new for the whole license text. #Sections: # Section I - Essential daemon and MTA settings # Section II - MTA specific # Section III - Logging # Section IV - Notifications/DSN, BOUNCE/REJECT/DROP/PASS destiny, quarantine # Section V - Per-recipient and per-sender handling, whitelisting, etc. # Section VI - Resource limits # Section VII - External programs, virus scanners, SpamAssassin # Section VIII - Debugging
Commentaire sur amavisd-new ● On le voit, le fichier amavisd-new.conf est très commenté, mais assez volumineux. ● Lors de l'installation du programme, plusieurs dépendances seront nécessaires. ● On peut lutter contre le spam ou/et les virus avec amavisd-new ● La lutte contre le spam pourrait être faite par notre FAI, ce n'est malheureusement pas le cas, donc ce type d'installation bi- valente est nécessaire ici.
Clamav et webmin ● Je vous ai déjà parlé ici succinctement de webmin, personne ne s'est encore lancé dans une présentation sur cette boite à outils de l'administrateur linux. ● Sachez donc qu'il existe un module clamav pour webmin.
Un petit mot sur clamwin ● Clamwin est la version windows de clamav. ● Il est disponible sur le CD-ROM Fenuasoft, vous pouvez l'essayer. ● Son utilisation est très simple et surtout il est gratuit. ● Pour le moment, je ne crois pas qu'il existe un module pour la messagerie, mais peut-être que cela viendra. Rappel aux utilisateurs de windows : n'ouvrez jamais une pièce jointe lorsque le message la contenant vous semble suspect.
Clamwin
Clamwin suite et fin
Conclusion ● Si vous avez une machine linux sur votre réseau, c'est un vrai bonheur car cette machine est insensible aux virus et autres malware, mais... Ce n'est pas une raison pour ne pas penser aux autres. ● Si vous recevez des messages et que vous les faîtes suivre, il n'est pas interdit de les vérifier avant.
Bibliographie ● Il n'existe à ce jour pas de livre sur clamav exclusivement. ● Vous trouverez des informations dans des ouvrages traitant de l'administration de serveurs linux et unix. ● Je recommande le site sur lequel figure une documentation complète au format PDF et en anglais.
Liens indispensables ● site officiel de clamav. site officiel de clamsmtp ● site officiel de DGAV (module antivirus de Dansguardian ) ● Site officiel de squidclam... (module clamav pour squid) ● Site officiel de EICAR (virus test file)
Autres antivirus ● Des éditeurs ont choisi de s'adapter à la demande sous linux. Quelques exemples : ● F-Prot, ● MWTI avec eScan, ● Kaspersky AV, ● bit defender, ● etc...
Question...