Das vSMTP-Projekt entwickelt einen neuen Mailserver (MTA), der auf hohe Leistung abzielt und flexible Möglichkeiten zur Filterung und Verwaltung des Datenverkehrs bietet. Der Code des Projekts ist in Rust geschrieben und wird unter der GPLv3-Lizenz veröffentlicht.
Laut den von den Entwicklern veröffentlichten Testergebnissen ist vSMTP zehnmal schneller als konkurrierende MTAs. Beispielsweise zeigte vSMTP eine um 4-13 Mal höhere Durchsatzrate als Postfix 3.6.4 bei der Übertragung von Nachrichten mit einer Größe von 100 KB und der Einrichtung von 4-16 gleichzeitigen Sitzungen. Die hohe Leistung wird durch die Verwendung einer mehrthreadigen Architektur erreicht, bei der asynchrone Kanäle zur Interaktion zwischen den Threads verwendet werden.

vSMTP entwickelt sich mit einem primären Fokus auf hohe Sicherheit, die durch intensives Testen mit statischen und dynamischen Tests sowie durch die Verwendung der Programmiersprache Rust erreicht wird, die es ermöglicht, viele speicherbezogene Fehler zu vermeiden, wenn sie richtig eingesetzt wird. Konfigurationsdateien werden im TOML-Format definiert.

Ein weiteres Merkmal des Projekts ist die integrierte vSL-Sprache zur Erstellung von Skripten für die Filterung von E-Mails, mit der sehr flexible Regeln zum Herausfiltern unerwünschter Inhalte und zur Verwaltung des Datenverkehrs erstellt werden können. Die Sprache basiert auf Rhai und verwendet dynamische Typisierung, die das Einbetten von Code in Rust-Anwendungen ermöglicht und eine Syntax bietet, die an eine Mischung aus JavaScript und Rust erinnert. Skripte erhalten eine API zur Überprüfung und Modifikation von eingehenden Nachrichten, zur Umleitung von Nachrichten und zur Verwaltung ihrer Zustellung an lokale und entfernte Hosts. In den Skripten wird die Verbindung zu Datenbanken, das Ausführen beliebiger Befehle und das Einziehen von E-Mails in Quarantäne unterstützt. Neben vSL unterstützt vSMTP auch SPF und Filter, die auf Listen offener Relais basieren, um unerwünschte Nachrichten zu bekämpfen.
In den geplanten zukünftigen Versionen wird die Möglichkeit zur Integration mit SQL-basierten DBMS (derzeit werden Adress- und Hostdaten im CSV-Format eingegeben) sowie die Unterstützung von DANE (DNS-basiert Authentifizierung von benannten Objekten) und DMARC (Domain-basierte Nachrichtenautorisierung) hervorgehoben. In weiterentwickelten Versionen sind Mechanismen wie BIMI (Brand Indicators for Message Identification) und ARC (Authenticated Received Chain), die Integration mit Redis, Memcached und LDAP, Tools zur DDoS- und SPAM-Bot-Abwehr sowie Plugins für die Durchführung von Prüfungen in Antivirenpaketen (ClamAV, Sophos usw.) geplant.
Quelle: opennet.ru
