Universidad Simón Bolívar Diseño y Administración de Redes Enero - Marzo 2000 Dominios Virtuales y Relaying con sendmail Miguel Abreu
Dominios Virtuales Los Dominios Virtuales permiten que un solo servidor de correos maneje cuentas de correo pertenecientes a dominios distintos.
Cómo Trabaja Todos los mensajes direccionados a un dominio virtual son enrutados a través de un mailer de sendmail llamado: /etc/mail/multihome Este programa hace el virtual domain aliasing, convirtiendo cualquier nombre de usuario de un dominio virtual a un nombre físico a través del mapa de usuarios, y finalmente este re-envía el correo de retorno a sendmail para un envío local (y posiblemente hacer un forwarding ó reenvío dependiendo de los resultados del aliasing )
Archivos de Configuración Se utilizan varios archivos de configuración, y todos son mantenidos por el Virtual Domain User Manager. /var/internet/ip/127.0.0.1/mail/virtdomains Este archivo, y el /var/internet/ip/127.0.0.1/mail/virtdomains.db, contienen una copia de los IP aliases que están actualmente configurados en la máquina. Es actualizado automáticamente al ejecutar el Virtual Domain User Manager después de agregar o eliminar un alias de IP.
Archivos de Configuración /var/internet/ip/127.0.0.1/virtusers Este archivo, y el /var/internet/ip/127.0.0.1/virtusers.db, contienen el mapa de usuarios del dominio virtual. Todos los dominios virtuales están en este archivo.
Archivos de Configuración /var/internet/ip/ip addr/mail/mail.aliases Estos archivos (hay uno por dominio virtual) y sus correspondientes archivos de bases de datos /var/internet/ip/ip addr/mail/mail.aliases.db contienen los aliases de correo para cada dominio virtual. Cada uno de los archivos de base de datos son reconstruidos automáticamente cuando el archivo de texto es cambiado por el administrador.
Multihome Sinopsis: Descripción: multihome [-t, -d] recipiente El programa multihome mailer enruta los correos direccionados a usuarios en dominios virtuales al usuario físico correcto en el sistema. Esto lo hace modificando la lista de recipientes y reenviando el mensaje a sendmail. Opciones: -t: Modo de prueba de direcciones. Esta opción retorna una nueva lista de recipientes después de realizar el aliasing y el mapeo de usuarios. -d: Modo de prueba: Similar a la opción anterior, pero imprime direcciones en cada fase de la conversión.
Relaying El Relaying consiste en una transmisión de mensajes de un sitio afuera del dominio local a otro sitio también fuera del dominio local, utilizando el servidor de correo local. Un relay ocurre cuando un servidor de correo procesa un mensaje de correo donde ni el enviador ni el receptor son usuarios locales.
Relaying Figure 1: Esquema habitual de Relaying
Relaying Actualmente, el relay es utilizado para realizar hijacking. Esto ocurre cuando una cantidad masiva de correos son enviados a través de un servidor. Se puede permitir a ciertos dominios hacer relay a través de un servidor dado, usando RELAY DOMAIN() y RELAY DOMAIN FILE(), o a través del acceso a la base de datos, el cual es descrito más adelante.
La Base de Datos de Acceso La base de datos de acceso, que normalmente se encuentra en el directorio /etc/mail/access, permite al administrador admitir el acceso de dominios individuales al servidor de correo. Cada entrada de la base de datos consiste de un nombre de dominio o número IP como la clave, y una acción como el valor. Las claves pueden ser una ruta completa de una máquina autorizada, o una ruta parcial, que puede ser un subdominio o un dominio. Ejemplos de ambas formas son: host.subdomain.domain.com subdomain.domain.com domain.com
La Base de Datos de Acceso Las dos últimas formas autorizan a cualquier máquina o subdominio bajo el dominio especificado (Si FEATURE(relay hosts only) está activado, solo la primera forma funcionará). Las claves también pueden ser direcciones de red o de subred. Por ejemplo: 205.199.2.250 205.199.2 205.199 Las últimas dos formas autorizan a cualquier máquina o subdominio que pertenezca a la subred indicada. Finalmente, las claves pueden ser user@host.domain para rechazar correo de un usuario en específico.
La Base de Datos de Acceso Los valores pueden ser: REJECT, que rechaza conexiones de la máquina especificada DISCARD, que acepta el mensaje pero lo desecha silenciosamente (el enviador pensará que el correo ha sido aceptado) OK para permitir acceso RELAY para permitir acceso incluyendo relaying SMTP a través de la máquina donde se encuentra el servidor de correo Un mensaje arbitrario para rechazar los correos que contengan ese mensaje
La Base de Datos de Acceso Por ejemplo, una base de datos puede contener: cyberpromo.com REJECT sendmail.org RELAY spam@buyme.com 550 Spammers shan t see sunlight here