GNU/Linux >> Tutoriales Linux >  >> Cent OS

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

Este tutorial explica cómo puede integrar ClamAV en PureFTPd para escanear virus en un sistema CentOS 7. Al final, siempre que se cargue un archivo a través de PureFTPd, ClamAV lo revisará y lo eliminará si contiene un virus o malware.

1 nota preliminar

Debería tener una configuración de PureFTPd en funcionamiento en su servidor CentOS 7, p. como se muestra en este tutorial:alojamiento virtual con PureFTPd y MySQL (incluida la gestión de cuotas y ancho de banda) en CentOS 7.

2 Instalación de ClamAV

ClamAV no está disponible en los repositorios oficiales de CentOS, por lo tanto, habilitamos el repositorio EPEL (si aún no lo ha hecho. Comience importando las claves RPM GPK.

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Luego habilitamos el repositorio EPEL en nuestro sistema CentOS ya que muchos de los paquetes que vamos a instalar en el transcurso de este tutorial no están disponibles en el repositorio oficial de CentOS 7:

yum -y install epel-release
yum -y install yum-priorities

Edite /etc/yum.repos.d/epel.repo...

nano /etc/yum.repos.d/epel.repo

... y agregue la línea prioridad=10 a la sección [epel]:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[...]

Luego actualizamos nuestros paquetes existentes en el sistema:

yum update

Posteriormente, podemos instalar ClamAV de la siguiente manera:

yum -y clamav clamav-server clamav-data clamav-update clamav-filesystem clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd

Edite el archivo /etc/freshclam.conf y comente la línea Ejemplo:

nano /etc/freshclam.conf

agregando un # delante de la línea Ejemplo:

.....
# Comment or remove the line below.
# Example

....

Luego edite el archivo /etc/clamd.d/scan.conf:

nano /etc/clamd.d/scan.conf

y comente la línea Ejemplo como lo hicimos en el archivo anterior y elimine el # delante de la línea LocalSocket.

.....
# Comment or remove the line below.
# Example

....
LocalSocket /var/run/clamd.scan/clamd.sock
....

A continuación, creamos los enlaces de inicio del sistema para clamd y lo iniciamos:

systemctl enable [email protected]
freshclam

Luego inicie el servicio clamav:

systemctl start [email protected]

Puede comprobar el estado del demonio ClamAV con este comando:

 systemctl  status [email protected]

El resultado debería ser así:

[[email protected] system]# systemctl status [email protected]
? [email protected] - Generic clamav scanner daemon
Loaded: loaded (/usr/lib/systemd/system/[email protected]; disabled; vendor preset: disabled)
Active: active (running) since Thu 2016-04-07 15:44:28 CEST; 1min 48s ago
Main PID: 10945 (clamd)
CGroup: /system.slice/system-clamd.slice/[email protected]
??10945 /usr/sbin/clamd -c /etc/clamd.d/scan.conf --nofork=yes
Apr 07 15:44:36 server1.example.com clamd[10945]: HTML support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: XMLDOCS support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: HWP3 support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: Self checking every 600 seconds.
Apr 07 15:44:36 server1.example.com clamd[10945]: PDF support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: SWF support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: HTML support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: XMLDOCS support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: HWP3 support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: Self checking every 600 seconds.

3 Configuración de PureFTPd

Primero abrimos /etc/pure-ftpd/pure-ftpd.conf y establecemos CallUploadScript en sí:

nano /etc/pure-ftpd/pure-ftpd.conf
[...]
# If your pure-ftpd has been compiled with pure-uploadscript support,
# this will make pure-ftpd write info about new uploads to
# /var/run/pure-ftpd.upload.pipe so pure-uploadscript can read it and
# spawn a script to handle the upload.
# Don't enable this option if you don't actually use pure-uploadscript.

CallUploadScript yes
[...]

A continuación, creamos el archivo /etc/pure-ftpd/clamav_check.sh (que llamará a /usr/bin/clamdscan siempre que se cargue un archivo a través de PureFTPd)...

nano /etc/pure-ftpd/clamav_check.sh
#!/bin/sh
/usr/bin/clamdscan --fdpass --remove --quiet --no-summary -c /etc/clamd.d/scan.conf "$1"

... y hacerlo ejecutable:

chmod 755 /etc/pure-ftpd/clamav_check.sh

Ahora iniciamos el programa pure-uploadscript como un demonio:llamará a nuestro script /etc/pure-ftpd/clamav_check.sh siempre que se cargue un archivo a través de PureFTPd:

pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh

Por supuesto, no desea iniciar el daemon manualmente cada vez que inicia el sistema; por lo tanto, abrimos /etc/rc.local...

nano /etc/rc.local

... y agregue la línea /usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh - p. de la siguiente manera:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

/usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
touch /var/lock/subsys/local

Finalmente reiniciamos PureFTPd:

systemctl restart [email protected]

¡Eso es todo! Ahora, cada vez que alguien intente cargar malware en su servidor a través de PureFTPd, los archivos "malos" se eliminarán silenciosamente.

4 Imagen de máquina virtual

Este tutorial está disponible como máquina virtual lista para usar en formato OVA / OVF para suscriptores de Howtoforge. El formato VM es compatible con VMWare y Virtualbox y otras herramientas que pueden importar este formato. Puede encontrar el enlace de descarga en el menú derecho en la parte superior. Haga clic en el nombre del archivo para iniciar la descarga.

Los detalles de inicio de sesión de la máquina virtual son:

Inicio de sesión SSH

Nombre de usuario:root
Contraseña:howtoforge

Inicio de sesión en MariaDB

Nombre de usuario:root
Contraseña:howtoforge

Cambie las contraseñas después del primer arranque.

5 Enlaces

  • FTPD puro:http://www.pureftpd.org/
  • ClamAV:http://www.clamav.net/
  • CentOS:http://www.centos.org/

Cent OS
  1. Cómo integrar ClamAV en PureFTPd para escanear virus en Ubuntu 12.10

  2. Cómo integrar ClamAV en PureFTPd para escanear virus en Debian Squeeze

  3. Cómo configurar PureFTPd para aceptar sesiones TLS en CentOS 6.2

  4. Cómo integrar ClamAV en PureFTPd para escanear virus en CentOS 6.2

  5. Cómo integrar el sistema CentOS/RHEL en un dominio AD con LDAP/Kerberos/SSSD

Cómo configurar PureFTPd en CentOS 7

Cómo instalar Websvn para Subversion en CentOS 7

Cómo instalar ClamAV en CentOS 6

Cómo instalar ClamAV en CentOS 7

Cómo instalar Drush para Drupal en CentOS 7

Cómo instalar ClamAV en CentOS 8