Administración de Redes SERVICIOS DE RED Correo electrónico: Introducción Profesor Carlos Figueira Departamento de Computación y T. I. USB Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Componentes del sistema de email ● ● ● ● Un agente de usuario MUA (Mail User Agent) Un agente de transporte de correo MTA (Mail Transport Agent) Un agente de entrega DA (Delivery Agent) (opcional) Un agente de acceso (Access Agent), que conecta al usuario con el almacén de mensajes. Por ejemplo, imapd, spop Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB MUA Thunderbird MUA mail, pine MTA sendmail (puerto 25) MSA sendmail (puerto 587) DA mail.local MTA sendmail Reposi torio DA mail.local AA imapd Internet Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB MUA: Agentes de usuario ● ● ● Función principal: leer y escribir mensajes Se ocupa de inclusión de formatos esenciales, tales como el From y otros, como manejar attachments (MIME Multipurpose Internet Mail Extensions) Ejemplos: mail (BSD y otros), mh, pine, elm, Eudora, Thunderbird Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB MTA: Agentes de transporte ● ● ● Recibe mensaje de MUA, interpreta destinatario, y se encarga de que viaje hasta su destino Utiliza protocolo estándar SMTP (Simple Mail Transport Protocolo, RFC 2821) o ESMTP (Extended, RFC 1869, etc), con comandos en ASCII (EHLO, VRFY, RCPT, DATA) Más popular: sendmail (o Postfix, Exim) en sistemas Linux Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Agentes de entrega de correo (MDA) y recipientes ● ● ● MDA acepta mensajes de un MTA y lo entrega en el recipiente local apropiado Cada tipo de recipiente requiere un MDA particular. Ej: archivos locales (/var/mail/), bases de datos Ejemplos de MDA: /bin/mail, procmail Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Agentes de envío (MSA) ● ● Permite descargar al MTA (¡que puede estar muy ocupado!) de algunas funciones de verificación (pre­procesamiento) – Que los nombres de host parezcan válidos (fully qualified). El término FQDN (fully qualified domain name) aplica a direcciones de máquina cuyo dominio parece correcto – Log de errores, reescribiendo encabezados, etc. Implica reconfiguración (MUAs deben comunicarse por puerto 587) Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Anatomía de un email ● ● ● Sobre (envelope): especifica destinatario del mensaje y respuestas (coincide con “To” y “Reply To” del encabezado, salvo en listas) Encabezados (headers) RFC2822. Fecha, hora de los MTA atravesados, etc. Cuerpo (ASCII, preferiblemente) Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Sobre From eric@knecht.sendmail.org # MDA Return­Path: eric@knecht.sendmail.org # MSA Delivery­Date: Mon, 06 August ... # MDA Received: from anchor.cs.colorado.edu ... by rup.cs.colorado.edu ... with ESMTP.. # MTA Received: from mroe.cs.colorado.edu ... by anchor.cs.colorado.edu ... with ESMTP.. Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Ejemplo de ruta de mensaje ● ● ● ● El MTA en máquina inicial consulta el MX para la máquina destino (anchor...), le responden con un relay (mroe) y se lo envía al MTA en mroe En mroe se consulta el MX de anchor, obtiene anchor y se lo envía En anchor resuelve un alias que apunta a rupertsberg y lo envía a su MTA En rupertsberg se le entrega al MDA (mail.local) Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Principios de administración ● ● ● Establecer servidores de correo (de entrada y salida) o una jerarquía de servidores (si la organización es muy grande). Deben ser estables, bien dimensionados y administrados Un lugar (home) para el correo de cada usuario en un sitio físico. Usar aliases o LDAP. Ofrecer IMAP y POP para PC's, MAC's y clientes remotos Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Aliases ● Posibilidades: – Definidos en el MUA del cliente – En /etc/aliases ● – ● ● local­name: recipiente1, rec2 En ~/.forward Pueden usarse para enviar mail a archivos y a programas (usando pipes) Otras alternativas: NIS y LDAP Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Listas de correo ● ● Se definen en /etc/aliases, pero su composición se maneja aparte (usando :include:file) Existen varios paquetes que simplifican la administración de listas. Ej – Majordomo – Mailman Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB sendmail ● Agente de transporte más popular en Unix/Linux ● Envía, recibe y encamina (relay) correo ● Controla mensajes al salir del teclado del usuario ● Entiende direcciones de destinatario ● Reescribe direcciones para que entienda el DA ● Reformatea los encabezados ● Pasa los mensajes transformados al DA Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB sendmail (cont.) ● ● ● Varios modos de operación. Ej: demonio aceptando peticiones por el puerto 25 (SMTP) Configuración: archivos (en /etc/mail/) sendmail.cf y submit.cf Colas: (en /var/spool/) mqueue (MTA) y clientmqueue (MSA) ● Varios links a sendmail (Ej: mqueue) ● Algunos DA: mail.local, smrsh Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Configuración de sendmail ● Selección de los DA (para usuario y programa) ● Reglas de reescritura de direcciones ● Formatos de encabezado de mail ● Opciones, seguridad, control de spam, etc. ● Configuración moderna de sendmail.cf (y submit.cf): – – archivos .mc, se generan .mf usando preprocesador m4 con make Sub­directorios cf, domain, mailer, etc. Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Ejemplo: Masquerading ● Permite especificar una identidad única para un conjunto de máquinas, como si todo el tráfico se originara en esa máquina – user@ident­unica en lugar de user@origen.dominio Puede hacer excepciones (ej: root o Mailer­Daemon) MASQUERADE_AS(`xor.com') EXPOSED_USER(`root') EXPOSED_USER(`Mailer­Daemon') – Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Ejemplo: centralizar correo ● Todo el correo que llega, centralizarlo en una máquina define(`MAIL_HUB', `smtp:hub1.usb.ve') ● Todo el correo que sale, enviarlo a una máquina (relay) intermediaria (local) para su envío define(`SMART_HOST', `smtp:hub2.usb.ve') Ej: hub1 y hub2 pueden ser la misma máquina, (con DNS) detrás del firewall de una institución Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Sendmail y control de SPAM ● ● ● ● Reglas para controlar intermediación (relaying) de otros o promiscua (/etc/mail/relay­domains) BD de acceso con reglas para filtrar por dirección (aceptar, aceptar para intermediación, rechazo,...) Listas negras de direcciones a las que no se les da correo (To:) o de quienes no se acepta, p.e., sitios de spammers en DNS (FEATURE(`dnsbl')). mail­abuse.org Chequeo de encabezados: user@valid.domain Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Más sobre control de SPAM ● ● ● ● Filtros basados en procmail (¡correo entregado a programa!) SpamAssassin (basado en procmail): asigna puntos en base a ciertas reglas (configurable), si supera un umbral, lo considera spam Muchos MUA (Thunderbird, evolution, etc.) incorporan herramientas de detección de SPAM NOTA: sólo el control a nivel de MTA (sendmail) conserva el ancho de banda Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Seguridad y sendmail ● ● Propietario de binarios y directorios: root o usuario especial (Ej: mail como DefaultUser). TrustedUser y RunAsUser dan flexibilidad Permisos: sendmail chequea permisos de archivos de configuración, colas, etc. ● Configurar respuestas SMTP por privacidad ● Agrega autenticación para reducir edición email ● Privacidad: Cifrado (MUA) , SASL y TLS (MTA) Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB Desempeño ● 4 Modos de entrega: no interactivo (background), interactivo, cola, y pospuesto (defer) – ● Compromiso entre latencia y desempeño. Por defecto, no interactivo Grupos de colas permiten ajustar parámetros de manera flexible, reduce búsqueda en dir. grandes ● Controlar número de procesos sendmail ● Rechaza conexiones, duerme si muy cargado Administración de Redes: Servicios de Red: Correo electrónico Carlos Figueira/USB