Postfix
Upcoming SlideShare
Loading in...5
×
 

Postfix

on

  • 1,220 views

Postfix Manual

Postfix Manual

Statistics

Views

Total Views
1,220
Views on SlideShare
1,220
Embed Views
0

Actions

Likes
0
Downloads
43
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Postfix Postfix Document Transcript

  •   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
  • PRESENTACIONEn base al a las redes de comunicación los servicios de mensajeria hantomado una caracateristica mas propia dandole el lugar a una aplicacióncomo los son  los servidores de correo;estos nos permiten enviarmensajes de unos usuarios a otros con independencia de la red que seeste utilizando.Para lograrlo se definen una serie de protocolos, cada uno con unafinalidad: 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 enrealidad de dos servidores el SMTP encargado de enviar y recibirmensajes, y un servidorPOP/IMAP  que sera el que permite a los usuarios obtener sus mensajes;para esto los usuarios se sirven de clientes, es decir, programas queimplementan un protocolo POP/IMAP que en algunas ocasiones el cliente seejecuta en la máquina del usuario (como el caso de Mozilla Mail,Evolution, Outlook). Sin embargo existe otra posibilidad: que el clientede correo no se ejecute en la máquina del usuario; es el caso de losclientes via web, como Hotmail,OpenWebmail o terra. En ellos laarquitectura del servicio es más compleja: el cual no aplica en estemanual.
  •   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 MDA7.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%s0%s” new 123 | base64 Donde: printf “0%s0%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 3 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 OIDs 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 uso un numero alto para no interferir con las un numero alto para no interferir con 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.