You are on page 1of 23

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 1 of 23

Ubuntu/Debian + Postfix + Courier IMAP + MySQL + Amavisd-new + SpamAssassin + ClamAV + SASL + TLS + SquirrelMail/Roundcube + Postgrey INDICE
Introduccin Configuracin de Ip fija Configuracin de Ip pblica Configuracin de la red Actualizacin de los repositorios Instalacin del software necesario PostFix How-to de Shorewall para la configuracin del firewall Iptables Configuracin de Shorewall para el servicio SSH Configuracin de PostFix Configuracin de MySQL para PostFix Creacin de la Base de Datos Configuracin de Courier IMAP Servidor de correo avanzado Antispam y Antivirus (Spamassssin y Clamav) Polticas de control (Postgrey) Autenticacin SASL SASL/Courier IMAP TLS en PostFix Webmail (Rouncube) Agregar usuarios y dominios

INTRODUCCIN
Gua paso a paso para configurar un servidor de correo en un sistema GNU/Linux. Es fcil de seguir y termina con un potente servidor de correo seguro, que acepta dominios y usuarios ilimitados, y todo el correo se puede leer a travs de sus clientes favoritos, o a travs de correo web. Es seguro, el trfico se cifra y se bloquea casi todo el spam y los virus.

CONFIGURAR UNA IP FIJA (LOCAL Y PBLICA) PARA NUESTRO SERVIDOR


nano /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 Los valores anteriores tienen que ser modificados dependiendo de nuestra red, para obtener la informacin de acuerdo a tu red ejecutar los siguientes comandos. ifconfig - "Direc. inet" es lo mismo que "address" en /etc/network/interfaces - "Msc" es lo mismo que "netmask" en /etc/network/interfaces - network tiene el siguiente formato 192.168.x.0. Lo determinas con tu address, si es 192.168.0.100 entonces tu network es 192.168.0.0, otro ejemplo si tu ip es 192.168.1.75 entonces tu network es 192.168.1.0 - "Difus" es lo mismo que "broadcast" en /etc/network/interfaces Falta el ltimo parmetro (gateway) eso lo determinas con el siguiente comando: ip neigh la ip que te sale en la lnea es la de tu puerta de enlace o gateway en /etc/network/interfaces. Guardamos con Ctrl mas la letra O y cerramos con Ctrl mas la letra X. Reiniciamos la interfaz de red /etc/init.d/networking restart

INSTALACIN DE NO-IP (CONFIGURACIN DE IP PBLICA)


Una vez que ya tenemos configurada nuestra lan para que tenga una ip fija, ahora vamos a configurar una ip pblica como fija utilizando (no-ip). Primero tenemos que registrarnos en la pagina: http://www.no-ip.com/newUser.php

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 2 of 23

Una vez que ya confirmamos nuestro registro a travs del correo que proporcionamos. Nos logueamos en la siguiente pagina: http://www.no-ip.com/login/

ya dentro vamos a ver la siguiente pagina en la cul vamos a darle un click al icono encerrado en color rojo

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 3 of 23

En el apartado de Hostname information nos encontramos con opciones por llenar: Hostname: Aqu deben poner la pagina que quieran para su servidor (yo como ejemplo pondr server1) El dominio: Como va a ser gratuito nos vamos al apartado de No-IP Free Domains que est adelante de hostname y elegimos el que queramos (yo elegir para lo que sigue en la configuracin el dominio "no-ip.org". Por lo que quedara as server1.no-ip.org y es el que utilizar de aqu en adelante. Y por ltimo seleccionamos la opcin "create host"

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 4 of 23

Bueno eso es todo lo que tenemos que hacer en la pagina de no-ip ahora vamos a configurar no-ip en ubuntu. Ya desde una terminal ejecutamos los siguientes comandos: sudo apt-get install no-ip Durante la instalacin veremos una pantalla como esta

Aqu tenemos que introducir nuestra cuenta de correo de usuario en no-ip.com

Seguidamente introducimos la contrasea

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 5 of 23

Introducimos en minutos con que frecuencia queremos que nuestro servidor enve nuestra IP hacia no-ip.com ( 30 es un buen numero )

Este apartado lo podemos dejar en blanco sin problemas ya que se supone que solo tenemos esta cuenta para solo nuestro servidor

Aqu debemos introducir el nombre con el que est identificada nuestra tarjeta de red. ( Esto podemos verlo con el comando ifconfig )

para esta ultima opcin seleccionamos No y listo.

Configuracin de la RED
HOSTNAME Un FQDN (Fully Qualified Domain Name) es un nombre que incluye el nombre de la computadora y el nombre de dominio asociado a ese equipo. Por ejemplo, dada la computadora llamada serv1 y el nombre de dominio bar.com, el FQDN ser serv1.bar.com, a su vez un FQDN asociado a serv1 podra ser post.serv1.bar.com. La longitud mxima permitida para un FQDN es 255 caracteres (bytes), con una restriccin adicional a 63 bytes por etiqueta dentro de un nombre de dominio. Las etiquetas FQDN se restringen a un juego de caracteres limitado: letras A-Z de ASCII, los dgitos, y el carcter - , y no distinguen maysculas de minsculas. La sintaxis de los nombres de dominio se discute en varios RFCs -- RFC 1035, RFC 1123 y RFC 2181. En 2004 se aadieron algunos caracteres como , , ,

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 6 of 23

, , ... como caracteres permitidos para las etiquetas. Ahora entramos a /etc/hosts nano /etc/hosts y lo modificamos de la siguiente manera (recuerden que aqu pondrn el host que crearon en la pagina de no-ip) 127.0.0.1 192.168.0.100 localhost.localdomain localhost server1.no-ip.org server1

# The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ahora ejecutamos echo server1.no-ip.org > /etc/hostname /etc/init.d/hostname restart para ver el resultado ejecutamos hostname Editamos /etc/resolv.conf nano /etc/resolv.conf

y enseguida modificamos de la siguiente manera: domain no-ip.org search no-ip.org nameserver aqu_va_la_ip_del_gateway

ACTUALIZACIN DE LOS REPOSITORIOS


Primero que nada tenemos que habilitar los repositorios universe y multiverse de la siguiente manera nano /etc/apt/sources.list El archivo tiene que quedar de la siguiente manera (ubuntu 10.04): # deb cdrom:[Ubuntu-Server 10.04 LTS _Lucid Lynx_ - Release amd64 (20100427)]/ lucid main restricted #deb cdrom:[Ubuntu-Server 10.04 LTS _Lucid Lynx_ - Release amd64 (20100427)]/ lucid main restricted # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://de.archive.ubuntu.com/ubuntu/ lucid main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ lucid main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://de.archive.ubuntu.com/ubuntu/ lucid-updates main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ lucid-updates main restricted ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb http://de.archive.ubuntu.com/ubuntu/ lucid universe deb-src http://de.archive.ubuntu.com/ubuntu/ lucid universe deb http://de.archive.ubuntu.com/ubuntu/ lucid-updates universe deb-src http://de.archive.ubuntu.com/ubuntu/ lucid-updates universe

ACTUALIZACIN DE REPOSITORIOS DESDE DEBIAN (para actualizaciones de ClamAV)


nano /etc/apt/sources.list [...] deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free Ahora ejecutamos: sudo aptitude update sudo aptitude safe-upgrade

INSTALACIN DEL SOFTWARE NECESARIO MySQL y Postfix (MTA: para enviar correo)
Postfix es un agente de transporte de mensajes (MTA) que transporta los mensajes de un agente de usuario de correo (MUA, o cliente de correo) a un servidor de correo con SMTP. Un MTA tambin acepta mensajes desde los servidores de correo remoto para transmitir a otros MTA o entregarlos a los buzones locales. Despus de transmitir o entregar un mensaje, el trabajo de Postfix termina. Otros servidores son responsables de hacer llegar el mensaje al usuario final. Por ejemplo, los MTA, como POP3 o IMAP, entregan el mensaje a un MUA, como Mutt, Outlook o Apple Mail, donde el usuario pueda leerlo. 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

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 7 of 23

especializada. Instalamos la base de datos y el servidor de correo: sudo aptitude install mysql-client mysql-server postfix postfix-mysql Respondemos a las preguntas: New password for the MySQL "root" user: <-- Aqu_pones_el_password_de_root_para_sql Repeat password for the MySQL "root" user: <-- repites_el_password_de_root_para_sql Create directories for web-based administration? <-- No General type of mail configuration: <-- Internet Site System mail name: <-- server1.example.com SSL certificate required <-- Ok

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 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. sudo aptitude install libsasl2-modules libsasl2-modules-sql libgsasl7\ libauthen-sasl-cyrus-perl sasl2-bin libpammysql

ClamAV
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 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. sudo aptitude install clamav-base libclamav6 clamav-daemon clamav-freshclam

Amavis, SpamAssassin, postgrey


Amavisd-new es un interfaz de alto rendimiento y fiabilidad entre el MTA y uno o ms filtros de contenidos: antivirus o el mdulo Mail::SpamAssassin de Perl. Est escrito en Perl, asegurando alta fiabilidad, portabilidad y facilidad de mantenimiento. Se comunica con el MTA via (E)SMTP o LMTP, o mediante el uso de otros programas. No existen problemas de sincronizacin en su diseo que pudieran causar prdidas de correos. Normalmente se posiciona dentro o cerca del gestor de correo principal, no necesariamente donde se ubiquen las cuentas de correo de los usuarios (donde tiene lugar el envo final). Si se est buscando una solucin que soporte configuracin por usuario y ratios de mensajes pequeas que se ubique al final del proceso de envo (p.e. llamado desde procmail o en sustitucin de un agente local de envo), posiblemente puedan encontrarse otras soluciones ms apropiadas. Cuando est habilitado el uso de Mail::SpamAssassin (SA), se llama a SA una sola vez por mensaje (independientemente del nmero de destinatarios). Amavisd-new se beneficia del uso del mdulo de Perl Net::Server, el cul ofrece un rpido entorno multihilo. Amavisd-new ofrece un servidor SMTP que cumple con el RFC 2821, un servidor LMTP que cumple con el RFC 2033, un cliente SMTP y genera notificaciones de estado de envo (o no) que cumplen los RFC 1892 y 1894. Esto lo hace adecuado para mltiples analizadores de virus y de correo publicitario en plataformas de correo donde la fiabilidad y el cumplimiento de los estndares son importantes. sudo aptitude install amavisd-new 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 Vipul's Razor. sudo aptitude install spamassassin spamc Postgrey (Postfix Greylisting Policy Server) es un servidor de polticas para Postfix que implementa listas grises (del ingls, greylisting) desarrollado por David Schweikert del Cuando Postfix recibe una peticin de envo de un correo electrnico via SMTP, ste construye el tro IP del cliente, remitente y destinatario. Si es la primera vez que se tiene constancia de esta combinacin o si la primera vez que se vio fue hace menos de 5 minutos, entonces el correo es rechazado con un cdigo de error temporal. Es de esperar que los servidores que envan correo no deseado o virus no reintentarn el envo, aunque es un requerimiento estndar segn el RFC (del ingls, Request For Comments). sudo aptitude install postgrey

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. sudo aptitude install squirrelmail squirrelmail-locales php-pear php5-cli

phpMyAdmin
phpMyAdmin es una herramienta de software libre escrito en PHP para manejar la administracin de MySQL a travs de la World Wide Web. phpMyAdmin es compatible con una amplia gama de operaciones con MySQL. Las operaciones ms utilizadas son compatibles con la interfaz de usuario (manejo de bases de datos, tablas, campos, relaciones, ndices, usuarios, permisos, etc), mientras que usted todava tiene la capacidad de ejecutar directamente cualquier sentencia SQL. sudo aptitude install phpmyadmin Escriba S para configurarlo, introduzca la contrasea de root mysql, escriba una contrasea de usuario mysql phpmyadmin dos veces. Acepte apache2 como el servidor web.

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 8 of 23

ShoreWall
El Shoreline Firewall, ms comnmente conocido como "Shorewall", es una herramienta de alto nivel para configurar Netfilter. Usted describe sus requerimentos del firewall/gateway usando entradas en un conjunto de archivos de configuracin. Shorewall lee los archivos de configuracin y con la ayuda de iptables, iptables-restore, IP y las TC utilities, Shorewall configura Netfilter y el subsistema de red de Linux para satisfacer sus necesidades. Shorewall se puede utilizar en un sistema firewall, un multi-funcin de gateway/router/servidor o en un independiente sistema de GNU/Linux. Shorewall no usar el modo compatibilidad ipchains de Netfilter y por lo tanto pueden aprovechar las capacidades de seguimiento del estado de conexiones de Netfilter. Shorewall no es un demonio. Una vez que ha configurado Shorewall el subsistema de red de Linux, su trabajo se ha completado. El programa /sbin/shorewall se puede utilizar en cualquier momento para controlar el firewall Netfilter. Shorewall no es ms fcil de usar de las herramientas disponibles de configuracin de iptables, pero creo que es el ms flexible y potente. sudo aptitude install shorewall-common shorewall-perl sudo aptitude install shorewall shorewall-doc

Courier (para la recepcin de correo)


Courier es un MTA basado en protocolos abiertos como ESMTP, IMAP, POP3, LDAP, SSL, y HTTP. Courier proporciona ESMTP, IMAP, POP3, webmail, y listado de correo. Los componentes individuales pueden ser activados y desactivados a voluntad. El servidor de correo Courier implementa extensiones SMTP para la gestin de listas de correo y filtrado de espam. El servidor de correo Courier puede funcionar como un retransmisor de correo intermedio, la retransmisin de correo entre una red interna e internet, o realizar la entrega final a los buzones. Se puede configurar utilizando un mdulo de administracin basado en web. El servidor de correo Courier tambin puede proporcionar servicios de correo para cuentas de correo virtual, gestionado por una base de datos de autenticacin basado en LDAP, MySQL, o PostgreSQL sudo aptitude install courier-base courier-authdaemon courier-authlib-mysql \ courier-imap courier-imap-ssl courierssl Durante la intalacin, los certificados SSL para IMAP-SSL y POP3- SSL son creados con el hostname localhost. Para cambiar esto con el nombre de host correcto (server1.no-ip.ort para este tutorial), tenemos que eliminar los certificados. cd /etc/courier rm -f /etc/courier/imapd.pem rm -f /etc/courier/pop3d.pem y modificar /etc/courier/imapd.cnf nano /etc/courier/imapd.cnf unicamente la siguiente lnea por: [...] CN=server1.no-ip.org [...] y tambin el archivo /etc/courier/pop3d.cnf nano /etc/courier/pop3d.cnf [...] CN=server1.no-ip.org [...] Creamos los nuevos certificados mkimapdcert mkpop3dcert y reiniciamos los servicios /etc/init.d/courier-imap-ssl restart /etc/init.d/courier-pop-ssl restart

Configuracin de Postfix
Ejecutamos dpkg-reconfigure postfix Elegimos y escribimos lo pongo en forma resumida pero es cada una de las pantallas: 1. General Type of mail configuration, elegimos. Internet Site 2. System mail name, teclamos. server1.no-ip.org 3. Root and postmaster mail recipient tu cuenta de usuario 4. Other destinatation to accept mail for (blanck for none): server1.no-ip.org, localhos.no-ip.org, no-ip.org, localhost 5. Local Networks (nota: agregamos nuestro intervalo de red) 127.0.0.0/0 (::ffff:127.0.0.0)/104 (::1)/128 192.168.0.0/100 6. Internet protocols to use: all

Firewall Shorewall
Autor: Joel Barrios Dueas
Antes de empezar a configurar iptables a travs de Shorewall vamos a hablar acerca de las opciones ms comunes de iptables: -A aade una cadena, la opcin -i define una interfaz de trfico entrante -o define una interfaz para trafico saliente -j establece una regla de destino del trfico, que puede ser ACCEPT, DROP o REJECT.

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 9 of 23

-m define que se aplica la regla si hay una coincidencia especfica --state define una lista separada por comas de distinto tipos de estados de las conexiones (INVALID, ESTABLISHED, NEW, RELATED). --to-source define que IP reportar al trfico externo -s define trafico de origen -d define trfico de destino --source-port define el puerto desde el que se origina la conexin --destination-port define el puerto hacia el que se dirige la conexin -t tabla a utilizar, pueden ser nat, filter, mangle o raw.

Ejemplos de reglas.
Reenvo de paquetes desde una interfaz de red local (eth1) hacia una interfaz de red pblica (eth0): iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT Aceptar reenviar los paquetes que son parte de conexiones existentes (ESTABLISHED) o relacionadas de trfico entrante desde la interfaz eth1 para trfico saliente por la interfaz eth0: iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT Permitir paquetes en el propio muro cortafuegos para trfico saliente a travs de la interfaz eth0 que son parte de conexiones existentes o relacionadas: iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT Permitir (ACCEPT) todo el trfico entrante (INPUT) desde (-s) cualquier direccin (0/0) la red local (eth1) y desde el retorno del sistema (lo) hacia (-d) cualquier destino (0/0): iptables -A INPUT -i eth1 -s 0/0 -d 0/0 -j ACCEPT iptables -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT Hacer (-j) SNAT para el trfico saliente (-o) a trves de la interfaz eth0 proveniente desde (-s) la red local (192.168.0.0/24) utilizando (--to-source) la direccin IP w.x.y.z. iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -o eth0 -j SNAT --to-source x.y.z.c Descartar (DROP) todo el trfico entrante (-i) desde la interfaz eth0 que trate de utilizar la direccin IP pblica del servidor (w.x.y.z), alguna direccin IP de la red local (192.168.0.0/24) o la direccin IP del retorno del sistema (127.0.01) iptables -A INPUT -i eth0 -s w.x.y.x/32 -j DROP iptables -A INPUT -i eth0 -s 192.168.0.0/24 -j DROP iptables -A INPUT -i eth0 -s 127.0.0.0/8 -j DROP Aceptar (ACCEPT) todos los paquetes SYN (--syn) del protocolo TCP (-p tcp) para los puertos (--destination-port) de los protocolos SMTP (25), HTTP(80), HTTPS (443) y SSH (22): iptables iptables iptables iptables -A -A -A -A INPUT INPUT INPUT INPUT -p -p -p -p tcp tcp tcp tcp -s -s -s -s 0/0 0/0 0/0 0/0 -d -d -d -d 0/0 0/0 0/0 0/0 --destination-port --destination-port --destination-port --destination-port 25 --syn -j ACCEPT 80 --syn -j ACCEPT 443 --syn -j ACCEPT 22 --syn -j ACCEPT

Aceptar (ACCEPT) todos los paquetes SYN (--syn) del protocolo TCP (-tcp) para los puertos (--destination-port) del protocolos SMTP (25) en el servidor (w.x.y.z/32), desde (-s) cualquier lugar (0/0) hacia (-d) cualquier lugar (0/0). iptables -A INPUT -p tcp -s 0/0 -d w.x.y.z/32 --destination-port 25 --syn -j ACCEPT Aceptar (ACCEPT) todos los paquetes SYN (--syn) del protocolo TCP (-p tcp) para los puertos (--destination-port) de los protocolos POP3 (110), POP3S (995), IMAP (143) y IMAPS (993): iptables iptables iptables iptables -A -A -A -A INPUT INPUT INPUT INPUT -p -p -p -p tcp tcp tcp tcp -s -s -s -s 0/0 0/0 0/0 0/0 -d -d -d -d 0/0 0/0 0/0 0/0 --destination-port --destination-port --destination-port --destination-port 110 995 143 993 --syn --syn --syn --syn -j -j -j -j ACCEPT ACCEPT ACCEPT ACCEPT

Aceptar (ACCEPT) el trfico entrante (-i) proveniente desde la interfaz eth1 cuando las conexiones se establezcan desde el puerto (--sport) 67 por protocolos (-p) TCP y UDP. iptables -A INPUT -i eth1 -p tcp --sport 68 --dport 67 -j ACCEPT iptables -A INPUT -i eth1 -p udp --sport 68 --dport 67 -j ACCEPT Aceptar (ACCEPT) conexiones de trfico entrante (INPUT) por protocolo (-p) UDP cuando se establezcan desde (-s) el servidor DNS 200.33.145.217 desde el puerto (--source-port) 53 hacia (-d) cualquier destino (0/0): iptables -A INPUT -p udp -s 201.161.1.226/32 --source-port 53 -d 0/0 -j ACCEPT

Cerrar accesos.
Descartar (DROP) el trfico entrante (INPUT) para el protocolo (-p) TCP hacia los puerto (--destination-port) de SSH (22) y Telnet (23): iptables -A INPUT -p tcp --destination-port 22 -j DROP iptables -A INPUT -p tcp --destination-port 23 -j DROP Descartar (DROP) todo tipo de conexiones de trfico entrante (INPUT) desde (-s) la direccin IP a.b.c.d: iptables -A INPUT -s a.b.c.d -j DROP Rechazar (REJECT) conexiones hacia (OUTPUT) la direccin IP a.b.c.d desde la red local: iptables -A OUTPUT -d a.b.c.d -s 192.168.0.0/24 -j REJECT Eliminar reglas. En general se utiliza la misma regla, pero en lugar de utilizar -A (append), se utiliza -D (delete). Elininar la regla que descarta (DROP) todo tipo de conexiones de trfico entrante (INPUT) desde (-s) la direccin IP a.b.c.d: iptables -D INPUT -s a.b.c.d -j DROP

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 10 of 23

Mostrar la lista de cadenas y reglas. Una vez cargadas todas las cadenas y reglas de iptables es posible visualizar stas utilizando el mandato iptables con las opciones -n, para ver las listas en formato numrico, y -L, para solicitar la lista de stas cadenas. iptables -nL Cuando no hay reglas ni cadenas cargadas, la salida debe devolver lo siguiente: Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Cuando hay cadenas presentes, la salida, suponiendo que se utilizarn los ejemplos de este documento, debe devolver algo similar a lo siguiente: Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 DROP all -- 192.168.1.64 0.0.0.0/0 DROP all -- 172.16.0.0/24 0.0.0.0/0 DROP all -- 127.0.0.0/8 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25 flags:0x17/0x02 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 flags:0x17/0x02 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 flags:0x17/0x02 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 flags:0x17/0x02 ACCEPT tcp -- 0.0.0.0/0 192.168.1.64 tcp dpt:25 flags:0x17/0x02 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:110 flags:0x17/0x02 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:995 flags:0x17/0x02 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:143 flags:0x17/0x02 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:993 flags:0x17/0x02 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:68 dpt:67 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:68 dpt:67 ACCEPT udp -- 201.161.1.226 0.0.0.0/0 udp spt:53 Chain FORWARD (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

Iniciar, detener y reiniciar el servicio iptables.


Si est de acuerdo con las reglas generadas de iptables, utilice el siguiente mandato para guardar stas: service iptables save Las reglas quedarn almacenadas en el fichero /etc/sysconfig/iptables. Para ejecutar por primera vez el servicio iptables, utilice: service iptables start Para hacer que los cambios hechos tras modificar la configuracin surtan efecto, utilice: service iptables restart Para detener el servicio iptables y borrar todas las reglas utilice: service iptables stop

Agregar el servicio iptables al arranque del sistema.


Para hacer que el servicio de iptables est activo con el siguiente inicio del sistema, en todos los niveles de ejecucin (2, 3, 4, y 5), se utiliza lo siguiente: chkconfig iptables on

Cmo configurar iptables con Shorewall para el servicio SSH


Abriremos los puertos para servicio SSH unicamente, una vez que estemos seguros que el servidor de correo es seguro abriremos los puertos SMTP e IMAP para el mundo. cp /usr/share/doc/shorewall/default-config/interfaces /etc/shorewall/ nano /etc/shorewall/interfaces net eth0 detect dhcp,tcpflags,logmartians,nosmurfs A continuacin vamos a configurar las zonas de la red cp /usr/share/doc/shorewall/default-config/zones /etc/shorewall/ nano /etc/shorewall/zones Agregue el firewall si no existe e Internet como una zona. fw firewall # loc ipv4 net ipv4 A continuacin, si es necesario especificar los hosts lo puede hacer en este archivo. Por ejemplo, si desea especificar la IP de su red, etc

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 11 of 23

cp /usr/share/doc/shorewall/default-config/hosts /etc/shorewall/ nano /etc/shorewall/hosts # loc eth0:192.168.0.0/100 A continuacin, establezca cul es la poltica por defecto para el acceso del firewall. cp /usr/share/doc/shorewall/default-config/policy /etc/shorewall/ nano /etc/shorewall/policy $FW net ACCEPT net $FW DROP info net all DROP info # The FOLLOWING POLICY MUST BE LAST all all REJECT info Para seguridad en caso de que se caiga cp /usr/share/doc/shorewall/default-config/routestopped /etc/shorewall/ nano /etc/shorewall/routestopped eth0 0.0.0.0 routeback Configurar las reglas cp /usr/share/doc/shorewall/default-config/rules /etc/shorewall/ nano /etc/shorewall/rules SSH/ACCEPT net $FW ABIERTA PARA LOS NEGOCIOS Una vez que su servidor est funcionando volver a este paso y abrir el acceso SMTP y Web a otras personas. nano /etc/shorewall/rules Ping/ACCEPT net $FW # Permit all ICMP traffic FROM the firewall TO the net zone ACCEPT $FW net icmp # mail lines SMTP/ACCEPT net $FW SMTPS/ACCEPT net $FW Submission/ACCEPT net $FW IMAP/ACCEPT net $FW IMAPS/ACCEPT net $FW #web Web/ACCEPT net $FW Para probar la sintaxis de configuracin, ejecute shorewall check Reiniciar con /etc/init.d/shorewall restart Luego, para activarlo durante el arranque: nano /etc/default/shorewall startup=1

MTA POSTFIX
Usted debe poner el nombre de su servidor en este archivo sudo nano /etc/mailname por lo que el archivo queda de la siguiente forma server1.no-ip.org Ahora se abrir el archivo de configuracin principal de postfix: nano /etc/postfix/main.cf Debian y Ubuntu ya se ponen algunos valores razonables por defecto en este archivo.

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 12 of 23

myhostname = server1.no-ip.org myorigin = /etc/mailname mydestination = server1.no-ip.org, localhost, localhost.localdomain, localhost.no-ip.org, no-ip.org mynetworks = 192.168.1.0/100, 127.0.0.0/8 [::1]/128 Luego, decida lo que tendr el texto de bienvenida. Informacin suficiente, pero no divulgue todo a los hackers potenciales. smtpd_banner = $myhostname ESMTP $mail_name A continuacin, tiene que decidir si va a enviar todo el correo saliente a travs de otro servidor SMTP, o enviar a travs de su propia cuenta. # leave blank to do it yourself relayhost = # or put it an accessible smtp server relayhost = smtp.yourisp.com Lo siguiente es informacin de la red. Que se pueden conectar desde cualquier lugar, y slo confiar en este equipo. inet_interfaces = all mynetworks_style = host A continuacin, puede enmascarar algunas direcciones salientes. # masquerade_domains = <a>mail.example.com</a> www.example.com <a>!sub.dyndomain.com</a> # masquerade_exceptions = root A medida que va a utilizar dominios virtuales, estos deben estar vacos. local_recipient_maps = mydestination = A continuacin, crear unos poco nmeros. # how long if undelivered before sending warning update to sender delay_warning_time = 4h # will it be a permanent error or temporary unknown_local_recipient_reject_code = 450 # how long to keep message on queue before return as failed. # some have 3 days, I have 16 days as I am backup server for some people # whom go on holiday with their server switched off. maximal_queue_lifetime = 7d # max and min time in seconds between retries if connection failed minimal_backoff_time = 1000s maximal_backoff_time = 8000s # how long to wait when servers connect before receiving rest of data smtp_helo_timeout = 60s # how many address can be used in one message. # effective stopper to mass spammers, accidental copy in whole address list # but may restrict intentional mail shots. smtpd_recipient_limit = 16 # how many error before back off. smtpd_soft_error_limit = 3 # how many max errors before blocking it. smtpd_hard_error_limit = 12 Ahora podemos especificar algunas restricciones. Tenga cuidado de que cada opcin de configuracin quede en una sola lnea.

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 13 of 23

# Requirements for the HELO statement smtpd_helo_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_hostname, reject_invalid_hostname, permit # Requirements for the sender details smtpd_sender_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unauth_pipelining, permit # Requirements for the connecting server smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org, reject_rbl_client blackholes.easynet.nl, reject_rbl_client dnsbl.njabl.org # Requirement for the recipient address smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination, permit smtpd_data_restrictions = reject_unauth_pipelining Otras restricciones: # require proper helo at connections smtpd_helo_required = yes # waste spammers time before rejecting them smtpd_delay_reject = yes disable_vrfy_command = yes Lo siguiente es necesario para establecer algunos mapas y bsquedas de los dominios virtuales. # not sure of the difference of the next two # but they are needed for local aliasing alias_maps = hash:/etc/postfix/aliases alias_database = hash:/etc/postfix/aliases # this specifies where the virtual mailbox folders will be located virtual_mailbox_base = /var/spool/mail/virtual # this is for the mailbox location for each user virtual_mailbox_maps = mysql:/etc/postfix/mysql_mailbox.cf # and this is for aliases virtual_alias_maps = mysql:/etc/postfix/mysql_alias.cf # and this is for domain lookups virtual_mailbox_domains = mysql:/etc/postfix/mysql_domains.cf # this is how to connect to the domains (all virtual, but the option is there) # not used yet # transport_maps = mysql:/etc/postfix/mysql_transport.cf virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 Es necesario crear un archivo de alias. Slo se utiliza a nivel local, y no por sus dominios de correo propios. sudo cp /etc/aliases /etc/postfix/aliases # may want to view the file to check if ok. # especially that the final alias, eg root goes # to a real person sudo postalias /etc/postfix/aliases A continuacin, tiene que configurar la carpeta donde se almacena el correo virtual. Esto puede haber sido ya realizada por el apt-get. Y tambin crear el usuario que ser el propietario de las carpetas. # to sudo sudo sudo sudo add if there is not a virtual user mkdir /var/spool/mail/virtual groupadd --system virtual -g 5000 useradd --system virtual -u 5000 -g 5000 chown -R virtual:virtual /var/spool/mail/virtual

Configuracin de MySQL para Postfix


Lo siguiente que necesitamos es crear los archivos para acceder a las bsquedas a travs de la base de datos. Nosotros slo crearemos unos pocos ahora, y ms tarde el resto, cuando necesario: Crear la forma de encontrar la ubicacin en los buzones de los usuarios nano /etc/postfix/mysql_mailbox.cf user=mail password=<a>mailPASSWORD</a> dbname=maildb table=users select_field=maildir where_field=id hosts=127.0.0.1 additional_conditions = and enabled = 1 Crear cmo encontrar el alias de correo electrnico: nano /etc/postfix/mysql_alias.cf user=mail password=<a>mailPASSWORD</a> dbname=maildb table=aliases select_field=destination where_field=mail hosts=127.0.0.1 additional_conditions = and enabled = 1 Crear cmo encontrar los dominios: nano /etc/postfix/mysql_domains.cf

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 14 of 23

user=mail password=<a>mailPASSWORD</a> dbname=maildb table=domains select_field=domain where_field=domain hosts=127.0.0.1 additional_conditions = and enabled = 1 Si se especifica una IP en los hosts, (en oposicin a 'localhost'), entonces se comunican a travs de TCP y no la toma de mysql. (Restriccin chroot). Posdata. No olvides cambiar las contraseas con la contrasea elegida usuario de correo.

Base de Datos MySQL


Ahora tendremos que crear las tablas para las bsquedas que acabamos de especificar. En primer lugar usted necesita crear un usuario que utilizar en MySQL para el correo solamente. Luego hay que crear la base de datos, toma nota de su nombre de usuario y contrasea de correo elegido. Usted necesitar la contrasea que ha especificado para el usuario root durante la instalacin de MySQL. # If not already done (in package installation)... mysqladmin -u root password <a>new_password</a> # log in as root mysql -u root -p # then enter password for the root account when prompted <a>Enter password:</a> # then we create the mail database create database maildb; # then we create a new user: "mail" GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON maildb.* TO 'mail'@'localhost' IDENTIFIED by '<a>mailPASSWORD</a>'; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON maildb.* TO 'mail'@'%' IDENTIFIED by '<a>mailPASSWORD</a>'; exit; Obviamente reemplace mailpassword por la contrasea elegida! A continuacin, tendr que crear estas tablas: * Alias * Dominios * Usuarios Vamos a crear ms despus para una nueva extensin, pero slo los relevantes ahora. Entra en mysql con el nuevo usuario de correo mysql -u mail -p maildb # enter the newly created password <a>Enter password:</a> A continuacin, ejecute estos comandos para crear las tablas: CREATE TABLE `aliases` ( `pkid` smallint(3) NOT NULL auto_increment, `mail` varchar(120) NOT NULL default '', `destination` varchar(120) NOT NULL default '', `enabled` tinyint(1) NOT NULL default '1', PRIMARY KEY (`pkid`), UNIQUE KEY `mail` (`mail`) ) ; CREATE TABLE `domains` ( `pkid` smallint(6) NOT NULL auto_increment, `domain` varchar(120) NOT NULL default '', `transport` varchar(120) NOT NULL default 'virtual:', `enabled` tinyint(1) NOT NULL default '1', PRIMARY KEY (`pkid`) ) ; CREATE TABLE `users` ( `id` varchar(128) NOT NULL default '', `name` varchar(128) NOT NULL default '', `uid` smallint(5) unsigned NOT NULL default '5000', `gid` smallint(5) unsigned NOT NULL default '5000', `home` varchar(255) NOT NULL default '/var/spool/mail/virtual', `maildir` varchar(255) NOT NULL default 'blah/', `enabled` tinyint(3) unsigned NOT NULL default '1', `change_password` tinyint(3) unsigned NOT NULL default '1', `clear` varchar(128) NOT NULL default 'ChangeMe', `crypt` varchar(128) NOT NULL default 'sdtrusfX0Jj66', `quota` varchar(255) NOT NULL default '', `procmailrc` varchar(128) NOT NULL default '', `spamassassinrc` varchar(128) NOT NULL default '', PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ) ; Los ltimos campos en la tabla de los usuarios no son necesarios, pero til si se extiende ms tarde. # To visualise the tables created: describe aliases; describe domains; describe users; # then quit mysql exit; A continuacin hay que editar el archivo de MySQL my.cnf. En Ubuntu/Debian esta se crea de forma predeterminada. En Mandrake se tiene que crear manualmente una en blanco en /etc Pero tenemos que configurar, as que: nano /etc/mysql/my.cnf

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 15 of 23

En la versiones anteriores se necesitaba descomentar esta lnea #skip-networking Sin embargo en el actual archivo por defecto une la direccin al localhost, lo cual est bien. bind-address = 127.0.0.1 Habilite estas lineas general_log_file = /var/log/mysql/mysql.log general_log = 1 Reinicie MySQL para aplicar la nueva configuracin /etc/init.d/mysql restart

Pop/IMAP Courier IMAP


Editar el Archivo /etc/courier/authdaemonrc, y cambiar la lnea de este mdulo: authmodulelist="authmysql" Editar /etc/courier/authmysqlrc, y asegrese de que estas lneas de configuracin son correctas. Espacios vacos al final de las lneas es un error comn. MYSQL_SERVER localhost MYSQL_USERNAME mail MYSQL_PASSWORD <a>apassword</a> MYSQL_PORT 0 MYSQL_OPT 0 MYSQL_DATABASE maildb MYSQL_USER_TABLE users # comment out this field, # as I now longer use the encrypted pw options #MYSQL_CRYPT_PWFIELD crypt MYSQL_CLEAR_PWFIELD clear MYSQL_UID_FIELD uid MYSQL_GID_FIELD gid MYSQL_LOGIN_FIELD id MYSQL_HOME_FIELD home MYSQL_NAME_FIELD name MYSQL_MAILDIR_FIELD concat(home,'/',maildir) MYSQL_WHERE_CLAUSE enabled=1 Edite /etc/courier/imapd # set how many connections to use per person. Easy to underestimate if you have 6 mailboxes set up. MAXPERIP=20 # high debug to start with DEBUG_LOGIN=2 IMAPDSTART=YES A continuacin, edite el mismo en pop y ssl, si usted va a utilizarlos. Si ha seguido estos pasos correctamente, ahora debera tener un servidor de correo de trabajo. Usted puede pasar a los datos y luego a la etapa de prueba para ver si el servidor funciona como est previsto. No es seguro y es suceptable de spam, por lo que siguen otros pasos antes, pero es bueno saber que funciona!

SERVIDOR DE CORREO (AVANZADO)


Ahora vamos a extender esta configuracin, la seguridad e interfaces de usuario.

Amavisd-new (antispam y antivirus)


Todos los archivos de configuracin se encuentran en /etc/amavis/conf.d La configuracin por defecto de el archivo 01-debian est bien. Eche un vistazo a less 05-domain_id pero no cambie nada en el. Eche un vistazo a less 05-node_id pero no cambie nada en el. Eche un vistazo a less 15-av_scanners pero no cambie nada en el. Editar el archivo de verificacin de contenido sudo nano 15-content_filter_mode Comente los anlisis de virus y spam. (Por defecto). # # # # #@bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re); @bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

Eche un vistazo a less 20-debian_defaults

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 16 of 23

y less 21-ubuntu_defaults pero no cambie nada en ellos. 25-amavis_helpers la configuracin por defecto esta bien 30-template-localization la configuracin por defecto esta bien Editar archivo de usuario sudo nano 50-user y en la mitad del archivo insertar @local_domains_acl = qw(.); $log_level = 2; $syslog_priority = 'debug'; # $sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that level # $sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at that level $sa_kill_level_deflt = 8.0; # triggers spam evasive actions # $sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent $final_spam_destiny = D_PASS; # $final_spam_destiny = D_REJECT; # default # $final_spam_destiny = D_BOUNCE; # debian default # $final_spam_destiny = D_DISCARD; # ubuntu default, recommended as sender is usually faked Hemos configurado amavis para escanear y pasar a lo largo del correo entrante. Ahora vamos a la configuracin de postfix para que se comunique con amavis. nano /etc/postfix/master.cf Aadir estas lneas al final del archivo (asegrese de que no estn presentes). (Nota las lneas con (-o) al inicio tienen espacios delante de ellos. amavis -o -o -o -o unix 2 smtp_data_done_timeout=1200 smtp_send_xforward_command=yes disable_dns_lookups=yes max_use=20 smtp

127.0.0.1:10025 inet n smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks Tambin agregar las dos lneas siguientes inmediatamente debajo del servicio de transporte "pick-up": -o content_filter= -o receive_override_options=no_header_body_checks y luego agregue a main.cf sudo nano /etc/postfix/main.cf content_filter = amavis:[127.0.0.1]:10024 Activar el anlisis de ClamAV de amavis en archivos temporales. sudo adduser clamav amavis Con esto se debe conseguir que amavis trabaje. Si los correos son recogidos por amavis y pasan despus a postfix entonces se ve bien. Slo cuando termine de hacer pruebas descomente las lneas de antivirus y antispam en: sudo nano 15-content_filter_mode @bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re); @bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re); Cuando las cosas esten funcionando vamos a bajar el nivel de registro, y empezar a rebotar/descartar spam. sudo nano /etc/amavis/conf.d/50-user

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 17 of 23

@local_domains_acl = qw(.); $log_level = 1; $syslog_priority = 'info'; # $sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that level } # $sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at that level $sa_kill_level_deflt = 8.0; # triggers spam evasive actions # $sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent # $final_spam_destiny = D_PASS; # $final_spam_destiny = D_REJECT; # default # $final_spam_destiny = D_BOUNCE; # debian default $final_spam_destiny = D_DISCARD; # ubuntu default, recommended as sender is usually faked La configuracin por defecto de SpamAssassin estaban bien, pero usted puede modificarla en /etc/spamassassin/local.cf. Por ejemplo usted puede aumentar o disminuir los niveles necesarios antes de que los correos sean marcados como spam, y antes de rechazarlos. He aqu un ejemplo de mi local.cf. skip_rbl_checks use_razor2 use_dcc use_pyzor use_bayes bayes_path bayes_file_mode 0 0 0 0 1 /etc/spamassassin/bayes 0770

Una vez que haya una coleccin de spam y no spam (200 de cada uno), puede entrenar el filtro Bayesiano en SpamAssassin con estos mensajes de correo electrnico. Revise esto en el sitio web de SpamAssassin. # E.g. like this sa-learn --showdots -C /etc/spamassassin --spam /var/spool/mail/virtual/quarantine/.spam/* sa-learn --showdots -C /etc/spamassassin --ham /var/spool/mail/virtual/mine/cur/* Si usted nota que mucho spam se dejan pasar, a continuacin, hacer ms ajustes. Si usted recibe demasiados falsos positivos, es decir, mensajes de correo electrnico real marcados como spam, afloje un poco la puesta a punto. Una configuracin correcta de SpamAssassin debe coger el 97% de todo el spam. Con aproximadamente 1 de cada 1000 falsos positivos. El sitio SpamAssassin tiene un montn de informacin sobre su creacin. Vale la pena una buena lectura a travs de esta. Usted necesita decirle a SpamAssassin que smapd en el arranque. sudo nano /etc/default/spamassassin ENABLED=1

Entrenamiento bayesiano Primera vez


Es necesario entrenar al clasificador bayesiano, para que se pueda hacer una base de tokens que representan spam y ham (ham=no_spam). Del manual de spamd: You need to train with both spam and ham mails. One type of mail alone will not have any effect. Se necesitan por lo menos 200 mensajes de cada tipo, se recomienda mas de 1000. Aparentemente, entrenarlo con mas de 5000 mensajes no hace efecto. Recuerde: * Es recomendable que sea parecida la cantidad de mensajes de cada tipo que se usan para entrenar (5000 de ham y 200 de spam no es buena idea). * Es recomendable que sean todos mensajes distintos (si aprende que todos los mensajes de x lista de correo son ham, cuando caiga un spam en esta lista (o con el destinatario/headers de la lista) probablemente lo clasifique mal). Evite: * Entrenarlo con carpetas que contengan spam forwardeado, o discusiones sobre spam (como le explicas que tiene un spam attached pero que en realidad no es spam!?). * Entrenarlo con carpetas donde pueda haber algun spam/ham mezclado, se arruina el aprendizaje. Procedimiento: 1. sa-learn --spam -C /etc/mail/spamassassin --showdots .SPAM.Equinox/cur/ #la primera vez 2. sa-learn --spam -C /etc/mail/spamassassin --showdots .SPAM.Manantiales/cur/ #para cada carpeta con spam 3. sa-learn --ham -C /etc/mail/spamassassin --showdots --no-rebuild cur/ # Esto es Ham. 4. sa-learn -C /etc/mail/spamassassin --showdots --rebuild # Construye la base de tokens. Cuando haya lanzado el primero de estos comandos, vaya caliente prepare un cafe y tomeselo con calma, esto demora. Reentrenamiento Bayesiano para mensajes mal clasificados: Esto es imprescindible, si no se le explica al analizador bayesiano que se equivoco, el loco se va a equivocar cada vez mas. Cuando clasifique mal, hay que decirle "te equivocaste esto es/no_es spam". Existen dos metodos: 1) Crear casilla de correo "noesspam@site.com" y casilla "esspam@site.com". Cuidar que esas casillas no puedan recibir mail del exterior. Que los usuarios reenvien los mensajes de spam mal clasificado. Los usuarios deberan reenviar el mail siguiendo estas instrucciones: http://wiki.apache.org/spamassassin/BayesFeedbackViaForwarding Configurar siguiendo instrucciones de este link: http://jousset.org/pub/sa-postfix.en.html Puede hacerse el entrenamiento automatico (si confias en los usuarios), o el admin. puede revisar los mails que los usuarios mandan como spam mal clasificado (si los usuarios son menos experimentados de lo normal). Si el admin lee el spam/no_spam y lo reclasifica a mano, la mejor forma de automatizarlo es que el admin mueva lo que es spam a una carpeta IMAP especifica (y lo que no es spam a otra carpeta distinta) y que un cron lea esas carpetas, reentrene a bayes, y las vacie. 2) Crear dos carpetas IMAP publicas ES_spam y NO_ES_spam. Que los usuarios muevan el correo a estas carpetas (es mas facil arrastrar un mensaje que reenviarlo cuidando los headers). Luego el admin ve si las vacia automaticamente con un cron, o las revisa a mano como en el metodo anterior.

Script ejemplo
Ejemplo de script y crontab para reentrenar spam/ham a partir de carpetas IMAP: crear un script /usr/local/bin/learn-spam asi:

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 18 of 23

#!/bin/bash PATH=/usr/bin:/usr/sbin:/bin:/sbin ## SPAM: for i in /home/miope/Maildir/.SPAM.ES_SPAM/cur/* do cat $i | rm -f $i done ## HAM: for i in /home/miope/Maildir/.SPAM.NOesSPAM/cur/* do cat $i | sa-learn -C /etc/spamassassin/ --ham --no-rebuild rm -f $i done sa-learn -C /etc/spamassassin/ --rebuild sa-learn -C /etc/spamassassin/ --spam --no-rebuild

en /etc/crontab: ## Re-entreno la base bayesiana con los spams mal clasificados: 52 6 1 * * root /usr/local/bin/learn-spam

))To - Do(( (o tareas para mejorar este documento)


* Agregar configuracion (y crearme usuarios) para razor y dcc. Requiere reconfigurar firewall. * Hacer carpetitas de IMAP y reglas de procmail para mover los spam a donde va. o Esta hecho, pero hay que documentarlo. Tomar ideas de: http://www.securitysage.com/guides/postfix_uce_steps.html http://advosys.ca/papers/postfix-filtering.html http://www.inigo-tech.com/Members/kaeru/articles/evolution-spamassassin/ (directo para fitro en Evolution) Creado por: rodolfo ltima modificacin: Sbado 07 de Agosto de 2004 [18:03:53 UTC] por rodolfo

Anti Virus
ClamAV
ClamAV no necesita configuracin. Los archivos de configuracin estn en /etc/clamav, pero se generan automticamente, as que no es necesario editarlos. De forma predeterminada freshclam, el demonio que actualiza la base de datos de definiciones de virus, se ejecuta 24 veces al da. Eso parece un poco excesivo, por lo que se tiende a establecer que sea una vez al da. sudo dpkg-reconfigure clamav-freshclam Tambin se le preguntar si quiere que sea el demonio (s) y el servidor ms cercano a usted. Slo si es necesario puede utilizar el comando siguiente para reconfigurar con un monton de preguntas. No es necesario a menos que necesite configurar. sudo dpkg-reconfigure clamav-base

Postgrey
La configuracin por defecto de postgrey est bien. Sin embargo, usted necesita decirle a Postfix para que lo use. sudo nano /etc/postfix/main.cf Y a continuacin, modifique las restricciones del destinatario: smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination, check_policy_service inet:127.0.0.1:10023, permit Puede modificar listas blancas en /etc/postgrey. Puede ajustar la configuracin postgrey modificando el archivo /etc/default/postgrey. Por ejemplo demora, lista blanca automtica, o rechazo de mensajes. POSTGREY_OPTS="--inet=10023 --max-age=365"

Autenticacin SASL

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 19 of 23

SASL asegura la autenticacin real (entrada), mediante la codificacin de las contraseas de modo que no puede ser fcilmente interceptado. El resto de los correos electrnicos son, sin embargo texto plano. SASL puede ser un dolor de cabeza en crear, sobre todo porque no es compatible con el almacenamiento de contraseas cifradas por defecto en Ubuntu. En ediciones anteriores de este tutorial se describe cmo configurar SASL usando contraseas de texto sin formato en la base de datos. Obviamente, esto no es lo ideal, por lo que hay maneras de combinar SASL y el almacenamiento de contraseas encriptadas. En el futuro los paquetes que viene con Ubuntu podr apoyar la opcin de configuracin password_format de SASL. Pero hasta entonces se puede configurar SASL para pedir PAM que compare las contraseas: Instalar paquetes: sudo aptitude install sasl2-bin libpam-mysql libsasl2-modules libsasl2-modules-sql Habilitar postfix para que acceda a los archivos de SASL: sudo adduser postfix sasl Crear archivos sasl accesibles incluso por el chroot de Postfix: sudo mkdir -p /var/spool/postfix/var/run/saslauthd Aadir configuraciones SASL a postfix: sudo vi /etc/postfix/main.cf # SASL smtpd_sasl_auth_enable = yes # If your potential clients use Outlook Express or other older clients # this needs to be set to yes broken_sasl_auth_clients = no smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = Modificar estas configuraciones ya existentes: # Add permit_sasl_authenticated to you existing smtpd_sender_restrictions smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, warn_if_reject reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unauth_pipelining, permit # Add permit_sasl_authenticated to you existing smtpd_recipient_restrictions smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination, check_policy_service inet:127.0.0.1:10023, permit Cambiar la forma en que se ejecuta SASLAUTHD: sudo nano /etc/default/saslauthd # Toggle this to yes START=yes # Switch this to be under postfix's spool # And add -r so that the realm(domain) is part of the username OPTIONS="-r -c -m /var/spool/postfix/var/run/saslauthd" Dile a postfix cmo interactuar con SASL: sudo nano /etc/postfix/sasl/smtpd.conf pwcheck_method: saslauthd mech_list: plain login cram-md5 digest-md5 log_level: 7 allow_plaintext: true auxprop_plugin: mysql sql_engine: mysql sql_hostnames: 127.0.0.1 sql_user: mail sql_passw: mailPASSWORD sql_database: maildb sql_select: select crypt from users where id='%u@%r' and enabled = 1

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 20 of 23

(Cuando SASL este trabajando puede quitar la lnea log_level.) Decir a pam cmo hacer para autenticar SMTP a travs de mysql: sudo nano /etc/pam.d/smtp Estos deben estar en dos lneas auth required pam_mysql.so user=mail passwd=aPASSWORD host=127.0.0.1 db=maildb table=users usercolumn=id passwdcolumn=crypt crypt=1 account sufficient pam_mysql.so user=mail passwd=aPASSWORD host=127.0.0.1 db=maildb table=users usercolumn=id passwdcolumn=crypt crypt=1 Adems de tailing var/log/mail.log y /var/log/mysql/mysql.log es muy util el tail de auth.log al probar SASL tail -f /var/log/auth.log Reinicie postfix y saslauthd para habilitar SASL en el envo de mensajes de correo electrnico. sudo /etc/init.d/saslauthd restart sudo /etc/init.d/postfix restart

Imap SASL / Courier


No suelo tener SASL para la autenticacin de courier, porque hago cumplir TSL para todos lo clientes. Sin embargo, si usted tiene una poltica de acceso ms indulgente que es conveniente si usted tiene muchos usuarios, entonces usted puede desear SASL en Courier, as: sudo nano /etc/courier/imapd Esto puede estar ya disponible, como un comentario de lnea. Si no est reemplazar la lnea actual mediante la adicin de UTH=CRAM-MD5 CRAMAUTH=SHA1 por lo que se parece a algo como esto: (De nuevo en una lnea) IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAMMD5 AUTH=CRAM-SHA1 IDLE" sudo /etc/init.d/courier-authdaemon restart sudo /etc/init.d/courier-imap restart

Cifrado TLS
El cifrado del trfico evita que alguien este escuchando las comunicaciones en su correo electrnico. Y es muy recomendable. Hay diferentes tipos de comunicacin para cifrar. El trfico de datos entre las aplicaciones de correo electrnico y nuestro servidor cuando se lee correo electrnico o al enviar mensajes de correo electrnico, y la comunicacin entre otros servidores de correo electrnico y nuestro servidor.

TLS en Postfix
Para cifrar necesita certificados. En primer lugar usted necesita crear un certificado para postfix y uno para Courier. En postfix se tiene que hacer esto para un certificado de 3 aos: cd /etc/postfix openssl req -new -outform PEM -out postfix.cert -newkey rsa:2048 -nodes -keyout postfix.key -keyform PEM -days 999 x509 Luego hay que aadir estos a /etc/postfix/main.cf smtpd_use_tls = yes smtpd_tls_cert_file = /etc/postfix/postfix.cert smtpd_tls_key_file = /etc/postfix/postfix.key smtpd_data_restrictions = reject_unauth_pipelining Seguido por la adicin o hacer que estos se encuentre en master.cf: # these may already be present in your file, # however I usually have to add them # also, this specific line used to use fifo, it now needs to use unix type tlsmgr unix - - n 300 1 tlsmgr smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes 587 inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes Estos puertos son necesarios para los clientes que no podrn utilizar la opcin STARTTLS en el puerto 25. El puerto 465 (la lnea SMTPS) es una solucin no oficial, para que los clientes Por ejemplo, Evolucin de Novel, puedan utilizar hasta que corrijan su software para trabajar con STARTTLS. Los paquetes de Debian crea certificado de courier para usted. De lo contrario debe hacer esto (en nombre del caso del servidor no es el mismo que el nombre del equipo): openssl req -x509 -newkey rsa:1024 -keyout imapd.pem -out imapd.pem -nodes -days 999 A continuacin edite /etc/courier/imapd-ssl y asegurarse de que esta es la ruta al certificado. TLS_CERTFILE=/etc/courier/imapd.pem Ya hay algunas configuraciones de TLS en Debian por default para este archivo: sudo nano /etc/postfix/main.cf

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 21 of 23

# TLS parameters #smtp_use_tls = no smtp_tls_security_level = may #smtpd_use_tls=yes smtpd_tls_security_level = may smtpd_tls_auth_only = no smtp_tls_note_starttls_offer = yes smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache #smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache A continuacin echemos un vistazo al archivo master.cf. sudo nano /etc/postfix/master.cf Por defecto slo el servicio norma SMTP es permitido, que est muy bien. Pero prefiero que permita submission (puerto 587), para que los clientes puedan utilizarlo y puedan restringir slo a TLS. Tambin habilito el servicio SMTPS (puerto 465) por alguna compatibilidad con algunos clientes viejos (Outlook Express, etc). submission inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes # if you do not want to restrict it encryption only, comment out next line -o smtpd_tls_auth_only=yes # -o smtpd_tls_security_level=encrypt # -o header_checks= # -o body_checks= -o smtpd_client_restrictions=permit_sasl_authenticated,reject_unauth_destination,reject -o smtpd_sasl_security_options=noanonymous,noplaintext -o smtpd_sasl_tls_security_options=noanonymous # -o milter_macro_daemon_name=ORIGINATING smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_tls_auth_only=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_sasl_security_options=noanonymous,noplaintext -o smtpd_sasl_tls_security_options=noanonymous # -o milter_macro_daemon_name=ORIGINATING En algunas situaciones SASL y TLS no se llevan bien juntos. Estas situaciones son en combinaciones de almacenar contraseas cifradas, mediante la autenticacin MD5 en el trfico cifrado.

ROUNDCUBE (CLIENTE DE CORREO)


Como alternativa a SquirrelMail, Roundcube tiene un sistema ms moderno. Sin embargo, no obtuvo el registro para pruebas de larga trayectoria como SquirrelMail, y todava no es una versin release 1.0. Sin embargo, si usted prefiere una interfaz mucho ms atractiva a continuacin, siga estos sencillos pasos: Si lo desea,puede desinstalar SquirrelMail: sudo aptitude remove squirrelmail squirrelmail-locales A continuacin, instale Roundcube sudo aptitude install roundcube roundcube-mysql Se le preguntar si desea configurar su acceso a la base de datos, la respuesta es afirmativa, a continuacin, seleccione mysql. Luego se le pedir la contrasea de root que MySQL usa, se crear un usuario RoundCube en mysql y preguntara por su contrasea deseada. Esto crear un enlace simblico en /etc/apache2/conf.d/ a /etc/RoundCube/apache.conf. Editar este archivo. sudo nano /etc/roundcube/apache.conf Dependiendo de su configuracin, puede mover los comandos de alias en la parte superior a la configuracin de hosts virtuales, o para este ejemplo que se habiliten para todos los hosts. # Uncomment them to use it or adapt them to your configuration Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/ Alias /roundcube /var/lib/roundcube Despus edite el archivo de configuracin sudo nano /etc/roundcube/main.inc.php Modificar estas lneas para mayor seguridad y facilidad en el login: $rcmail_config['default_host'] = 'ssl://localhost:993'; $rcmail_config['smtp_server'] = 'ssl://localhost'; $rcmail_config['smtp_port'] = 465; # keep as default or change to your mail server name $rcmail_config['smtp_helo_host'] = 'mail.example.com'; $rcmail_config['create_default_folders'] = TRUE; Hay otros ajustes y funciones de seguridad que puede permitir tales como: $rcmail_config['sendmail_delay'] = 1; Pero tal vez deba concentrarse en conseguir el trabajo basico en primer lugar... Guardar, salir y cargar Apache para habilitar estos alias para que Roundcube trabaje.

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 22 of 23

sudo /etc/init.d/apache2 reload Despus, vaya a la instalacin de RoundCube segn dnde y cmo haya modificado los alias, por ejemplo, en http://mail.example.com/roundcube. Eso debera ser Usted, evidentemente, puede modificar y ajustar an ms. Una cosa que puede ser til es que el alias de roundcube en apache sobre diferentes mquinas virtuales, y configurar username_domain en main.inc.php aadir diferentes direcciones de correo electrnico, o configurar el servidor de correo default_host a diferentes servidores de correo dependiendo de la maquina virtual. ms informacin en el wiki de roundcube.

Agregar usuarios y dominios


As que tenemos un servidor de correo totalmente terminado ... Pues no, no hay usuarios, dominios, nada de nada! Bueno, primero que tienes que aadir algunos datos por defecto, algunos que se requieren, algunos que tienen sentido. A continuacin vamos a aadir sus propios usuarios y dominios.

Dominios necesarios y los usuarios


En primer lugar los dominios necesarios para el correo local # Use phpMyAdmin or command line mysql INSERT INTO domains (domain) VALUES ('localhost'), ('localhost.localdomain'); A continuacin, algunos alias predeterminados. Algunas personas dicen que estos no son necesarios, pero me gusta incluirlos. INSERT INTO aliases (mail,destination) VALUES ('postmaster@localhost','root@localhost'), ('sysadmin@localhost','root@localhost'), ('webmaster@localhost','root@localhost'), ('abuse@localhost','root@localhost'), ('root@localhost','root@localhost'), ('@localhost','root@localhost'), ('@localhost.localdomain','@localhost'); A continuacin un usuario ROOT INSERT INTO users (id,name,maildir,crypt) VALUES ('root@localhost','root','root/', encrypt('apassword') );

Dominios y Usuarios
Ahora vamos a aadir algunos datos de esta ndole. Digamos que quiere este equipo para manejar los datos de los dominios ficticios "blobber.org", "whopper.nu" y "lala.com". Luego diga que el nombre de esta mquina es "mail.blobber.org". Todo el correo electrnico de lala.com, se enviar a whupper.nu. INSERT INTO domains (domain) VALUES ('blobber.org'), ('mail.blobber.org'), ('whopper.nu'), ('lala.com'); INSERT INTO aliases (mail,destination) VALUES ('@lala.com','@whupper.nu'), ('@mail.blobber.org','@blobber.org'), ('postmaster@whopper.nu','postmaster@localhost'), ('abuse@whopper.nu','abuse@localhost'), ('postmaster@blobber.org','postmaster@localhost'), ('abuse@blobber.org','abuse@localhost'); Usted tambin tiene dos usuarios llamados "Xandros" y "Vivita". INSERT INTO users (id,name,maildir,crypt) VALUES ('xandros@blobber.org','xandros','xandros/', encrypt('apassword') ), ('vivita@blobber.org','vivita','vivita/', encrypt('anotherpassword') ); INSERT INTO aliases (mail,destination) VALUES ('xandros@blobber.org','xandros@blobber.org'), ('vivita@blobber.org','vivita@blobber.org'); Usted quiere que todo el correo para whooper.nu vaya para Xandros INSERT INTO aliases (mail,destination) VALUES ('@whopper.nu','xandros@blobber.org'); Tambin hay un usuario "Karl",pero l quiere todo el correo enviado a una cuenta externa. INSERT INTO aliases (mail,destination) VALUES ('karl@blobber.org','karl.vovianda@gmail.com'); Entonces, qu hace cada una de estas lneas realmente? Los usuarios requieren de cuatro campos. ID es la direccin de correo electrnico del usuario, y tambin su nombre de usuario para autenticarse. NAME es una descripcin opcional del usuario. MAILDIR es el nombre dentro de la carpeta /var/spool/mail/virtual. Se debe terminar en una /, de lo contrario no ser utilizado como un formato maildir de Unix. CRYPT es la contrasea de texto cifrado a utilizar. Los alias son la parte interesante. Vamos a empezar desde un punto de vista de arriba hacia abajo para ver cmo los correos electrnicos llegan a su destino: Llega un correo dirigido a "john@whopper.nu". Postfix busca dominios y encuentra que whopper.nu es un dominio que escucha. Postfix luego busca en los alias y encuentra que el correo coincide "john@whopper.nu". Postfix encuentra que otro dominio recibe todos los corres que son enviados desde "@whopper.nu" y son enviados a "xandros@blobber.org"

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

Instalacin y Configuracin de un Servidor de Correo en GNU/Linux (Postfix)

Page 23 of 23

A continuacin, busca "xandros@blobber.org" y encuentra uno, cuyo destino es el mismo que el correo, por es el destino final.

http://www.esdebian.org/wiki/instalacion-configuracion-postfix-debianubuntu

18/07/2011

You might also like