ClamAV Realtime : Protection antivirale temps réel. Portage sous Gentoo GNU/Linux

Il s’agit ici d’une implémentation en C d’un script bash utilisant les librairies libnotify et libclamav pour réaliser une protection antivirale temps réel de base. ( Script original disponible ici  )

Le portage a été réalisé sous Gentoo Linux, mais il est bien sur possible  de le compiler à partir des sources sur n’importe quelle autre distribution.

La version initiale clamav-realtime-0.1.0 protège votre répertoire personnel des menaces en contrôlant les accès disques, et en soumettant les fichiers au moteur d’analyse ClamAV. Si une infection est détectée, celle-ci est déplacée en quarantaine.

Cette version constitue une version initiale du moteur d’analyse et de notifications systèmes.

Les APIs notify et clamav ont permis d’élaborer ce process. Un minimum de 600Mo de RAM est requis, principalement pour charger la base de donnée antivirale.

L’avantage de cette solution  est qu’elle ne nécessite pas que clamd soit lancé en tant que service.

  • Les sources sont disponibles en téléchargement. Référez-vous au fichier INSTALL pour les instructions de compilation.

https://ftp.pingwho.org/pub/gentoo/ftp/distfiles/clamav-realtime-0.1.0.tar.xz

  • L’ebuild pour le dépot Github dans ma branche overlay :

https://ftp.pingwho.org/pub/gentoo/ftp/overlay/pingwho-overlay/app-misc/clamav-realtime

Les logs de compilation : emerge.log

  • L’intégration graphique dans un environnement Gnome fonctionne parfaitement, un exemple avec une notification :

https://ftp.pingwho.org/pub/gentoo/ftp/distfiles/clamav-realtime-0.1.0-r1-screenshot.png

Pour cette première version, l’analyse ne se fait que dans /home/votre_user mais n’est pas capable de protéger récursivement votre répertoire personnel.

Je prévois d’utiliser l’API fanotify en lieu et place de inotify car cette librairie permet de surveiller les évenements sur votre système de fichiers de manière récursive. Votre noyau doit être compilé en conséquence, à savoir :

  • CONFIG_FANOTIFY=y
  • CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y

Pour info, cette fonctionnalité a été intégrée à la dernière version de ClamAV. Vous pouvez obtenir plus d’info içi :  http://blog.clamav.net/2016/03/configuring-on-access-scanning-in-clamav.html