MANUAL DE INSTALACION Y CONFIGURACION DEL SERVIDOR DE CORREO POSTFIX
Bajo el sistema operativo:
Integrantes: Alex Zuluaga Perez Natalia Valencia Roger Olarte Fernanda Orozco Alexander Betancur 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.EVOLUTION 8.TUNDERBHIND 9.AUTENTICACION ATRAVES DE SASL 10.TLS 11.OPENLDAP 12.ADMINISTRACION DE LDAP 13.INTEGRACION POSTFIX CON OPENLDAP 14.USUARIOS VIRTUALES 15.ANTIVIRUS 16.ANTIESPAM
MANUAL DE CONFIGURACION DE SERVIDOR DE CORREO 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 Linux Ubuntu 8.04. 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)
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:~# root@regocorreo:~# configuracion)
cd /etc/bind/ nano named.conf
(Editaremos el archivo de
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:~# root@regocorreo:~# root@regocorreo:~#
cd /etc/bind/ touch directa.db 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:~# root@regocorreo:~# root@regocorreo:~#
cd /etc/bind/ touch inversa.db nano inversa.db
(Creamos el Archivo)
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 root@regocorreo:~#
correspondiente a la configuracion del servidor
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.
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.
PROBAR LOS MENSAJES Ahora probaremos enviandonos mensajes para comprobar que funcione nuestro servidor de correo. Creamos un usuario en el sistema root@regocorreo:~# root@regocorreo:~#
useradd -m new 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:
[email protected] mensaje).
(Este sera el usuario, al que queremos que llegue el
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
[email protected] 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.
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.
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.
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:~# root@regocorreo:~#
apt-get install dovecot-imapd 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 root@regocorreo:~#
dovecot.conf
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)
AUNTENTICANDO 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 3 formas de descargar los correos con las plataformas dovecot courrrier/imap y cyrus no se deben crear confusiones, simplemente se quieren mostrar las alternativas que mejor se acomoden a sus criterios. No esta demas destacar que corierimap fue de nuestra preferencia como se describira mas adelante.
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:~# este corriendo)
telnet 127.0.0.1 110
(Comprobar que Pop no
Trying 127.0.0.1... telnet: Unable to connect to remote host: Connection refused root@regocorreo:~# este corriendo)
telnet 127.0.0.1 143
(Comprobar que Imap no
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:~# root@regocorreo:~#
cd /etc/postfix/ 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:~# root@regocorreo:~#
cd /etc/courier 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:~# root@regocorreo:~#
chmod 700 userdb makeuserdb
Ahora editaremos unas opciones en el archivo principal de courier-imap, para que pueda funcionar el demonio. root@regocorreo:~# root@regocorreo:~#
cd /etc/courier 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.
CONFIGURACION DE EVOLUTION 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:
[email protected] Responder a:
[email protected]
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 :
[email protected] atraves de este servidor)
(Usuario que recibira los correos
Opciones de recepcion Comprobar si hay correos cada: (OK) 1 minuto Comprobar si hay mensajes en todas las carpetas:
Opciones de Envio de Correo
(OK)
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.
INSTALACION Y CONFIGURACION DE 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 =
[email protected] (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 Next, 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
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.
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.
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.
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
root@regocorreo:~#
apt-get install libpam-ldap
libnss-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:~# root@regocorreo:~#
cd /etc/ldap.conf 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:~# root@regocorreo:~#
cd /etc/auth-client-config/profile.d/ 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
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.
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:/# root@regocorreo:/#
cd /etc/ldap/ 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 que se haga una busqueda virtual 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:5000 (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) con sus respectivo directorio
root@regocorreo:/# mkdir /vmail/correos chown 5000:5000 /vmail/correos.
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 mas para reiniciarse ya que apenas esta integrando los nuevos cambios realizados)
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:~# OH!!! Q que paso!!!
/etc/init.d/spamassassin restart
Saco un mensaje de error.. 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 antispam, 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
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:~# root@regocorreo:~# root@regocorreo:~#
apt-get install apt-get install apt-get install
clamsmtp clamsmtp 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
' 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:/# root@regocorreo:/#
cd /etc/postfix/ 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:/# root@regocorreo:/#
/etc/init.d/clamsmtp restart /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.