Configuración del servidor de correo en Debian

Introducción

Un Mail Transfer Agent (MTA) maneja la trasferencia de correo electrónico de un servidor a otro. Aquí vamos a configurar el MTA Exim4 1, integrándolo con protocolos de autenticación SMTP, protocolos de seguridad (SSL, TSL), anti-virus (Clam Antivirus), bloqueo de DNS con listas negras (DNSBL) y filtro de SPAM (SpamAssassin).

La configuración avanzada de Exim4 aquí presentada es apta para un servidor Debian, conectado a Internet permanentemente, con número IP estático y FQDN (Fully Qualified Domain Name).

Instalación y configuración básica de exim4

Instala el paquete exim4,

# apt-get install exim4

Si exim4 ya está instalado, reconfigura con,

# dpkg-reconfigure -plow exim4-config

Configura un sitio Internet,

    Internet site; el correo se envía y recibe directamente usando SMTP

Da el nombre completo del servidor, incluyendo el dominio. Por ejemplo,

    Nombre del sistema de correo: mi.servidor.debian

Deja en blanco las direcciones IP que escuchan conexiones SMTP entrantes. Esto hace que todas la interfases sean usadas.

    Direcciones IP en las que recibir conexiones SMTP entrantes:

En otros destinos a los cuales se acepta correo puedes agregar dominios adicionales, separados con un colon, que apuntan al número IP del servidor de correo, por ejemplo, aquellos definidos con BIND,

    Otros destinos para los que se acepta el correo: ficticio.cl

Es preferible usar SMTP-AUTH para envíos de correo que actuar como relay. Un relay mal configurado podría usarse para envío de SPAM. Deja esta opción en blanco a no ser que sepas bien lo que haces.

    Dominios para los que se reenvía correo:

Es seguro actuar de relay para una red local, por ejemplo,

    Máquinas para los cuales reeinviar correo: 192.168.1.0/24

solo si se bloquea el rango en la interfase externa con un cortafuego.

En método de entrega para el correo local escoge formato mbox,

    formato mbox en /var/mail/

Separa la configuración en archivos pequeños,

    ¿Dividir la configuración en pequeños ficheros? 

Si tienes un cortafuego, habilita el puerto 25 TCP hacia requerimientos por la interfase que va a servir correo electrónico.

Autenticación SMTP con SASL

Instala los paquetes sasl2-bin y libsasl2-modules,

# apt-get install sasl2-bin libsasl2-modules

Edita /etc/default/saslauthd y modifica la variable START a,

  START=yes

Reinicia el servidor de autenticación SASL,

# /etc/init.d/saslauthd restart

Edita /etc/exim4/conf.d/main/03_exim4-config_tlsoptions y agrega la línea,

  MAIN_TLS_ENABLE = 1

al inicio del archivo,

### main/03_exim4-config_tlsoptions
#################################

# TLS/SSL configuration.
# See /usr/share/doc/exim4-base/README.Debian.gz for explanations.
MAIN_TLS_ENABLE = 1

Edita /etc/exim4/conf.d/auth/30_exim4-config_examples y descomenta la sección login_saslauthd_server,

 login_saslauthd_server:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
# don't send system passwords over unencrypted connections
server_condition = ${if saslauthd{{$auth1}{$auth2}}{1}{0}}
server_set_id = $auth1
# .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
# server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
# .endif

Genera un certificado de seguridad, por ejemplo,

# /usr/share/doc/exim4-base/examples/exim-gencert
Country Code (2 letters) [US]:CL
State or Province Name (full name) []:.
Locality Name (eg, city) []:Santiago
Organization Name (eg, company; recommended) []:Mi organizacion
Organizational Unit Name (eg, section) []:Mi unidad
Server name (eg. ssl.domain.tld; required!!!) []:smtp.servidor.debian
Email Address []:postmaster@servidor.debian

Los archivos exim.crt y exim.key son guardados en /etc/exim4. El certificados es válido por tres años. Si deseas cambiar el tiempo de validez, edita /usr/share/doc/exim4-base/examples/exim-gencert y modifica la variable DAYS, por ejemplo,

  DAYS=3652

(diez años). Genera nuevamente el certificado.

Agrega el usuario Debian-exim al grupo sasl,

# addgroup Debian-exim sasl

Actualiza la configuración de Exim,

# update-exim4.conf

y reinicia exim4,

# /etc/init.d/exim4 restart

Prueba una conexión SMTP (puerto 25),

$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 debian.ciencias.uchile.cl ESMTP Exim 4.63 Tue, 01 May 2007 14:51:23 -0400

Escribe "EHLO debian.ciencias.uchile.cl",

EHLO debian.ciencias.uchile.cl
250-debian.ciencias.uchile.cl Hello root at localhost [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250-AUTH LOGIN
250-STARTTLS
250 HELP

Las líneas,

  250-AUTH LOGIN
250-STARTTLS

indican que la autenticación SMTP con TLS está funcionando.

También puedes configurar el servidor SASL para que ejecute la autenticación son SSL por el puerto 465 (SSMTP) 2.

Clam Anti-virus

Instala el paquete exim4-daemon-heavy,

# apt-get install exim4-daemon-heavy

El paquete exim4-daemon-light será removido.

Instala los paquetes clamav-freshclam y clamav-daemon,

# apt-get install clamav-freshclam clamav-daemon

El primer paquete es el daemon que descarga la base de datos de virus de Internet y la actualiza regularmente. El segundo paquete es el scanner.

Edita /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs y al final agrega,

# set clamd path
av_scanner = clamd:/var/run/clamav/clamd.ctl

Edita /etc/exim4/conf.d/acl/40_exim4-config_check_data y agrega casi al final, justo antes de accept,

# Reject messages that have serious MIME errors.
# This calls the demime condition again, but it
# will return cached results.
deny message = Serious MIME defect detected ($demime_reason)
demime = *
condition = ${if >{$demime_errorlevel}{2}{1}{0}}

# Reject file extensions used by worms.
# Note that the extension list may be incomplete.

deny message = This domain has a policy of not accepting certain \
types of attachments in mail as they may contain a \
virus. This mail has a file with a .$found_extension \
attachment and is not accepted. If you have a \
legitimate need to send this particular attachment, \
send it in a compressed archive, and it will then be \
forwarded to the recipient.
demime = exe:com:vbs:bat:pif:scr

# Reject messages containing malware.
deny message = This message contains a virus ($malware_name) and \
has been rejected.
malware = *


# accept otherwise
accept

Crea el directorio /var/spool/exim4/scan con atributos de escritura,

# mkdir -p -m 777 /var/spool/exim4/scan

Agrega el usuario clamav al grupo Debian-exim,

# addgroup clamav Debian-exim

Actualiza la configuración de Exim,

# update-exim4.conf

y reinicia exim4,

# /etc/init.d/exim4 restart

Reinicia clamav-daemon,

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

Listas DNSBL

Edita /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt y agrega,

  # DNS blacklist
drop
log_message = listed by $dnslist_domain
dnslists = zen.spamhaus.org

justo antes de la configuración de listas negras por omisión de Exim,

  # DNS blacklist
drop
log_message = listed by $dnslist_domain
dnslists = zen.spamhaus.org


# Check against classic DNS "black" lists (DNSBLs) which list
# sender IP addresses

dnslists define las listas DNSBL a usar, separadas por un colon (:).

La lista DNSLB del ejemplo es la de SpamHaus 3. Existen otras listas DNSBL que son complementarias, por ejemplo, la lista de SpamCop 4 y la de SORBS 5.

Actualiza la configuración de Exim,

# update-exim4.conf

y reinicia exim4,

# /etc/init.d/exim4 restart

Información adicional sobre otras listas DNSBL y cómo usarlas con Exim4 en Debian puedes encontrar aquí.

SpamAssassin

Instala los paquetes spamassassin y spamc,

# apt-get install spamassassin spamc

Edita /etc/default/spamassassin y modifica la variable ENABLED a,

  ENABLED=1

Inicia spamd con,

# /etc/init.d/spamassassin start

Instala el paquete sa-exim,

# apt-get install sa-exim

Edita /etc/exim4/sa-exim.conf y comenta la línea,

   #SAEximRunCond: 0

Actualiza la configuración de Exim,

# update-exim4.conf

y reinicia exim4,

# /etc/init.d/exim4 restart



Fuente: http://man-es.debianchile.org/exim.html

Algunos enlaces Utiles:
Para descargar Exim4 http://ftp.debian.org/debian/pool/main/e/exim4/
Sitio oficial de ClamAV http://www.clamav.net/ y para descargar la ultima version http://www.clamav.net/download/sources/lang-pref/es/

Comentarios

Entradas populares