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 última modificación
: 10 de octubre : 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). se utiliza para 2. POP: post office transport protocol obtener/descargar los mensajes guardados en el servidor al usuario su finalidad es la misma 3. IMAP: internet message access protocol que pop aunque funciona diferente y vimos algunas ventajas como tiempos de respuesta rapida,acceso remoto a los mensajes,accesos simultaneos a multiples clientes, vigilancia en el estado del mensaje , agilidad en las busquedas, entre otras ventajas sobre el protocolo pop por lo cual nos basamos mas en IMAP. Entonces es por eso que decimos que un servidor de correo consta en realidad de dos servidores el SMTP encargado de enviar y recibir mensajes, y un servidor POP/IMAP que sera el que permite a los usuarios obtener sus mensajes; para esto los usuarios se sirven de clientes, es decir, programas que implementan un protocolo POP/IMAP que en algunas ocasiones el cliente se ejecuta en la máquina del usuario (como el caso de Mozilla Mail, Evolution, Outlook). Sin embargo existe otra posibilidad: que el cliente de correo no se ejecute en la máquina del usuario; es el caso de los clientes via web, como Hotmail,OpenWebmail o terra. En ellos la arquitectura del servicio es más compleja: el cual no aplica en este manual.
.
CONTENIDO 1.DIRECCION DE RED ESTATICA 2.CONFIGURACION DE BIND 3.INSTALACION Y CONFIGURACION DE POSTFIX 4.PROBAR MENSAJES CON MUTT 5.ALMACENAMIENTO Y TIPOS DE CORREO 5.1 DOVECOT 5.2 COURRIER 6.AUTENTICACION ATRAVES DE PAM 7. CONFIGURACION DE UN MDA 7.1 EVOLUTION 7.2 TUNDERBHIND 8.AUTENTICACION ATRAVES DE SASL 9.TLS 10.OPENLDAP 11.ADMINISTRACION DE LDAP 12.INTEGRACION POSTFIX CON OPENLDAP 13.USUARIOS VIRTUALES 14.ANTIVIRUS 15.ANTIESPAM
MANUAL DE CONFIGURACION DE SERVIDOR DE CORREO 1.DIRECCION DE RED ESTATICA
Existen en la actualidad, una gran cantidad de servdores de correo, pero para nuestro caso utilizaremos Postfix ya que es un servidor facil de manejar, es muy compatible con otro software y existe muy buena documentacion para su soporte. Para Este proyecto, utilizaremos la distribucion Lo primero que debemos tener en cuenta, es que utilizaremos una direccion IP estatica para poder realizar todas las pruebas convenientes, claro esta que modificaremos esta direccion estatica a una direccion de DHCP, para tener acceso a internet y poder descargar los paquetes que sean necesarios.
Empezaremos entonces instalando DNS (Servidor de Nombres de Dominio)
2.INSTALACION Y CONFIGURACION DE BIND Bind es el nombre del demonio de DNS recordemos que de acuerdo a la distribucion de linux se puede llamar BIND o NAMED. Instalamos el paquete de Bind9. root@regocorreo:~#
aptget 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.inaddr.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 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:~#
aptcache 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:~#
aptget 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 Alli se encontraran los archivos de configuracion. /etc/ root@regocorreo:~# cd /etc/postfix/ root@regocorreo:~# (Archivo principal de configuracion nano main.cf donde definiremos los parametros que este servidor tendra) nos dirigimos a las ultimas lineas donde se encontraran las variables a modificar: regocorreo.lucas.com myhostname (Nombre del host que tiene el servidor de correo, recuerde que este nombre debe de ser el que hemos configurado en el DNS) lucas.com mydomain (Dominio para el cual recibiremos correos electronicos)
lucas.com mydestination (Podremos recibir correos para la maquina local, donde realizaremos nuestras primeras pruebas) 192.168.1.0/24, 127.0.0.0/8 mynetworks (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:~# root@regocorreo:~#
useradd m new passwd new
Luego instalamos un software con el cual podremos enviarnos correos y comprobar. root@regocorreo:~#
Aptget install mutt
Ya tenemos listo el software para realizar pruebas. Estamos logueados como Root (SuperUsuario). En una consola root@regocorreo:~# (Para abiri el software)
mutt
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 simultaneamente, nos dira que si queremos guardar los Ctrl+X 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 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)
Y.
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 donde por cada usuario, se genera un /var/mail/ 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:~# aptcache search dovecot Buscamos que tenga Dovecot soporte para los protocolos Pop e Imap.
root@regocorreo:~# root@regocorreo:~#
aptget install dovecotimapd aptget install dovecotpop3d
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: pop3 pop3s imap protocols: (Sera el protocolo que manejara el servidor dovecot) * Listen: (Por cual puerto escuchara. Si ponemos un asterisco* es porque tomara el puerto por defecto) no disable_plaintext_auth: (Nos dice, que si queremos Deshabilitar la autenticacion es texto plano, le decimos que no, porque utilizaremos la autenticacion en texto plano) yes ssl_disable: (Si queremos deshabilitar viajaran encriptados.)
SSL Para transporte seguro ya que los datos
mbox:~/mail:INBOX=/var/mail/%u mail_location: (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 agregaremos unas lineas que nos dovecot.conf 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 COURIERIMAP 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 Courierimap 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:~# aptcache search courier (Buscamos en la cache que se encuentren los paquetes respectivos de Courier)
root@regocorreo:~#
aptget install courierimap
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 courierimap, 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/courierimapd restart * Stopping Courier IMAP server... ¨{ OK } * Startinf Courier IMAP server... { OK } root@regocorreo:~# /etc/init.d/courierauthdaemon restart * Stopping Courier IMAP server... ¨{ OK } * Startinf Courier IMAP server... { OK } root@regocorreo:~#
telnet 127.0.0.1 143
Ahora podemos probar la recepcion de correos atraves de IMAP, los correos atraves de un MUA, como puede ser Thunderbird o Evolution.
7. CONFIGURAR EL MDA
7.1EVOLUTION
Evolution es un Software MDA que viene por defecto instalado en nuestro sistema operativo linux. Para probarlo cerramos sesion y nos logueamos como un usuario del sistema. aplicaciones/internet/correo de evolution/
Vamos al menu
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: Direccion de correoe: Responder a:
Lucas Zuluaga
[email protected]
[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) Comprobar si hay mensajes en todas las carpetas: (OK)
Opciones de Envio de Correo
1 minuto
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 Ahora ya podremos ingresar al entorno Evolution para administrar nuestros correos de una forma mas amigable para el usuario.
regocorreo
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. NUEVO.
Damos click en la parte superios izquierda, donde dice Nos saldran varias opciones, pero elegimos Nota: (una forma mas rapida es presionar simultaneamente las Ctrl+N)
Mensaje de correo.
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.
teclas
Damos clic en éxito.
Bandeja de Entrada
Nota:
y vemos que el mensaje ha llegado con
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 MozillaThunderbird, 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 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:~ # aptcache search mozillathunderbird mozillathunderbirdenigmail Transitional package for enigmail mozillathunderbirdbidiui BiDirectional support for Icedove mozillathunderbird Transition package for mozillathunderbird rename mozillathunderbirddev Transition package for mozillathunderbird rename Ahora que sabemos que nuestro paquete se encuentra en los repositorios, procedemos a instalarlo. root@regocorreo:~#
aptget install mozillathunderbird
Despues de haber instalado el paquete, podemos acceder a Thunderbird de la siguiente manera: Dando clic en el menu Mail/News
Aplicaciones / Internet / Mozilla Thunderbird
E iniciamos el Asistente, para crear una cuenta de correo.
Filtro Antispam
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 correoelectronico) 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 cuenta.
Next para continuar con el proceso de configuracion de la
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 para finalizar el asistente de Finish, configuracion de una cuenta de correo electronico
8. AUTENTICACION ATRAVES DE SASL Simple Authentication and Security Layer (capa de seguridad y autenticación simple).
SASL Son las siglas de viene siendo en español
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) (En este campo, podremos adicionar smtpd_sasl_security_options = opciones para la securidad de sasl, si dejamos este campo en blanco, sasl tomara los valores que tiene por defecto)
que
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 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.
base64
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 postfixtls openssl
Ubuntu 8.04
postfix trae por defecto
Lo primero que haremos sera crear un certificado digital , 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 = extension.pem keyout postfix.pem =
Nombre que le daremos a nuestro certificado con la integracion con postfix
days = Dias que tedra vigencia nuestro certificado, ponemos los dias que creamos pertinentes.
que es un
El certificado ha sido creado. Para verificarlo vamos a las siguiente ruta, donde quedaran alojados: root@regocorreo:~# certificado.pem
cd/etc/ssl/ cert openssl.cnf
Abrimos el archivo certificado.pem y veremos algo asi:
postfix.pem
private
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 podremos seleccionar que cifre el trafico por medio de TLS.
Evolution
Y para mayor seguridad, podremos ver los paquetes como viajan, atraves de un que es un analizador de protocolos. Snnifer
o thunderbird
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:/# aptcache search ldaputils ldaputils OpenLDAP utilities root@regocorreo:/# aptcache search migrationtools migrationtools Migration scripts for LDAP root@regocorreo:/# aptcache search slapd slapd OpenLDAP server (slapd) slapddbg 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:/# root@regocorreo:/# root@regocorreo:/#
aptget install ldaputils aptget install migrationtools aptget 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:/#
dpkgreconfigure 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:~# aptcache search authclientconfig authclientconfig pam and NSS profile switcher root@regocorreo:~# aptcache search libnssldap libnssldap NSS module for using LDAP as a naming service libpamldap Pluggable Authentication Module allowing LDAP interfaces libnssldapd NSS module for using LDAP as a naming service libpamccreds Pam module to cache authentication credentials nssupdatedb Cache name service directories in DB format root@regocorreo:~# aptcache search libpamldap server libpamldap Pluggable Authentication Module allowing LDAP interfaces ldapscripts Add and remove user and groups (stored in a ldap directory)
libpamccreds Pam module to cache authentication credentials nssupdatedb Cache name service directories in DB format Ahora podemos instalar los paquetes. root@regocorreo:~#
aptget install authclientconfig libnssldap
root@regocorreo:~#
aptget install libpamldap
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 root@regocorreo:~# root@regocorreo:~#
ldap.conf 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/authclientconfig/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:~#
authclientconfig 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 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:~#
./ldapAdminTool2.4.xLinuxx86Install.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.
LDAP. Ideal
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:/# aptcache search postfixldap LDAP map support for Postfix Ahora podemos instalar el paquete root@regocorreo:/#
aptget install postfixldap
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 nondefault location' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLEVALUE ) objectclass ( 1.3.6.1.4.1.15347.2.1 NAME 'mailUser' DESC 'EMail 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 'EMail 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 (aquí es donde almaceno los correos ) virtual_mailbox_base=/vmail/correos (aquí es donde se hace las virtual_mailbox_maps=ldap:/etc/postfix/ldap.conf consultas de ldap) virtual_uid_maps= stactics:5000 0 (en estas dos ultimas lineas estamos virtual_gid_maps=stactics:500 especificando el usuario/grupo virtual admin y los buzones para estos).
Es obvio que debemos tener este usuario ya creado useradd m d /vmail s /bin/false U u 5000 vmail (vmail es el nombre de usuario, Este usuario y grupo tendrán el mismo UID – y GID 5000 se uso un numero alto para no interferir con las cuentas locales.) con sus respectivo directorio Transportes: la definición de la fuente LDAP que usaremos es la de transport, la cual define el transporte root@regocorreo:/# mkdir /vmail/correos chown 5000:5000 /vmail/correos.
para los dominios. Postfix usa el transporte para determinar que sigue hacer con los correos una vez recibidos. Sin embargo también podría ser usado el transporte "virtual". En este caso se usa el filtro para buscar el nombre de el dominio, ver que este activo y que no tenga el valor de delete a FALSE. El resultado que buscaremos es postfixTransport, que sera configurado para que siempre tenga el valor de maildrop. Cuentas virtuales: la 2da y 3ra línea son parámetros que se usan para decirle donde esta la base de el repositorio de los correos virtuales. y la otra para decirle cual es la fuente LDAP donde buscaremos la ruta de el buzón de el correo, recordemos que en la fuente LDAP "accounts" se obtiene como parámetro "mailbox". Las siguientes configuraciones se usan para definir el UID y GID de el usuario vmail, y el parámetro "virtual_minimum_uid" significa que uid mínimos a el 5000 serán rechazados y el mensaje sera "deferred". Todos estos parámetros están completamente documentados en los archivos README_FILES/VIRTUAL_README que vienen con las fuentes de Postfix. También necesitamos editar el parámetro "local_recipient_maps" para que también busque en "virtual_mailbox_maps" de manera que Postfix sepa quien es un usuario en el servidor de correo y quien no. Adicionando lo siguiente:
local_recipient_maps = proxy:unix:passwd.byname, $alias_maps, $virtual_mailbox_maps También usaremos el parámetro: show_user_unknown_table_name = no
se uso se unuso numero un numero alto para altonopara interferir no interferir con lascon las
Despues de haber adicionado estas lineas reinicamos OpenLdap, para que carguen los nuevos cambios efectuados y sercionarnos de que no hallan errores Nota: Cada vez que reiniciemos algun servicio, verifiquemos en los Logs pertinentes que no existen errores. root@regocorreo:/# /etc/init.d/postfix restart root@regocorreo:/# /etc/init.d/slapd restart (Slapd se demorara un poco más para reiniciarse ya que apenas esta integrando los nuevos cambios realizados)
12. SERVIDOR ANTIVIRUS Y ANTISPAM Es muy importante tener un buen sistema antivirus y antispam, ya que el correo electronico es uno de los medios (El mayor diria yo) por donde se transmiten virus y demasiado spam. Primero empezaremos configurando el servidor antispam, utilizaremos SpamAssasin ya que es uno de los mejores servidores antispam para correo, y existe muy buena documentacion y soporte para este. Lo primero que haremos sera buscar en la cache de los repositorios si existe este paquete para ser instalado, de lo contrario actualizar nuestros repositorios. root@regocorreo:~#
aptcache search spamassassin
Acontinuacion instalaremos los paquetes necesarios que necesita Spamassassin para funcionar correctamente. root@regocorreo:~# root@regocorreo:~#
aptget install spamassassin aptget 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:~# default/spamassassin
SpamAssassin Mail Filter Daemon: disabled, see /etc/
Esto quiere decir que el demonio esta deshabilitado, y por lo tanto no puede funcionar. root@regocorreo:~# root@regocorreo:~#
cd /etc/default/ 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 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.
required
bayes_ignore_header XUpstreamSpamfilter bayes_ignore_header XUpstreamSomethingElse ?????????????????????????????????????????????????????????????????????? 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 inet n smtpd o content_filter=spamassassin:dummy Esto lo que nos permitira sera integrar el servidor antispam con postfix, de manera que los correos que entren o salgan sean analizados por este servidor.
smtp.
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 antivirus 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:~#
aptcache search clamav
Instalaremos el servidor antivirus clamAV. root@regocorreo:~#
aptget install clamav
E instalaremos unos paquetes adicionales para que pueda funcionar correctamente nuestro servidor antivirus de correo. root@regocorreo:~# root@regocorreo:~# root@regocorreo:~#
aptget install clamsmtp aptget install clamsmtp aptget install clamavfreshclam
root@regocorreo:~# aptget install clamavdocs (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: XAVChecked: 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# root@regocorreo:/usr/local/bin# Le daremos permisos a este archivo. root@regocorreo:/usr/local/bin#
touch virusalert.sh nano virusalert.sh 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: =?ISO2022JP?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.