vSMTP un servidor de correo que promete ser más rápido, más seguro y más ecológico
Hace algunos días se presentó el desarrollo de un nuevo proyecto llamado «vSMTP» el cual está desarrollando un nuevo servidor de correo (MTA) destinado a proporcionar un alto rendimiento y ofrecer opciones flexibles para el filtrado y la gestión del tráfico.
vSMTP se está desarrollando con un enfoque principal en la alta seguridad, que se logra a través de pruebas exhaustivas con pruebas estáticas y dinámicas, así como el uso del lenguaje Rust, que, si se usa correctamente, evita muchos errores relacionados con la memoria. Los archivos de configuración se definen en formato TOML.
Si bien la optimización de los recursos de TI se convierte en un desafío cada vez mayor, los ataques informáticos siguen siendo un problema constante.
Todos los días, se envían y reciben más de 300 mil millones de correos electrónicos en el mundo. Miles de millones de archivos adjuntos se procesan, analizan y entregan, lo que contribuye al aumento de las emisiones de gases de efecto invernadero.
Para enfrentar estos desafíos, viridIT está desarrollando una nueva tecnología de puertas de enlace de correo electrónico, también llamada vSMTP.
Según los resultados de las pruebas publicadas por los desarrolladores, vSMTP es diez veces más rápido que los MTA de la competencia. Por ejemplo, vSMTP mostró un rendimiento de 4 a 13 veces mayor que Postfix 3.6.4 al enviar mensajes de 100 KB y establecer de 4 a 16 sesiones simultáneas. El alto rendimiento se logra mediante el uso de una arquitectura de subprocesos múltiples, en la que se utilizan canales asíncronos para comunicarse entre subprocesos.
Una característica del proyecto es también la presencia de un lenguaje vSL incorporado para escribir scripts para filtrar mensajes, lo que le permite crear reglas muy flexibles para filtrar contenido no deseado y controlar el tráfico.
De las características que se destacan, se mencionan las siguientes:
- Está construido 100% en Rust.
- Es modular y altamente personalizable.
- Tiene un completo sistema de filtrado.
- Se desarrolla y mantiene activamente.
Ademas de ello tambien se menciona que vSMTP permite crear un conjunto complejo de reglas para filtrar sus correos electrónicos utilizando el lenguaje de secuencias de comandos (vsl) de Viridit basado en Rhai
Con vSMTP se puede:
- inspeccionar/modificar el contenido de los correos electrónicos entrantes.
- reenviar y entregar correos electrónicos de forma local o remota.
- conectarse a bases de datos.
- ejecutar comandos.
- correos electrónicos en cuarentena.
- y mucho más.
El idioma se basa en el idioma Rhai, que utiliza escritura dinámica, permite que el código se incruste en los programas de Rust y proporciona una sintaxis que se asemeja a una mezcla de JavaScript y Rust.
Los scripts se proporcionan con una API para inspeccionar y modificar los mensajes entrantes, reenviar mensajes y administrar su entrega a hosts locales y remotos. Los scripts admiten la conexión al DBMS, la ejecución de comandos arbitrarios y la colocación de mensajes en cuarentena. Además de vSL, vSMTP también es compatible con SPF y filtros basados en listas de retransmisión abiertas para combatir el spam.
Cabe mencionar que de los planes para una versión futura se menciona la posibilidad de integración con un DBMS basado en SQL (ya que por el momento la dirección y los datos del host se especifican en formato CSV).
Otro de los cambios que se espera implementar es el soporte para DANE (Autenticación de entidades nombradas basada en DNS) y DMARC (Mensaje basado en dominio). Ademas de que tambien se tiene planeado implementar diversos mecanismos de autenticación.
En cuanto a los planes a mayor plazo (en versiones más lejanas), se planea implementar mecanismos BIMI (Brand Indicators for Message Identification) y ARC (Authenticated Received Chain), la capacidad de integración con Redis, Memcached y LDAP, herramientas para proteger contra bots DDoS y SPAM, complementos para organizar comprobaciones en paquetes antivirus (ClamAV, Sophos, etc.).
Finalmente para quienes estén interesados en poder conocer más sobre este nuevo proyecto, deben saber que el código del proyecto está escrito en Rust y se distribuye bajo la licencia GPLv3.
Pueden consultar el código fuente del proyecto asi mismo como su documentación y demás información en el siguiente enlace. En cuanto a la instalación y configuración, pueden consultar la documentación ofrecida en el siguiente enlace.