GNU/Linux >> Tutoriels Linux >  >> Debian

Comment intégrer ClamAV (via mod_clamav) dans ProFTPd pour l'analyse de virus sur Debian Lenny

Ce tutoriel explique comment vous pouvez intégrer ClamAV dans ProFTPd pour l'analyse antivirus sur un système Debian Lenny. Ceci est réalisé via mod_clamav. En fin de compte, chaque fois qu'un fichier est téléchargé via ProFTPd, ClamAV vérifiera le fichier et le supprimera s'il s'agit d'un logiciel malveillant.

Je n'émets aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

Vous devriez avoir une configuration ProFTPd fonctionnelle sur votre serveur Debian Lenny.

2 Installer ClamAV

ClamAV peut être installé comme suit :

aptitude install clamav clamav-daemon libclamav-dev

Nous devons maintenant reconfigurer ClamAV pour que Clamd utilise des connexions TCP au lieu d'un socket Unix local. Il est fortement recommandé d'éviter les connexions socket Unix lors de l'utilisation de la fonctionnalité Chroot de ProFTPd (DefaultRoot ~). La raison est que si mod_clamav doit se connecter à Clamd, le socket Unix n'est pas disponible dans l'environnement chroot.

Exécuter

dpkg-reconfigure clamav-base

... et répondez à ces questions comme suit (acceptez les valeurs par défaut pour toutes les autres questions) :

Type de socket :<-- TCP
Port TCP que clamd écoutera :<-- 3310
Adresse IP que clamd écoutera :<-- 127.0.0.1

Redémarrez ensuite Clamd et freshclam :

/etc/init.d/clamav-daemon restart
/etc/init.d/clamav-freshclam restart

Maintenant lancez

netstat -tap | grep clamd

... et vous devriez voir que Clamd écoute sur localhost via TCP :

server1:~# netstat -tap | grep clamd
tcp        0      0 localhost.localdom:3310 *:*                     LISTEN      29430/clamd
server1:~#

3 Reconstruction de ProFTPd

Malheureusement, mod_clamav ne fait pas partie de ProFTPd par défaut, et il n'y a pas de paquet Debian pour mod_clamav, nous devons donc reconstruire ProFTPd avec mod_clamav. Je vais utiliser le paquet source Debian de ProFTPd et créer de nouveaux paquets ProFTPd .deb avec le support mod_clamav.

Nous installons d'abord tous les packages nécessaires à la reconstruction de ProFTPd :

aptitude build-dep proftpd

Nous avons également besoin du package suivant (qui n'est pas installé par la commande précédente pour une raison quelconque...) :

aptitude install libpam-dev

Maintenant, nous téléchargeons le paquet source ProFTPd sur /usr/src :

cd /usr/src
apt-get source proftpd

Ensuite, nous téléchargeons mod_clamav dans /usr/src et le décompressons :

wget --no-check-certificate https://secure.thrallingpenguin.com/redmine/attachments/download/1/mod_clamav-0.11rc.tar.gz
tar xzvf mod_clamav-0.11rc.tar.gz

Ensuite, nous copions les fichiers mod_clamav-0.11rc/mod_clamav.* dans le répertoire proftpd-dfsg-1.3.1/contrib...

cp mod_clamav-0.11rc/mod_clamav.* proftpd-dfsg-1.3.1/contrib

... et patcher les sources ProFTPd :

cd proftpd-dfsg-1.3.1
patch -p1 < ../mod_clamav-0.11rc/proftpd.patch

Ensuite, nous devons éditer debian/rules :

vi debian/rules

Recherchez la section CONF_ARGS et ajoutez-y --with-modules=mod_clamav :

[...]
CONF_ARGS := --prefix=/usr \
             --with-includes=$(shell pg_config --includedir):$(shell mysql_config --include|sed -e 's/-I//') \
             --mandir=/usr/share/man --sysconfdir=/etc/$(NAME) --localstatedir=/var/run --libexecdir=/usr/lib/$(NAME) \
             --enable-sendfile --enable-facl --enable-dso --enable-autoshadow --enable-ctrls --with-modules=mod_readme \
             --enable-ipv6 --enable-nls --with-modules=mod_clamav
[...]

Nous pouvons maintenant reconstruire ProFTPd :

dpkg-buildpackage

Maintenant, nous remontons d'un répertoire, c'est là que les nouveaux packages .deb ont été créés :

cd ..

La commande

ls -l

vous montre les packages disponibles :

server1:/usr/src# ls -l
total 5472
drwxr-xr-x  2  501  501    4096 2009-04-20 10:22 mod_clamav-0.11rc
-rw-r--r--  1 root src     5115 2010-10-01 03:28 mod_clamav-0.11rc.tar.gz
-rw-r--r--  1 root src   195066 2010-10-01 03:32 proftpd_1.3.1-17lenny4_all.deb
-rw-r--r--  1 root src   690228 2010-10-01 03:32 proftpd-basic_1.3.1-17lenny4_i386.deb
drwxr-xr-x 13 root root    4096 2010-10-01 03:32 proftpd-dfsg-1.3.1
-rw-r--r--  1 root src   107998 2010-10-01 03:29 proftpd-dfsg_1.3.1-17lenny4.diff.gz
-rw-r--r--  1 root src     1103 2010-10-01 03:29 proftpd-dfsg_1.3.1-17lenny4.dsc
-rw-r--r--  1 root src     3305 2010-10-01 03:32 proftpd-dfsg_1.3.1-17lenny4_i386.changes
-rw-r--r--  1 root src  2662056 2007-10-16 01:02 proftpd-dfsg_1.3.1.orig.tar.gz
-rw-r--r--  1 root src  1255660 2010-10-01 03:32 proftpd-doc_1.3.1-17lenny4_all.deb
-rw-r--r--  1 root src   213004 2010-10-01 03:32 proftpd-mod-ldap_1.3.1-17lenny4_i386.deb
-rw-r--r--  1 root src   203562 2010-10-01 03:32 proftpd-mod-mysql_1.3.1-17lenny4_i386.deb
-rw-r--r--  1 root src   203512 2010-10-01 03:32 proftpd-mod-pgsql_1.3.1-17lenny4_i386.deb
server1:/usr/src#

Nous pouvons installer les nouveaux packages ProFTPd .deb comme suit :

dpkg -i proftpd*.deb

4 Configuration de ProFTPd

Nous devons maintenant configurer ProFTPd pour utiliser mod_clamav chaque fois qu'un fichier est téléchargé. Ouvrez /etc/proftpd/proftpd.conf...

vi /etc/proftpd/proftpd.conf

... et ajouter la strophe

<IfModule mod_clamav.c>
   ClamAV on
   ClamServer 127.0.0.1
   ClamPort 3310
</IfModule>

quelque part, par ex. sous le

<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>

rubrique :

[...]
<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>

<IfModule mod_clamav.c>
   ClamAV on
   ClamServer 127.0.0.1
   ClamPort 3310
</IfModule>

#
# Alternative authentication frameworks
#
#Include /etc/proftpd/ldap.conf
Include /etc/proftpd/sql.conf
[...]

Redémarrez ProFTPd :

/etc/init.d/proftpd restart

Vérifiez maintenant si mod_clamav est chargé en exécutant :

proftpd -vv

mod_clamav doit être listé dans la sortie :

server1:~# proftpd -vv
 - ProFTPD Version: 1.3.1 (stable)
 -   Scoreboard Version: 01040002
 -   Built: Fri Oct 1 03:31:03 CEST 2010
 -     Module: mod_core.c
 -     Module: mod_xfer.c
 -     Module: mod_auth_unix.c
 -     Module: mod_auth_file/0.8.3
 -     Module: mod_auth.c
 -     Module: mod_ls.c
 -     Module: mod_log.c
 -     Module: mod_site.c
 -     Module: mod_delay/0.6
 -     Module: mod_dso/0.4
 -     Module: mod_auth_pam/1.0.1
 -     Module: mod_clamav.c
 -     Module: mod_cap/1.0
 -     Module: mod_ctrls/0.9.4
 -     Module: mod_lang/0.8
server1:~#

C'est ça! Désormais, chaque fois que quelqu'un essaie de télécharger un logiciel malveillant sur votre serveur via ProFTPd, le ou les "mauvais" fichiers sont supprimés. Vous pouvez tester cela en téléchargeant le virus de test Eicar depuis http://www.eicar.org/anti_virus_test_file.htm; essayez de le télécharger sur votre serveur ProFTPd, et si tout se passe bien, il devrait être supprimé :

  • ProFTPd :http://www.proftpd.org/
  • mod_clamav :http://www.thrallingpenguin.com/resources/mod_clamav.htm
  • ClamAV :http://www.clamav.net/
  • Debian :http://www.debian.org/

Debian
  1. Comment intégrer ClamAV dans PureFTPd pour l'analyse antivirus sur CentOS 7

  2. Comment réinitialiser le mot de passe pour sudo dans Debian

  3. Comment installer ProFTPD sur Debian 8

  4. ISPConfig 3 ProFTPd pour Debian

  5. comment installer l'interface graphique pour debian

Comment intégrer ClamAV (via mod_clamav) dans ProFTPd pour l'analyse de virus sur Ubuntu 10.04

Comment intégrer ClamAV (via mod_clamav) dans ProFTPd pour l'analyse de virus sur Debian Lenny

Comment vérifier les ports ouverts sur Debian 10

Comment installer Skype pour Linux Beta sur Debian 9 Stretch

Comment installer ClamAV sur Debian 10

Comment configurer Nginx en tant que proxy inverse pour Apache sur Debian 11