GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo integrar ClamAV (a través de mod_clamav) en ProFTPd para escanear virus en Debian Lenny

Este tutorial explica cómo puede integrar ClamAV en ProFTPd para escanear virus en un sistema Debian Lenny. Esto se logra a través de mod_clamav. Al final, siempre que se cargue un archivo a través de ProFTPd, ClamAV lo revisará y lo eliminará si es malware.

¡No emito ninguna garantía de que esto funcione para usted!

1 nota preliminar

Debería tener una configuración de ProFTPd en funcionamiento en su servidor Debian Lenny.

2 Instalación de ClamAV

ClamAV se puede instalar de la siguiente manera:

aptitude install clamav clamav-daemon libclamav-dev

Ahora debemos reconfigurar ClamAV para que Clamd use conexiones TCP en lugar de un socket Unix local. Se recomienda encarecidamente que se eviten las conexiones de socket Unix cuando se utiliza la función Chroot de ProFTPd (DefaultRoot ~). La razón es que si mod_clamav necesita conectarse a Clamd, el socket Unix no está disponible en el entorno chroot.

Ejecutar

dpkg-reconfigure clamav-base

... y responda estas preguntas de la siguiente manera (acepte los valores predeterminados para todas las demás preguntas):

Tipo de socket:<-- TCP
Puerto TCP clamd escuchará en:<-- 3310
Dirección IP clamd escuchará en:<-- 127.0.0.1

Luego reinicie Clamd y freshclam:

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

Ahora corre

netstat -tap | grep clamd

... y debería ver que Clamd está escuchando en localhost a través de TCP:

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

3 Reconstruyendo ProFTPd

Desafortunadamente, mod_clamav no es parte de ProFTPd por defecto, y no hay un paquete Debian para mod_clamav, así que tenemos que reconstruir ProFTPd con mod_clamav. Usaré el paquete fuente de Debian de ProFTPd y crearé nuevos paquetes ProFTPd .deb con soporte mod_clamav.

Primero instalamos todos los paquetes necesarios para reconstruir ProFTPd:

aptitude build-dep proftpd

También necesitamos el siguiente paquete (que no se instala con el comando anterior por alguna razón...):

aptitude install libpam-dev

Ahora descargamos el paquete fuente de ProFTPd a /usr/src:

cd /usr/src
apt-get source proftpd

A continuación descargamos mod_clamav a /usr/src y lo descomprimimos:

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

Luego copiamos los archivos mod_clamav-0.11rc/mod_clamav.* al directorio proftpd-dfsg-1.3.1/contrib...

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

... y parchear las fuentes de ProFTPd:

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

A continuación debemos editar debian/rules:

vi debian/rules

Busque la sección CONF_ARGS y agréguele --with-modules=mod_clamav:

Ahora podemos reconstruir ProFTPd:

dpkg-buildpackage

Ahora subimos un directorio, ahí es donde se han creado los nuevos paquetes .deb:

cd ..

El comando

ls -l

te muestra los paquetes 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#

Podemos instalar los nuevos paquetes ProFTPd .deb de la siguiente manera:

dpkg -i proftpd*.deb

4 Configuración de ProFTPd

Ahora debemos configurar ProFTPd para usar mod_clamav siempre que se cargue un archivo. Abra /etc/proftpd/proftpd.conf...

vi /etc/proftpd/proftpd.conf

... y agrega la estrofa

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

en algún lugar, por ej. debajo de

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

sección:

[...]
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
[...]

Reiniciar ProFTPd:

/etc/init.d/proftpd restart

Ahora comprueba si mod_clamav está cargado ejecutando:

proftpd -vv

mod_clamav debe aparecer en la salida:

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:~#

¡Eso es todo! Ahora, cada vez que alguien intente cargar malware en su servidor a través de ProFTPd, se eliminarán los archivos "malos". Puede probarlo descargando el virus de prueba Eicar desde http://www.eicar.org/anti_virus_test_file.htm; intente cargarlo en su servidor ProFTPd y, si todo va bien, debe eliminarlo:

5 Enlaces

  • 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. Cómo obtener actualizaciones de LTS para Debian 6 (Squeeze)

  2. Cómo integrar ClamAV en PureFTPd para escanear virus en CentOS 7

  3. Cómo restablecer la contraseña para sudo en Debian

  4. ISPConfig 3 ProFTPd para Debian

  5. Cómo instalar ClamAV en Debian 9 y buscar vulnerabilidades

Cómo integrar ClamAV (a través de mod_clamav) en ProFTPd para escanear virus en Ubuntu 10.04

Cómo integrar ClamAV (a través de mod_clamav) en ProFTPd para escanear virus en Debian Lenny

Cómo buscar puertos abiertos en Debian 10

Cómo instalar Skype para Linux Beta en Debian 9 Stretch

Cómo instalar ClamAV en Debian 10

Cómo configurar Nginx como proxy inverso para Apache en Debian 11

    [...]
    <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
    [...]