Se ha publicado la versión 0.0.15 del proyecto Mox, que desarrolla una solución integral para la operación de servidores de correo, incluyendo todos los componentes necesarios para enviar y recibir correos electrónicos. Se ofrecen implementaciones propias de servidores SMTP e IMAP4, un sistema de filtrado de contenido no deseado, así como interfaces web para administradores y usuarios. El código del proyecto está escrito en Go y se distribuye bajo la licencia MIT.
El objetivo del proyecto es crear una solución 'todo en uno' que permita a los usuarios iniciar fácilmente un servidor de correo funcional sin configuraciones complicadas y sin la necesidad de integrar entre sí diversos servicios y aplicaciones aisladas. Se espera que, debido a las complicaciones en la implementación y mantenimiento de los servidores de correo, servidores los consumidores prefieran proveedores de correo electrónico centralizados, lo que destruye la idea misma del correo electrónico como un servicio descentralizado, formado por múltiples servidores de correo propios.
Mox permite configurar un servidor de correo seguro para sus dominios en 10 minutos, que admite la pila de protocolos moderna y no requiere la instalación de dependencias adicionales. La actualización del software en el servidor de correo se reduce a descargar una nueva versión de mox y reiniciar. La recepción y actualización de certificados TLS se realiza automáticamente. Para la configuración y el cumplimiento de tareas relacionadas con el mantenimiento, se puede usar una interfaz web, y para una configuración avanzada se proporciona un archivo de configuración.
Para evitar problemas de seguridad que surgen al trabajar a bajo nivel con la memoria, se utiliza el lenguaje Go en el desarrollo. Para mantener una alta calidad de la base de código se aplican pruebas manuales y automatizadas de compatibilidad con los servidores y clientes de correo más populares, pruebas unitarias y de fuzzing, así como una documentación exhaustiva del código.
Principales características de Mox:
- Soporte para los protocolos SMTP e IMAP4.
- Uso de extensiones SPF, DKIM y DMARC para identificar dominios de correo, verificar permisos de envío y autenticar mensajes.
- Seguimiento de la reputación de hosts, dominios y remitentes. Uso de clasificador bayesiano, listas negras DNSBL y listas grises para filtrar mensajes no deseados.
- Compatibilidad con extensiones para el uso de Unicode y alfabetos nacionales en nombres y dominios.
- Obtención automática de certificados TLS en autoridades de certificación que admiten el protocolo ACME, como Let’s Encrypt.
- Soporte para mecanismos DANE y MTA-STS para el cifrado de envíos entrantes y salientes sobre SMTP con la extensión STARTTLS.
- Webmail integrado para leer y enviar correos electrónicos a través del navegador.
- Interfaz web del administrador integrada para gestionar dominios y cuentas, configurar SPF/DKIM/DMARC/TLSRPT/MTA-STS, revisar estadísticas y modificar los parámetros del archivo de configuración.
- Presencia de un servidor http para entregar archivos estáticos y redirigir solicitudes (proxy inverso).
- Proporcionar una API HTTP/JSON para enviar/cargar correos y recibir eventos relacionados con la entrega.
- Exportación de métricas para el sistema de monitoreo Prometheus.
- Compatibilidad con extensiones para la autoconfiguración de clientes de correo (DNS SRV, https://autoconfig.dominio, código QR).
Entre los cambios en la nueva versión:
- Se agregó soporte para extensiones IMAP:
- NOTIFY (RFC 5465) para rastrear la llegada de mensajes,
- UIDONLY (RFC 9586) para consultar mensajes por UID y reducir la carga en el servidor.
- MULTISEARCH (RFC 7203) para buscar en los buzones de correo,
- PREVIEW (RFC 8970) para una vista previa rápida de los mensajes,
- REPLACE (RFC 8508) para reemplazar el contenido en borradores de mensajes,
- MULTIAPPEND (RFC 3502) para agregar varios mensajes a la vez,
- METADATA (RFC 5464) para almacenar metadatos,
- INPROGRESS (RFC 9585) para transmitir información sobre el estado de las operaciones prolongadas,
- NAMESPACE (RFC 2342) para definir espacios de nombres de buzones de correo,
- WITHIN (RFC 5032) para buscar en intervalos temporales,
- CREATE-SPECIAL-USE (RFC 6154) para crear buzones de correo especializados, como 'Entrada' y 'Enviados',
- SAVEDATE (RFC 8514) para rastrear la hora de guardado de un mensaje en el buzón.
- Se agregó una configuración para manejar los separadores '+' y '-' en direcciones de correo electrónico (you+anything@example.com y you-anything@example.com).
- Se agregó una configuración para prohibir el cambio de contraseña (solo generación automática de contraseñas seguras).
- Se agregó una configuración para rechazar entregas entrantes cuando ocurren errores en la transacción SMTP.
- Se agregó un botón en Webmail para descargar el mensaje en formato eml o mbox/maildir en archivos zip/tgz/tar, así como botones para marcar el buzón como leído y crear buzones de correo adicionales.
Fuente: opennet.ru
