GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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

Ce tutoriel explique comment vous pouvez intégrer ClamAV dans ProFTPd pour l'analyse antivirus sur un système Ubuntu 10.04. 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 Ubuntu 10.04.

Étant donné que nous allons exécuter toutes les étapes de ce didacticiel avec les privilèges root, nous pouvons soit ajouter au début toutes les commandes de ce didacticiel avec la chaîne sudo, soit nous devenons root dès maintenant en tapant

sudo su 

2 Installer ClamAV

ClamAV peut être installé comme suit :

aptitude install clamav clamav-daemon libclamav-dev

Nous devons maintenant reconfigurer ClamAV afin 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 clamd écoutera sur :<-- 3310
Adresse IP clamd écoutera sur :<-- 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 :

[email protected] :~# netstat -appuyez | grep clamd
tcp        0      0 localhost.localdom:3310 * :*                     ÉCOUTER      7911/clamd
[email protected] :~#

3 Reconstruction de ProFTPd

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

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

aptitude build-dep proftpd-dfsg

Nous avons également besoin des packages suivants :

aptitude installer libpam-devdpkg-dev libmysqlclient-dev debhelper libpq-dev libldap2-dev libwrap0-dev libcap2-dev autotools-dev libncurses5-dev dpatch libacl1-dev libattr1-dev unixodbc-dev libsqlite3-dev

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

cd /usr/src
apt-get source proftpd-dfsg

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.2c/contrib...

cp mod_clamav-0.11rc/mod_clamav.* proftpd-dfsg-1.3.2c/contrib

... et patcher les sources ProFTPd :

cd proftpd-dfsg-1.3.2c
correctif -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 :

[email protected] :/usr/src# ls -l
total 7500
drwxr-xr-x 24 root root    4096 2010-04-29 14:00 linux-headers-2.6.32-21
drwxr-xr-x  7 racine racine    4096 2010-04-29 14:00 linux-headers-2.6.32-21-server
drwxr-xr-x  2  501  501    4096 2009-04-20 10 :22 mod_clamav-0.11rc
-rw-r--r--  1 source racine     5115 2010-10-04 17:21 mod_clamav-0.11rc.tar.gz
-rw-r--r --  1 src racine   930578 2010-10-04 17:38 proftpd-basic_1.3.2c-1_amd64.deb
-rw-r--r--  1 src racine   630168 2010-10-04 17:38 proftpd -dev_1.3.2c-1_amd64.deb
drwxr-xr-x 14 racine racine    4096 2010-10-04 17:37 proftpd-dfsg-1.3.2c
-rw-r--r-- 1 root src     4522 2010-10-04 17:38 proftpd-dfsg_1.3.2c-1_amd64.changes
-rw-r--r--  1 root src    98674 2010-10-04 17:30 proftpd-dfsg_1 .3.2c-1.diff.gz
-rw-r--r--  1 source racine     1138 2010-10-04 17:30 proftpd-dfsg_1.3.2c-1.dsc
-rw -r--r--  1 src racine  3018899 2009-12-22 07:05 proftpd-dfsg_1.3.2c.orig.tar.gz
-rw-r--r--  1 src racine  1408070 2010- 10-04 17 :38 proftpd-doc_1.3.2c-1_all.deb
-rw-r--r--  1 source racine   315326 2010-10-04 17:38 proftpd-mod-ldap_1.3.2c-1_amd64.deb
-rw-r--r--  1 root src   305076 2010-10-04 17:38 proftpd-mod-mysql_1.3.2c-1_amd64.deb
-rw-r--r--  1 root src   306848 2010-10-04 17:38 proftpd-mod-odbc_1.3.2c-1_amd64.deb
-rw-r--r--  1 root src   304762 2010-10-04 17:38 proftpd- mod-pgsql_1.3.2c-1_amd64.deb
-rw-r--r--  1 src racine   304634 2010-10-04 17:38 proftpd-mod-sqlite_1.3.2c-1_amd64.deb
[email protected] :/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


   ClamAV sur
   ClamServer 127.0.0.1
   ClamPort 3310

quelque part, par ex. sous le


AdminControlsEngine désactivé

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 :

[email protected] :~# proftpd -vv
ProFTPD Version : 1.3.2c (maint)
  Version Scoreboard : 01040002
  Construit : Mon Oct 4 17:34:10 CEST 2010

Modules chargés :
  mod_ifsession/1.0
  mod_dynmasq/0.2.1
  mod_wrap2_file/1.2
  mod_wrap2/2.0.6
  mod_ban/0.5.3
  mod_load/1.0.1
  mod_rewrite/0.7
  mod_wrap.c
  mod_quotatab_radius.c
  mod_quotatab_file.c
  mod_quotatab/1.3.0
  mod_radius /0.9
  mod_tls/2.2.2
  mod_ctrls_admin/0.9.5
  mod_lang/0.9
  mod_ctrls/0.9.4
  mod_cap/1.0
  mod_clamav.c
  mod_auth_pam/1.1
  mod_ident/1.0
  mod_dso/0.4
  mod_facts/0.1
  mod_delay/0.6
  mod_site.c
  mod_log.c
  mod_ls.c
  mod_auth.c
  mod_auth_file/0.8.3
  mod_auth_unix.c
  mod_xfer.c
  mod_core.c
[email protected ] :~#

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/
  • Ubuntu :http://www.ubuntu.com/

Ubuntu
  1. Comment intégrer ClamAV dans PureFTPd pour l'analyse de virus sur Ubuntu 12.10

  2. Comment intégrer ClamAV dans PureFTPd pour l'analyse de virus sur Debian Squeeze

  3. Comment installer ProFTPD sur Ubuntu 14.04

  4. Comment installer ProFTPD sur Ubuntu 15.04

  5. Comment installer ClamAV sur Ubuntu 20.04

Comment installer un logiciel via Flatpak sur Ubuntu

Comment installer CMake sur Ubuntu 20.04 LTS

Comment installer ProFTPD sur Ubuntu 20.04

Comment installer ClamTk - une interface pour ClamAV (Clam Antivirus) sur Ubuntu 20.04

Comment installer ClamAV sur Ubuntu 18.04 LTS

Comment installer ClamAV sur Ubuntu 20.04 LTS