Академический Документы
Профессиональный Документы
Культура Документы
2011
Instalar Dovecot .................................................................................................................... 7 Configurar SASL ..................................................................................................................... 8 Configuracin de Postfix ........................................................................................................... 8 Creacin de las cuentas de usuario ........................................................................................... 9 Probar el funcionamiento de nuestro servidor Postfix ............................................................. 9 Instalar el servicio de autentificacin SASL ............................................................................. 10 Configuracin de Postfix para uso de SASL ............................................................................. 10 Activacin de SASL .................................................................................................................. 11 Verificacin de que el usuario postfix pertenece al grupo SASL ............................................. 11 Cambios en el fichero smtpd.conf .......................................................................................... 12
7.
Cifrado del canal de comunicacin usando TLS. ................................................................. 12 La generacin de los certificados. ........................................................................................... 13 Modificaciones en Postfix. ...................................................................................................... 13
8.
Comprobacin del funcionamiento .................................................................................... 16 8.1 Ficheros de configuracin ................................................................................................. 16 8.2 Comprobacin Autorizacin y Cifrado TLS ........................................................................ 19 Ral Espinosa Soriano 1
2011
8.3 Envios de mails desde Outlook Express ............................................................................ 19 9. 10. 11. Installing Squirrel Web Mail ................................................................................................ 26 Mail Server Logs .............................................................................................................. 27 SpamAssassin. ................................................................................................................. 27
Usando spamassassin en modo standalone demonio ............................................................ 27 Configurando spamassassin .................................................................................................... 27 Configurando spamassassin .................................................................................................... 28 Configuracin en Postfix ......................................................................................................... 28 Comprobacin del funcionamiento ........................................................................................ 29 12. Listas de correo con Mailman ......................................................................................... 30
1. Introduccin
Postfix es una alternativa al famoso MTA denominado Sendmail: Postfix es ms rpido, fcil de administrar, seguro, mientras que Sendmail es un servidor ms complicado desde el punto de vista del administrador. Dovecot es un servidor IMAP y POP3 de cdigo abierto para sistemas Linux, desarrollado bajo las premisas de la seguridad. Dovecot es una excelente eleccin en lo que se refiere a servidores POP/IMAP. Es rpido, fcil de configurar, y no require una Administracion avanzada ni recursos. Cuando se enva un mail, el cliente SMTP Postfix, tiene la posibilidad de buscar un servidor SMTP remoto o el dominio destino (parte derecha de la direccin de correo electrnico) en una tabla de password SASL, de forma que si se encuentra el usuario y conrtasea, lo usar para autentificarse con el servidor SMTP remote. Desde la version 2.3, Postfix se puede configurar para autentificacin en function de la direccin del remitente. SquirrelMail es un sistema de webmail estandarizado escrito en php. Incluye cdigo PHP puro con soporte para protocolos IMAP y SMTP mostrando los contenidos en HTML 4.0, sin incluir javascript. Es una aplicacin fcil de uso e instalacin. SquirrelMail tiene todas las funcinalidades que un cliente de mail debe de tener, incluyendo soporte mime, libreta de direcciones y manipulacin de carpetas. Nota: Los sistemas Postfix y Dovecot, pueden ser usados para correo corporativo o correo externo, con las configuraciones oportunas en routers y dems elementos de interconexin de redes.
2. Tecnologas.
2011
Debian GNU/Linux.
Debian es un sistema operativo (SO) libre para ordenadores. El sistema operativo es el conjunto de programas bsicos y utilidades que hacen que funcione el ordenador. Debian utiliza el ncleo Linux (el corazn del sistema operativo), pero la mayor parte de las herramientas bsicas vienen del Proyecto GNU; de ah el nombre GNU/Linux. Debian GNU/Linux ofrece ms que un SO puro; viene con miles de paquetes, programas precompilados distribuidos en un formato que hace ms fcil la instalacin en su ordenador. En este artculo se utilizar la rama Sarge de Debian.
Postfix.
El MTA (Mail Transportation Agent) Postfix pretende ser rpido, fcil 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 monoltico, sino una combinacin de pequeos programas, cada uno de los cuales lleva a cabo una funcin especializada. En este documento, el lector encontrar la informacin necesaria para tener el sistema funcionando junto a otros componentes que completan la instalacin de un sistema de correo electrnico. Puede encontrarse ms informacin sobre Postfix en la documentacin online de su website.
TLS.
Por defecto, toda comunicacin en Internet se hace sin ningn tipo de cifrado y sin una autenticacin fiable. Esto significa que cualquiera con acceso fsico a la lnea de datos por la que viaja un paquete puede espiar dicha comunicacin. An peor, es posible redirigir o alterar esa comunicacin para que la informacin 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 comunicacin (frenando las escuchas) como autenticacin fuerte (asegurando que ambas partes de una comunicacin son correctamente identificadas y que la comunicacin 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 documentacin que profundiza en el protocolo y sus caractersticas.
SASL.
SASL son las siglas de Simple Authentication and Security Layer, un mtodo para aadir soporte para la autenticacin a protocolos basados en la conexin que ha sido estandarizado por la IETF (Internet Engineering Task Force). Se usa en servidores (en este caso Postfix) para manejar las peticiones de autenticacin de los clientes. Para ello, el protocolo incluye un comando para identificar y autenticar un usuario contra un servidor y para, opcionalmente, negociar la proteccin de las subsiguientes interacciones del protocolo. Si se negocia su uso, una capa de seguridad es aadida entre el protocolo y la conexin. Ral Espinosa Soriano 3
INSTALACIN Y CONFIGURACIN DE POSTFIX SASL TLS DOVECOT SQUIRRELMAIL - MAILMAN La librera SASL tambin usa la librera OpenSSL para cifrar los datos.
2011
SpamAssassin.
SpamAssassin es un filtro de correo que trata de identificar el spam mediante el anlisis del texto y el uso en tiempo real de algunas listas negras a travs de Internet. A partir de su base de datos de reglas, utiliza un amplio abanico de pruebas heursticas en las cabeceras y el cuerpo de los correos para identificar el spam, tambin conocido como correo electrnico comercial no solicitado. Una vez identificado, el correo puede ser opcionalmente marcado como spam o ms 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. Tambin incluye soporte para informar de mensajes de spam, automtica o manualmente, a bases de datos como Vipuls Razor.
Clam AntiVirus.
ClamAV es una herramienta antivirus GPL para UNIX. El propsito principal de este software es la integracin con los servidores de correo (escaneo de datos adjuntos). El paquete proporciona un servicio multihilo flexible y escalable, un analizador de lnea de comandos y una utilidad para la actualizacin automtica via Internet. Los programas estn basados en una librera distribuida con el paquete Clam AntiVirus, la cual puede ser usada por su propio software. Y lo ms importante, la base de datos se mantiene actualizada constantemente. Otras caractersticas destacables son el soporte de firmas digitales en la actualizacin de la base de datos, el anlisis durante el acceso bajo Linux y FreeBSD, la deteccin de ms 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 distribucin, noticias y correo electrnicos. Mailman est integrado con la web, permitiendo a sus usuarios una fcil administracin de sus cuentas, as como a sus propietarios administrar las listas. Mailman incluye soporte para crear archivos de correos, procesamiento automtico de correo rechazado, filtrado de contenido, envo en modo compendio o resumen, filtros de spam, etc.
SquirrelMail.
SquirrelMail es un paquete de correo por web basado en estndares y escrito en PHP 4. Incorpora soporte PHP para los protocolos IMAP y SMTP, y todas sus pginas se crean en puro HTML 4.0 (sin requerir el uso de JavaScript), de modo que se garantize la mxima compatibilidad entre navegadores. Tiene muy pocos requerimientos y es muy fcil de instalar y configurar. SquirrelMail tiene toda la funcionalidad que se espera de un cliente de correo electrnico, incluyendo soporte de MIME, agendas de contactos y gestin de carpetas.
INSTALACIN Y CONFIGURACIN DE POSTFIX SASL TLS DOVECOT SQUIRRELMAIL - MAILMAN La mscara de red es la predeterminado de clase C (255.255.255.0).
2011
Tan anotar que la mquina/servidor Debian si que tiene conexin a Internet, por medio de la puerta de enlace predeterminada con DNS vlidos. 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.1.
Fichero /etc/postfix/main.cf
INSTALACIN Y CONFIGURACIN DE POSTFIX SASL TLS DOVECOT SQUIRRELMAIL - MAILMAN # 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
2011
readme_directory = no
# 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 Ral Espinosa Soriano 6
INSTALACIN Y CONFIGURACIN DE POSTFIX SASL TLS DOVECOT SQUIRRELMAIL - MAILMAN ailbox_command = procmail -a "$EXTENSION" milbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all
2011
La ltima seccin es la ms importante en estos primeros momentos. Los parmetros de la misma se pueden cambiar editando el texto, o accediendo a un terminal y en modo administrador accede a la reconfiguracin del mismo. En el caso de que no tuvisemos el paquete postfix anteriormente, el script de postinstalacin de este paquete nos mostrar unas pantallas que permiten configurar de un modo bsico 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 artculo se incluyen los ficheros completos de configuracin, pero es un buen punto de partida. Estas son las respuestas usadas para el servidor de este tutorial: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. General type of configuration? Internet Site Where should mail for root go? rauesso Mail name? Debian Append .domain to simple addresses? No Other destinations to accept mail for? debian, localhost.localdomain, localhost Force synchronous updates on mail queue? No Local networks? 127.0.0.0/8 Use procmail for local delivery? No Mailbox size limit? 0 Local address extension character? +
Para activar el envio de mails de las mquinas de nuestra de red, tendremos que editar el parmetro mynetworks en el fichero /etc/postfix/main.cf. Quedara 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 mquinas 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: Ral Espinosa Soriano 7
INSTALACIN Y CONFIGURACIN DE POSTFIX SASL TLS DOVECOT SQUIRRELMAIL - MAILMAN #apt-get install dovecot-imapd dovecot-pop3d dovecot-common El fichero de configuracin de Dovecot, est localizado en: /etc/dovecot/dovecot.conf
2011
Antes de proceder, deberemos de realizar algn cambio en el fichero de configuracin de Dovecot. Comprobar, abriendo el fichero con un editor de texto, si los siguientes valores estn 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 descomentariamos esta lnea protocols = pop3 imap # uncomment this and change to no. disable_plaintext_auth = no pop3_uidl_format = %08Xu%08Xv si quisieramos utilizar todos los protolos,
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 electrnico 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, segn 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 fcil que sea usado por spammers para enviar spam. Es esencial proteger el servidor. Nos permite configurar autentificacin SMTP para usuarios Postfix. Los siguientes pasos nos permitirn hacer que Postfix utilice SASL para autenticar a los usuarios.
Configuracin 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 Ral Espinosa Soriano 8
INSTALACIN Y CONFIGURACIN DE POSTFIX SASL TLS DOVECOT SQUIRRELMAIL - MAILMAN A continuacin editaremos/crearemos el fichero /etc/postfix/main.cf #nano /etc/postfix/main.cf Y aadiremos las siguientes lneas: mydomain = dominio.com.br myhostname = host.$mydomain myorigin = $mydomain mydestination = $myhostname, $mydomain mynetworks = 127.0.0.0/8 192.168.1.0/24 Tras la creacin del fichero, pasamos a cargar la nueva configuracin: #/etc/init.d/postfix reload por ejemplo
2011
2011
10
2011
Las lneas 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 retransmisin 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.
Activacin de SASL
A continuacin vamos a activar el sistema de autentificacin 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
11
2011
Veremos que el usuario postfix, ya est dentro del grupo sasl, dentro de la salida de la ultima sentencia.
INSTALACIN Y CONFIGURACIN DE POSTFIX SASL TLS DOVECOT SQUIRRELMAIL - MAILMAN apt-get install openssl
2011
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 Ral Espinosa Soriano 13
INSTALACIN Y CONFIGURACIN DE POSTFIX SASL TLS DOVECOT SQUIRRELMAIL - MAILMAN Una vez editado el fichero, nos tiene que quedar como aparece acontinuacin:
2011
Una vez realizadas las modificaciones en el fichero de configuracin de postfix, reiniciamos el servicio: #/etc/init.d/postfix restart
Si quisiramos que la autentificaciones no se realizaran por TLS, comentaramos la lnea: # smtpd_tls_auth_only = yes De este modo no restringimos que las autenticaciones al envo se puedan hacer nicamente usando TLS (esta lnea aparece comentada de momento). Tras reiniciar el servidor Postfix, ya podemos comprobar el correcto funcionamiento del mismo:
14
2011
Entonces, si queremos asegurarnos de que las autenticaciones se realicen nicamente sobre un canal cifrado mediante el protocolo TLS, debemos descomentar la lnea que reza smtpd_tls_auth_only = yes. Tras reiniciar el servidor, podemos observar las diferencias:
Ntese que el servidor no ofrece los mtodos de autenticacin 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 opcin 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.
15
2011
Nota: 1. Si no habilitamos mi servidor requiere autentificacin en outlook, no se podrn 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 opcin SASL, deberemos de quitar nuestra red del parmetro mynetworks en /etc/postfix/main.cf
smtp_sasl_auth_enable = no smtpd_sasl_auth_enable = yes smtpd_sasl_authenticated_header = yes smtpd_helo_required = yes smtpd_recipient_restrictions reject_unauth_destination = permit_mynetworks permit_sasl_authenticated
#smtpd_sasl_security_options = noanonymous
INSTALACIN Y CONFIGURACIN DE POSTFIX SASL TLS DOVECOT SQUIRRELMAIL - MAILMAN 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
2011
Fichero /etc/default/saslauthd # # Settings for saslauthd daemon # Please read /usr/share/doc/sasl2-bin/README.Debian for details. # # Should saslauthd run automatically on startup? (default: no) START=yes # Description of this saslauthd instance. Recommended. # (suggestion: SASL Authentication Daemon) DESC="SASL Authentication Daemon" # Short name of this saslauthd instance. Strongly recommended. # (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 Ral Espinosa Soriano 17
2011
# ldap -- use LDAP (configuration is in /etc/saslauthd.conf) # # Only one option may be used at a time. See the saslauthd 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? (default: 5) # A value of 0 will fork a new process for each connection. 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 BOOTING 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 Debian-specific information. # See the saslauthd man page and the output of 'saslauthd -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 parmetros ms importantes: protocols = imap imaps pop3 pop3s # uncomment this and change to no. disable_plaintext_auth = no pop3_uidl_format = %08Xu%08Xv
18
2011
Como se puede observar, est configurado el sistema de autorizacin, y se podra acceder ya fuera por texto plano (Plain) como por ideitificacin (Login). Con estos sistemas, y el canal de cifrado (STARTTLS), es suficiente para asegurarnos la seguridad.
19
2011
En la primera de las pruebas que se van a realizar, no activamos mi servidor requiere autentificacin, de forma que los usuarios se intentarn conectar de forma annima. Ahora vamos a crear un mail para enviarlo a un usuario local:
20
2011
Como se puede apreciar en la figura, el mail ha sido enviado correctamente, por lo que se puede afirmar, que, sin autentificacin, los usuarios pueden enviar en local.
21
2011
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 configuracin, de forma que vamos a decirle a nuestro cliente, que nos vamos a autentificar para el servidor de correo saliente:
22
2011
En este caso, activamos Mi servidor requiere autentificacin y en Configuracin dejamos marcado usar la misma configuracin que el servidor de correo entrante, es decir, los mismos datos utilizados para la autentificacin de Dovecot. En este caso, al intentar enviar un mail a un usuario externo (dominio externo):
23
2011
Y el mail ya aparece en la bandeja de elementos enviados. De esta forma hemos confirmado que la autentificacin 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 reaccin del sistema:
24
2011
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 diramos que SI, que queremos continuar utilizado el servidor.
25
2011
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 quisiramos hacer uso del cifrado TLS, deberamos de usar un cliente que lo permitiera como Evolution. De esta forma he comprobado que el uso del canal cifrado si que es correcto.
2011
10.
Siempre podremos mirar los logs almacenados en /var/log/mail.log cuando queramos identificar algn 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 instalacin de los paquetes necesarios. Para ello, desde un terminal con permisos de administracin: $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 tambin puede ser integrado en un SMTP, como Postfix.
Configurando spamassassin
Despus de instalar spamassassin desde el repositorio de deban, con os valores por defecto, spamassassin trabaja el modo adminsitrador, pero no est lanzado. Para iniciarlo, vamos a crear un usuario especfico y grupo para spamassassin. Como administrador, desde una lnea 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 parmetros 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"
27
2011
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 sern 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 the body. report_safe 0
En los parmetros anteriores, hemos hecho que el proceso spamd sobreescriba el asunto de un mail considerado como spam a [***** SPAM _SCORE_ *****], donde _SCORE_ es la puntuacin atribuida por spamassassin al mail, despus de pasar ciertos test, solo si la puntuacin es mayor o igual a 2.0. Asi que los mails con una puntuacin menor, no sern modificados. Para hacer uso de _SCORE_ en la cabecera sobreescrita, necesitamos establecer report_safe a 0. En la siguiente seccin, hacemos que spamassassin use Bayes Classifier, de forma que el propio sistema, por retroalimentacin, va aprendiendo de los mensajes que analiza. Ahora, debemos de inicializar el servicio con: #/etc/init.d/spamassassin start
Configuracin 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.
28
2011
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 configuracin de psotfix situado en /etc/postfix/master.cf y realizar los siguientes cambios: Cambiar la linea smtp
a
inet n
smtpd
smtp
inet
smtpd
-o content_filter=spamassassin
y de esta forma, nuestro spam est configurado, y solo nos queda recargar postfix y todo estar preparado.
#/etc/init.d/postfix reload
29
2011
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, podramos ir a los logs de los servicios que participan en el proceso (postfix y spamassassin), y comprobaremos que han participado en el mismo.
30
2011
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 slo existan las siguientes lneas. Si hay otras (que no sean comentarios) las eliminamos pues causarn problemas. # Lenguaje por defecto, es=espaol, en=ingls 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
MTA = "Postfix" add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) Editamos el archivo de configuracin de Postfix /etc/postfix/main.cf y agregamos las siguientes lneas (puede que alguna de stas lneas ya existan en tu configuracin, 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
2011
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 tambin ste hostname, o de lo contrario Postfix denegar los envos de los suscriptores alegando "Relay access denied". Ahora si podemos crear la lista especial 'mailman'. Esta lista DEBE existir siempre en una instalacin de mailman, aunque su nombre puede variar. Para no complicar las cosas la dejaremos con su nombre por defecto. Ms informacin sobre el cometido de sta lista especial aqu.
$ /usr/lib/mailman/bin/genaliases Con esto habremos creado nuestra primera lista, que adems 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 crearn siguiendo el mismo procedimiento, sin olvidarse nunca de ejecutar tras su creacin 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 creacin 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 administracin de Mailman. Para ello ser necesario agregar un nuevo virtual host
32
2011
conteniendo lo siguiente. Si a lo largo de este tutorial pusiste rutas diferentes, tendrs que modificar el virtual host acorde a ellas. [...] <VirtualHost *:80> ServerName lists.dominio.com.br DocumentRoot /var/www/list el directorio list habra 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
33
2011
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 raz se encuentre algo.
34