Está en la página 1de 76

 

MANUAL DE INSTALACION Y CONFIGURACION DEL SERVIDOR DE
CORREO POSTFIX

Bajo el sistema operativo: Linux UBUNTU8.4

Integrantes:

Natalia Valencia
Roger Olarte
Fernanda Orozco
Cristina Piedrahita

fecha de creación : 10  de octubre
última modificación : 19 de octubre
PRESENTACION

En base al a las redes de comunicación los servicios de mensajeria han
tomado una caracateristica mas propia dandole el lugar a una aplicación
como los son  los servidores de correo;estos nos permiten enviar
mensajes de unos usuarios a otros con independencia de la red que se
este utilizando.
Para lograrlo se definen una serie de protocolos, cada uno con una
finalidad:

1. SMTP: simple mail transport protocol ­ este se utiliza para que se
intercambien los mensajes entre servidores de correo, es basado en
un modelo cliente servidor . Una de las limitaciones del SMTP
original es que no facilita métodos de autenticación a los
emisores, así que en este manual se pretende superarlo atraves de
pam,(`Pluggable Authentication Modules;modulo de autenticacion
enlazable).
2. POP: post office transport protocol ­ se utiliza para
obtener/descargar los mensajes guardados en el servidor al usuario .
3. IMAP: internet message access protocol ­ su finalidad es la misma
que pop aunque funciona diferente y vimos algunas ventajas como
tiempos de respuesta rapida,acceso remoto a los mensajes,accesos
simultaneos a multiples clientes, vigilancia en el estado del
mensaje , agilidad en las busquedas, entre otras ventajas sobre el
protocolo  pop por lo cual nos basamos mas en IMAP.

Entonces es por eso que decimos que un servidor de correo consta en
realidad de dos servidores el SMTP encargado de enviar y recibir
mensajes, y un servidor
POP/IMAP  que sera el que permite a los usuarios obtener sus mensajes;
para esto los usuarios se sirven de clientes, es decir, programas que
implementan un protocolo POP/IMAP que en algunas ocasiones el cliente se
ejecuta en la máquina del usuario (como el caso de Mozilla Mail,
Evolution, Outlook). Sin embargo existe otra posibilidad: que el cliente
de correo no se ejecute en la máquina del usuario; es el caso de los
clientes via web, como Hotmail,OpenWebmail o terra. En ellos la
arquitectura del servicio es más compleja: el cual no aplica en este
manual.
 

CONTENIDO

1.DIRECCION DE RED ESTATICA
2.CONFIGURACION DE BIND
3.INSTALACION Y CONFIGURACION DE POSTFIX
4.PROBAR MENSAJES CON MUTT
5.ALMACENAMIENTO Y TIPOS DE CORREO
5.1 DOVECOT
5.2 COURRIER
6.AUTENTICACION ATRAVES DE PAM
7. CONFIGURACION DE UN MDA
   7.1 EVOLUTION
7.2 TUNDERBHIND
8.AUTENTICACION ATRAVES DE SASL
9.TLS
10.OPENLDAP
11.ADMINISTRACION DE LDAP
12.INTEGRACION POSTFIX CON OPENLDAP
13.USUARIOS VIRTUALES
14.ANTIVIRUS
15.ANTIESPAM
 

MANUAL DE CONFIGURACION DE SERVIDOR DE CORREO
1.DIRECCION DE RED ESTATICA
Existen en la actualidad, una gran cantidad de servdores de correo, pero
para nuestro caso utilizaremos Postfix ya que es un servidor facil de
manejar, es muy compatible con otro software y existe muy buena
documentacion para su soporte.

Para Este proyecto, utilizaremos la distribucion

Lo primero que debemos tener en cuenta, es que utilizaremos una
direccion IP estatica para poder realizar todas las pruebas
convenientes, claro esta que modificaremos esta direccion estatica a una
direccion de DHCP, para tener acceso a internet y poder descargar los
paquetes que sean necesarios.

Empezaremos entonces instalando DNS (Servidor de Nombres de Dominio)
 

2.INSTALACION Y CONFIGURACION DE BIND

Bind es el nombre del demonio de DNS

recordemos que de acuerdo a la distribucion de linux se puede llamar
BIND o NAMED.

Instalamos el paquete de Bind9.

root@regocorreo:~# apt­get install bind9

Luego configuraremos este servidor.

root@regocorreo:~# cd  /etc/bind/
root@regocorreo:~# nano named.conf (Editaremos el archivo de
configuracion)

Definiremos nuestras zonas

Zona directa
zone "lucas.com" {
type master;
file "/etc/bind/directa.db";
};

Nuestro dominio se llamara lucas.com , es tipo maestro y le damos la
ruta donde estara el archivo de la zona  directa.

Zona inversa
zone "1.168.192.in­addr.arpa" {
type master;
file "/etc/bind/inversa.db";
};

Ahora crearemos los archivos donde pondremos la configuracion de las
zonas.
Crearemos primero la zona directa:

root@regocorreo:~# cd /etc/bind/
root@regocorreo:~# touch directa.db
root@regocorreo:~# nano directa.db
 

directa.db

Agregamos un host, el cual sera nuestro servidor de correos con el
nombre de regocorreo con la direccion ip 192.168.1.1

Luego agregamos un registro MX con prioidad 10 y apuntando al host
regocorreo que ya tenemos definido.
Con esto lo que estamos haciendo es que todas las peticiones de correo
electronico seran redireccionas al host “regocorreo”.

Ahora crearemos la zona inversa:

root@regocorreo:~# cd /etc/bind/
root@regocorreo:~# touch inversa.db (Creamos el Archivo)
root@regocorreo:~# nano inversa.db
 

inversa.db

Creamos la zona de regocorreo el cual sera nuestro servidor de correos.

Hecho esto guardamos todos los cambios y reinicairemos nuestro servidor
DNS

root@regocorreo:~# /etc/init.d/bind9 restart

Luego haremos el cheque  correspondiente a la configuracion del servidor

root@regocorreo:~# nslookup

> set q=any
> lucas.com

Y nos mostrara toda la configuracion correspondiente con el dominio
lucas.com
 

Entre toda esta informacion, debemos detallarnos en que halla cargado la
configuracion de nuestro servidor de correo. (Regstro MX)

Con esto ya tenemos listo nuestro servidor DNS...si usted desea tener
mas de un servidor de correo o un servidor de correo de respaldo, solo
debe agregar cuantas lineas necesite similares, y que cada una de estas
tenga diferente prioridad.
 

3.INSTALACION Y CONFIGURACION DE POSTFIX
Lo primero que realizaremos sera instalar nuestro servidor de correo,
que para nuestro caso sera Postfix.

Primero lo buscaremos en la cache de los repositorios, para ver si el
paquete se encuentra.

root@regocorreo:~# apt­cache search postfix

Ahora ya estamos seguros de que nuestro paquete postfix se encuentra en
la cache de los repositorios, por lo que procederemos a instalarlo.

root@regocorreo:~# apt­get install postfix

Con esto, tendremos nuestro MTA (Agente Transferencia Correo) Servidor
de correo. Vale destacar que este servidor correra por el puerto 25.

Vamos a configurarlo, por defecto despues de instalarlo queda un
directorio en /etc/ Alli se encontraran los archivos de configuracion.

root@regocorreo:~# cd /etc/postfix/
root@regocorreo:~# nano main.cf (Archivo principal de configuracion
donde definiremos los parametros que este servidor tendra)

nos dirigimos a las ultimas lineas donde se encontraran las variables a
modificar:

myhostname regocorreo.lucas.com
(Nombre del host que tiene el servidor de correo, recuerde que este
nombre debe de ser el que hemos configurado en el DNS)

mydomain lucas.com
(Dominio para el cual recibiremos correos electronicos)
 

mydestination lucas.com
(Podremos recibir correos para la maquina local, donde realizaremos
nuestras primeras pruebas)

mynetworks 192.168.1.0/24,  127.0.0.0/8
(Definiremos la direccion de red, de donde queramos que puedan salir o
entrar los correos)

Estas son las opciones basicas , pero recuerde que son muchas las
variables que podremos definir que en el transcurso del manual iremos
agregando.

Ahora reiniciamos el servidor para comprobar que no existan errores, y
para que cargue la ultima configuracion que realizamos

root@regocorreo:~# /etc/init.d/postfix restart

Ahora lo que haremos sera tratar de conectarnos al servidor de correo
por medio de telnet  atraves del puerto 25.

root@regocorreo:~# telnet 127.0.0.1 25
Trying to 127.0.0.1.
escape character is '^]'.
220 regocorreo.lucas.com  ESMTP postfix (ubutu)

Al conectarse por medio del puerto 25, identifica el servidor de correo
y muestra el banner de bienvenida.

Ahora lo que haremos sera ver los modulos y los tipos de
auntenticaciones que soporta el servidor.

root@regocorreo:~# telnet 127.0.0.1 25
Trying to 127.0.0.1.
escape character is '^]'.
220 regocorreo.lucas.com  ESMTP postfix (ubutu)

< ehlo HOLA

(Digitamos este comando, que nos indica que abrimos una seccion con este
servidor atraves del puerto 25, para verificar los modulos o soporte
que tiene cargados.)
 

Y el servidor debera de respondernos con los modulos que este maneja.
De igual manera nos damos cuenta que el servidor esta corriendo
perfectamente y que no hay errores en su configuracion.

Ahora ya tenemos configurado y funcionando nuestro servidor de correo.
 

4.PROBAR LOS MENSAJES
Ahora probaremos enviandonos mensajes para comprobar que funcione
nuestro servidor de correo.

Creamos un usuario en el sistema

root@regocorreo:~# useradd ­m new
root@regocorreo:~# passwd new

Luego instalamos un software con el cual podremos enviarnos correos y
comprobar.

root@regocorreo:~# Apt­get install mutt

Ya tenemos listo el software para realizar pruebas.

Estamos logueados como Root (SuperUsuario).

En una consola
root@regocorreo:~# mutt
(Para abiri el software)

me dice que el usuario no existe, que si quiero crear el directorio.
Le respondemos S

En primera instancia, mutt aparecera de esta forma ya que en el buzon de
entrada no hay ningun mensaje.
 

Con la tecla M podremos enviar un nuevo correo electronico.

To: new@lucas.com (Este sera el usuario, al que queremos que llegue el


mensaje).

Presionamos la tecla enter, para escribir el mensaje, nos aparecera un
editor de textos, alli escribimos el mensaje y los guardamos presionando
las teclas Ctrl+X simultaneamente, nos dira que si queremos guardar los
cambios y presionamos la tecla Y(yes)
 

Nos saldra un encabezado con los parametros principales para enviar el
correo electronico.
 

Ahora para enviar el correo, basta con presionar la tecla Y.

Ahora nos loguearemos como el usuario new desde una consola.

Si queremos ver si llego el mensaje, nos logueamos como el usuario al
que le enviamos el correo electronico, en este caso a
regocorreo@lucas.com que es el correo del usuario Root del sistema.

root@regocorreo:/#  mutt    (Abrimos el Software)
 

En la bandeja de entrada, veremos el correo que enviamos. Con esto
podemos comprobar que nuestro servudor de correo Postfix esta
funcionando correctamente.

y vemos en la bandeja de entrada que tenemos un mensaje....con las
teclas direccionales podemos seleccionarlo y con enter entramos para ver
el mensaje

Alli esta el mensaje que escribimos desde root... con esto nos damos
cuenta de que el servidor de correo esta funcionando.
 

5.ALMACENAMIENTO Y TIPO DE CORREOS
El almacenamiento de los correos, es una parte importante que debemos de
tener en cuenta, ya que es la manera de como seran almacenados nuestros
correos, y como sera el proceso tanto de lecura como escritura de este.

Existen varios tipos de almacenamiento de correo, pero en este manual
solo manejaremos 2 que seran Maildir y Mailbox.

Primero que todo, debemos saber que estos tipos de almacenamiento estan
ligados al servidor de Pop e Imap, que utilicemos.

Dovecot es un servidor que maneja Mailbox ya que los mensajes se guardan


en un único archivo en el que se van encolando los mensajes a medida que
van llegando al buzón.

todos los correos elecronicos usando este servidor son almacenados en
este directorio /var/mail/ donde por cada usuario, se genera un
fichero.

La desventaja de este formato es que el proceso de lectura y escritura
se hace mas lento, ya que toca buscar dentro del fichero correspondiente
el correo, y en caso de que se llegase a borrar este fichero perderiamos
TODOS nuestros correos, siendo vulnerable a posibles ataques.

Courier y Cyrus son 2 servidores de Pop e Imap que utilzan Maildir como
formato de almacenamiento.
 

Este formato, es muy diferente a Mailbox , ya que los correos no se


almacenan en un unico fichero, sino que se genera automaticamente un
fichero por cada correo que sea recibido.

Estos ficheros se almacenan en la ruta /var/spool/mail/

La ventaja principal de este formato, es que el proceso de lectura y
escritura se realiza a gran velocidad, apto para condiciones donde el
flujo tanto de lectura y escritura de correos es elevado.

Tiene pocas deventajas, y una de ellas es que se necesita gran
capacidad de almacenamiento en disco.
 

6. INSTALACION Y CONFIGURACION DE LOS
PROTOCOLOS IMAP Y POP3

Ahora lo que haremos sera instalar los protocolos de pop3 e imap, que
son los encargados de descargar los correos, desde un cliente atraves
del servidor.

Cabe destacar, que Pop3 lo que hace es conectarse al servidor de correo
atraves del puerto 110 y descarga los correos hasta el cliente para
poder visualizarlos, cosa contraria que pasa con Imap que se conecta al
servidor de correo atraves del puerto 143 y podemos visualizar los
correos remotamente desde el servidor sin la necesidad de descargarlos.

6.1 INSTALACION Y CONFIGURACION DE DOVECOT
Esto lo haremos atraves de DOVECOT, que es uno de los tanto servidores
de pop3 e imap que existen.

Lo que haremos sera buscar en la cache de los repositorios que si se
encuentren estos paquetes y luego instalarlos.

root@regocorreo:~# apt­cache search dovecot
Buscamos que tenga Dovecot soporte para los protocolos Pop e Imap.

root@regocorreo:~# apt­get install dovecot­imapd
root@regocorreo:~# apt­get install dovecot­pop3d

La forma en que autenticaremos nuestro servidor de correo sera atraves
de un servidor como puede ser como IMAP o POP3 contra PAM que es un
mecanismo de autenticacion que guarda los registros en el sistema local.
 

Vamos al archivo de configuracion de dovecot, que se crea por defecto en
el directorio
/etc/dovecot/

El archivo principal de configuracion sera dovecot.conf

root@regocorreo:~# nano /etc/dovecot/dovecot.conf

Las lineas que descomentaremos, modificaremos o agregaremos en su
defecto, seran:

protocols: pop3 pop3s imap
(Sera el protocolo que manejara el servidor dovecot)

Listen: *
(Por cual puerto escuchara. Si ponemos un asterisco* es porque tomara el
puerto por defecto)

disable_plaintext_auth: no
(Nos dice, que si queremos Deshabilitar la autenticacion es texto plano,
le decimos que no, porque utilizaremos la autenticacion en texto plano)

ssl_disable: yes
(Si queremos deshabilitar SSL Para transporte seguro ya que los datos
viajaran encriptados.)

mail_location: mbox:~/mail:INBOX=/var/mail/%u
(El lugar donde se alojaran los correos electronicos, que por defecto
seran en /var/mail. Y la %u quiere donde se almacenaran los correos a
determinado usuario)
 

61.1 AUTENTICANDO DOVECOT ATRAVES DE PAM

ahora habilitaremos la autenticacion en texto plano.
Al final del archivo dovecot.conf agregaremos unas lineas que nos
permitiran autenticarnos.

auth default {

mechanisms = plain login
passdb pam {
}

userdb passwd {
}
socket listen {
client {

# Assuming the default Postfix $queue_directory setting
path = /var/spool/postfix/private/auth
mode = 0660

# Assuming the default Postfix user and group
user = postfix
group = postfix

Para finalizar reinicamos el servicio para que gurde los cambios
efectuados.

Error!!!! Pero que paso?? Claro, lo que pasa es que agregamos estas
lineas al final, para entender mejor la sintaxis de como autentica
Dovecot contra pam, pero estas lineas se encuentras descomentadas a lo
largo de todo el archivo, por ende al tratar de reiniciar el servicio
nos saca un error que nos indica que existe duplicado en las lineas .

root@regocorreo:~# /etc/init.d/dovecot restart

Error: Error in configuration file /etc/dovecot/dovecot.conf line 1095:
Authentication process already exists with the same name (section changed at
line 1093)
Fatal: Invalid configuration in /etc/dovecot/dovecot.conf

[fail]
 

Entonces lo que haremos sera comentar las lineas que se encuentran
repetidas a lo largo del archivo.

Las lineas que comentaremos son:

# auth default { ­line 769
# mechanisms = plain ­line 773
# passdb pam { ­line 806
# } ­line 839
# userdb passwd { ­line 907
# } ­line 914
# user = root ­line 970
# } ­line 1020
root@regocorreo:~# /etc/init.d/dovecot restart

• Restarting IMAP/POP3 mail server dovecot

nota: ya que en este manual se encuentran 2 formas de descargar los
correos con las plataformas dovecot y courrrier/imap no se deben
crear confusiones, simplemente se quieren mostrar las alternativas que
mejor se acomoden a sus criterios. No esta demas destacar que corier­
imap fue de nuestra preferencia como se describira mas adelante.
 

6.2 INSTALACION Y CONFIGURACION DE COURIER­IMAP
Courier es otro servidor de POP e IMAP, que nos permite acceder a los
correos ya sea para visualizarlos remotamente o para descargarlos.

La diferencia principal de Courier con respecto de Dovecot es el formato
de almacenamiento, ya que el formato de Courier es MAILDIR almacena  los
correos en ficheros disitntos con nombres unicos.

Esto es una ventaja con respecto de Mailbox, ya que se accedera a los
correos mas facilmente y en caso de que se llegase a borrar un fichero
de estos, solo se perderia este mensaje en cambio mailbox al almacenar
todos los correos en un unico archivo por usuario es mas suceptible a
daños y el proceso de lectura de los correos, es mas lento.

Lo primero que haremos sera instalar Courier con los protocolos pop e
imap.

Si tenemos instalado otro servidor de protocolos de Pop e Imap, podremos
tener conflictos con este, ya que los puertos por los que trabajas estos
protocolos son siempre los mismos sin importar con que servidor lo
estemos haciendo.

Para comprobar que no este corriendo ningun protocolo, hacemos la prueba
con telnet a los puertos

root@regocorreo:~# telnet 127.0.0.1 110 (Comprobar que Pop no


este corriendo)

Trying 127.0.0.1...
telnet:  Unable to connect to remote host: Connection refused

root@regocorreo:~# telnet 127.0.0.1 143 (Comprobar que Imap no


este corriendo)

Trying 127.0.0.1...
telnet:  Unable to connect to remote host: Connection refused
Ahora que sabemos que ninguno de estos 2 protocolos esta funcionando,
procedemos con la instalacion de Courier­imap

NOTA:Si tenemos instalado algun servidor de POP e IMAP, podriamos tener
conflictos y  producir errores al tratar de correr el servicio,  lo
recomendable es desinstalarlo.

root@regocorreo:~# apt­cache search courier
(Buscamos en la cache que se encuentren los paquetes respectivos de
Courier)
 

root@regocorreo:~# apt­get install courier­imap

Despues de que instalemos este paquete, vamos al archivo principal de
Postfix y lo editamos de manera que pueda almacenar los correos en el
formato Maildir.

root@regocorreo:~# cd /etc/postfix/
root@regocorreo:~# nano main.cf

Al final de este archivo,  agregamos esta lineas:

home_mailbox = Maildir/g
mail_spool_directory = /var/spool/mail/

Y buscamos esta variable dentro del archivo para comentarla.

#mailbox_command = procmail ­a "$EXTENSION"

La verdad, esta variable no se encontro Entonces lo que se hizo fue
agregarla y comentarla. (omitir sino es necesario)

Ahora lo que haremos sera crear un fichero con las base de datos de los
usuarios del sistema, ya que  la autenticacion que haremos sera contra
Pam...

root@regocorreo:~# cd /etc/courier
root@regocorreo:~# pw2userdb > userdb
 

esto creara un archivo donde se encuentran todos los usuarios del
sistema.

Y por seguridad borramos todos los usuarios, exeptos los del sistema.

Tras guardar userdb, le cambiamos los permisos y generamos el fichero de
contraseñas

root@regocorreo:~# chmod 700 userdb
root@regocorreo:~# makeuserdb

Ahora editaremos unas opciones en el archivo principal de courier­imap,
para que pueda funcionar el demonio.

root@regocorreo:~# cd /etc/courier
root@regocorreo:~# nano imapd

IMAP_MAILBOX_SANITY_CHECK=0
(Cambiamos el 1 por un 0)

y comprobamos que esta opcion si este, y que se encuentre descomentada.
IMAP_MAILBOX_SANITY_CHECK=0
luego de esto, gurdamos los cambios y salimos.

Ahora pondremos el metodo de autenticacion que sera atraves de PAM

root@regocorreo:~# nano authdaemonrc

Buscamos la siguiente linea, y nos aseguramos que dentro de las comillas
 

se encuentre el metodo de autenticacion.

authmodulelist="authpam"

Ahora reiniciamos el servicio para que cargue los cambios efectuados, y
comprobar que no existen errores.

root@regocorreo:~# /etc/init.d/courier­imapd restart
* Stopping Courier IMAP server... ¨{ OK }
* Startinf Courier IMAP server...  { OK }

root@regocorreo:~# /etc/init.d/courier­authdaemon restart
* Stopping Courier IMAP server... ¨{ OK }
* Startinf Courier IMAP server...  { OK }

root@regocorreo:~# telnet 127.0.0.1 143

Ahora podemos probar la recepcion de correos atraves de IMAP, los
correos atraves de un MUA, como puede ser Thunderbird o Evolution.
 

7. CONFIGURAR EL MDA
7.1EVOLUTION
Evolution es un Software MDA que viene por defecto instalado en nuestro
sistema operativo linux.
Para probarlo cerramos sesion y nos logueamos como un usuario del
sistema.

Vamos al menu aplicaciones/internet/correo de evolution/

Al abrirlo por primera vez, tendremos que llenar cada uno de los campos
requeridos

Iniciaremos el asistente de configuracion de Evolution

Inicia el asistente de configuracion de Correo de Evolution
Siguiente

aquí llenaremos los siguientes campos:

Nombre Completo: Lucas Zuluaga
Direccion de correo­e: regocorreo@lucas.com

Responder a: regocorreo@lucas.com
 

Recepcion de Correo

Esta sera la forma atraves de la cual queremos recibir los correos....Ya
sea localmente, o atraves de los protocolos POP3 e IMAP.

Nota: Para esto debemos tener en cuenta que tendremos que instalar el
servidor para pop3 o imap(Dovecot), que lo realizamos en el paso
anterior.
 

Al seleccionar como servidor para la recepcion de correo a IMAP,
tendremos que llenar los campos de configuracion respectiva.

Configuracion:

servidor: 192.168.1.1 (Direccion IP servidor IMAP)

Usuario : regocorreo@lucas.com (Usuario que recibira los correos


atraves de este servidor)
 

Opciones de recepcion

Comprobar si hay correos cada:  (OK) 1 minuto
Comprobar si hay mensajes en todas las carpetas:  (OK)

Opciones de Envio de Correo
 

Tipo de servidor: SMTP
Servidor: 192.168.1.1 (L direccion Ip del equipo donde se encuentra
instalado el servidor, en nuestro                       caso
utilizaremos la direccion Ip que tenemos en nuestro equipo.)
 

Seleccionamos el pais donde nos encontramos, y listo.
Damos OK para finalizar.

Y de inmediato entramos al entorno de Correo Evolution.

Lo primero que nos pedira, sera que nos loguiemos, y esto sera atraves
del mecanismo de autenticacion PAM, que guarda los registros en el
sistema local.

Nota: Mas adelante utilizaremos otros mecanismos de autenticacion como
son SASL.

Nos logueamos introduciendo el password respectivo al Usuario regocorreo

Ahora ya podremos ingresar al entorno Evolution para administrar
nuestros correos de una forma mas amigable para el usuario.
 

Ahora lo que haremos sera mandar un correo a el mismo usuario, para
verificar que los servidores para el envio y la recepcion estan
funcionando perfectamente.

Damos click en la parte superios izquierda, donde dice NUEVO.

Nos saldran varias opciones, pero elegimos Mensaje de correo.
Nota: (una forma mas rapida es presionar simultaneamente las teclas
Ctrl+N)

Ahora nos saldra una ventana donde escibiremos el destinatario al que
queremos que le llegue el correo.

El asunto del mensaje que viene siendo como el tema al que se refiere.

Y en la parte de abajo, en el espacio en blanco podremos escribir El
mensaje como tal.

Y Para finalizar damos clic en Enviar/Recibir que se encuentra en la
parte superior izquierda, al lado de Nuevo.
Con esto, enviamos el correo y esperamos a que llegue a nuestro buzon.
 

Damos clic en Bandeja de Entrada y vemos que el mensaje ha llegado con


éxito.

Nota:  ya   que   en   este   manual   se   encuentran   2 


clientes de  correos con las plataformas evolution 
y   thunderbind   no   se   deben   crear   confusiones, 
simplemente   se   quieren   mostrar   las   alternativas 
que   mejor   se   acomoden   a   sus   criterios.   No   esta 
demas   destacar   que   evolution   fue   de   nuestra 
preferencia como se describirá mas adelante.
 

7.2 THUNDERBIRD

Thunderbird es un MUA (Agente Usuario de Correo),  o dicho en otras
palabras es un cliente,  que nos permite conectarnos a un servidor y
tener acceso a nuestros correos.

Thunderbird es un software diseñado por la familia de Mozilla, por eso
su nombre final es Mozilla­Thunderbird, es muchisimo mas liviano que
otros clientes de correo y soporta multiples plataformas. Ademas que es
Software Libre.

Una de las ventajas principales de este Software, es el Filtro Anti­spam
que trae por defecto, por lo que permite analizar cada correo ya sea
recibido o enviado.

Lo primero que haremos sera buscar en la cache de los repositorios, que
este paquete si se encuentre, para proceder con su instalacion.

root@regocorreo:~ # apt­cache search mozilla­thunderbird
mozilla­thunderbird­enigmail ­ Transitional package for enigmail
mozilla­thunderbird­bidiui ­ BiDirectional support for Icedove
mozilla­thunderbird ­ Transition package for mozilla­thunderbird rename
mozilla­thunderbird­dev ­ Transition package for mozilla­thunderbird
rename

Ahora que sabemos que nuestro paquete se encuentra en los repositorios,
procedemos a instalarlo.

root@regocorreo:~# apt­get install mozilla­thunderbird

Despues de haber instalado el paquete, podemos acceder a Thunderbird de
la siguiente manera:

Dando clic en el menu Aplicaciones / Internet / Mozilla Thunderbird
Mail/News

E iniciamos el Asistente, para crear una cuenta de correo.
 

Seleccionamos Email Account (cuenta de correo), Y damos clic en Next.


 

Ahora llenaremos los campos de Identidad que nos piden:

Your Name = Lucas Zuluaga
(Nombre con el que queremos que aparezca nuestro Usuario)

Email Address = new@lucas.com
(Indicamos una cuenta de correo­electronico)

Damos  clic en Next para continuar


 

Ahora seleccionaremos que tipo de protocolo para acceder a los mensajes
utilizaremos, para nuestro caso utilziaremos IMAP.

Incoming Server = 192.168.1.1
(Nombre del Servidor de IMAP o la direccion IP , que tiene el servidor)

Damos click en Next para continuar con el proceso de configuracion de la


cuenta.
 

Ahora escribimos el nombre con el que queremos que aparezca nuestro
servidor de correo.

Ahora damos click en Nex t, para ver en la configuracion, si los


parametros que pusimos fueron los correctos

Y ahora damos clic en Finish, para finalizar el asistente de


configuracion de una cuenta de correo electronico
 

8. AUTENTICACION ATRAVES DE SASL
SASL Son las siglas de Simple Authentication and Security Layer que
viene siendo en español (capa de seguridad y autenticación simple).

Es un protocolo de la capa de la capa de aplicación que permite a un
protocolo como IMAP o PO3 la autenticacion.

Este mecanismo funciona mas o menos de la siguiente manera, un cliente
MUA se conectara al servidor de correo, el usuario tendra que validarse
a este servidor por medio de sasl antes de poder sacar un correo.

Lo primero que haremos sera entrar al archivo principal de postfix:

root@regocorreo:~# nano /etc/postfix/main.cf

Al final de este archivo ingresamos las siguientes lineas:

smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =permit_sasl_authenticated,reject
smtpd_sasl_authenticated_header = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtp_sasl_auth_enable = no
smtpd_sasl_security_options =

smtpd_sasl_auth_enable = yes
(Permitiremos la autenticacion por medio de Sasl)

smtpd_recipient_restrictions =permit_sasl_authenticated,reject
(Esto quiere decir que permitiremos que se envien correos, despues de
que hallan sido validados a traves de Sasl)

smtpd_sasl_authenticated_header = yes
(Si queremos agregarle una cabezera a sasl)

smtpd_sasl_type = dovecot
(El tipo de servidor que tenemos para la recepcion de correo,  con el
cual queremos que se auntentica para poder enviar/recibir correos)

smtpd_sasl_path = private/auth
(Modo cliente )

smtp_sasl_auth_enable = no
(Si soporta la auth en modo cliente, le decimos que NO, ya que dovecot
no soporta esta autenticacion)

Nota: Dovecot solo soporta la autenticacion en modo servidor, que es la
que permite que un usuario se conecte al servidor, se valide hacia este
para poder descargar los correos)

smtpd_sasl_security_options = (En este campo, podremos adicionar
opciones para la securidad de sasl, si dejamos este campo en blanco,
sasl tomara los valores que tiene por defecto)
 

Al terminar de ingresar estas opciones reiniciamos el servidor para que
cargue los nuevos cambios efectuados.

root@regocorreo:~# /etc/init.d/postfix restart

Ahora probaremos la validacion. Lo haremos atraves de base64

Nota: BASE64 Es un sistema de enumeracion que utiliza un sistema de
codificacion para los correos electronicos y otras aplicaciones.

root@regocorreo:~# printf “\0%s\0%s” new 123 | base64

Donde:

printf “\0%s\0%s” = Es la forma para generar una clave codificada.

New = usuario del sistema

123 = Es el password del usuario new

base64 = Es un sistema para la codificacion de los datos, aunque podemos
utlizar otros.

Con esto nos damos cuenta que el MTA (Postfix) Esta validando los
usuarios de una manera codificada atraves de sasl.

El metodo de cifrado, es en texto plano, pero a medida que vayamos
avanzando con este manual, le adicionaremos complementos de seguridad.
 

Ahora le damos clic en ENVIAR/RECIBIR

Y nos debera de salir un menu de Autenticacion para ENVIAR el correo.
 

Nos loguemaos para poder enviar el correo.
 

8. TLS PARA POSTFIX
TLS Transport Layer Security (Seguridad de la Capa de Transporte), Es un
protocolo de la capa de transporte que permite que la comunicación de un
extremo a otro sea segura, ya que el mensaje viajara encriptado lo que
la hace segura de escucha(eavesdropping), falsificacion de la identidad
y (phishing).

Lo primero que debemos de tener en cuenta es que postfix debe dede tener
soporte con TLS.

Por defecto en la distribucion Ubuntu 8.04 postfix trae por defecto


postfix­tls openssl

Lo primero que haremos sera crear un certificado digital , que es un


documento que certiica el vinculo de un canal seguro entre un cliente y
un servidor por un canal seguro.

root@regocorreo:~# openssl req ­new ­x509 ­nodes ­out certificado.pem
­keyout postfix.pem ­days 3000

certificado.pem = Nombre que le daremos a nuestro certificado con la
extension.pem

keyout postfix.pem = integracion con postfix

days = Dias que tedra vigencia nuestro certificado, ponemos los dias que
creamos pertinentes.
 

El certificado ha sido creado.

Para verificarlo vamos a las siguiente ruta, donde quedaran alojados:

root@regocorreo:~# cd/etc/ssl/
certificado.pem cert  openssl.cnf postfix.pem private

Abrimos el archivo certificado.pem y veremos algo asi:
 

Ahora editaremos el archivo prinicipal de configuracion de postfix para
incluir el soporte con TLS.

root@regocorreo:~# nano /etc/postifx/main.cf

En este archivo agregremos las siguientes lineas:

# TLS Parameters

smtpd_tls_cert_file=/etc/ssl/certificado.pem
smtpd_tls_key_file=/etc/ssl/postfix.pem

smtp_use_tls = yes

smtp_tls_loglevel = 0

smtp_tls_session_cache_timeout = 3600s

smtp_tls_note_starttls_offer = yes

smtp_starttls_timeout = 300s
 

Donde:

smtpd_tls_cert_file=/etc/ssl/certificado.pem
(Ruta donde se encuentra el certificado que anteriormente creamos)
situacion de la clave publica

smtpd_tls_key_file=/etc/ssl/postfix.pem
(Ruta donde se encuentra las claves .pem del certificado digital)
situación de la clave privada (en los ficheros .pem, ambas están juntas

smtp_use_tls = yes
(debemos  utilizar TLS siempre que se pueda, le decimos que YES)

smtp_tls_loglevel = 0
nivel de log. Poner 2 hasta que todo funcione bien

smtp_tls_session_cache_timeout = 3600s
tiempo de validez de las claves

smtp_tls_note_starttls_offer = yes
aviso de conexión TLS

smtp_starttls_timeout = 300s
tiempo máximo del intercambio de claves
(Los parametros de los tiempos de conexión de TLS)
 

root@regocorreo:~# /etc/init.d/postfix restart

Reinciamos el servidor de correo Postfix, para que cargue los cambios
efectuados..

Ahora podremos enviar correos con mayor seguridad, ya que el mensaje
viajara encriptdo con un alto nivel de seguridad, de manera que solo el
destinatario podra ver el correo.

Nota: En la configuracion de los mda como Evolution o thunderbird


podremos seleccionar que cifre el trafico por medio de TLS.

Y para mayor seguridad, podremos ver los paquetes como viajan, atraves
de un Snnifer que es un analizador de protocolos.
 

9. INSTALACION Y CONFIGURACION DE OPENLDAP
es un protocolo a que permite el acceso a un Servicio de Directorios
ordenado y distribuido para estructurar la información en un entorno de
red.

Este manual, esta dedicado a OPENLDAP, que es una implementación libre
del protocolo que soporta múltiples esquemas por lo que puede utilizarse
para conectarse a cualquier otro LDAP, como lo es Mandriva Directory
Server , Fedora Directory Server o Red Hat Directory Server.

Ahora lo que realizaremos sera buscar en la cache de nuestros
repositorios, que si se encuentren los paquetes necesarios para la
instalacion de OpenLdap.

root@regocorreo:/# apt­cache search ldap­utils
ldap­utils ­ OpenLDAP utilities

root@regocorreo:/# apt­cache search migrationtools
migrationtools ­ Migration scripts for LDAP

root@regocorreo:/# apt­cache search slapd
slapd ­ OpenLDAP server (slapd)
slapd­dbg ­ Debugging information for the OpenLDAP server (slapd)

Ahora que sabemos que todos los paquetes se encuentran en la cache de
los repositorios, podremos instalarlos.

root@regocorreo:/# apt­get install ldap­utils
root@regocorreo:/# apt­get install migrationtools

root@regocorreo:/# apt­get install slapd

Al instalar este paquete de slapd. Nos pedira una contraseña para el
administrador, pero es opcional ponerla ya que mas adelante
configuraremos los parametros basicos y en ellos se incluye la
contraseña.

Luego de que tenemos instalado estos paquetes, iniciaremos la
configuracion.

root@regocorreo:/# dpkg­reconfigure slapd

De inmediato iniciara el asistente para la configuracion de slapd.
 

Le decimos que NO...ya que queremos configurar los parametros basicos de
openldap.
 

Escribimos el dominio, para que OpenLdap construya la base DN.
 

El nombre de nuestra organización, puede ser nuestro dominio.
 

Escribiremos una contraseña de administrador, de manera que en el
momento de efectuar algun cambio, debemos de estar logueados como el
administrador.
 

Ahora le diremos que el motor de la base de datos que uilizaremos sera
de tipo BDB  por ser un motor de búsqueda  relacional y nos permite realizr consultas en la base de datos de manera mas 
rápida con el mismo diseño de ldap, en conclusión se escoge esta cuando se necesita que el proceso de lectura sea mas
rápido que el de escritura.  
 

Nos pregunta que si deseamos borrar la base de datos cuando purgemos el
paquete Slapd.

Le respondemos que no, para permitir que la base de datos quede presente
en el momento de eliminar el paquete de instalacion.
 

Le decimos que si, ya que no tenemos una base de datos configurada,
porque apenas la vamos a crear.
 

Nos preguntara que si queremos que instale LDAPV2. Le respondemos que
NO, ya que no sera necesario porque todos los protocolos y servicios que
tenemos instalados tienen soporte con ldapv3.

ahora realizamos la respectiva configuración para que el Servidor use la
autenticación de LDAP.

Instalamos los paquetes necesarios, para poder llevar a cano esta
operación.

Primero que todo, comprobamos en la cache de los repositorios, que se
encuentren los paquetes.

root@regocorreo:~# apt­cache search auth­client­config
auth­client­config ­ pam and NSS profile switcher

root@regocorreo:~# apt­cache search libnss­ldap
libnss­ldap ­ NSS module for using LDAP as a naming service
libpam­ldap ­ Pluggable Authentication Module allowing LDAP interfaces
libnss­ldapd ­ NSS module for using LDAP as a naming service
libpam­ccreds ­ Pam module to cache authentication credentials
nss­updatedb ­ Cache name service directories in DB format

root@regocorreo:~# apt­cache search libpam­ldap server
libpam­ldap ­ Pluggable Authentication Module allowing LDAP interfaces
ldapscripts ­ Add and remove user and groups (stored in a ldap
directory)
 

libpam­ccreds ­ Pam module to cache authentication credentials
nss­updatedb ­ Cache name service directories in DB format

Ahora podemos instalar los paquetes.

root@regocorreo:~# apt­get install auth­client­config  libnss­ldap

root@regocorreo:~# apt­get install libpam­ldap

Cuando estemos instalando este ultimo paquete, nos pedira una
configuracion que a continuacion explicaremos.

Ldap server uniform resource identifier

ldapi://127.0.0.1/

distinguised name of the search base

dc=lucas,dc=com

ldap version to use

make local root database admin

si

does the ldapdatabase requiere login

no

ldap account for root

cn=admin,dc=lucas,dc=com

(Este sera el usuario principal de Ldap)

Ldap root account password

#############

Configuracion de ldap.conf

root@regocorreo:~# cd /etc/ldap.conf
root@regocorreo:~# nano ldap.conf

Entramos al archivo principal de ldap, y modificaremos los siguientes
campos.

Nota: Estos campos varian de acuerdo a la configuracion de la direccion
IP, y del dominio que se tenga instalado en la maquina.

#host 127.0.0.1
host 192.168.1.1
 

base  dc=lucas,dc=com

uri  ldapi://127.0.0.1/

rootbinddn cn=admin,dc=lucas,dc=com

port  389

bind_policy_soft

Ahora copiamos los archivos

root@regocorreo:~# cp /etc/ldap.conf  a  /etc/ldap/ldap.conf

Luego creamos un archivo de configuracion para la autenticacion.

root@regocorreo:~# cd  /etc/auth­client­config/profile.d/
root@regocorreo:~# touch open_ldap

E ingresamos las siguientes lineas:

[open_ldap]
nss_passwd=passwd: compat ldap
nss_group=group: compat ldap
nss_shadow=shadow: compat ldap
pam_auth=auth      required    pam_env.so
auth      sufficient  pam_unix.so likeauth nullok
auth      sufficient  pam_ldap.so use_first_pass
auth      required    pam_deny.so
pam_account=account    sufficient  pam_unix.so
account    sufficient  pam_ldap.so
account    required    pam_deny.so
pam_password=password  sufficient  pam_unix.so nullok md5 shadow use_authtok
password  sufficient  pam_ldap.so use_first_pass
password  required    pam_deny.so
pam_session=session    required    pam_limits.so
session    required    pam_mkhomedir.so skel=/etc/skel/
session    required    pam_unix.so
session    optional    pam_ldap.so

Ahora lo que haremos, sera habilitar la auntenticacion de ldap.

root@regocorreo:~# auth­client­config ­a ­p open_ldap

ahora reiniciaremos el servidor, para que cargue los cambios efectuados,
y comprobar que no tenemos errores.

root@regocorreo:~# /etc/init.d/slapd restart
 

10. SOFTWARE DE ADMINISTRACION DE LDAP
LAT (Ldap Admin Tools)
Es de una formidable herramienta para la administración de LDAP. Ideal
para administrar graficamente toda la unidad del directorio.

descargamos este software desde:

http://www.ldapsoft.com/ldapadmintool.html

ahora instalaremos el software; Buscamos la ruta donde este se encuentra

root@regocorreo:~# ./ldapAdminTool­2.4.x­Linux­x86­Install.bin

E iniciaremos la instalacion.

Abrimos el software por primera vez

Lo primero que haremos sera crear una nueva conexión, entre este
software (Ldap Admin Tools) y OpenLdap.
 

Connection Name = conexión LDAP
(Este sera el nombre que le queremos dar a la conexión)

Hostname = 127.0.0.1
(En esta opcion podemos ingresar el nombre del equipo donde se encuentra
ldap, o la direccion IP de este. Para nuestro caso utilizaremos la
direccion 127.0.0.1 ya que ldap se encuentra instalado y configurado en
nuestro equipo local)

port = 389
(El puerto por el cual se realizara la conexión. 389 viene por defecto)

protocol = LDAP v3
( Este sera el protocolo que utilizara ldap... Podemos utilizar la
version2 o la version3.

Base DN = dc=lucas,dc=com
(Esta es la base de como esta conformado nuestro dominio, ya que es
lucas.com y se define como dc=lucas y el .com que sera dc=com)

por ultimo testeamos que se encuentre la conexión activa con ldap, para
poder ingresar y realizar los cambios que queramos.
 

Ahora definiremos los parametros de autenticacion.

• Simple Authentication

y los parametros seran:

Bind DN = cn=admin,dc=lucas,dc=com
(El usuario administrador de ldap, sera admin y ponemos la base de
nuestro dominio.)

Password = **************
(Este sera el password que anteriormente habiamos definido para el
usuario admin)

Y comprobamos que las credenciales sean validas.
 

Estas son algunas de las opciones de la conexión que podemos modificar.

Y para finalizar damos clic en Finish.
 

En este momento ya tenemos una conexión establecida entre LAT y
OPENLDAP.
 

11. INTEGRACION DE OPENLDAP CON POSTFIX
Ahora lo que haremos sera integrar OpenLdap con Postfix.

Lo primero que haremos sera instalar el paquete que nos brinda el
soporte entre ldap y postfix.
Buscamos que si se encuentre el paquete.

root@regocorreo:/# apt­cache search postfix­ldap
LDAP map support for Postfix

Ahora podemos instalar el paquete

root@regocorreo:/# apt­get install postfix­ldap

Lo primero que haremos sera crear la estructura(Schema) para poder
realizar usuario y grupos virtuales para el servidor de correo,
validandose contra OpenLdap.

root@regocorreo:/# cd /etc/ldap/
root@regocorreo:/# nano slapd.conf

Adicionaremos un nuevo schema

Include /etc/ldap/schema/postfix.schema

Ahora vamos a esta ruta y creamos un fichero que contendra el nuevo
schema.

root@regocorreo:/# cd /etc/ldap/schema/
 

root@regocorreo:/# touch postfix.schema

y agregaremos los siguientes esquemas

# Extensions to support Postfix MTA using Openldap experimental OID's
attributetype ( 1.3.6.1.4.1.15347.2.102
NAME 'transport'
SUP name)

attributetype ( 1.3.6.1.4.1.15347.2.101
NAME 'mailRoutingAddress'
SUP mail )

attributetype ( 1.3.6.1.4.1.15347.2.110 NAME 'maildest'
DESC 'Restricted to send only to local network'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )

attributetype ( 1.3.6.1.4.1.15347.2.111 NAME 'mailaccess'
DESC 'Can be mailed to restricted groups'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )

attributetype ( 1.3.6.1.4.1.15347.2.100
NAME ( 'maildrop' )
DESC 'RFC1274: RFC822 Mailbox'
EQUALITY caseIgnoreIA5Match
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )

attributetype ( 1.3.6.1.4.1.10018.1.1.1 NAME 'mailbox'
DESC 'The absolute path to the mailbox for a mail account in a non­default
location'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE­VALUE )

objectclass ( 1.3.6.1.4.1.15347.2.1
NAME 'mailUser'
DESC 'E­Mail User'
SUP top
AUXILIARY
MUST ( uid $ mail $ maildrop )
MAY ( cn $ mailbox $ maildest $ mailaccess )
)

objectclass ( 1.3.6.1.4.1.15347.2.2
NAME 'mailGroup'
DESC 'E­Mail Group'
SUP top
STRUCTURAL
MUST ( cn $ mail )
MAY ( mailRoutingAddress $ member $ description )
)

objectclass ( 1.3.6.1.4.1.15347.2.3
NAME 'transportTable'
DESC 'MTA Transport Table'
SUP top
STRUCTURAL
MUST ( cn $ transport )

)
 

Si comprendemos la sintaxis de este schema, podemos adicionar definiciones a
esta estructura.

Despues de haber creado el archivo con el esquema, vamos al archivo principal de
Postfix y agregamos las siguientes lineas, que nos permitira crear usuarios
virtuales con OpenLdap e integrarlos facilmente a postfix.

root@regocorreo:/# nano /etc/postfix/main.cf

# LDAP settings

virtual_maps = ldap:ldapgroups, ldap:ldapalias

ldapgroups_server_host = localhost
ldapgroups_server_port = 389
ldapgroups_search_base = ou=Groups,dc=lucas,dc=com
ldapgroups_bind = no
ldapgroups_timeout = 30
ldapgroups_query_filter = (&(mail=%s)(objectclass=mailGroup))
ldapgroups_special_result_attribute = member

ldapalias_server_host = localhost
ldapalias_server_port = 389
ldapalias_search_base = ou=Users,dc=lucas,dc=com
ldapalias_bind = no
ldapalias_timeout = 30
ldapalias_query_filter = (&(mail=%s)(objectclass=mailUser))
ldapalias_result_attribute = maildrop

transport_maps = ldap:ldaptransport

ldaptransport_server_host = localhost
ldaptransport_server_port = 389
ldaptransport_search_base = ou=Transport,dc=lucas,dc=com
ldaptransport_bind = no
ldaptransport_timeout = 30
ldaptransport_query_filter = (&(cn=%s)(!(cn=server.mydomain.com))
(objectclass=transportTable))

ldaptransport_result_attribute = transport

para decirle a postfix sobre LAS CUENTAS VIRTUALES;  del parametro mydestination quito el dns local y
dejamos el nombre de equipo una , y localhost: debajo de esta linea adicionamos el
parametros:

– virtual _mailbox_domains=lucas.com
– virtual_mailbox_base=/vmail/correos (aquí es  donde almaceno los correos )
– virtual_mailbox_maps=ldap:/etc/postfix/ldap.conf (aquí es donde se hace las
consultas de ldap)
– virtual_uid_maps= stactics:5000
– virtual_gid_maps=stactics:500 0  (en estas dos ultimas lineas estamos
especificando el usuario/grupo virtual admin y los buzones para estos).

Es obvio que debemos tener este usuario ya creado
– useradd ­m ­d /vmail ­s /bin/false ­U ­u  5000 vmail (vmail es el nombre de usuario, Este usuario y grupo tendrán el mismo UID
y GID 5000 se uso un numero alto para no interferir con las cuentas locales.)
con sus respectivo directorio

Transportes: la definición de la fuente LDAP que usaremos es la de transport, la cual define el transporte
root@regocorreo:/# mkdir /vmail/correos  chown 5000:5000 /vmail/correos.
para los dominios. Postfix usa el transporte para determinar que sigue hacer con los correos una vez
recibidos. Sin embargo también podría ser usado el transporte "virtual". En este caso se usa el filtro para
buscar el nombre de el dominio, ver que este activo y que no tenga el valor de delete a FALSE. El
resultado que buscaremos es postfixTransport, que sera configurado para que siempre tenga el valor de
maildrop.

Cuentas virtuales: la 2da y 3ra línea son parámetros que se usan para decirle donde esta la base de el
repositorio de los correos virtuales. y la otra para decirle cual es la fuente LDAP donde buscaremos la
ruta de el buzón de el correo, recordemos que en la fuente LDAP "accounts" se obtiene como parámetro
"mailbox". Las siguientes configuraciones se usan para definir el UID y GID de el usuario vmail, y el
parámetro "virtual_minimum_uid" significa que uid mínimos a el 5000 serán rechazados y el mensaje
sera "deferred". Todos estos parámetros están completamente documentados en los archivos
README_FILES/VIRTUAL_README que vienen con las fuentes de Postfix.

También necesitamos editar el parámetro "local_recipient_maps" para que también busque en


"virtual_mailbox_maps" de manera que Postfix sepa quien es un usuario en el servidor de correo y quien
no. Adicionando lo siguiente:

local_recipient_maps = proxy:unix:passwd.byname, $alias_maps, $virtual_mailbox_maps

También usaremos el parámetro:

show_user_unknown_table_name = no
se uso se
unuso
numero
un numero
alto para
altonopara
interferir
no interferir
con lascon las
 

Despues de haber adicionado estas lineas reinicamos OpenLdap, para que
carguen los nuevos cambios efectuados y sercionarnos de que no hallan
errores

Nota: Cada vez que reiniciemos algun servicio, verifiquemos en los Logs
pertinentes  que no existen errores.

root@regocorreo:/# /etc/init.d/postfix restart
root@regocorreo:/# /etc/init.d/slapd restart
(Slapd se demorara un poco más para reiniciarse ya que apenas esta
integrando los nuevos cambios realizados)

12. SERVIDOR ANTIVIRUS Y ANTISPAM

Es muy importante tener un buen sistema antivirus y antispam, ya que el
correo electronico es uno de los medios (El mayor diria yo) por donde se
transmiten virus y demasiado spam.

Primero empezaremos configurando el servidor antispam, utilizaremos
SpamAssasin ya que es uno de los mejores servidores antispam para
correo, y existe muy buena documentacion y soporte para este.

Lo primero que haremos sera buscar en la cache de los repositorios si
existe este paquete para ser instalado, de lo contrario actualizar
nuestros repositorios.

root@regocorreo:~# apt­cache search  spamassassin

Acontinuacion instalaremos los paquetes necesarios que necesita
Spamassassin para funcionar correctamente.

root@regocorreo:~# apt­get install spamassassin

root@regocorreo:~# apt­get install spamc

Luego crearemos un grupo con usuarios para la parte de administracion
del servidor de spam.

root@regocorreo:~# groupadd spamd (Creamos un grupo llamado spamd)

root@regocorreo:~# useradd ­g spamd ­s /bin/false ­d
/var/log/spamassassin spamd

(Creamos un usuario llamado spamd que sera miembro del grupo spamd)

ahora ya que tenemos un grupo con un usuario, reiniciamos el servicio de
spamassassin para que cargue la ultima configuracion que realizamos.

root@regocorreo:~# /etc/init.d/spamassassin restart

ERROR!!!  Es posible que nos aparezca un mensaje de error sobre el funcionamiento 
 

root@regocorreo:~# SpamAssassin Mail Filter Daemon: disabled, see /etc/
default/spamassassin

Esto quiere decir que el demonio esta deshabilitado, y por lo tanto no
puede funcionar.

root@regocorreo:~# cd /etc/default/
root@regocorreo:~# nano spamassassin

Modificamos una linea, que nos permitira activar nuestro demonio.

ENABLED=0

Modificamos el 0(Desactivado) por un 1(Activado)

ENABLED=1

Guardamos los cambios.

root@regocorreo:/etc/spamassassin# /etc/init.d/spamassassin restart
Restarting SpamAssassin Mail Filter Daemon: spamd.

Ahora tenemos el servicio  activo y corriendo.

Ahora lo que haremos sera dar una configuracion para el sistema anti­
spam, vamos al archivo principla de configuracion de spamassassin.

root@regocorreo:~# nano /etc/spamassassin/local.cf

descomentamos estas linea

rewrite_header Subject *****SPAM*****
(Este sera el encabezado que llevara el mensaje)

report_safe 1
(Le decimos que nos mande el correo de spam de manera adjunta)

required_score 5.0
(Esta es la puntuacion apartir de la cual Spamassassin reconocera un
correo como Spam o no. Por defecto viene en 5.0)

Debemos de tener cuidado con la puntuacion que le demos en el required
score.
La puntuacion va de 0 a 10.
Si la ponemos muy baja podremos tener problemas ya que correos que no
son SPAM podrian ser tratados como si lo fueran.
Si la ponemos muy alta nos tomara como correos bueno lo que en realidad
es SPAM.

La puntuacion ideal sera dejarlo entre 3.5 y 5.5

Ahora agregamos unas lineas, que evitaran que las cabeceras de los ISP
se tomen como spam.
 

bayes_ignore_header X­Upstream­Spamfilter
bayes_ignore_header X­Upstream­SomethingElse

??????????????????????????????????????????????????????????????????????
Ahora crearemos la ruta donde se encontrara el directorio de las
bayesianas, esta parte es de suma importancia
bayes_path /etc/spamassassin/bayes/bayes

Ahora creamos El directorio donde se encontraran las bayesianas.
mkdir /etc/spamassassin/bayes

Listo. Ya con esto tenemos la cofiguracion de spamassassin.

Ahora reiniciaremos el servicio para que cargue la nueva configuracion
que hemos realizado.

root@regocorreo:~# /etc/init.d/spamassassin restart
Restarting SpamAssassin Mail Filter Daemon: spamd.

Ahora lo que haremos sera integrar SPAMASSASSIN con POSTFIX

Lo que haremos sera configurar postfix para que los correos sean
analizados por el filtro antispam.

root@regocorreo:~# cd /etc/postfix/
root@regocorreo:/etc/postfix# nano master.cf

Añadiremos lo siguiente en la lineas en las opciones de smtp.

smtp    inet n      ­    ­   ­     ­    smtpd
­o content_filter=spamassassin:dummy

Esto lo que nos permitira sera integrar el servidor anti­spam con
postfix, de manera que los correos que entren o salgan sean analizados
por este servidor.
 

Y al final del fichero añadiremos estas lineas:

spamassassin unix ­ n n ­ ­ pipe user=spamd
argv=/usr/bin/spamc ­f ­e /usr/sbin/sendmail ­oi ­f ${sender} ­­
${recipient}

y ya para finalizar, reiniciamos el servidor para comprobar que no halla
errores.

root@regocorreo:/# /etc/init.d/postfix restart
 

12. ANTIVIRUS
Ahora instalaremos y configuraremos el servidor antivirus.
ClamAV es el anti­virus de correo mas utilizado y se puede integrar
facilmente con postfix(MTA)

Empezaremos entonces buscando en la cache de los repositorios si existe
este paquete para ser instalado.

root@regocorreo:~# apt­cache search  clamav

Instalaremos el servidor anti­virus clamAV.

root@regocorreo:~# apt­get install clamav

E instalaremos unos paquetes adicionales para que pueda funcionar
correctamente nuestro servidor antivirus de correo.

root@regocorreo:~# apt­get install  clamsmtp
root@regocorreo:~# apt­get install clamsmtp
root@regocorreo:~# apt­get install  clamav­freshclam

root@regocorreo:~# apt­get install  clamav­docs
(Es muy importante instalar la documentacion para clamav, ya que estos
manuales nos pueden ser de mucha ayuda)

Ahora vamos a configurar el sistema antivirus clamAV
 

root@regocorreo:~# nano /etc/clamsmtpd.conf
(Editaremos el archivo principal de configuracion)

Cambiaremos la direccion para enviar los correos, por defecto viene en
10025 y la modificamos .
OutAddress: 10026

El puerto en el que escucha el sistema antivirus
Listen: 127.0.0.1:10025

La ruta donde esta el archivo de clamd.
ClamAddress: /var/run/clamav/clamd.ctl

Pondremos un encabezado para los correos que hayan sido analizados.
Header: X­AV­Checked: ClamAV using ClamSMTP. Porporcionado por
LucasCorp.

Este sera la localización del pid
PidFile: /var/run/clamsmtp/clamsmtpd.pid

Lugar donde dejar los ficheros temporales
TempDirectory: /var/spool/clamsmtp

El usuario con el que lanzarlo
User: clamsmtp

Acción a realizar en caso de detectar virus.
VirusAction: /usr/local/bin/virusalert.sh

En este fichero crearemos un script que definira lo que hara el sistema
 

antivirus en caso de detectar un virus.
root@regocorreo:/usr/local/bin# touch virusalert.sh
root@regocorreo:/usr/local/bin# nano virusalert.sh

Le daremos permisos a este archivo.
root@regocorreo:/usr/local/bin# chmod 744 virusalert.sh

entramos a este archivo y agregamos la siguiente sintaxis:

#!/bin/sh
FROM='Sistema antivirus <antivirus@lomu.homelinux.org>'
TO=$RECIPIENTS
MAILER='/usr/sbin/sendmail ­it'
SUBJECT=`/bin/echo "El correo contiene un virus" | /usr/bin/nkf ­jMB`
$MAILER <<EOM
From: $FROM
To: $TO
Subject: =?ISO­2022­JP?B?$SUBJECT?=
Se ha detectado codigo malicioso en el adjunto que contenía el correo.
Pongase en
contacto con el administrador de su sistema LUKASCORPORATION  si está
seguro/a de que no es un virus, pida
a la persona que le envía el fichero que por favor lo ponga en un
fichero comprimido
protegido por una contraseña. Disculpe las molestias.
[Virus]
$VIRUS
[De]
$SENDER
[Para]
$RECIPIENTS
EOM
exit 0
 

Esto lo que hara sera que en caso de que clamAV detecte algun virus,
notificara de inmediato con el administrador de la red, por medio de un
correo electronico, notificando que ha detectado virus, y seran
almacenados en una boveda especial.

La ultima configuracion sera decirle a postfix que todos los correos
entrantes y salientes sean analizados por el sistema antivirus, en
nuestro caso clamAV.

root@regocorreo:/# cd /etc/postfix/
root@regocorreo:/# nano master.cf

y añadiremos al final de este archivo las siguientes lineas:

## FILTRO ANTIVIRUS
## Filtro antivirus usado por content filter
scan      unix ­     ­    n    ­     16      smtp
­o smtp_send_xforward_command=yes
­o smtp_enforce_tls=no
# Para inyectar el correo a postfix una vez analizado
127.0.0.1:10026 inet n ­      n     ­      16    smtpd
­o content_filter=
­o
receive_override_options=no_unknown_recipient_checks,no_header_body_checks
­o smtpd_recipient_restrictions=permit_mynetworks,reject
­o mynetworks_style=host
­o smtpd_authorized_xforward_hosts=127.0.0.0/8
 

Ahora iremos al archivo main.cf y agregaremos unas cuantas lineas del
filtro y el escaneo.

root@regocorreo:/# nano /etc/postfix/main.cf

content_filter = scan:[127.0.0.1]:10025

Reiniciamos para que carguen la ultima configuracion.

root@regocorreo:/# /etc/init.d/clamsmtp restart
root@regocorreo:/# /etc/init.d/postfix restart

Llegado a este punto, ya tendremos configurado postfix con un sistema de
seguridad completo como es con antivirus y antispam.

Probaremos que los mensajes sean analizados.

Enviamos un correo desde regocorreo hacia new3...alli en el encabezado
nos podremos dar cuenta de que el correo ha sido previamente escaneado.

Con lo que podemos darnos cuenta que nuestro Antivirus, ha analizado el
correo antes de que podamos abrirlo.