stringtranslate.com

Postfix (software)

Postfix es un agente de transferencia de correo (MTA) gratuito y de código abierto que enruta y entrega correo electrónico .

Se publica bajo la Licencia Pública IBM 1.0, que es una licencia de software libre . Alternativamente, a partir de la versión 3.2.5, está disponible bajo la Licencia Pública Eclipse 2.0 a elección del usuario. [2]

Postfix fue escrito originalmente en 1997 por Wietse Venema en el Centro de Investigación Thomas J. Watson de IBM en Nueva York y lanzado por primera vez en diciembre de 1998. [3] A partir de 2023, Postfix continúa siendo desarrollado activamente por su creador y otros colaboradores. El software también se conoce por sus nombres anteriores VMailer e IBM Secure Mailer . El nombre Postfix es un compuesto de "post" (que es otra palabra para "mail") y " bugfix " (que es para otro software que inspiró el desarrollo de Postfix).

Despliegue típico

Como servidor SMTP , Postfix implementa una primera capa de defensa contra spambots y malware . Los administradores pueden combinar Postfix con otro software que proporcione filtrado de spam/virus (por ejemplo, Amavisd-new ), acceso al almacén de mensajes (por ejemplo, Dovecot ) o políticas de acceso a nivel SMTP complejas (por ejemplo, postfwd, milter-regex, policyd-weight ).

Como cliente SMTP , Postfix implementa un motor de entrega de correo en paralelo de alto rendimiento. Postfix suele combinarse con software de listas de correo (como Mailman ).

Sistemas operativos

Postfix se ejecuta (o se ha ejecutado) en AIX , BSD , HP-UX , Linux , macOS , Solaris y, en términos generales, en todos los sistemas operativos tipo Unix que se entregan con un compilador C y ofrecen un entorno de desarrollo POSIX estándar . Es el MTA predeterminado para los sistemas operativos macOS , NetBSD , [4] RedHat / CentOS [5] y Ubuntu . [6]

Arquitectura

Postfix consta de una combinación de programas de servidor que se ejecutan en segundo plano y programas cliente que son invocados por programas de usuario o por administradores del sistema.

El núcleo de Postfix consta de varias docenas de programas de servidor que se ejecutan en segundo plano y cada uno se encarga de un aspecto específico de la entrega de correo electrónico. Algunos ejemplos son el servidor SMTP , el programador , el reescritor de direcciones y el servidor de entrega local. Para fines de control de daños, la mayoría de los programas de servidor se ejecutan con privilegios reducidos fijos y finalizan voluntariamente después de procesar una cantidad limitada de solicitudes. Para conservar los recursos del sistema, la mayoría de los programas de servidor finalizan cuando quedan inactivos.

Los programas cliente se ejecutan fuera del núcleo de Postfix. Interactúan con los programas del servidor Postfix a través de instrucciones de entrega de correo en el archivo ~/.forward del usuario y a través de pequeños programas de "puerta" para enviar correo o solicitar información sobre el estado de la cola.

Otros programas proporcionan soporte administrativo para iniciar o detener Postfix, consultar información de estado, manipular la cola o examinar o actualizar sus archivos de configuración.

Elipses amarillas
Uno de los muchos demonios de Postfix que cumplen exactamente una función. Esta división en muchas partes más pequeñas de software se considera una de las razones por las que Postfix es seguro y estable.
Cajas azules
Los cuadros azules representan las denominadas tablas de búsqueda . Una tabla de búsqueda consta de dos columnas (clave y valor) que contienen información utilizada para el control de acceso, el enrutamiento de correo electrónico, etc.
Cajas naranjas
Los cuadros naranjas son colas de correo o archivos. En cualquier caso, los correos electrónicos se almacenan en un medio persistente (por ejemplo, un disco duro).
Nubes blancas
Las nubes representan los puntos en los que los correos electrónicos entran o salen de Postfix. Por ejemplo, smtpd recibe correo de otros servidores de correo o usuarios, mientras que smtp retransmite el correo a otros MTA.

Implementación

La implementación de Postfix utiliza subconjuntos seguros del lenguaje C y de la API del sistema POSIX . Estos subconjuntos están enterrados bajo una capa de abstracción que contiene aproximadamente el 50% de todo el código fuente de Postfix, y que proporciona la base sobre la que se construyen todos los programas Postfix. Por ejemplo, la primitiva "vstring" hace que el código Postfix sea resistente a ataques de desbordamiento de búfer [7] , y la primitiva "safe open" hace que el código Postfix sea resistente a ataques de condición de carrera en sistemas que implementan la API del sistema de archivos POSIX . Esta capa de abstracción no afecta la resistencia a ataques del código que no es Postfix, como el código en bibliotecas del sistema o en bibliotecas de terceros.

Robustez

En teoría, Postfix administra canales de procesos que pasan la responsabilidad de la entrega de mensajes y la notificación de errores de un proceso al siguiente. Toda la información de "estado" de los mensajes y las notificaciones se conserva en el sistema de archivos. Los procesos de un canal funcionan en su mayoría sin un control centralizado; esta autonomía relativa simplifica la recuperación de errores. Cuando un proceso falla antes de completar su parte de una transacción de archivo o protocolo, su predecesor en el canal se retira y vuelve a intentar la solicitud más tarde, y su sucesor en el canal descarta el trabajo inacabado. Muchos daemons de Postfix pueden simplemente "morir" cuando se encuentran con un problema; se reinician automáticamente cuando llega la siguiente solicitud de servicio. Este enfoque hace que Postfix sea muy resistente, siempre que el sistema operativo o el hardware no fallen catastróficamente.

Actuación

Una única instancia de Postfix ha registrado una velocidad de aproximadamente 300 entregas de mensajes por segundo [8] en Internet, ejecutándose en un hardware estándar (un sistema Dell 1850 de 2003 con un controlador MegaRAID respaldado por batería y dos discos SCSI ). Esta tasa de entrega es un orden de magnitud inferior al límite "intrínseco" de 2500 entregas de mensajes por segundo [8] que se logró con la cola de correo en un disco RAM mientras se entregaba al transporte de "descarte" (con un sistema Opteron de doble núcleo en 2007).

Los sistemas de correo como Postfix y Qmail logran un alto rendimiento al enviar correo en sesiones paralelas. Con sistemas de correo como Sendmail y Exim que realizan una entrega a la vez, se puede lograr un alto rendimiento al enviar lotes limitados de correo en paralelo, de modo que cada lote sea entregado por un proceso diferente. Postfix y Qmail requieren el envío en paralelo a diferentes instancias de MTA una vez que alcanzan su límite de rendimiento intrínseco o los límites de rendimiento del hardware o del sistema operativo.

Las tasas de entrega mencionadas anteriormente son en gran medida teóricas. En el caso de la entrega de correo masivo, la tasa de entrega real depende principalmente de las políticas de recepción de correo del destinatario y de la reputación del remitente.

Configuración base

El archivo main.cf almacena los parámetros de configuración específicos del sitio de Postfix, mientras que master.cf define los procesos del demonio. [9] El tutorial de configuración básica de Postfix cubre las configuraciones principales que cada sitio debe considerar, y el documento de ejemplos de configuración estándar de Postfix analiza las configuraciones para algunos entornos comunes. El documento de reescritura de direcciones de Postfix cubre la reescritura de direcciones y el enrutamiento de correo. La colección completa de documentación se encuentra en Documentación de Postfix

Las implementaciones de Postfix más complejas pueden incluir: integración con otras aplicaciones como SpamAssassin , soporte para múltiples nombres de dominio virtuales y uso de bases de datos como MySQL para controlar configuraciones complejas.

Encuestas

En los resultados del análisis de Shodan de marzo de 2024, [10] Postfix se detectó 2,7 millones de veces y Exim, 3,0 millones de veces. Algunos sitios bloquean las sondas de Shodan, pero no está claro si esto afectaría materialmente la relación entre Postfix y Exim.

En un estudio 10 veces más pequeño publicado el 1 de marzo de 2024 por E-Soft, Inc., [11] 0,15 millones de servidores de correo ejecutaban Postfix, lo que lo dejaba en un segundo lugar más distante detrás de Exim con 0,23 millones. Esta encuesta se cita a menudo, pero se dirige específicamente a los dominios que brindan servicios web.

Véase también

Referencias

  1. ^ Lextrait, Vincent (julio de 2010). "The Programming Languages ​​Beacon, v10.3". Archivado desde el original el 30 de mayo de 2012. Consultado el 5 de septiembre de 2010 .
  2. ^ "Versión estable de Postfix 3.2.5 y versiones anteriores 3.1.8, 3.0.12 y 2.11.11". Enero de 2018. Consultado el 30 de enero de 2018 .
  3. ^ Markoff, John (diciembre de 1998). "Sharing Software, IBM to Release Mail Program Blueprint". The New York Times . Consultado el 17 de septiembre de 2017 .
  4. ^ "La guía de NetBSD. Capítulo 27. Correo y noticias" . Consultado el 10 de mayo de 2010 .
  5. ^ "CAPÍTULO 24. POSTFIJO".
  6. ^ "Postfix". Documentación de la comunidad, Wiki de Ubuntu . Consultado el 9 de marzo de 2012 .
  7. ^ Hontañón, Ramón J (10 de julio de 2001). Seguridad en Linux. San Francisco: Sybex . p. 166. ISBN. 978-0-7821-2741-6. Consultado el 21 de septiembre de 2011 .
  8. ^ ab "Rendimiento del envío masivo de correos" . Consultado el 9 de septiembre de 2012 .
  9. ^ Postfix-Tutorial.com: Postfix, Courier/POP, SASL y Spamassassin, con administración MySQL
  10. ^ "Análisis de facetas". Motor de búsqueda Shodan . Consultado el 26 de marzo de 2024 .
  11. ^ "Encuesta sobre servidores de correo (MX)". securityspace.com . E-Soft, Inc. 1 de marzo de 2024 . Consultado el 26 de marzo de 2024 .

Lectura adicional

Enlaces externos