Exim

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Agente de transferencia de correo (escrito en 1995)

Exim es un agente de transferencia de correo (MTA) utilizado en sistemas operativos similares a Unix. Exim es software libre distribuido bajo los términos de la Licencia Pública General GNU, y pretende ser un programa de correo general y flexible con amplias funciones para verificar el correo electrónico entrante.

Exim se ha portado a la mayoría de los sistemas similares a Unix, así como a Microsoft Windows utilizando la capa de emulación de Cygwin. Exim 4 es actualmente el MTA predeterminado en los sistemas Debian Linux.

Existen muchas instalaciones de Exim, especialmente dentro de los proveedores de servicios de Internet y las universidades del Reino Unido. Exim también se usa ampliamente con el administrador de listas de correo GNU Mailman y cPanel.

En marzo de 2023, un estudio realizado por E-Soft, Inc. calculó que el 59 % de los servidores de correo de acceso público en Internet ejecutaban Exim.

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. Inicialmente, el nombre significaba EXperimental Internet Mailer. Originalmente se basó en un MTA más antiguo, Smail-3, pero desde entonces se ha separado de Smail-3 en su diseño y filosofía.

Modelo de diseño

Exim, al igual que Smail, aún sigue el modelo de diseño de Sendmail, donde un solo binario controla todas las instalaciones de la MTA. Exim tiene etapas bien definidas durante las cuales gana o pierde privilegios.

La seguridad de Exim ha tenido una serie de problemas de seguridad graves diagnosticados a lo largo de los años. 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 sobre cuánta confianza es apropiado depositar en el usuario en tiempo de ejecución; este último se solucionó en un bloqueo de seguridad en la revisión 4.73, una de las raras ocasiones en 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 funciones que faltan en otros MTA. Siempre ha tenido importantes facilidades para los controles de políticas de correo, brindando 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 convirtió en un sistema basado en Lista 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 sencilla 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 control de acceso (LCA) que define el comportamiento durante las sesiones del SMTP,
  • la sección de routers que incluye varios elementos de procesamiento que operan en direcciones (la lógica de entrega), cada uno probado a su vez,
  • la sección de transporte que incluye elementos de procesamiento que transmiten mensajes reales a destinos,
  • la sección de reingreso donde se define la política de reintentar mensajes que no se entregan en el primer intento,
  • la sección de reescritura, definiendo si y cómo el sistema de correo reescribirá direcciones en los correos electrónicos entrantes
  • la sección de autenticadores con la configuración para SMTP AUTH, una regla por mecanismo auth.

El archivo de configuración permite la inclusión de otros archivos, lo que genera 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 usan 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 ejecución, lo que sucede 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 compatibilidad con la 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 de Exim, junto con plantillas y directorios con fragmentos de configuración. La metaconfiguración está ajustada con macros cuyos nombres comienzan con DC_. Cuando se invoca al supervisor de exim, vuelve a procesar los archivos de configuración y produce una configuración de un solo archivo 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 recomienda a las personas que hagan preguntas sobre Debian en la lista de correo administrada por Debian. El paquete de Ubuntu aún aconseja a los usuarios que utilicen la lista de correo de Debian.

Documentación

Exim cuenta con una extensa y exhaustiva documentación; si una característica o algún comportamiento no está documentado, esto se clasifica como un error. La documentación consta de la especificación Exim y dos archivos auxiliares: la especificación experimental para funciones 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 múltiples 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 garantiza que el formato de texto sin formato sea altamente utilizable.

Rendimiento

Exim se ha implementado en entornos muy concurridos, a menudo manejando miles de correos electrónicos por hora de manera eficiente. Exim está diseñado para entregar correos electrónicos inmediatamente, sin colas. Sin embargo, su rendimiento de procesamiento de colas es comparativamente bajo cuando las colas son grandes (lo que rara vez ocurre en los sitios típicos de poco tráfico, pero puede ocurrir regularmente en los sitios de alto 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 scheduler). Por lo tanto, no hay un equilibrio de carga centralizado del procesamiento de colas (lo que lleva a que se dedique una cantidad de tiempo desproporcionada a procesar las mismas entradas de cola repetidamente). La simultaneidad de transporte remoto en todo el sistema es ilimitada de forma predeterminada (lo que lleva a un "problema de rebaño atronador" cuando se envían varios mensajes dirigidos a un solo dominio a la vez), pero puede estar limitada por la configuración. En las propias palabras de Philip Hazel:

"La línea inferior es que Exim no realiza particularmente bien en ambientes donde la cola regularmente se hace muy grande. Nunca fue diseñado para esto; las entregas de la cola siempre estaban destinadas a 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 (Perl Compatible Regular Expressions). Las expresiones regulares de Perl son mucho más poderosas que POSIX y otras expresiones regulares comunes, y PCRE se ha vuelto popular en otras aplicaciones además de Exim. En 2021 (después del lanzamiento de 4.95) Exim hizo la transición a PCRE2.

Actualizaciones

Históricamente, Exim utilizó un esquema peculiar de numeración de versiones donde 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 completamente documentados. En 2005, los cambios en la numeración de la versión de Exim estaban en la mesa de discusión.

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 introduzcan inmediatamente en la especificación Exim. La versión 4.70 siguió naturalmente a 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.

Contenido relacionado

Derribar

Pulldown puede referirse...

Motorola 68008

El Motorola 68008 es un microprocesador de 8/32 bits introducido por Motorola en 1982. Es una versión del Motorola 68000 de 1979 con un bus de datos externo...

Una red

AWeb es un navegador web para la gama de ordenadores Amiga. Desarrollado originalmente por Yvon Rozijn, AWeb se envió con la versión 3.9 de AmigaOS y ahora...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save