Cómo utilizar Sagator, una puerta de enlace antivirus/antispam, para proteger su servidor de correo


Leemos sobre infecciones de virus (aparecen nuevos todo el tiempo) y de alguna manera nos afecta el correo no deseado a diario. Si bien existen muchas soluciones gratuitas y comerciales (disponibles como aplicaciones de cliente) para ambas molestias, los administradores del sistema deben tener una estrategia para hacer frente a estas amenazas mucho antes de que lleguen a los buzones de correo de los usuarios.

Una de esas estrategias es configurar una puerta de enlace antivirus/antispam. Puede pensar en esta herramienta como una capa intermedia (o filtro) entre el mundo exterior y su red interior en lo que respecta al contenido del correo electrónico.

Además, si lo piensa bien, es mucho más fácil instalar y mantener una sola pieza de software en una sola máquina (el servidor de correo) que hacer lo mismo en varias máquinas individualmente.

En este artículo, le presentaremos Sagator, una puerta de enlace antivirus/antispam para servidores de correo Linux escrito en Python. Entre otras cosas, Sagator proporciona registros de bases de datos, estadísticas de uso e informes diarios para los usuarios. Dicho esto, comencemos.

Instalación de Sagator y Postfix Mail Server

Para instalar Sagator en CentOS/RHEL 7, descargue e instale los siguientes paquetes RPM. La última versión beta (7) incluye soporte y correcciones para systemd; es por eso que preferimos instalarlo usando este método en lugar de descargar el paquete de los repositorios.

# rpm -Uvh https://www.salstar.sk/pub/sagator/epel/testing/7/i386/sagator-core-1.3.2-0.beta7.el7.noarch.rpm
# rpm -Uvh https://www.salstar.sk/pub/sagator/epel/testing/7/i386/sagator-1.3.2-0.beta7.el7.noarch.rpm

Si está realizando esta instalación en un servidor nuevo, tenga en cuenta que es necesario instalar varios otros paquetes como dependencias, entre los que podemos mencionar ClamAV y SpamAssassin.

Además, es posible que desee instalar también Rrdtool, una utilidad para crear y mostrar gráficos de día/semana/mes/año del número total/limpio/virus/spam de correos electrónicos.

Estos gráficos estarán disponibles en/var/www/html/sagator una vez que el servicio y sus dependencias sean completamente funcionales.

# yum install epel-release
# yum install postfix spamassassin clamav clamav-scanner clamav-scanner-systemd clamav-data clamav-update rrdtool

Esto no es una sorpresa, ya que necesitaremos un servidor de correo y un software antivirus/antispam al que Sagator se pueda conectar. Además, es posible que necesitemos instalar el paquete mailx, que proporciona funcionalidades de MUA (Agente de usuario de correo, también conocido como Agente de correo electrónico).

En Debian y Ubuntu, deberá instalar Sagator desde un paquete .deb precompilado, que puede descargar desde aquí e instalar de la siguiente manera:

# wget https://www.salstar.sk/pub/sagator/debian/pool/jessie/testing/sagator-base_1.3.2-0.beta7_all.deb 
# wget https://www.salstar.sk/pub/sagator/debian/pool/jessie/testing/sagator_1.3.2-0.beta7_all.deb 
# dpkg -i sagator-base_1.3.2-0.beta7_all.deb
# dpkg -i sagator_1.3.2-0.beta7_all.deb 
# wget https://www.salstar.sk/pub/sagator/ubuntu/pool/trusty/testing/sagator-base_1.3.2-0.beta7_all.deb 
# wget https://www.salstar.sk/pub/sagator/ubuntu/pool/trusty/testing/sagator_1.3.2-0.beta7_all.deb 
# sudo dpkg -i sagator-base_1.3.2-0.beta7_all.deb
# sudo dpkg -i sagator_1.3.2-0.beta7_all.deb

Como sucedió con CentOS, deberá instalar y configurar el servidor de correo, los paquetes SpamAssassin y ClamAV:

# aptitude install postfix spamassassin clamav clamav-daemon -y

No olvide usar sudo en Ubuntu.

A continuación, independientemente de la distribución, deberá actualizar la definición de virus antes de iniciar ClamAV. Antes de hacerlo, edite /etc/clamd.d/scan.conf y /etc/freshclam.conf y elimine la siguiente línea:

Example

Además, en /etc/clamd.d/scan.conf, asegúrese de que la siguiente línea no esté comentada:

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

Finalmente, haz

# freshclam

E inicie/habilite ClamAV, SpamAssassin y Sagator:

# systemctl start [email protected]
# systemctl start spamassassin
# systemctl start sagator
# systemctl enable [email protected]
# systemctl enable spamassassin
# systemctl enable sagator

Es posible que desee consultar el registro de Sagator para asegurarse de que el servicio se inició correctamente:

# systemctl status -l sagator

o para más detalles,

# tail -f /var/spool/vscan/var/log/sagator/sagator.log

Los comandos anteriores se ilustran en la siguiente imagen:

Configuración de Sagator en Linux

El archivo de configuración principal se encuentra en /etc/sagator.conf. Echemos un vistazo al conjunto mínimo de directivas que debemos establecer para que Sagator funcione correctamente:

Paso 1: utilizaremos Sagator dentro de un chroot, así que asegúrese de que la siguiente línea no esté comentada:

CHROOT = '/var/spool/vscan'

Paso 2: asegúrese de que la directiva LOGFILE coincida con el siguiente valor:

LOGFILE = CHROOT + '/var/log/sagator/sagator.log'

Paso 3: elija un antivirus que se integrará con Sagator. Para hacerlo, asegúrese de que las líneas resaltadas en la imagen a continuación no estén comentadas:

Si bien puede elegir entre una amplia variedad de soluciones antivirus, ClamAV proporciona mayor rendimiento y estabilidad. Aunque usaremos ClamAV en esta guía, tenga en cuenta que el archivo de configuración incluye las instrucciones para conectar Sagator a otras soluciones antivirus/antispam.

Cuando hayas terminado, corre

# sagator --test

Para comprobar el archivo de configuración. ¡No tener salida es algo bueno! De lo contrario, solucione los errores que encuentre antes de continuar.

Integrando Sagator con Postfix

Para integrar Sagator con Postfix, asegúrese de que las siguientes líneas estén presentes en /etc/postfix/main.cf y /etc/postfix/master.cf:

mynetworks = 127.0.0.0/8
content_filter = smtp:[127.0.0.1]:27
#smtp inet n - n -- smtpd
127.0.0.1:26 inet n - n - 30 smtpd
-o content_filter=
-o myhostname=localhost
-o local_recipient_maps=  -o relay_recipient_maps=
-o mynetworks=127.0.0.0/8  -o mynetworks_style=host
-o smtpd_restriction_classes=  -o smtpd_client_restrictions=
-o smtpd_helo_restrictions=  -o smtpd_sender_restrictions=
-o smtpd_data_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_use_tls=no

Luego reinicie postfix y asegúrese de que esté habilitado para iniciarse automáticamente al arrancar:

# systemctl restart postfix
# systemctl enable postfix

Ahora podemos continuar con la prueba.

Prueba de Sagator

Para probar Sagator, envíe un correo electrónico desde la raíz del usuario al usuario gacanepa con el siguiente cuerpo. Esto es nada más y nada menos que el estándar GTUBE (Prueba genérica para correo electrónico masivo no solicitado) proporcionado por SpamAssassin, como se muestra en la siguiente imagen:

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

Ahora veamos qué sucede cuando se envía un virus como archivo adjunto. En el siguiente ejemplo usaremos la prueba EICAR (consulte esta entrada de Wikipedia para obtener más detalles):

# wget http://www.eicar.org/download/eicar.com
# mail -a eicar.com gacanepa

Luego revisa el registro:

# tail -f /var/spool/vscan/var/log/sagator/sagator.log

Los correos electrónicos rechazados se devuelven al remitente con el aviso correspondiente:

¿Qué tiene de bueno esto? Como puede ver, el spam y los virus nunca llegan al servidor de correo de destino ni a los buzones de correo de los usuarios, pero se eliminan o rechazan en el nivel de la puerta de enlace.

Como mencionamos antes, los gráficos están disponibles en http:// /sagator :

Resumen

En este artículo hemos explicado cómo instalar y configurar Sagator, una puerta de enlace antivirus/antispam que se integra perfectamente con su servidor de correo y lo protege.

Para obtener más información y funcionalidad adicional (hay mucho más en este increíble software de lo que podemos cubrir adecuadamente en un solo artículo), puede consultar el sitio web del proyecto en http://www.salstar.sk/sagator.

Como siempre, no dude en escribirnos mediante el formulario de comentarios a continuación si tiene alguna pregunta o comentario.

Un agradecimiento especial a Jan ONDREJ (SAL), el desarrollador de Sagator, por su excelente apoyo mientras escribía este artículo.