Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Cómo instalar y configurar Amavisd-new con Postfix en CentOS 5.

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2011 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Introducción.

Este documento permitirá configurar Postfix para utilizar amavisd-new para el control de virus y correo spam. Se requiere haber configurado previamente Postfix de la forma en que se describe en el documento titulado «Cómo instalar y configurar Postfix en CentOS 5 con soporte para TLS y autenticación

Acerca de Amavisd-new.

Amavisd-new es una interfaz confiable y de alto desempeño entre el agente de trasporte de correo (MTA, Mail Transport Agent) y uno o más supervisores de contenido, como es el caso de supervisores anti-virus, y/o SpamAssassin. Está escrito en Perl para asegurar su alta confiabilidad, portabilidad y facilidad de mantenimiento.

Funciona comunicándose con el MTA a través de ESMTP (Extended Simple Mail Transfer Protocol o Protocolo Simple de Transferencia de Correo) o bien LMTP (Local Mail Transfer Protocol o Protocolo de Transferencia Local de Correo), a través de programas auxiliares, con un diseño que impide se puede parder correo electrónico de manera incidental.

URL: http://www.ijs.si/software/amavisd/

Equipamiento lógico necesario.

Creación del usuario para ClamAV.

De modo predeterminado, en los paquetes RPM basados sobre los disponibles para Fedora, el usuario para ClamAV se asigna a través de los mandatos fedora-groupadd y fedora-useradd el UID y GID 4 en el sistema. A fin de prevenir un conflicto de UID/GID con otros usuarios y grupos de sistema, se recomienda crear previamente al grupo y usuario correspondientes para ClamAV:

groupadd -r clamav
useradd -r -s /sbin/nologin -d /var/lib/clamav -M -c 'Clamav Antivirus' -g clamav clamav

Configuración de depósitos YUM para CentOS 5 y Red Hat Enterprise Linux 5.

Se pueden utilizar el siguiente depósito YUM para la plataforma Enterprise Linux 5.

[AL-Server]
name=Enterprise Linux $releasever - $basearch - AL Server
mirrorlist=http://www.alcancelibre.org/al/el$releasever/al-server
gpgkey=http://www.alcancelibre.org/al/AL-RPM-KEY

Instalar los paquetes necesarios se utiliza el siguiente mandato:

yum -y install amavisd-new clamav-update clamav-server cabextract tnef
yum -y install arj lha unzoo p7zip p7zip-plugins

Lo anterior también instalará todas las dependencias necesarias.

Procedimientos.

Configuración de SELinux.

Procedimiento para crear política.

Crear el directorio /usr/share/selinux/packages/amavisd:

mkdir /usr/share/selinux/packages/amavisd

Cambiarse al directorio /usr/share/selinux/packages/amavisd:

cd /usr/share/selinux/packages/amavisd

Descargar desde Alcance Libre el archivo http://www.alcancelibre.org/linux/secrets/amavisd.te:

Editar el archivo amavisd.te:

vim amavisd.te

Verificar que el archivo amavisd.te tenga el siguiente contenido:



module amavisd 1.0;

require {
        type traceroute_port_t;
        type amavis_t;
        type clamd_t;
        type spamd_t;
        type initrc_var_run_t;
        type amavis_var_run_t;
        type root_t;
        class dir { write search add_name };
        class lnk_file read;
        class udp_socket name_bind;
        class file { ioctl append read lock };
}

#============= amavis_t ==============
allow amavis_t initrc_var_run_t:file { read lock };
allow amavis_t traceroute_port_t:udp_socket name_bind;

#============= clamd_t ==============
allow clamd_t amavis_var_run_t:dir { write search add_name };

#============= spamd_t ==============
allow spamd_t root_t:file { ioctl append };

Crear el archivo de módulo amavisd.mod a partir del archivo amavisd.te:

checkmodule -M -m -o amavisd.mod amavisd.te

Crear el archivo de política amavisd.pp a partir del archivo amavisd.mod

semodule_package -o amavisd.pp -m amavisd.mod

Incluir la política al sistema:

semodule -i /usr/share/selinux/packages/amavisd/amavisd.pp

Configuración de Amavisd-new.

Editar el archivo /etc/amavisd/amavisd.conf

vim /etc/amavisd/amavisd.conf

Localizar la siguiente línea:

$mydomain = 'example.com'; # a convenient default for other settings

Cambiar por lo siguiente:

$mydomain = 'dominio.com'; # a convenient default for other settings

Configuración de Postfix.

Editar el archivo /etc/postfix/master.cf

vim /etc/postfix/master.cf

Añadir al final de éste todo lo siguiente:

# Configuración de amavisd-new
amavisfeed unix    -       -       n        -      2     lmtp
    -o lmtp_data_done_timeout=1200
    -o lmtp_send_xforward_command=yes
    -o disable_dns_lookups=yes
    -o max_use=20
127.0.0.1:10025 inet n    -       n       -       -     smtpd
    -o content_filter=
    -o smtpd_delay_reject=no
    -o smtpd_client_restrictions=permit_mynetworks,reject
    -o smtpd_helo_restrictions=
    -o smtpd_sender_restrictions=
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o smtpd_data_restrictions=reject_unauth_pipelining
    -o smtpd_end_of_data_restrictions=
    -o smtpd_restriction_classes=
    -o mynetworks=127.0.0.0/8
    -o smtpd_error_sleep_time=0
    -o smtpd_soft_error_limit=1001
    -o smtpd_hard_error_limit=1000
    -o smtpd_client_connection_count_limit=0
    -o smtpd_client_connection_rate_limit=0
    -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters,no_address_mappings
    -o local_header_rewrite_clients=
    -o smtpd_milters=
    -o local_recipient_maps=
    -o relay_recipient_maps=

Editar el archivo /etc/postfix/main.cf:

vim /etc/postfix/main.cf

Añadir al final de éste lo siguiente:

content_filter = amavisfeed:[127.0.0.1]:10024

Lo anterior se puede definir automáticamente en el archivo /etc/postfix/main.cf ejecutando:

postconf -e 'content_filter = amavisfeed:[127.0.0.1]:10024'

Editar el archivo /etc/aliases:

vim /etc/aliases

Definir un alias para la cuenta virusalert:

virusalert: fulano

Para que surtan efecto los cambios, ejecutar:

postalias /etc/aliases

Iniciar, detener y reiniciar el servicio spamass-milter.

Añadir los servicios clamd.amavisd y amavisd a los servicios de arranque del sistema:

chkconfig clamd.amavisd on
chkconfig amavisd on

Iniciar los servicios clamd.amavisd y amavisd:

service clamd.amavisd start
service amavisd start

Reiniciar el servicio postfix:

service postfix restart

Postfix con dominios virtuales y Amavisd-new.

Para poder utilizar Postfix con dominios virtuales y Amavisd-new, es indispensable editar el archivo /etc/amavisd/amavisd.conf:

vim /etc/amavisd/amavisd.conf

Y modificar los valores del parámetro @local_domains_maps. El valor predeterminado es el siguiente:

@local_domains_maps = ( [".$mydomain"] );

Se deben agregar los dominios virtuales de la siguiente manera:

@local_domains_maps = ( [".$mydomain", "dominio.com", "otrodominio.net", "otrodominio.org"] );

Y para que surtan efecto los cambios, se debe reiniciar el servicio amavisd:

service amavisd restart

Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Última Edición: 03/08/2011, 01:35|Hits: 17,282 Ver la versión para imprimir