qmail es un agente de transferencia de correo (MTA) que se ejecuta en Unix . Fue escrito, a partir de diciembre de 1995, por Daniel J. Bernstein como un reemplazo más seguro del popular programa Sendmail . Originalmente software sin licencia , el código fuente de qmail fue posteriormente dedicado al dominio público por el autor. [3]
Autor (es) original (es) | Daniel J. Bernstein |
---|---|
Lanzamiento final | 1.03 / 15 de junio de 1998 |
Repositorio | cr |
Escrito en | C |
Sistema operativo | Tipo Unix |
Tipo | Agente de transferencia de correo |
Licencia | dominio público [1] |
Sitio web | cr |
Lanzamiento final | 1.06 / 30 de noviembre de 2007 |
---|---|
Repositorio | netqmail |
Sitio web | netqmail |
Lanzamiento estable | 4.1.08 / 30 de marzo de 2021 |
---|---|
Sitio web | fehcom |
Lanzamiento estable | 1.08 / 20 de mayo de 2020 |
---|---|
Repositorio | github |
Sitio web | notqmail |
Características
Seguridad
Cuando se publicó por primera vez, qmail fue el primer agente de transporte de correo con conciencia de seguridad; desde entonces, se han publicado otros MTA conscientes de la seguridad . El predecesor más popular de qmail, Sendmail , no fue diseñado con la seguridad como objetivo y, como resultado, ha sido un objetivo perenne para los atacantes. A diferencia de sendmail, qmail tiene una arquitectura modular compuesta por componentes que no confían mutuamente; por ejemplo, el componente de escucha SMTP de qmail se ejecuta con credenciales diferentes del administrador de colas o del remitente SMTP. qmail también se implementó con un reemplazo consciente de la seguridad de la biblioteca estándar de C y, como resultado, no ha sido vulnerable a desbordamientos de pila y montón , ataques de cadenas de formato o condiciones de carrera de archivos temporales .
Actuación
Cuando se lanzó, qmail era significativamente más rápido que Sendmail, particularmente para tareas de correo masivo como servidores de listas de correo. qmail fue diseñado originalmente como una forma de administrar grandes listas de correo.
Sencillez
En el momento de la introducción de qmail, la configuración de Sendmail era notoriamente compleja, mientras que qmail era simple de configurar e implementar.
Innovaciones
qmail fomenta el uso de varias innovaciones en el correo (algunas originadas por Bernstein, otras no):
- Maildir
- Bernstein inventó el formato Maildir para qmail, que divide los mensajes de correo electrónico individuales en archivos separados. A diferencia del formato mbox estándar de facto , que almacena todos los mensajes en un solo archivo, Maildir evita muchos problemas de bloqueo y concurrencia, y se puede aprovisionar de forma segura a través de NFS . qmail también realiza envíos a buzones de correo de mbox.
- Buzones de correo comodín
- qmail introdujo el concepto de comodines controlados por el usuario. De fábrica, el correo dirigido a "user- wildcard " en los hosts de qmail se entrega a buzones de correo separados, lo que permite a los usuarios publicar varias direcciones de correo para listas de correo y administración de spam.
qmail también presenta los protocolos Quick Mail Transport Protocol (QMTP) y Quick Mail Queueing Protocol (QMQP).
Modularidad
qmail es un sistema casi completamente modular en el que cada función principal está separada de las otras funciones principales. Es fácil reemplazar cualquier parte del sistema qmail con un módulo diferente siempre que el nuevo módulo mantenga la misma interfaz que el original.
Controversia
Recompensa de seguridad y vulnerabilidad de Georgi Guninski
En 1997, Bernstein ofreció una recompensa de 500 dólares a la primera persona que publicara un agujero de seguridad verificable en la última versión del software. [4]
En 2005, el investigador de seguridad Georgi Guninski encontró un desbordamiento de enteros en qmail. En plataformas de 64 bits, en configuraciones predeterminadas con suficiente memoria virtual, la entrega de grandes cantidades de datos a ciertos componentes de qmail puede permitir la ejecución remota de código. Bernstein niega que se trate de un ataque práctico, argumentando que ningún despliegue de qmail en el mundo real sería susceptible. La configuración de límites de recursos para los componentes de qmail mitiga la vulnerabilidad. [5]
El 1 de noviembre de 2007, Bernstein aumentó la recompensa a 1000 dólares estadounidenses. [1] En una presentación de diapositivas al día siguiente, Bernstein declaró que había 4 "errores conocidos" en el qmail-1.03 de diez años, ninguno de los cuales eran "agujeros de seguridad". Caracterizó el error encontrado por Guninski como un "desbordamiento potencial de un contador no verificado". "Afortunadamente, el crecimiento del contador estaba limitado por la memoria y, por lo tanto, por la configuración, pero esto fue pura suerte". [6]
El 19 de mayo de 2020, Qualys [7] publicó un exploit funcional para la vulnerabilidad de Guninski, pero los autores del exploit afirman que se les negó la recompensa porque contiene restricciones ambientales adicionales.
Frecuencia de actualizaciones
El paquete principal de qmail no se ha actualizado durante muchos años. [8] Inicialmente, las nuevas características fueron proporcionadas por parches de terceros, de los cuales las más importantes en ese momento se reunieron en un único meta-parche llamado netqmail . [9]
Cumplimiento de normas
qmail no fue diseñado para reemplazar a Sendmail y no se comporta exactamente como lo hizo Sendmail en todas las situaciones. En algunos casos, estas diferencias de comportamiento se han convertido en motivo de crítica. Por ejemplo, el enfoque de qmail para rebotar mensajes (un formato llamado QSBMF) difiere del formato estándar de notificaciones de estado de entrega especificado por el IETF en RFC 1894, [10] mientras tanto avanzó al borrador de estándar como RFC 3464, [11] y recomendado en el Especificación SMTP .
Además, algunas funciones de qmail han sido criticadas por introducir complicaciones en el reenvío de correo; por ejemplo, el mecanismo de entrega "comodín" y el diseño de seguridad de qmail evitan que rechace mensajes de remitentes falsificados o inexistentes durante las transacciones SMTP. [12] En el pasado, estas diferencias pueden haber hecho que qmail se comportara de manera diferente cuando se abusaba como retransmisor de spam, aunque las técnicas modernas de envío de spam están menos influenciadas por el comportamiento de rebote.
Estado de los derechos de autor
qmail fue lanzado al dominio público en noviembre de 2007. [13] Hasta noviembre de 2007, qmail era un software sin licencia , con permiso otorgado para su distribución en forma fuente o en forma precompilada (un "paquete var-qmail") solo si se cumplieron ciertas restricciones (principalmente relacionadas con la compatibilidad). Este acuerdo de licencia inusual hizo que qmail no fuera gratuito de acuerdo con algunas pautas (como el DFSG ) y fue motivo de controversia.
qmail es el único agente de transferencia de mensajes ( MTA ) de software de dominio público ampliamente implementado .
Ver también
- qpsmtpd
- djbdns
- Lista de servidores de correo
- Comparación de servidores de correo
Referencias
- ^ a b "Algunas reflexiones sobre la seguridad después de diez años de qmail 1.0" (PDF) . Consultado el 1 de diciembre de 2007 .
- ^ Anunciando notqmail
- ^ "Información para distribuidores" .
Por la presente coloco el paquete qmail (en particular, qmail-1.03.tar.gz, con la suma de comprobación MD5 622f65f982e380dbe86e6574f3abcb7c) en el dominio público. Puede modificar el paquete, distribuir versiones modificadas, etc.
- ^ "La garantía de seguridad de qmail" . Consultado el 5 de octubre de 2007 .
- ^ Georgi Guninski. "Aviso de seguridad de Georgi Guninski # 74, 2005" . Consultado el 5 de octubre de 2007 .
- ^ "Algunas reflexiones sobre la seguridad después de diez años de qmail 1.0 [presentación de diapositivas]" (PDF) . Consultado el 17 de enero de 2008 .
- ^ " ' [oss-security] Ejecución remota de código en qmail (CVE-2005-1513)' - MARC" . marc.info . Consultado el 3 de marzo de 2021 .
- ^ "Vida con qmail; Historia" . Consultado el 1 de diciembre de 2007 .
- ^ "netqmail" . netqmail.org . Consultado el 3 de marzo de 2021 .
- ^ Vaudreuil, Gregory M .; Moore, Keith. "Un formato de mensaje extensible para notificaciones de estado de entrega" . tools.ietf.org . Consultado el 3 de marzo de 2021 .
- ^ Vaudreuil, Gregory M .; Moore, Keith. "Un formato de mensaje extensible para notificaciones de estado de entrega" . tools.ietf.org . Consultado el 3 de marzo de 2021 .
- ^ Moen, Rick (octubre de 2006). "En registros de Qmail, correo falsificado y SPF" . Gaceta de Linux (131).
- ^ "Bernstein lanza el código al dominio público" . Consultado el 30 de noviembre de 2007 .
enlaces externos
- Página web oficial , mantenido por el autor.
- qmail.org, mantenido por Russ Nelson en Wayback Machine (archivado el 15 de junio de 2019)
- qmail-LDAP-UI : qmail-LDAP-UI es una herramienta de administración de usuarios basada en web
- Qmailtoaster : distribuye archivos RPM para distribuciones apropiadas para instalar qmail rápida y fácilmente. Tiene una wiki y una lista de correo.
- pkgsrc qmail y qmail-run , un par de paquetes fuente de qmail multiplataforma fáciles de instalar incluidos en pkgsrc
- La sección qmail de FAQTS , una amplia base de conocimientos creada por usuarios de qmail
- qmailWiki es una wiki relativamente nueva sobre qmail, alojada por Inter7
- Sitio de qmail de JMSimpson Información útil sobre qmail, incluidas explicaciones y parches, por John M. Simpson (actualizado periódicamente)
- Error de qmail no oficial y lista de deseos
- Entrega de mensajes en cola de qmail (PHP)
- qmail-distributions : parches de qmail combinados en distribuciones fáciles de usar
- Notas de qmail de Roberto : un cómo en inglés / italiano sobre qmail y software relacionado. Se incluye un parche grande. Actualizada periódicamente.