Servidor de Correo

Jorge Armando Medina

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

2005-12-29

Abstract

Esta guia describe como configurar un servidor de correo que soporte multiples dominios con usuarios locales y virtuales usando Postfix (MTA), OpenLDAP (Directory), Courier-IMAP (POP3,IMAP), Maildrop (Delivery Agent and quotas) y phamm (Web administration). Tambien cubre algunas desiciones sobre el diseño de la tecnologia y opciones de implementacion. Todo instalado en un sistema Gentoo Linux.


Table of Contents

1. Introduccion
2. Requerimientos
3. Arquitectura del Sistema
3.1. Seleccion del Software
Postfix
Courier-IMAP
OpenLDAP
Phamm
Squirrelmail
The Big Picture
Localizacion de los buzones de correo
4. Implementacion
Prerequisitos
Preparando el sistema Unix (Gentoo GNU/Linux
OpenLDAP
Configurando el servidor LDAP (slapd)
Agregando los schemas
Agregando la definicion de la base de datos
Crando el usuario manager
Definiendo indices
Configurando la lista de control de acceso (ACL)
Creando el arbol de el directorio
Creando el directorio base
Postfix
instalando Postfix con soporte para LDAP
Configurando Postfix
Maildrop
Configurando las fuentes LDAP
Globales
Transportes
Aliases
Forwards
Cuentas de correo
El mapa de transportes
Los alias virtuales (virtual_alia_maps)
Las cuentas virtuales
SMTP Autenticado (SMTP-AUTH)
Courier
Configuracion de el demonio de autenticacion (courier-authlib)
Configuracion de la busqueda en el directorio LDAP
Configurando los servicio de Courier (IMAP,POP3)
Configurando IMAP sobre SSL
Apache
Configuracion de apache2 para soporte PHP y SSL
Configuracion de un virtual host dedicado a Phamm
Configuracion de restricciones de acceso y comunicacion segura con (mod_ssl)
Phamm
Instalcion base de Phamm
Configuracion de Phamm
Configuracion de el plugin Mail
Modificaciones extras a Phamm para soporte de quotas con maildrop
Modificaciones extras para que use password hash en MD5 con base64 y asi pueda corresponder a los hash que genera slappasswd
5. Administracion
Administracion del sitio.
Administracion de dominios.
Administracion de usuarios.
Notas sobre la creacion de cuentas
Notas sobre la eliminacion de cuentas
6. Agradecimientos
7. Acerca de el autor
8. Referencias
Prueba
prueba 2
seccion 2test

Chapter 1. Introduccion

Esta guia provee las instrucciones de como configurar una solucion de corre integral usando Postfix, OpenLDAP, Courier, y phamm. Tambien se muestran algunas deciciones sobre el diseSoporte para comunicacion cifrada de manera que las contraseñas nunca viajaran como texto plano sobre la red.o que se tomo para configurar esto despues de un par de semanas de investigacion.

Esta guia pretende documentar todo lo mas claro posible y que sea facil de entender, claro que para esto se require conocimientos basicos de Unix, conocimientos basicos de TCP/IP y sobre los servicios de correo electronico.

La finalidad de el documento es ayudar a los administradores a configuracion una solucion donde se manejen dominios virtuales via web, se agreguen y eliminen cuentas de correo, alias, manejo de quotas de los buzones todo via web, al final esto sera facil de administrar con tan solo llenar las formas para agregar dominios y cuentas.

Chapter 2. Requerimientos

Esta no es una lista de requerimientos del sistema, mas bien es la lista de lo que se requiere de una solucion de correo electronico, y lo que se obtendra con esta implementacion.

  • Soporte para envio a usaurios locales, usaurios que tienen una cuenta con shell.

  • usuarios locales seran capaces de usar procmail o maildrop *********

  • Soporte de quotas de loz buzones de correo.

  • Soporte de redireccion de correo (forwarding).

  • Facil de integrar con sistemas de correo ya existentes.

  • Acceso a los correos via IMAP y POP3*******

  • Sporte de cuentas virtuales IMAP, por ejemplo. usuarios que tienen un login IMAP y password, pero no tienen cuenta con shell.

  • Acceso a a travez de directorios maildir para usuarios el sitema de archivos local a usuarios con shell.

  • Una interface para leer el correo via web.

  • La hablidad para hosperar multiples dominios en un solo servidor con una sola direccion IP.

  • Soporte para comunicacion cifrada de manera que las contraseñas nunca viajaran como texto plano sobre la red.

Chapter 3. Arquitectura del Sistema

Esta seccion describe como fueron usados los servidores y como se integran integran todos para la solucion.

3.1. Seleccion del Software

El porque se llego a la desicion de escoger el softeare no se explicara, solo basta decir que depues de varias semanas de estar probando con varios, y con la experiencia de los años se llego a elegir el softare que acontinuacion de describira, cabe destacar que la solucion sera sobre LDAP y todo este software tiene completo soporte para usar LDAP.

Postfix

TODO: Meter choro sobre postfix facil virtual users, facil integgracion con ldap, soporte a aplicaciones que usen el coamdno sendmail. bla bla bla. facil de configurar.

Courier-IMAP

facil virtual users, facil integgracion con ldap, uso demonio de autenticacion global para sus diverssos programas.. bla bla bla. facil de configurar.

OpenLDAP

Bla bla bla, facil configurar, gran soporte en el software libre, varios metodo autenticacion, soprote ldap sobre ssl.

Phamm

Se eligio phamm por facil, de usar, y buenos ejemplos para integrarlo con postfix.

Squirrelmail

Se elegio squirelmail por facil uso y configuracion. y soporte varios plugins.

The Big Picture

La figura 1 mustra como Postfix, Courier, maildrop, OpenLDAP y phamm interactuan uno con otro. Postfix acepta correo entrante lo procesa en sus colas y lo entraga a maildrop (MDA) quien consultara el servidor LDAP por la existencia de las cuentas y si estan activas y buscara el directorio en el sistema de archivos donde guardara el mensaje (tambien puede hacer algun tipo de filtrado).

La figura 1 mustra como Postfix, Courier, maildrop, OpenLDAP y phamm interactuan uno con otro. Postfix acepta correo entrante lo procesa en sus colas y lo entraga a maildrop (MDA) quien consultara el servidor LDAP por la existencia de las cuentas y si estan activas y buscara el directorio en el sistema de archivos donde guardara el mensaje (tambien puede hacer algun tipo de filtrado).

Courier provee acceso remoto a los buzones maildir via los protocolos IMAP y POP3. necesita tener una lista de usuarios validos y alguna manera de autenticarlos de manera que los usaarios puedan iniciar sesion con su cuenta. Tambien necesita saber donde esta localizado el buzon de la cuenta en el sistema de archivos para que pueda leer los mensajes.

La informacion de los usuarios es accesada de la base de datos estandar en unix. (/etc/passwd) este sistema usar PAM como modulos de autenticacion para los servicios SMTP, POP3 e IMAP, los cuales a su vez se autentican contra el servidor LDAP.

la informacion de los usuarios virutales es almacenada en el directorio LDAP puesto que LDAP provee mecanismos para buscar usuarios validos, obtener informacion de los usuarios y autenticar usuarios. Esta es la informacion que usa postfix, courier, y maildrop,

Phamm es la interfaz web, la cual guarda informacion en dicha base de datos en el directorio LDAP usando la API de LDAP. FIGURA 1.

Localizacion de los buzones de correo

Localizacion de los buzones de correo

Chapter 4. Implementacion

Implementacion

Prerequisitos

Prerequisitos

Preparando el sistema Unix (Gentoo GNU/Linux

Preparando el sistema Unix (Gentoo GNU/Linux

OpenLDAP

OpenLDAP

Configurando el servidor LDAP (slapd)

Configurando el servidor LDAP (slapd)

Agregando los schemas

Agregando los schemas

Agregando la definicion de la base de datos

Agregando la definicion de la base de datos

Crando el usuario manager

Crando el usuario manager

Definiendo indices

Definiendo indices

Configurando la lista de control de acceso (ACL)

Configurando la lista de control de acceso (ACL)

Creando el arbol de el directorio

Creando el arbol de el directorio

Creando el directorio base

Creando el directorio base

Postfix

Postfix

instalando Postfix con soporte para LDAP

instalando Postfix con soporte para LDAP

Configurando Postfix

Configurando Postfix

Maildrop

Maildrop

Configurando las fuentes LDAP

Configurando las fuentes LDAP

Globales

Globales

Transportes

Transportes

Aliases

Aliases

Forwards

Forwards

Cuentas de correo

Cuentas de correo

El mapa de transportes

El mapa de transportes

Los alias virtuales (virtual_alia_maps)

Los alias virtuales (virtual_alia_maps)

Las cuentas virtuales

Las cuentas virtuales

SMTP Autenticado (SMTP-AUTH)

SMTP Autenticado (SMTP-AUTH)

Courier

Courier

Configuracion de el demonio de autenticacion (courier-authlib)

Configuracion de el demonio de autenticacion (courier-authlib)

Configuracion de la busqueda en el directorio LDAP

Configuracion de la busqueda en el directorio LDAP

Configurando los servicio de Courier (IMAP,POP3)

Configurando los servicio de Courier (IMAP,POP3)

Configurando IMAP sobre SSL

Configurando IMAP sobre SSL

Apache

Apache

Configuracion de apache2 para soporte PHP y SSL

Configuracion de apache2 para soporte PHP y SSL

Configuracion de un virtual host dedicado a Phamm

Configuracion de un virtual host dedicado a Phamm

Configuracion de restricciones de acceso y comunicacion segura con (mod_ssl)

Configuracion de restricciones de acceso y comunicacion segura con (mod_ssl)

Phamm

Phamm

Instalcion base de Phamm

Instalcion base de Phamm

Configuracion de Phamm

Configuracion de Phamm

Configuracion de el plugin Mail

Configuracion de el plugin Mail

Modificaciones extras a Phamm para soporte de quotas con maildrop

Modificaciones extras a Phamm para soporte de quotas con maildrop

Modificaciones extras para que use password hash en MD5 con base64 y asi pueda corresponder a los hash que genera slappasswd

Modificaciones extras para que use password hash en MD5 con base64 y asi pueda corresponder a los hash que genera slappasswd

Chapter 5. Administracion

Administracion

Administracion del sitio.

Administracion del sitio.

Administracion de dominios.

Administracion de dominios.

Administracion de usuarios.

Administracion de usuarios.

Notas sobre la creacion de cuentas

Notas sobre la creacion de cuentas

Notas sobre la eliminacion de cuentas

Notas sobre la eliminacion de cuentas

Chapter 6. Agradecimientos

Agradecimientos

Chapter 7. Acerca de el autor

Acerca de el autor

Chapter 8. Referencias

Referencias

Prueba

bla bla bla bla bla

prueba 2

bla ble bli blo blu

seccion 2test

bla bla bla