• No se han encontrado resultados

Servidor de correo electr´ onico

In document Memoria Pfc Superior (página 99-104)

3. Especificaci´ on y Dise˜ no

4.2. Protocolos situados en la capa de aplicaci´on

4.2.4. Servidor de correo electr´ onico

Junto con la cuenta de usuario de los laboratorios se facilita una direcci´on de correo bajo el dominio pantuflo.escet.urjc.es (para el campus de M´ostoles) y bilo.cct.urjc.es para los usuarios con cuenta en el campus de Fuenlabrada. Esta cuenta de correo en principio es la ´unica forma de contactar con los usuarios del sistema, puesto que no disponemos de datos adicionales como direcci´on de correo de la Universidad, tel´efono, etc´etera. Por tanto, el buen funcionamiento de este servicio ser´a fundamental para mantener el contacto con los usuarios.

Relativo al servicio de correo electr´onico, se nos presentan varios objetivos para el correcto funcionamiento del servicio:

1. Instalar un servidor de correo entrante (SMTP) capaz de recoger todo el correo que llegue a los usuarios del servidor pantuflo.escet.urjc.es. Este servicio, obviamente residir´a en la m´aquina pantuflo.escet.urjc.es y ser´a gestionado por la aplicaci´on Postfix, tal y como vimos en el cap´ıtulo Estado del arte. Alternativamente, en el campus de Fuenlabrada, el correo ser´a recogido por la m´aquina bilo.cct.urjc.es.

2. Instalar un servidor de recogida de correo electr´onico, que permita a los usuarios recoger el correo electr´onico de sus buzones para descargarlos con su gestor de correo favorito. En principio, ofreceremos servicio POP328

para la recogida de correo, aunque posteriormente tambi´en se ofrecer´a la posibilidad de consultar el correo electr´onico usando el protocolo IMAP29

. Preferiblemente, es recomendable que los datos que usen estos protocolos viajen de forma segura, es decir, haciendo uso de una capa de cifrado SSL. Es por ello que una vez que se ha configurado el servidor de recogida de correo para servir v´ıa POP e IMAP y se ha comprobado el correcto funcionamiento del mismo, pasaremos a habilitar el soporte POP3s e IMAPs (variantes de los mismos protocolos en su versi´on SSL) y quedar´a desactivado los protocolos POP3 e IMAP en versi´on texto claro. Esto garantizar´a a los usuarios una mayor seguridad y privacidad de los datos que intercambian con el servidor.

28

POP son las siglas de Post Office Protocol

29

IMAP son las siglas de Internet Message Access Protocol

4.2. PROTOCOLOS SITUADOS EN LA CAPA DE APLICACI ´ON

3. Alternativamente, vamos a ofrecer a los usuarios la posibilidad de consultar su correo a trav´es de un webmail. De esta forma siempre podr´an consultar sus correos en cualquier momento, ´unicamente teniendo acceso a un navegador web.

Comentaremos a continuaci´on como conseguimos realizar cada uno de los hitos planteados en esta secci´on.

Entrega de correo electr´onico (SMTP)

Para dotar al sistema de un servidor que recoja el correo electr´onico dirigido a la m´aquina pantuflo.escet.urjc.es instalaremos la aplicaci´on Postfix. Postfix es un servidor de entrega de correo muy potente y muy sencillo de configurar al mismo tiempo. Como nuestro sistema en principio no tiene grandes pretensiones m´as que la de simplemente recoger el correo y entreg´arselo a los usuarios, nos decantaremos por esta opci´on.

La instalaci´on de Postfix es muy sencilla en m´aquinas basadas en el sistema de paquetes de Debian. En concreto, para la instalaci´on del mismo, ejecutaremos

Listado 4.52: Instalaci´on de la herramienta postfix usando apt-get

$ apt - get install postfix

El paquete solicitar´a configuraci´on adicional. No obstante, la configuraci´on es muy sencilla. Configuraremos el gestor como:

Sitio de Internet, capaz de recoger correo dirigido al dominio que nos ocupa (pantuflo.escet.urjc.es para el campus de M´ostoles y bilo.cct.urjc.es para el campus de Fuenlabrada).

El dominio para el cual debe aceptar correo suele ser localhost para el correo local de la propia m´aquina, localhost.localdomain como extensi´on al anterior, y por ´ultimo, el dominio visible desde Internet, que en nuestro caso ser´a pantuflo.escet.urjc.es para el campus de M´ostoles y bilo.cct.urjc.es para el campus de Fuenlabrada.

Por ´ultimo, y esto es muy importante, las IPs desde las cuales el servidor debe poder hacer relay. Hacer relay en un servidor de correo significa desde que IPs o redes de IPs se debe reenviar correo a dominios externos al propio sin pedir una confirmaci´on o una autenticaci´on adicional. En general, se conf´ıa siempre en la propia m´aquina (las subredes con IP 127.0.0.0/24) y las de la propia red local (en nuestro caso ser´a 212.128.4.0/24 para el campus de M´ostoles y 193.147.73.0/24 para el campus de Fuenlabrada). Si no configuramos este par´ametro con especial cautela, numerosos spammers de Internet pueden usar nuestro servidor de correo para enviar correo fraudulento, publicidad y derivados.

Una vez hemos aplicado la configuraci´on en concreto para cada una de las m´aquinas que se encargar´an de la entrega del correo, podemos comprobar que nuestro servidor funciona adecuadamente (podemos enviarnos un correo de prueba y comprobar que nos llega correctamente). Si quisi´eramos modificar alg´un aspecto de la configuraci´on, Postfix almacena sus opciones de configuraci´on en los ficheros /etc/postfix/main.cf y /etc/postfix/master.cf. Los ficheros de configuraci´on de esta herramienta son bastante sencillos y asequibles de modificar. Recogida de correo electr´onico (POP3 e IMAP)

La recogida de correo mediante protocolos como POP3 e IMAP es un aspecto casi fundamental de cara a que los usuarios de nuestro sistema se sientan lo suficientemente motivados como para

CAP´ITULO 4. IMPLANTACI ´ON

usar el correo electr´onico del servidor pantuflo. De no proporcionar un servicio de recogida de correo, los usuarios se ver´ıan obligados a leer el correo electr´onico en la propia m´aquina que lo recibe, a trav´es del comando mail, o alguno m´as avanzado, como Pine o Mutt.

La disposici´on de permitir al usuario recoger el correo electr´onico mediante los citados protocolos permite al usuario utilizar aplicaciones de correo como Outlook, Evolution, o Thunderbird, y gestionar el correo de forma eficiente. Mediante estas aplicaciones ser´an capaces de poder leer el correo electr´onico que les llegue a su cuenta de correo de pantuflo o de bilo sin necesidad de tener que conectarse al servidor para poder leerlo. En concreto, vamos a implantar un servidor de recogida de correo que permita que los usuarios puedan descargarse el correo mediante los protocolos POP3 e IMAP. Como ya vimos en el cap´ıtulo Estado del arte, la aplicaci´on elegida para realizar esta tarea ser´a la aplicaci´on Dovecot, por las ventajas enumeradas en este cap´ıtulo. Esta aplicaci´on nos permitir´a que tanto la m´aquina pantuflo como la m´aquina bilo atiendan el servicio POP3 e IMAP, a trav´es de sus correspondientes versiones cifradas (POP3s e IMAPs). Es necesario recordar que ambos protocolos se transmiten por la red en texto claro, incluyendo nombres de usuario y contrase˜nas, por lo que ser´a obligado el proporcionar el citado servicio utilizando alg´un m´etodo de encriptaci´on para datos sensibles, como son el correo electr´onico y la informaci´on de autenticaci´on.

Dovecot

La aplicaci´on Dovecot es un servidor de recogida de correo que funciona tanto con ficheros mbox (en los que los correos electr´onicos se almacenan en un ´unico fichero) como con el formato m´as actual de almacenamiento de correo electr´onico, el formato Maildir. Seg´un se detalla en la p´agina oficial de Dovecot30

, esta aplicaci´on fue pensada y escrita pensando principalmente en la seguridad, en la escalabilidad y en el alto rendimiento, funcionando igual de bien para sistemas austeros, con pocos usuarios, como para grandes sistemas. Adem´as, soporta multitud de mecanismos de autenticaci´on, como por ejemplo la autenticaci´on mediante los m´odulos de PAM (que ser´a la que usemos en nuestro caso) as´ı como basados en bases de datos. Por ´ultimo, aunque no es nuestro caso, Dovecot funciona perfectamente en cl´usters de ordenadores en red que usen por ejemplo NFS como sistema de archivos compartidos. Aunque no es nuestro caso, es un buen ejemplo de la escalabilidad que puede llegar a proveer esta aplicaci´on.

Instalaci´on de Dovecot

La instalaci´on de Dovecot resulta bien sencilla, puesto que se encuentra incluido como paquete Debian en la distribuci´on estable, y por tanto, una simple llamada al comando apt- get bastar´a para su instalaci´on:

Listado 4.53: Instalaci´on de los demonios necesarios para dar soporte POP3 e IMAP a pantuflo

$ apt - get install dovecot - common dovecot - pop3d dovecot - i mapd

Como vemos, es necesario indicar que se desea instalar el paquete con la funcionalidad b´asica de Dovecot (paquete dovecot-common) adem´as de los paquetes que proveer´an funcionalidad de los protocolos POP3 e IMAP: los paquetes dovecot-pop3d y dovecot-imapd. Una vez instalados ambos paquetes, ser´a necesario realizar unos ajustes que nos permitan configurar el sistema para que los usuarios puedan recoger el correo electr´onico mediante cualquiera de los dos protocolos. Para ello, deberemos editar el fichero de configuraci´on /etc/dovecot/dovecot.conf. Nos centraremos en las siguientes l´ıneas:

1. Indicar los protocolos que deben ser servidos por el servidor de recogida de correo. En nuestro caso, vamos a servir los protocolos POP3 e IMAP, en su versi´on segura (apoyados en las bibliotecas SSL). Lo indicamos de la siguiente forma:

30

http://www.dovecot.org/

4.2. PROTOCOLOS SITUADOS EN LA CAPA DE APLICACI ´ON

p r o t o c o l s = imaps pop3s

2. Indicar donde se encuentran los directorios de correo de los usuarios. Este aspecto es muy importante, ya que si no indicamos la ruta hacia el directorio de correo de forma correcta, los usuarios obtendr´an un error cuando intenten descargar o consultar su correo con la aplicaci´on gestora correspondiente. En nuestro caso, los directorios de correo se encuentran en el directorio /var/mail/ seguido del nombre de usuario en cuesti´on. Hay que recordar que debido a que se proporciona funcionalidad IMAP, es necesario que el correo electr´onico se almacene en el formato Maildir, est´andar casi de facto en la mayor´ıa de servidores de correo. Para indicar este par´ametro en la configuraci´on de Dovecot, debemos escribir en el fichero de configuraci´on la siguiente l´ınea:

d e f a u l t _ m a i l _ e n v = maildir :/ var / mail / %u /

3. Por ´ultimo, y dado que la autenticaci´on de los usuarios en el servidor de recogida de correo ser´a la est´andar del sistema, podemos usar PAM para esta tarea. En ese sentido PAM es muy flexible, ya que para a˜nadir un nuevo servicio solamente debemos incluir en el directorio /etc/pam.d/ un fichero de nombre dovecot indicando como se realizar´a la autenticaci´on (exactamente igual al resto de servicios del sistema). Su contenido podr´a ser el siguiente:

# %PAM -1.0

@ i n c l u d e common - auth @ i n c l u d e common - account @ i n c l u d e common - session

Una vez realizados estos ajustes en el fichero de configuraci´on de Dovecot, podemos reiniciar el servicio y comprobar que se encuentra escuchando peticiones de los protocolos indicados correctamente:

Listado 4.54: Reiniciando el demonio dovecot tras su reconfiguraci´on

p a n t u f l o :~# / etc / init . d / dovecot restart R e s t a r t i n g mail server : dovecot .

p a n t u f l o :~#

Una llamada a nmap desvela que los servicios se encuentran escuchando en los puertos correspondientes:

993/ tcp open imaps 995/ tcp open pop3s

Examinando los ficheros de log del servidor de correo podemos ver c´omo los usuarios se autentican correctamente y recogen su correo usando Dovecot:

p a n t u f l o :~# tail -f / var / log / mail . log

Jul 2 1 6 : 2 2 : 2 6 p a n t u f l o dovecot : pop3 - login : Login : user = < fescriba > , method = PLAIN , rip =83.54.158.7 , lip =212.128.4.4 , TLS

Jul 2 1 6 : 2 2 : 2 6 p a n t u f l o dovecot : POP3 ( f e s c r i b a ) : D i s c o n n e c t e d : Logged out top =0/0 , retr =0/0 , del =0/0 , size =0

Jul 2 1 6 : 2 2 : 4 3 p a n t u f l o dovecot : pop3 - login : Login : user = < fescriba > , method = PLAIN , rip =83.54.158.7 , lip =212.128.4.4 , TLS

CAP´ITULO 4. IMPLANTACI ´ON

Jul 2 1 6 : 2 2 : 4 3 p a n t u f l o dovecot : POP3 ( f e s c r i b a ) : D i s c o n n e c t e d : Logged out top =0/0 , retr =0/0 , del =0/0 , size =0

Webmail para consulta de correo

De cara a que los usuarios del Laboratorio dispongan de un m´etodo para la consulta del correo electr´onico de sus cuentas @pantuflo y @bilo (para el Campus de M´ostoles y de Fuenlabrada,respectivamente) decidimos instalar un webmail. Un webmail es una aplicaci´on web que permite consultar a trav´es de un navegador web el correo electr´onico de una cuenta de un usuario en un sistema, normalmente una cuenta Unix o Linux. Dado que la instalaci´on de este tipo de aplicaciones no es muy compleja, decidimos implantar este servicio para ambos campus. De esta forma, aquellos usuarios que no quieran descargarse su correo mediante aplicaciones gestoras de correo (como Outlook, Evolution y derivados) podr´an consultarlo a trav´es del web.

Una de las aplicaciones que implementa el servicio webmail m´as conocidas hoy en d´ıa es la Suite Horde, que adem´as de proporcionar acceso al buz´on de correo de un usuario en un sistema Unix/Linux, proporciona servicios de agenda, calendario, etc´etera. De hecho, esta aplicaci´on es en la que se basa el servicio webmail de la Universidad31

. Esto ser´a una ventaja para nosotros, puesto que a los usuarios les resultar´a familiar el interfaz y apenas existir´a complejidad de adaptaci´on a una nueva herramienta.

Horde

El Proyecto Horde se compone de unas bibliotecas (llamado Horde Framework ) que proporcionan funcionalidades b´asicas (autenticaci´on, gesti´on de preferencias, interfaz gr´afica, etc´etera) y que funciona como nexo de uni´on entre distintas aplicaciones de usuario, que son gestionadas como subproyectos independientes, dentro de la aplicaci´on Horde. Entre estas aplicaciones encontramos IMP, un sistema webmail que permite el acceso a buzones de correo mediante POP3 o IMAP. A trav´es de este acceso podremos acceder a los buzones de las cuentas de los usuarios, tanto en los servidores pantuflo como bilo.

La instalaci´on de esta aplicaci´on es extremadamente sencilla y por esta raz´on no ser´a detallada en exceso en el presente documento. Para llevar a cabo la instalaci´on, es necesario descargar las ´

ultimas versiones estables de la aplicaci´on principal de esta suite, llamada Horde: esta aplicaci´on es la ´unica no opcional bajo la que se sustentan el resto de m´odulos del sistema. Si ´unicamente deseamos instalar la aplicaci´on IMP (webmail), deberemos descargar desde la p´agina del proyecto el m´odulo imp, instal´andolo a continuaci´on de horde.

Los ´unicos aspectos relevantes de la instalaci´on son:

1. Como se realiza el acceso al servidor POP3/IMAP donde se encuentran los buzones de los usuarios. En nuestro caso, es la configuraci´on de correo electr´onico que se llev´o a cabo en el apartado anterior.

2. Como se lleva a cabo la autenticaci´on de usuarios para poder ingresar en el webmail. Dado que estas aplicaciones se instalar´an en las m´aquinas pantuflo y bilo (es l´ogico que el webmail se encuentre en la misma m´aquina que recibe el correo) podemos usar la autenticaci´on local de la citada m´aquina: si un usuario puede entrar con una cuenta en esa m´aquina, podr´a entrar en el webmail (l´ogicamente). Para llevar a cabo esta implementaci´on, debemos indicarle a IMP que la autenticaci´on se debe llevar a cabo usando los m´odulos PAM de la m´aquina donde se encuentra alojada la aplicaci´on.

En el soporte electr´onico de este documento se puede encontrar los ficheros de configuraci´on de Horde e IMP para esta configuraci´on. Una vez que se han llevado a cabo estos ajustes, realizamos

31

https://webmail.urjc.es

In document Memoria Pfc Superior (página 99-104)