Powered By Blogger

miércoles, 10 de febrero de 2010

Como configurar un servidor Mail

Motivación
En un entorno universitario es común la instalación de ordenadores con sistemas GNU/Linux tanto como servidores de diverso propósito (web de departamento, servidor de ficheros/impresoras, etc.) como escritorio personal. Al igual que el resto de sistemas operativos, pero con GNU/Linux parece más obvio, el sistema operativo no deja de realizar tareas de diverso tipo, tanto relacionadas con el servicio que presta el ordenador como con su operativa de mantenimiento. Si el ordenador no se configura correctamente los mensajes de correo generados por estas tareas (mensajes de error o advertencia, información diversa sobre el estado de la máquina, etc.) no llegan a su destino.

En los siguientes párrafos se explicará como configurar un MTA (agente de transferencia de mensajes) en un ordenador con GNU/Linux instalado para que los mensajes de correo generados por la propia máquina lleguen a su destino y lo hagan sin generar problemas en los servidores de correo que deben manejar ese tráfico de mensajes. Se explica como...

Hacer que los mensajes generados en el ordenador lleguen al destinatario deseado.
Hacer que los mensajes lleguen a su destino con un remitente válido.
Remitir todos los mensajes que salen del ordenador a los servidores centrales de la UNED para su distribución.
Evitar que el software de correo sea usado por terceras personas (para evitar abusos).
Activar el arranque automático del demonio de correo.
El MTA elegido para esta tarea es Postfix. Este software es ligero (consume pocos recursos y da buenas medidas de rendimiento). Existen paquetes para todas las distribuciones y por tanto es fácil de instalar; en algunas distribuciones es el MTA instalado por defecto.

Arriba


--------------------------------------------------------------------------------

Configurar Postfix como servidor de correo local
En estas instrucciones no se explica como instalar el software. Se recomienda utilizar las herramientas de gestión de paquetes de la distribución para instalar Postfix y desinstalar cualquier otro MTA que pudiera estar instalado (sendmail, qmail, exim, etc.).

Postfix guarda los archivos de configuración en el directorio /etc/postfix; el archivo /etc/postfix/main.cf es el archivo de configuración principal. En este documento sólo se hará referencia a las variables que se deben modificar o añadir para que el software se comporte como un servidor de correo que escuche en local y remita los mensajes al propietario/usuario de la máquina.

Las modificaciones explicadas a continuación se deben realizar como usuario root.

Consideraciones previas.
Hay que asegurarse de que el ordenador tiene un nombre totalmente cualificado. Es decir, que el resultado del comando hostname es un nombre terminado en ".uned.es". Si no fuera así, se puede cambiar el nombre de manera temporal con el mismo comando:

hostname "nombre-ordenador.uned.es"
Para que la solución sea definitiva es necesario modificar el archivo donde se guarda el nombre del equipo. En distribuciones Red Hat y las distribuciones basadas en Red Hat se debe modificar la variable HOSTNAME en el archivo /etc/sysconfig/network.

Hacer que los mensajes generados en el ordenador lleguen al destinatario deseado.
Se consigue editando el archivo de alias del sistema. Para saber cual es el archivo de alias se ejecuta la instrucción

postconf alias_maps
Se debe editar el archivo cuyo nombre devuelve el comando anterior y añadir al final del mismo (o modificando si ya existiera) un alias de correo para el usuario root. Si la dirección de correo que debe recibir los mensajes generados por la máquina es entonces la línea añadida/modificada debe quedar:
root: mi.direccion@dominio.uned.es

Una vez añadida la línea anterior se debe ejecutar el comando newaliases para que se regenere la base de datos de alias.

Hacer que los mensajes lleguen a su destino con un remitente válido
Para conseguir este punto hay que cumplimentar los siguientes pasos:

crear un archivo (/etc/postfix/sender_canonical) donde se consigne la relación "usuario máquina <-> dirección de correo" con la cual deben salir los mensajes de ese usuario, por ejemplo:
root mi.direccion@dominio.uned.es
apache mi.direccion@dominio.uned.es
postmaster otra.direccion@dominio.uned.es
"compilar" el archivo anterior ejecutando:
postmap hash:/etc/postfix/sender_canonical
configurar la variable de Postfix que hace que se usen las relaciones anteriores:
postconf -e "sender_canonical_maps=hash:/etc/postfix/sender_canonical"
después de ejecutar "postconf -e" se debe recargar la configuración para que se apliquen los cambios:
postfix reload
Remitir todos los mensajes que salen del ordenador a los servidores centrales de la UNED.
Es decir, configurar lo que se llama "smart host" o "relay host". Basta con ejecutar la siguiente instrucción:

postconf -e "relayhost=[smtp.uned.es]"
Los corchetes son necesarios.

Evitar que el software de correo sea usado por terceras personas (para evitar abusos).
Lo que se hace en este punto es configurar Postfix para que sólo escuche en la interfaz local con lo cual se asegura que desde el exterior de la máquina no está accesible para su uso. Y que sólo se fíe de las conexiones desde la máquina local. Por tanto, se configura de la siguiente forma:

postconf -e "inet_interfaces=localhost"
postconf -e "mynetworks_style=host"


Activar el arranque automático del demonio de correo.
Esta actuación depende de la distribución instalada.

En distribuciones Red Hat y las distribuciones basadas en Red Hat se ejecuta el siguiente comando:
/sbin/chkconfig postfix on
En Debian y las distribuciones basadas en Debian se ejecuta el siguiente comando:
/sbin/update-rc.d postfix defaults
En Gentoo se ejecuta el siguiente comando:
/sbin/rc-update add postfix defaults
En otras distribuciones se tienen comandos distintos para realizar la misma tarea.
También se pueden crear a mano los softlink para que se inicie Postfix en el arranque:

cd /etc/rc3.d/
ln -s ../init.d/postfix S80postfix
cd /etc/rc5.d/
ln -s ../init.d/postfix S80postfix
y se detenga en la parada:
cd /etc/rc0.d/
ln -s ../init.d/postfix K30postfix
cd /etc/rc6.d/
ln -s ../init.d/postfix K30postfix
Configurar las aplicaciones para que usen el servidor de correo local.
Una vez configurado el servidor de correo local se pueden configurar las aplicaciones que se ejecutan en el mismo ordenador para que lo usen. Habría que buscar en la configuración de correo de cada una de las aplicaciones y poner localhost como servidor SMTP (substituyendo smtp.uned.es si hiciera falta).

No hay comentarios:

Publicar un comentario