Exim es un agente de transferencia de correo (MTA) que se utiliza en sistemas operativos similares a Unix. Exim es un software libre distribuido bajo los términos de la Licencia Pública General GNU , y su objetivo es ser un programa de correo general y flexible con amplias facilidades para verificar el correo electrónico entrante .
Autor (es) original (es) | Philip Hazel |
---|---|
Desarrollador (es) | Los mantenedores de Exim |
Versión inicial | 1995 |
Lanzamiento estable | 4.94 [1] / 1 de junio de 2020 |
Repositorio | |
Escrito en | C |
Sistema operativo | Tipo Unix |
Plataforma | Multiplataforma |
Tipo | Agente de transferencia de correo |
Licencia | GPLv2 |
Sitio web | www |
Exim se ha adaptado a la mayoría de los sistemas similares a Unix, así como a Microsoft Windows utilizando la capa de emulación Cygwin . Exim 4 es actualmente el MTA predeterminado en los sistemas Debian GNU / Linux .
Existen muchas instalaciones de Exim, especialmente en proveedores de servicios de Internet [2] y universidades del Reino Unido. Exim también se usa ampliamente con el administrador de listas de correo GNU Mailman y cPanel .
En marzo de 2021, un estudio realizado por E-Soft, Inc. [3] estimó que el 60% de los servidores de correo accesibles públicamente en Internet ejecutaban Exim, lo que lo convierte en el servidor de correo más popular.
Origen
La primera versión de Exim fue escrita en 1995 por Philip Hazel para su uso en los sistemas de correo electrónico del Servicio de Computación de la Universidad de Cambridge . El nombre inicialmente representaba EX Perimental I nternet M Ailer. [4] Originalmente se basó en un MTA más antiguo, Smail -3, pero desde entonces se ha diferenciado de Smail-3 en su diseño y filosofía. [5] [6]
Modelo de diseño
Exim, como Smail , todavía sigue el modelo de diseño de Sendmail , donde un solo binario controla todas las instalaciones del MTA. Exim tiene etapas bien definidas durante las cuales gana o pierde privilegios . [7]
La seguridad de Exim ha tenido varios problemas de seguridad graves diagnosticados a lo largo de los años. [8] Desde que se lanzó la versión 4 rediseñada, ha habido cuatro fallas de ejecución remota de código y una falla conceptual con respecto a cuánta confianza es apropiado depositar en el usuario en tiempo de ejecución ; este último se corrigió en un bloqueo de seguridad en la revisión 4.73, una de las raras ocasiones en las que Exim ha roto la compatibilidad con versiones anteriores de las configuraciones de trabajo.
Configuración
Exim es altamente configurable y, por lo tanto, tiene características que faltan en otros MTA. Siempre ha tenido importantes facilidades para los controles de la política de correo, proporcionando facilidades para que el administrador controle quién puede enviar o retransmitir correo a través del sistema. En la versión 4.x, esto se ha convertido en un sistema basado en listas de control de acceso que permite controles muy detallados y flexibles. La integración de un marco para el análisis de contenido, que permitió una integración más fácil de las medidas antivirus y antispam , ocurrió en las versiones 4.x. Esto hizo que Exim fuera muy adecuado para hacer cumplir diversas políticas de correo.
La configuración se realiza a través de un archivo de configuración (generalmente único), que debe incluir la sección principal con configuraciones y variables genéricas, así como las siguientes secciones opcionales:
- la sección de la lista de control de acceso (ACL) que define el comportamiento durante las sesiones SMTP ,
- la sección de enrutadores que incluye una serie de elementos de procesamiento que operan en direcciones (la lógica de entrega), cada uno probado por turno,
- la sección de transportes que incluye elementos de procesamiento que transmiten mensajes reales a los destinos,
- la sección de reintento donde se define la política sobre reintentar los mensajes que no se entregan en el primer intento,
- la sección de reescritura, que define si y cómo el sistema de correo reescribirá las direcciones en los correos electrónicos entrantes
- la sección de autenticadores con configuraciones para SMTP AUTH , una regla por mecanismo de autenticación.
El archivo de configuración permite la inclusión de otros archivos, lo que conduce a dos estilos de configuración diferentes.
Estilos de configuración
Hay dos escuelas principales de estilo de configuración para Exim. La escuela nativa mantiene la configuración de Exim en un archivo y los archivos externos solo se utilizan como fuentes de datos; esto está fuertemente influenciado por las preferencias de Philip Hazel y las notas sobre el rendimiento, ya que el archivo de configuración se vuelve a leer en cada ejecutivo, lo que ocurre después de la bifurcación para recibir conexiones entrantes y en la entrega.
El segundo estilo que se encuentra comúnmente es el estilo Debian , que está diseñado para facilitar que una aplicación instalada proporcione automáticamente soporte de integración de correo sin que el administrador edite los archivos de configuración. Hay un par de variantes de esto y Debian proporciona documentación de su enfoque como parte de los paquetes. En estos enfoques, se usa un archivo de configuración debconf para construir el archivo de configuración Exim, junto con plantillas y directorios con fragmentos de configuración. La metaconfiguración está ajustada con macros que tienen nombres que comienzan con DC_ . Cuando se invoca al supervisor de exim, este vuelve a procesar los archivos de configuración produciendo una configuración de archivo único que utiliza el binario exim.
Debido a que el enfoque de Debian difiere significativamente del de Exim, es común encontrar una falta de soporte para el enfoque de Debian en las listas de correo regulares de Exim, y se aconseja a la gente [9] [10] que haga preguntas a Debian sobre el correo administrado por Debian. -lista. El paquete de Ubuntu [11] todavía aconseja a los usuarios que utilicen la lista de correo de Debian.
Documentación
Exim tiene documentación extensa y exhaustiva; si una característica o algún comportamiento no está documentado, esto se clasifica como un error. La documentación consta de The Exim Specification y dos archivos auxiliares: la especificación experimental para características que podrían desaparecer y "NewStuff", que rastrea cambios muy recientes que podrían no haberse integrado completamente en la especificación principal. La especificación Exim está disponible en varios formatos, incluso en línea en HTML y en texto sin formato para una búsqueda rápida. El sistema de preparación de documentos asegura que el formato de texto sin formato sea altamente utilizable.
Actuación
Exim se ha implementado en entornos ocupados, a menudo manejando miles de correos electrónicos por hora de manera eficiente. Exim está diseñado para enviar correo electrónico de forma inmediata, sin hacer cola. Sin embargo, su rendimiento de procesamiento de colas es comparativamente pobre cuando las colas son grandes (lo que ocurre raramente en sitios típicos con poco tráfico, pero puede ocurrir regularmente en sitios con mucho tráfico).
A diferencia de qmail , Postfix y ZMailer , Exim no tiene un administrador de colas central (es decir, un equivalente de qmail-send , qmgr o planificador ). Por lo tanto, no existe un equilibrio de carga centralizado, ya sea en el procesamiento de la cola (lo que lleva a una cantidad desproporcionada de tiempo que se dedica a procesar las mismas entradas de la cola de manera repetida) o en la concurrencia del transporte remoto en todo el sistema (lo que genera un " problema de rebaño estruendoso " cuando se abordan varios mensajes a un solo dominio se envían a la vez). En las propias palabras de Philip Hazel: [12]
- "La conclusión es que Exim no funciona particularmente bien en entornos donde la cola suele ser muy grande. Nunca fue diseñado para esto; las entregas de la cola siempre fueron pensadas para ser 'excepciones' en lugar de la norma".
En 1997, Hazel reemplazó la biblioteca de expresiones regulares POSIX de Exim escrita por Henry Spencer con una nueva biblioteca que desarrolló llamada PCRE ( Expresiones regulares compatibles con Perl ). Las expresiones regulares de Perl son mucho más poderosas que POSIX y otras expresiones regulares comunes, y PCRE se ha vuelto popular en aplicaciones distintas de Exim.
Actualizaciones
Históricamente, Exim usó un esquema de numeración de versiones peculiar en el que el primer dígito decimal se actualiza solo cuando la documentación principal está completamente actualizada; hasta ese momento, los cambios se acumulaban en el archivo NewStuff. Por esta razón, un cambio de versión 0.01 puede significar cambios importantes, no necesariamente documentados en su totalidad. [13] En 2005, los cambios en la numeración de versiones de Exim estaban sobre la mesa de discusión. [14]
En tiempos más recientes, el sistema de preparación de documentos para Exim se ha revisado y es mucho más probable que los cambios se apliquen inmediatamente a la Especificación Exim. La versión 4.70 siguió naturalmente desde la 4.69 y las versiones 4.6x tenían documentación actualizada.
Philip Hazel se retiró de la Universidad de Cambridge en 2007 y el mantenimiento de Exim pasó a ser un equipo de mantenedores. Exim continúa manteniéndose activamente, con lanzamientos frecuentes.
Ver también
- Comparación de servidores de correo
- Lista de servidores de correo
Referencias
- ^ "lanzamientos de exim" . Consultado el 1 de junio de 2020 , a través de GitHub .
- ^ Golanski, Y (2000) El agente de transferencia de correo de Exim en una implementación a gran escala
- ^ "Encuesta E-Soft MX" . securityspace.com . E-Soft Inc. 1 de marzo de 2021 . Consultado el 21 de marzo de 2021 .
- ^ Philip Hazel El servidor de correo SMTP de Exim (Prefacio)
- ^ "Pensamientos originales de Philip Hazel sobre la implementación de un futuro MTA basado en Smail" . cam.ac.uk . Archivado desde el original el 15 de diciembre de 2008.
- ^ "El Smail-3 MTA" . weird.com .
- ^ "Consideraciones de seguridad" . exim.org .
- ^ "EximSecurity" . GitHub .
- ^ "DebianExim4" . GitHub .
- ^ "Las preguntas frecuentes de Exim" . exim.org .
- ^ "Ubuntu - Detalles del paquete exim4 en lucid" . ubuntu.com .
- ^ publicación de Philip Hazel
- ^ [Exim] Exim 4.21 lanzado
- ^ "Desarrollo de Exim - de la catedral hacia lo extraño" . Archivado desde el original el 14 de octubre de 2007 . Consultado el 25 de febrero de 2015 .
Bibliografía
- Hazel, Philip (1 de abril de 2007). El servidor de correo Exim SMTP: Guía oficial para la versión 4 (segunda edición). UIT Cambridge Ltd. p. 640. ISBN 978-0-9544529-7-1.
enlaces externos
- Página web oficial
- Wiki exim
- Información de Debian sobre su empaquetado de Exim