35
Raúl Espinosa Soriano Instalación y configuración de POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN V2 Raúl Espinosa Soriano 10/11/2011

Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

Embed Size (px)

Citation preview

Page 1: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

Raúl Espinosa Soriano

Instalación y

configuración de

POSTFIX – SASL –

TLS – DOVECOT –

SQUIRRELMAIL -

MAILMAN V2

Raúl Espinosa Soriano 10/11/2011

Page 2: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 1

INSTALACIONYCONFIGURACIONDE

POSTFIX–DOVECOTENDEBIAN

Tabla de contenido 1. Introducción .......................................................................................................................... 2

2. Tecnologías. ........................................................................................................................... 2

Debian GNU/Linux. .................................................................................................................... 3

Postfix. ....................................................................................................................................... 3

TLS. ............................................................................................................................................ 3

SASL. .......................................................................................................................................... 3

SpamAssassin. ........................................................................................................................... 4

Clam AntiVirus. .......................................................................................................................... 4

Mailman. ................................................................................................................................... 4

SquirrelMail. .............................................................................................................................. 4

3. Configuración Sistema de red ............................................................................................... 4

4. Instalar el MTA Postfix (Mail Transfer Agent) ....................................................................... 5

4.1. Fichero /etc/postfix/main.cf ......................................................................................... 5

5. Instalar Dovecot .................................................................................................................... 7

6. Configurar SASL ..................................................................................................................... 8

Configuración de Postfix ........................................................................................................... 8

Creación de las cuentas de usuario ........................................................................................... 9

Probar el funcionamiento de nuestro servidor Postfix ............................................................. 9

Instalar el servicio de autentificación SASL ............................................................................. 10

Configuración de Postfix para uso de SASL ............................................................................. 10

Activación de SASL .................................................................................................................. 11

Verificación de que el usuario postfix pertenece al grupo SASL ............................................. 11

Cambios en el fichero smtpd.conf .......................................................................................... 12

7. Cifrado del canal de comunicación usando TLS. ................................................................. 12

La generación de los certificados. ........................................................................................... 13

Modificaciones en Postfix. ...................................................................................................... 13

8. Comprobación del funcionamiento .................................................................................... 16

8.1 Ficheros de configuración ................................................................................................. 16

8.2 Comprobación Autorización y Cifrado TLS ........................................................................ 19

Page 3: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 2

8.3 Envios de mails desde Outlook Express ............................................................................ 19

9. Installing Squirrel Web Mail ................................................................................................ 26

10. Mail Server Logs .............................................................................................................. 27

11. SpamAssassin. ................................................................................................................. 27

Usando spamassassin en modo standalone demonio ............................................................ 27

Configurando spamassassin .................................................................................................... 27

Configurando spamassassin .................................................................................................... 28

Configuración en Postfix ......................................................................................................... 28

Comprobación del funcionamiento ........................................................................................ 29

12. Listas de correo con Mailman ......................................................................................... 30

1. Introducción Postfix es una alternativa al famoso MTA denominado Sendmail: Postfix es más rápido, fácil de

administrar, seguro, mientras que Sendmail es un servidor más complicado desde el punto de

vista del administrador.

Dovecot es un servidor IMAP y POP3 de código abierto para sistemas Linux, desarrollado bajo

las premisas de la seguridad. Dovecot es una excelente elección en lo que se refiere a

servidores POP/IMAP. Es rápido, fácil de configurar, y no require una Administracion avanzada

ni recursos.

Cuando se envía un mail, el cliente SMTP Postfix, tiene la posibilidad de buscar un servidor

SMTP remoto o el dominio destino (parte derecha de la dirección de correo electrónico) en

una tabla de password SASL, de forma que si se encuentra el usuario y conrtaseña, lo usará

para autentificarse con el servidor SMTP remote. Desde la version 2.3, Postfix se puede

configurar para autentificación en function de la dirección del remitente.

SquirrelMail es un sistema de webmail estandarizado escrito en php. Incluye código PHP puro

con soporte para protocolos IMAP y SMTP mostrando los contenidos en HTML 4.0, sin incluir

javascript. Es una aplicación fácil de uso e instalación. SquirrelMail tiene todas las

funcinalidades que un cliente de mail debe de tener, incluyendo soporte mime, libreta de

direcciones y manipulación de carpetas.

Nota: Los sistemas Postfix y Dovecot, pueden ser usados para correo corporativo o correo

externo, con las configuraciones oportunas en routers y demás elementos de interconexión de

redes.

2. Tecnologías.

Page 4: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 3

Debian GNU/Linux.

Debian es un sistema operativo (SO) libre para ordenadores. El sistema operativo es el

conjunto de programas básicos y utilidades que hacen que funcione el ordenador. Debian

utiliza el núcleo Linux (el corazón del sistema operativo), pero la mayor parte de las

herramientas básicas vienen del Proyecto GNU; de ahí el nombre GNU/Linux.

Debian GNU/Linux ofrece más que un SO puro; viene con miles de paquetes, programas

precompilados distribuidos en un formato que hace más fácil la instalación en su ordenador.

En este artículo se utilizará la rama Sarge de Debian.

Postfix.

El MTA (Mail Transportation Agent) Postfix pretende ser rápido, fácil de administrar y seguro, a

la vez que suficientemente compatible con Sendmail como para que los usuarios existentes no

se asusten. Por lo tanto, externamente mantiene el estilo de Sendmail, mientras que

internamente es completamente diferente.

A diferencia de Sendmail, Postfix no es un programa monolítico, sino una combinación de

pequeños programas, cada uno de los cuales lleva a cabo una función especializada. En este

documento, el lector encontrará la información necesaria para tener el sistema funcionando

junto a otros componentes que completan la instalación de un sistema de correo electrónico.

Puede encontrarse más información sobre Postfix en la documentación online de su website.

TLS.

Por defecto, toda comunicación en Internet se hace sin ningún tipo de cifrado y sin una

autenticación fiable. Esto significa que cualquiera con acceso físico a la línea de datos por la

que viaja un paquete puede espiar dicha comunicación. Aún peor, es posible redirigir o alterar

esa comunicación para que la información que se desea mandar se pierda y nadie se dé

cuenta.

De cara a solventar estos problemas de seguridad, Netscape, Inc. introdujo el protocolo SSL

(Secure Sockets Layer), que ha ido evolucionando en el protocolo estandarizado TLS

(Transportation Layer Security). Ofrece tanto cifrado de la comunicación (frenando las

escuchas) como autenticación fuerte (asegurando que ambas partes de una comunicación son

correctamente identificadas y que la comunicación no puede ser alterada).

Postfix/TLS no implementa el protocolo TLS por sí mismo, sino que usa el paquete OpenSSL

para esta tarea. En el website de OpenSSL pueden encontrarse enlaces a documentación que

profundiza en el protocolo y sus características.

SASL.

SASL son las siglas de Simple Authentication and Security Layer, un método para añadir soporte

para la autenticación a protocolos basados en la conexión que ha sido estandarizado por la

IETF (Internet Engineering Task Force). Se usa en servidores (en este caso Postfix) para manejar

las peticiones de autenticación de los clientes. Para ello, el protocolo incluye un comando para

identificar y autenticar un usuario contra un servidor y para, opcionalmente, negociar la

protección de las subsiguientes interacciones del protocolo. Si se negocia su uso, una capa de

seguridad es añadida entre el protocolo y la conexión.

Page 5: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 4

La librería SASL también usa la librería OpenSSL para cifrar los datos.

SpamAssassin.

SpamAssassin es un filtro de correo que trata de identificar el spam mediante el análisis del

texto y el uso en tiempo real de algunas listas negras a través de Internet.

A partir de su base de datos de reglas, utiliza un amplio abanico de pruebas heurísticas en las

cabeceras y el cuerpo de los correos para identificar el spam, también conocido como correo

electrónico comercial no solicitado. Una vez identificado, el correo puede ser opcionalmente

marcado como spam o más tarde filtrado usando el cliente de correo del usuario.

SpamAssassin normalmente identifica acertadamente entre un 95 y un 99% del spam,

dependiendo del tipo de correo que se reciba. También incluye soporte para informar de

mensajes de spam, automática o manualmente, a bases de datos como Vipul’s Razor.

Clam AntiVirus.

ClamAV es una herramienta antivirus GPL para UNIX. El propósito principal de este software es

la integración con los servidores de correo (escaneo de datos adjuntos). El paquete

proporciona un servicio multihilo flexible y escalable, un analizador de línea de comandos y

una utilidad para la actualización automática via Internet. Los programas están basados en una

librería distribuida con el paquete Clam AntiVirus, la cual puede ser usada por su propio

software. Y lo más importante, la base de datos se mantiene actualizada constantemente.

Otras características destacables son el soporte de firmas digitales en la actualización de la

base de datos, el análisis durante el acceso bajo Linux y FreeBSD, la detección de más de 20000

virus, gusanos y troyanos, el soporte integrado para archivos comprimidos con Rar, Zip, Gzip y

Bzip2 y formatos de correo Mbox, Maildir y ficheros crudos de correo.

Mailman.

Mailman es un software libre que permite gestionar listas de distribución, noticias y correo

electrónicos. Mailman está integrado con la web, permitiendo a sus usuarios una fácil

administración de sus cuentas, así como a sus propietarios administrar las listas. Mailman

incluye soporte para crear archivos de correos, procesamiento automático de correo

rechazado, filtrado de contenido, envío en modo compendio o resumen, filtros de spam, etc.

SquirrelMail.

SquirrelMail es un paquete de correo por web basado en estándares y escrito en PHP 4.

Incorpora soporte PHP para los protocolos IMAP y SMTP, y todas sus páginas se crean en puro

HTML 4.0 (sin requerir el uso de JavaScript), de modo que se garantize la máxima

compatibilidad entre navegadores. Tiene muy pocos requerimientos y es muy fácil de instalar y

configurar. SquirrelMail tiene toda la funcionalidad que se espera de un cliente de correo

electrónico, incluyendo soporte de MIME, agendas de contactos y gestión de carpetas.

3. Configuración Sistema de red Para el siguiente tutorial, se parte de un sistema Debian, cuya dirección IP es 192.168.1.30, y

una máquina cliente en Windows XP, con dirección IP 192.168.1.21.

Page 6: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 5

La máscara de red es la predeterminado de clase C (255.255.255.0).

Tan anotar que la máquina/servidor Debian si que tiene conexión a Internet, por medio de la

puerta de enlace predeterminada con DNS válidos.

De tal forma que es capaz de direccionar los mails a internet para llevarlos a su destino.

Una vez configurada la red, pasaremos a instalar los servicios oportunos.

4. Instalar el MTA Postfix (Mail Transfer Agent) Para realizar la instalación de Postfix, accede como administrador a un terminal y teclea el

siguiente comando.

#apt-get install postfix

Durante la instalación, el sistema nos pregunta sobre determinados aspectos de nuestro

sistema SMTP. Deberemos de introducir el nombre de dominio, y seleccionar Internet Site.

El fichero de configuración de Postfix está localizado en /etc/postfix/main.cf. Podemos editarlo

haciendo uso de cualquier editor, en modo administrador.

Para reiniciar el servicio Postfix, desde la consola/terminal, usaremos el siguiente comando:

#/etc/init.d/postfix restart

También se puede parar y lanzar con:

#/etc/init.d/postfix stop

#/etc/init.d/postfix start

Tal y como se realiza la instalación de PostFix, ya se puede hacer uso del mismo configurándolo

en un sistema cliente, como por ejemplo, Outlook Express.

Como servidor de correo entrante SMTP y saliente POP3 (cuando tengamos instalado el

servidor Dovecot) introduciremos la IP del servidor Debian.

El usuario y contraseña sera utilizado el mismo que los dados de alta en el sistema Debian, ya

que al dar de alta un usuario en un sistema Linux, e instalar un servidor de mail, se crean los

directorios en las carpetas personales de cada uno de ellos.

La configuración por defecto que trae el servidor SMTP MTA Postfix, es tal que, no es possible

enviar mails a no ser que sea desde el propio sistema linux.

4.1. Fichero /etc/postfix/main.cf

El fichero de configuración /etc/postfix/main.cf es el siguiente:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

Page 7: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 6

# Debian specific: Specifying a file name will cause the first

# line of that file to be used as the name. The Debian default

# is /etc/mailname.

#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)

biff = no

# appending .domain is the MUA's job.

append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings

#delay_warning_time = 4h

readme_directory = no

# TLS parameters

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

smtpd_use_tls=yes

smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache

smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for

# information on enabling SSL in the smtp client.

myhostname = debian

alias_maps = hash:/etc/aliases

alias_database = hash:/etc/aliases

mydestination = debian, localhost.localdomain, , localhost

relayhost =

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

Page 8: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 7

ailbox_command = procmail -a "$EXTENSION"

milbox_size_limit = 0

recipient_delimiter = +

inet_interfaces = all

La última sección es la más importante en estos primeros momentos. Los parámetros de la

misma se pueden cambiar editando el texto, o accediendo a un terminal y en modo

administrador accede a la reconfiguración del mismo.

En el caso de que no tuviésemos el paquete postfix anteriormente, el script de postinstalación

de este paquete nos mostrará unas pantallas que permiten configurar de un modo básico el

servidor. Si ya estaba instalado el paquete, entonces deberemos llamar a ese asistente de

modo manual mediante el comando:

dpkg-reconfigure postfix

No es imprescindible usarlo, pues en el artículo se incluyen los ficheros completos de

configuración, pero es un buen punto de partida. Estas son las respuestas usadas para el

servidor de este tutorial:

1. General type of configuration? Internet Site

2. Where should mail for root go? rauesso

3. Mail name? Debian

4. Append .domain to simple addresses? No

5. Other destinations to accept mail for? debian, localhost.localdomain, localhost

6. Force synchronous updates on mail queue? No

7. Local networks? 127.0.0.0/8

8. Use procmail for local delivery? No

9. Mailbox size limit? 0

10. Local address extension character? +

Para activar el envio de mails de las máquinas de nuestra de red, tendremos que editar el

parámetro “mynetworks” en el fichero /etc/postfix/main.cf.

Quedaría algo como.

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128, 192.168.1.0/24

De forma que habilitamos a las máquinas de nuestra red para poder enviar correos por medio

del nuestro servidor Postfix.

Ahora ya podemos configurar nuestro cliente de correo, y enviar mails tanto a nuestros

usuarios como a correos externos.

5. Instalar Dovecot Dovecot es un servidor POP3/IMAP el cual necesita un MTA como Postfix para trabajar de

forma adecuada. Para instalarlo, teclear el siguiente comando en un terminal/consola de

Linux:

Page 9: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 8

#apt-get install dovecot-imapd dovecot-pop3d dovecot-common

El fichero de configuración de Dovecot, está localizado en:

/etc/dovecot/dovecot.conf

Antes de proceder, deberemos de realizar algún cambio en el fichero de configuración de

Dovecot. Comprobar, abriendo el fichero con un editor de texto, si los siguientes valores están

correctamente introducidos en el fichero.

Para editar el fichero, podemos hacer uso de nano o vi:

#vi /etc/dovecot/dovecot.conf

# specify protocols = imap imaps pop3 pop3s � si quisieramos utilizar todos los protolos,

descomentariamos esta línea

protocols = pop3 imap

# uncomment this and change to no.

disable_plaintext_auth = no

pop3_uidl_format = %08Xu%08Xv

Ahora creamos un usuario para testear nuestro sistema pop3 con outlook:

#adduser user_name

Nota: Intentar crear siempre un usuario para probar los servicios ftp o mail.

Ahora, reiniciar el servicio Dovecot, por medio del siguiente comando:

#/etc/init.d/dovecot restart

Ahora, podemos usar un cliente de correo electrónico como Outlook Express, para probar el

funcionamiento del servidor, para saber si está o no funcionando. Introduce solo el usuario en

Outlook.

Hay que tener en cuenta que podemos usar tambien el protocol imap como el pop3, según

tengamos activado.

6. Configurar SASL SASL Configuration (Simple authentication security layer) es usado principalmente para

autentificar usuarios, antes de enviar los mails a un servidor externo. Por lo tanto, se utiliza

para restringir el acceso de retransmission. Si el servidor SMTP está abierto a todos los

usuarios, es fácil que sea usado por spammers para enviar spam. Es esencial proteger el

servidor.

Nos permite configurar autentificación SMTP para usuarios Postfix.

Los siguientes pasos nos permitirán hacer que Postfix utilice SASL para autenticar a los

usuarios.

Configuración de Postfix

Haremos una copia del fichero /etc/postfix/main.cf para no trabajar con el original:

#mv /etc/postfix/main.cf /etc/postfix/main.cf.default

Page 10: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 9

A continuación editaremos/crearemos el fichero /etc/postfix/main.cf

#nano /etc/postfix/main.cf

Y añadiremos las siguientes líneas:

mydomain = dominio.com.br � por ejemplo

myhostname = host.$mydomain

myorigin = $mydomain

mydestination = $myhostname, $mydomain

mynetworks = 127.0.0.0/8 192.168.1.0/24

Tras la creación del fichero, pasamos a cargar la nueva configuración:

#/etc/init.d/postfix reload

Creación de las cuentas de usuario

A continuación vamos a crear las cuentas de usuario usuario1 y usuario2, las cuales

utilizaremos para la configuración y prueba del presente manual.

Para ello, como administrador, en un terminal:

#useradd –m usuario1

#passwd usuario1

#useradd –m usuario2

#passwd usuario2

Probar el funcionamiento de nuestro servidor Postfix

Para realizar la prueba test de funcionamiento de nuestro servidor postfix, realizaremos una

conexión telnet a nuestro servidor al puerto 25, puerto en el que trabaja el servidor SMTP.

Para ello, accedemos a un terminal, y como administrador tecleamos:

#telnet localhost 25

En la siguiente figura vemos el resultado y parte del funcionamiento de esta conexión:

Page 11: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 10

En el ejemplo, se ha enviado un correo al usuario2, desde el usuario1.

Instalar el servicio de autentificación SASL

El siguiente paso, para asegurar nuestro servicio SMTP es instalar SASL. Una vez instalado y

configurado, los envios internos a nuestros usuarios (los que tenga configurados nuestro

sistema Linux) serán directos, mientras que si son envíos que debe de retransmitir el sistema

postfix, serán controlados por SASL.

Lo primeros que debemos de realizar es la instalación del paquete sasl-bin

#apt-get install sasl2-bin

Configuración de Postfix para uso de SASL

Cuando ya tenemos instalado el paquete SASL, lo que debemos de hacer es editar nuestro

fichero /etc/main.cf para incorporar el enlace con sasl.

Para ellos, desde un terminal como administrador, editamos el fichero:

#nano /etc/postfix/main.cf

El resultado es el siguiente:

Page 12: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 11

Las líneas que se acaban de introducir, lo que realizan a la carga de postfix, es habilitar el

control que proporciona SASL, y establecer las restricciones para acceso externo, o

retransmisión de los mails a la otra parte del sistema, es decir, a Internet.

En nuestro caso, hemos habilitado a enviar mails internos a las redes especificadas en

mynetworks, a los usuarios autentificados y rechazar los usuarios no autenticados.

Activación de SASL

A continuación vamos a activar el sistema de autentificación SASL.

Para ello editaremos el fichero /etc/default/saslauthd, desde un terminal en modo

admiistrador.

#nano /etc/default/saslauthd

Debemos de realizar unos cambios, los cuales pasan por establecer:

START=yes

OPTIONS = “-c –m /var/spool/postfix/var/run/saslauthd –r”

Verificación de que el usuario postfix pertenece al grupo SASL

Debemos de verificar de que el usuario asociado al servicio postfix, pertenece al grupo SASL.

Para ello, desde un terminal, y en modo administrador:

#groups postfix

#usermod –G sasl postfix

#groups postfix

Page 13: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 12

Veremos que el usuario postfix, ya está dentro del grupo sasl, dentro de la salida de la ultima

sentencia.

Cambios en el fichero smtpd.conf

Llegado este momento, vamos a realizar unos cambios en el fichero

/etc/postfix/sasl/smtpd.conf, para terminar de enlazar postfix con SASL.

En un terminal, como administrador:

#nano /etc/postfix/sasl/smtpd.conf

Nos visualizará un fichero vacío, en el cual debemos de añadir:

pwcheck_method: saslauthd

mech_list: plain login

Después de este cambio, reiniciamos los servicios postfix y de autenficación SASL.

#/etc/init.d/postfix restart

#/etc/init.d/saslauthd restart

De esta forma, nuestro sistema será capaz de aplicar las normas SASL establecidas en

/etc/postfix/main.cf para la restransmisión de correos electrónicos, de forma que si un mail

para un usuario del sistema se enviará directamente a su buzón, y si es correo electrónico con

destinatario en otro sistema, lo retransmitirá según las indicaciones.

Para ello, debemos de configurar el cliente de correo para que aplique autentificación en el

servidor de correo saliente o SMTP (MTA).

7. Cifrado del canal de comunicación usando TLS.

Cuando se está estableciendo una conexión TLS, la máquina que establece la conexión tiene

que validarse a sí mismo. Esto es debido a que alguien podría interceptar la comunicación y

establecer una conexión cifrada. La máquina remota posiblemente no se daría cuenta y pasaría

la información con normalidad. Por ello, los certificados se usan para proporcionar información

única que prueba que la máquina que está cifrando la comunicación es realmente aquella con

la cuál nuestra máquina quiere hablar.

Sería correcto pensar que cualquier servidor malicioso podría emitir un certificado si no fuera

por el pequeño detalle que falta mencionar: cada certificado que es emitido proporciona

información sobre una autoridad que dará validez el certificado enviado al establecer una

conexión TLS.

Añadir cifrado al canal de transmisión es muy sencillo una vez tenemos Postfix configurado

adecuadamente. El primer paso será instalar el paquete openssl:

Page 14: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 13

apt-get install openssl

La generación de los certificados.

Si se pretende ofrecer servicios de correo electrónico a terceros, es más que recomendable

usar un certificado que esté firmado por una autoridad certificadora (CA, del inglés Certificate

Authority) reconocida, como Verisign o Thawte. Pero si sólo se va a usar en la red local de una

empresa pequeña o mediana, o simplemente se quiere disfrutar de las comunicaciones

cifradas a título personal, posiblemente sea suficiente crear una autoridad certificadora

nosotros mismos y firmar con ella el certificado. En cualquier caso, ambas soluciones son igual

de seguras; es una cuestión de formalidad ante el cliente o usuario. El proceso básico a seguir

se resume en los siguientes puntos:

Para crear el certificado, accederemos a un terminal en modo administrador y realizaremos:

#mkdir /etc/postfix/ssl

#cd /etc/postfix/ssl/

#openssl genrsa –des3 –rand /etc/hosts –out smtpd.key 1024

#chmod 0600 smtpd.key

#openssl req –new –key smtpd.key –out smtpd.csr

#openssl x509 –req –days 3650 –in smtpd.csr -signkey smtpd.key –out smtpd.crt

#openssl rsa –in smtpd.key –out smtpd.key.unencrypted

#mv –f smtpd.key.unencrysted smtpd.key

#openssl req –new –x509 –extensions v3_ca –keyout cakey.pem –out cacert.pem –days 3650

Nos pedirá una palabra de paso, y su confirmación, la cual debemos de recordar.

De esta forma creamos nuestro certificado, en un fichero denominado smtpd.key.

Los ficheros que debemos de tener son:

Modificaciones en Postfix.

Llegado este punto, debemos de realizar los cambios en el fichero /etc/postfix/main.cf, para

que utilice los certificados que acabamos de crear.

Para ello editaremos tal fichero:

#nano /etc/postfix/main.cf

Page 15: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 14

Una vez editado el fichero, nos tiene que quedar como aparece acontinuación:

Una vez realizadas las modificaciones en el fichero de configuración de postfix, reiniciamos el

servicio:

#/etc/init.d/postfix restart

Si quisiéramos que la autentificaciones no se realizaran por TLS, comentaríamos la línea:

# smtpd_tls_auth_only = yes

De este modo no restringimos que las autenticaciones al envío se puedan hacer

únicamente usando TLS (esta línea aparece comentada de momento). Tras reiniciar el

servidor Postfix, ya podemos comprobar el correcto funcionamiento del mismo:

Page 16: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 15

Entonces, si queremos asegurarnos de que las autenticaciones se realicen únicamente sobre

un canal cifrado mediante el protocolo TLS, debemos descomentar la línea que reza

smtpd_tls_auth_only = yes. Tras reiniciar el servidor, podemos observar las diferencias:

Nótese que el servidor no ofrece los métodos de autenticación antes de que se haya

establecido el canal seguro. Asimismo, una vez que nos hemos cerciorado de que todo

funciona adecuadamente, podemos reducir el nivel de logging cambiando el valor 3 por 1 en la

opción smtpd_tls_loglevel.

Ahora, reiniciaremos los servicios:

#/etc/init.d/saslauthd restart

#/etc/init.d/postfix restart

#/etc/init.d/dovecot restart

Ahora podemos probar el funcionamiento desde un cliente como Outlook Express.

Page 17: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 16

Nota:

1. Si no habilitamos “mi servidor requiere autentificación” en outlook, no se podrán enviar

mails externos.

2. No uses nunca el usuario root para realizar estas pruebas.

3. No olvides crear un Nuevo usuario antes de autentificarte usando outlook.

4. Para utilizar la opción SASL, deberemos de quitar nuestra red del parámetro mynetworks en

/etc/postfix/main.cf

8. Comprobación del funcionamiento

En este punto vamos a comprobar el funcionamiento de nuestro sistema. Vamos a mostrar

también los contenidos de todos y cada uno de los ficheros de configuración.

La comprobación se va a realizar desde Outlook Express y Evolution.

8.1 Ficheros de configuración

Configuración Postfix: /etc/postfix/main.cf

mydomain = dom-rauesso.com.br

myhostname = smtp.$mydomain

myorigin = $mydomain

mydestination = $myhostname, $mydomain

mynetworks = 127.0.0.0/8

smtp_sasl_auth_enable = no

smtpd_sasl_auth_enable = yes

smtpd_sasl_authenticated_header = yes

smtpd_helo_required = yes

smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated

reject_unauth_destination

#smtpd_sasl_security_options = noanonymous

# smtpd_tls_auth_only = yes

Page 18: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 17

smtpd_use_tls = yes

smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key

smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt

smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem

smtpd_tls_loglevel = 1

smtpd_delay_reject = no

Fichero /etc/postfix/sasl/smtpd.conf

Fichero /etc/default/saslauthd

# # Settings for saslauthd daemon # Please read /usr/share/doc/sasl2-bin/README.Debia n for details. # # Should saslauthd run automatically on startup? (d efault: no) START=yes # Description of this saslauthd instance. Recommend ed. # (suggestion: SASL Authentication Daemon) DESC="SASL Authentication Daemon" # Short name of this saslauthd instance. Strongly r ecommended. # (suggestion: saslauthd) NAME="saslauthd" # Which authentication mechanisms should saslauthd use? (default: pam) # # Available options in this Debian package: # getpwent -- use the getpwent() library function # kerberos5 -- use Kerberos 5 # pam -- use PAM # rimap -- use a remote IMAP server # shadow -- use the local shadow password file # sasldb -- use the local sasldb database file

Page 19: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 18

# ldap -- use LDAP (configuration is in /etc/saslauthd.conf) # # Only one option may be used at a time. See the sa slauthd man page # for more information. # # Example: MECHANISMS="pam" MECHANISMS="pam" # Additional options for this mechanism. (default: none) # See the saslauthd man page for information about mech-specific options. MECH_OPTIONS="" # How many saslauthd processes should we run? (defa ult: 5) # A value of 0 will fork a new process for each con nection. THREADS=5 # Other options (default: -c -m /var/run/saslauthd) # Note: You MUST specify the -m option or saslauthd won't run! # # WARNING: DO NOT SPECIFY THE -d OPTION. # The -d option will cause saslauthd to run in the foreground instead of as # a daemon. This will PREVENT YOUR SYSTEM FROM BOOT ING PROPERLY. If you wish # to run saslauthd in debug mode, please run it by hand to be safe. # # See /usr/share/doc/sasl2-bin/README.Debian for De bian-specific information. # See the saslauthd man page and the output of 'sas lauthd -h' for general # information about these options. # # Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd" OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r" Fichero /etc/dovecot/dovecot.conf

Por la longitud del fichero, se denotan los cambios realizados y los parámetros más

importantes:

protocols = imap imaps pop3 pop3s

# uncomment this and change to no.

disable_plaintext_auth = no

pop3_uidl_format = %08Xu%08Xv

Page 20: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 19

8.2 Comprobación Autorización y Cifrado TLS

A continuación se pegan las capturas de pantalla de la comprobación realizada para

asegurarnos que la autorización de usuarios en SMTP (Postfix) y el sistema de cifrado de canal

TLS está activado.

Como se puede observar, está configurado el sistema de autorización, y se podría acceder ya

fuera por texto plano (Plain) como por ideitificación (Login). Con estos sistemas, y el canal de

cifrado (STARTTLS), es suficiente para asegurarnos la seguridad.

8.3 Envios de mails desde Outlook Express

La máquina en la que se ejecuta Outlook Express e un Windows XP con IP 192.168.1.27. El

servidor, es una máquina Debian (evidentemente), con IP 192.168.1.28.

La prueba se va a realizar con un usuario del sistema denominado rauesso.

La configuración en Outlook Express es:

Page 21: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 20

En la primera de las pruebas que se van a realizar, no activamos “mi servidor requiere

autentificación”, de forma que los usuarios se intentarán conectar de forma anónima.

Ahora vamos a crear un mail para enviarlo a un usuario local:

Page 22: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 21

Como se puede apreciar en la figura, el mail ha sido enviado correctamente, por lo que se

puede afirmar, que, sin autentificación, los usuarios pueden enviar en local.

Ahora vamos a confeccionar un mail para un usuario externo al servidor, y lo enviaremos:

Page 23: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 22

Tras darle a enviar, el resultado que obtenemos es:

El mail no puede ser enviado. Como se aprecia, el sistema nos devuelve un mensaje de error

en el que se nos informa de “Relay Access denied”, es decir, que el servidor nos deniega el

reenvio del mail, al no habernos autentificado.

Ahora, vamos a cambiar la configuración, de forma que vamos a decirle a nuestro cliente, que

nos vamos a autentificar para el servidor de correo saliente:

Page 24: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 23

En este caso, activamos “Mi servidor requiere autentificación” y en Configuración dejamos

marcado “usar la misma configuración que el servidor de correo entrante, es decir, los mismos

datos utilizados para la autentificación de Dovecot.

En este caso, al intentar enviar un mail a un usuario externo (dominio externo):

Se aprecia que el mail ha sido enviado correctamente.

Page 25: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 24

Y el mail ya aparece en la bandeja de elementos enviados.

De esta forma hemos confirmado que la autentificación funciona correctamente.

Llegado este momento, vamos a verificar el funcionamiento del cifrado,y para ello vamoa

decirle a Outlook Express que use el cifrado SSL para el servidor de correo saliente SMTP,

sobre el puerto 25:

Una vez realizado esto, componemos un mail para envio, y vemos la reacción del sistema:

Page 26: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 25

En esta segunda captura, podemos ver que el sistema nos informa de que el servidor hace uso

de un canal cifrado (certificado) que no puede ser comprobado. Esto es asi, ya que el

certificado lo hemos creado nosotros mismos, y no ha sido certificado por una autoridad

certificadora como Verysign o similares.

Le diríamos que SI, que queremos continuar utilizado el servidor.

Page 27: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 26

Y nuestro mail es enviado.

Cabe hacer notar, que Outlook express, solo tiene la posibilidad de hacer uso de SSL y no TLS.

Al tener configurado un cifrado de nivel superior como es TLS en Postfix, se puede hacer uso

de SSL sin problemas.

Si quisiéramos hacer uso del cifrado TLS, deberíamos de usar un cliente que lo permitiera

como Evolution.

De esta forma he comprobado que el uso del canal cifrado si que es correcto.

9. Installing Squirrel Web Mail Antes de instalar Squirrel mailo, necesitamos antes tener instalado apache2 con soporte php.

#apt-get install apache2

#apt-get install libapache2-mod-php5 php5-cli php5-common php5-cgi

#apt-get install squirrelmail

El fichero de configuración de Squirrelmail está localizado en:

/etc/squirrelmail/

Por defecto todos los parámetros de configuración están precargados.

# Run squirrelmail configuration utility as ROOT

/usr/sbin/squirrelmail-configure

Ahora, lo que debemos de realizar es hacerlo trabajar bajo apache. Para ello editaremos el

fichero de configuración de apache /etc/apache2/apache2.conf e insertar la siguiente línea:

Include /etc/squirrelmail/apache.conf

Reiniciaremos el servidor Apache.

#/etc/init.d/apache2 restart

Accederemos al sistema Squirrel Mail por medio del enlace:

Page 28: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 27

http://yourdomain or server ip/squirrelmail

10. Mail Server Logs Siempre podremos mirar los logs almacenados en /var/log/mail.log cuando queramos

identificar algún problema.

11. SpamAssassin. De momento, tenemos funcionando un sistema SMTP con Postfix. En este apartado vamos a

ver como instalar un sistema de control de Spam. El elegido es Spamassassin. Lo primero que

debemos de realizar, es la instalación de los paquetes necesarios. Para ello, desde un terminal

con permisos de administración:

$sudo apt-get install spamassassin spamc

El paquete spamassassin incluye un demonio el cual puede ser llamado por progamas de

usuarios tales como procmail. Pero también puede ser integrado en un SMTP, como Postfix.

Usando spamassassin en modo standalone demonio

En este momento, vamos a hacer que spamassassin funcione de forma independiente como

un programa/proceso demonio, configurando ciertos parámetros y haciendo que postfix,

todos los correos, los reenvie al proceso de spamassassin para que éste los analice y los

clasifique.

Configurando spamassassin

Después de instalar spamassassin desde el repositorio de debían, con os valores por defecto,

spamassassin trabaja el modo adminsitrador, pero no está lanzado. Para iniciarlo, vamos a

crear un usuario específico y grupo para spamassassin. Como administrador, desde una línea

de comandos.

#groupadd -g 5001 spamd

#useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd

#mkdir /var/lib/spamassassin

#chown spamd:spamd /var/lib/spamassassin

Ahora, debemos de cambiar ciertos parámetros en el fichero /etc/default/spamassassin,

haciendo que los siguientes aparezcan en el mismo:

ENABLED=1

SAHOME="/var/lib/spamassassin/"

OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir ${SAHOME} -s

${SAHOME}spamd.log"

PIDFILE="${SAHOME}spamd.pid"

Page 29: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 28

Lo que hemos conseguido, es que el proceso spamd funcione como demonio, como usuario

spamd y que tenga su propio directorio de trabajo (/var/lib/spamassassin/) y los logs de

funcionamiento los deposite en /var/lib/spamassassin/spamd.log

Configurando spamassassin

Anora, necesitamos darle a spamassassin ciertas reglas. Las reglas por defecto con sencillas, y

serán introducidas en /etc/spamassassin/local.cf. Será algo parecido como:

rewrite_header Subject [***** SPAM _SCORE_ *****]

required_score 2.0

#to be able to use _SCORE_ we need report_safe set to 0

#If this option is set to 0, incoming spam is only modified by adding some

"X-Spam-" headers and no changes will be made to th e body.

report_safe 0

# Enable the Bayes system

use_bayes 1

use_bayes_rules 1

# Enable Bayes auto-learning

bayes_auto_learn 1

En los parámetros anteriores, hemos hecho que el proceso spamd sobreescriba el asunto de

un mail considerado como spam a [***** SPAM _SCORE_ *****], donde _SCORE_ es la

puntuación atribuida por spamassassin al mail, después de pasar ciertos test, solo si la

puntuación es mayor o igual a 2.0. Asi que los mails con una puntuación menor, no serán

modificados.

Para hacer uso de _SCORE_ en la cabecera sobreescrita, necesitamos establecer report_safe a

0.

En la siguiente sección, hacemos que spamassassin use Bayes Classifier, de forma que el propio

sistema, por retroalimentación, va aprendiendo de los mensajes que analiza.

Ahora, debemos de inicializar el servicio con:

#/etc/init.d/spamassassin start

Configuración en Postfix

En este momento lo que nos queda es configurar postfix de tal forma que pase los mails

enviados a los buzones locales a spamassassin.

Page 30: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 29

Debemos decirle a postfix que use spamassassin. En nuestro caso, spamassassin, será invocado

por postfix, cuando éste hace terminado con el una vez recibido.

Para decirle a postfix que use spamassassin, debemos de ir al fichero de configuración de

psotfix situado en /etc/postfix/master.cf y realizar los siguientes cambios:

Cambiar la linea

smtp inet n - - - - smtpd

a

smtp inet n - - - - smtpd

-o content_filter=spamassassin

Y añadir al final del fichero:

spamassassin unix - n n - - pipe

user=spamd argv=/usr/bin/spamc -f -e

/usr/sbin/sendmail -oi -f ${sender} ${recip ient}

y de esta forma, nuestro spam está configurado, y solo nos queda recargar postfix y todo

estará preparado.

#/etc/init.d/postfix reload

Comprobación del funcionamiento

Vamos a introducir una regla para que los mails que provengan del dominio rauesso.com, sean

considerados como SPAM.

Para ello, vamos a hacer uso del administrador Webmin.

Accedemos a él, y en la sección de Servidores, accedemos al administrador de SpamAssassin.

Seleccionamos Allowed and Denied Addresses, y en la pestaña Allow and Denied Addresses,

ponemos la dirección de filtrado:

Page 31: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 30

En este momento, nos vamos a un cliente de correo configurado con esta cuenta y enviamos

un mail a un usuario del sistema.

Cuando leemos el mail del usuario con un cliente como Outlook Express, nos aparece el aviso

de Spam:

Lo que confirma que nuestro sistema de control de spam está funcionando.

A su vez, podríamos ir a los logs de los servicios que participan en el proceso (postfix y

spamassassin), y comprobaremos que han participado en el mismo.

12. Listas de correo con Mailman

Vamos a ver cómo instalar Mailman, un potente gestor de listas de correo, mayoritariamente

usado en la actualidad frente a otras alternativas como majordomo, en un sistema Debian (en

mi caso Sarge), e integrándolo con el MTA Postfix.

Lo primero será, por supuesto, tener instalado y correctamente funcionando Postfix.

Dicho esto comenzamos:

Page 32: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 31

Instalamos mailman. Al finalizar nos advertirá de que no puede arrancar el servicio hasta que

hayamos creado la lista especial 'mailman'. La crearemos en su debido momento.

$ apt-get install mailman

Editamos /etc/mailman/mm_cfg.py y nos aseguramos de que sólo existan las siguientes

líneas. Si hay otras (que no sean comentarios) las eliminamos pues causarán problemas.

# Lenguaje por defecto, es=español, en=inglés

DEFAULT_SERVER_LANGUAGE = 'es'

# URL para acceder al interfaz web de mailman

DEFAULT_URL = 'http://list.dominio.com.br/mailman/'

# Estos 3 valores los dejamos con el hostname

DEFAULT_HOST_NAME = ‘list.dominio.com.br’

DEFAULT_EMAIL_HOST =’ list.dominio.com.br’

DEFAULT_URL_HOST = ‘list.dominio.com.br’

USE_ENVELOPE_SENDER = 0

DEFAULT_SEND_REMINDERS = 0

MAILMAN_OWNER = 'mailman-owner@%s' % DEFAULT_HOST_NAME

# Rutas varias

IMAGE_LOGOS = '/images/'

DEFAULT_URL_PATTERN = 'http://%s/mailman/'

MTA = "Postfix"

add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)

Editamos el archivo de configuración de Postfix /etc/postfix/main.cf y agregamos las siguientes

líneas (puede que alguna de éstas líneas ya existan en tu configuración, cambia las opciones

que sean necesarias):

owner_request_special = no

recipient_delimiter = +

unknown_local_recipient_reject_code = 550

mailbox_command = /usr/bin/procmail -a "$EXTENSION"

mydestination = $myhostname, localhost.$mydomain, list.dominio.com.br

relay_domains = list.dominio.com.br

alias_maps = hash:/var/lib/mailman/data/aliases

Page 33: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 32

En mydestination deberemos incluir el host que sirve las mailing list, para que Postfix sepa que

todo lo que venga @host.dominio.com.br va a ser correo tratado. Y en relay_domains es

fundamental incluir también éste hostname, o de lo contrario Postfix denegará los envíos de

los suscriptores alegando "Relay access denied".

Ahora si podemos crear la lista especial 'mailman'. Esta lista DEBE existir siempre en una

instalación de mailman, aunque su nombre puede variar. Para no complicar las cosas la

dejaremos con su nombre por defecto.

Más información sobre el cometido de ésta lista especial aquí.

$ /usr/lib/mailman/bin/genaliases

Con esto habremos creado nuestra primera lista, que además es obligatoria. Tras crearla

debemos reiniciar Postfix con /etc/init.d/postfix reload para que coja los cambios hechos

anteriormente y encuentre el fichero de alias /var/lib/mailman/data/aliases que nos acaba de

generar Mailman. Las subsiguientes listas se crearán siguiendo el mismo procedimiento, sin

olvidarse nunca de ejecutar tras su creación el script /usr/lib/mailman/bin/genaliases que

como su nombre indica, genera los alias necesarios para que Postfix "entienda" esa lista. No

hace falta reiniciar Postfix al crear las siguientes listas.

En este ejemplo, la creación de las listas las realizará el administrador del sistema, en el propio

servidor, por medio del comando newlist visto anteriormente.

Por último, tenemos que configurar nuestro Apache para que sirva correctamente la interfaz

de administración de Mailman. Para ello será necesario agregar un nuevo virtual host

Page 34: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 33

conteniendo lo siguiente. Si a lo largo de este tutorial pusiste rutas diferentes, tendrás que

modificar el virtual host acorde a ellas.

[...] <VirtualHost *:80> ServerName lists.dominio.com.br DocumentRoot /var/www/list � el directorio list habría que crearlo. ErrorLog /var/log/apache2/lists-error.log CustomLog /var/log/apache2/lists-access.log combined <Directory /var/lib/mailman/archives/> Options FollowSymLinks AllowOverride None </Directory> Alias /pipermail/ /var/lib/mailman/archives/public/ Alias /images/mailman/ /usr/share/images/mailman/ ScriptAlias /admin /usr/lib/cgi-bin/mailman/admin ScriptAlias /admindb /usr/lib/cgi-bin/mailman/admindb ScriptAlias /confirm /usr/lib/cgi-bin/mailman/confirm ScriptAlias /create /usr/lib/cgi-bin/mailman/create ScriptAlias /edithtml /usr/lib/cgi-bin/mailman/edithtml ScriptAlias /listinfo /usr/lib/cgi-bin/mailman/listinfo ScriptAlias /options /usr/lib/cgi-bin/mailman/options ScriptAlias /private /usr/lib/cgi-bin/mailman/private ScriptAlias /rmlist /usr/lib/cgi-bin/mailman/rmlist ScriptAlias /roster /usr/lib/cgi-bin/mailman/roster ScriptAlias /subscribe /usr/lib/cgi-bin/mailman/subscribe ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/ ScriptAlias / /usr/lib/cgi-bin/mailman/listinfo

</VirtualHost>

Agrega un alias a tu servidor DNS, como por ejemplo BIND, que apunte a lists.dominio.com

(solo una entrada A o alias, no crees una entrada MX pues el correo lo va a seguir gestionando

tu mail server principal).

De esta forma tendremos en nuestro servidor DNS al menos dos entradas. Una principal al

nombre del equipo, y otra, como alias de al anterior, que nos llevará al sistema de listas

mailman.

Arranca mailman: /etc/init.d/mailman start

Page 35: Instalacion y Configuracion de Postfix-sasl-tls-dovecot-squirrelmail-mailman en Debian v3

INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX – SASL – TLS – DOVECOT – SQUIRRELMAIL - MAILMAN

2011

Raúl Espinosa Soriano 34

Si ahora accedes a http://list.dominio.com/mailman/listinfo te aparecerá el interfaz web de

Mailman. Accediendo a http://list.dominio.com/mailman/admin/”nombre_de_la_lita”

accederemos a la administración de una lista en concreto.

Si lo deseas puedes crear un index.html que redirija directamente a esa URL en

/var/www/lists.dominio.com para que la gente que acceda desde el dominio raíz se encuentre

algo.