Die Veröffentlichung des Spam-Filter-Systems Rspamd 3.0 bietet verschiedene Werkzeuge zur Bewertung von Nachrichten basierend auf Kriterien wie Regeln, statistischen Methoden und Blacklists. Diese Faktoren bestimmen das endgültige Gewicht der Nachricht, das für die Entscheidung über die Notwendigkeit der Blockierung verwendet wird. Rspamd unterstützt nahezu alle Funktionen von SpamAssassin und bietet mehrere Eigenschaften, die eine Filterung der E-Mails im Durchschnitt zehnmal schneller ermöglichen als SpamAssassin, sowie eine verbesserte Filterqualität. Der Code des Systems ist in C geschrieben und wird unter der Lizenz Apache 2.0 verbreitet.
Rspamd ist mit einer ereignisgesteuerten Architektur entwickelt worden und wurde ursprünglich für den Einsatz in stark belasteten Systemen konzipiert. Dadurch können Hunderte von Nachrichten pro Sekunde verarbeitet werden. Die Regeln zur Erkennung von Spam sind sehr flexibel und können in ihrer einfachsten Form reguläre Ausdrücke enthalten, während in komplexeren Situationen eine Formulierung in Lua möglich ist. Die Funktionalität kann durch Module erweitert werden, die in C und Lua programmiert werden können. Zum Beispiel sind Module zur Überprüfung des Absenders mittels SPF verfügbar sowie zur Bestätigung des Absenders über DKIM und zur Erstellung von Anfragen an DNSBL-Listen. Nach Abschluss des Transfers kann die Domain auf unser Hosting gerichtet werden. Zur Vereinfachung der Konfiguration, der Erstellung von Regeln und zur Überwachung von Statistiken steht eine administrative Web-Oberfläche zur Verfügung.
Die signifikante Erhöhung der Versionsnummer ist auf wesentliche Änderungen der internen Architektur zurückzuführen, insbesondere im Bereich des HTML-Parsings, das vollständig neu geschrieben wurde. Der neue Parser verarbeitet HTML unter Verwendung des DOM-Modells und erstellt einen Tag-Baum. In dieser Version wurde auch ein CSS-Parser implementiert, der zusammen mit dem neuen HTML-Parser die korrekte Extraktion von Daten aus modernen HTML-markierten E-Mails ermöglicht, einschließlich der Unterscheidung zwischen sichtbaren und unsichtbaren Inhalten. Bemerkenswert ist, dass der Code der Parser nicht in C, sondern in C++17 geschrieben wurde, was den Einsatz eines Compilers mit Unterstützung für diesen Standard erforderlich macht.
Weitere Neuerungen:
- Die Unterstützung für die Amazon Web Services (AWS) API wurde hinzugefügt, wodurch die Möglichkeit geschaffen wurde, direkt über die Lua API auf die Cloud-Dienste von Amazon zuzugreifen. Als Beispiel wurde ein Plugin bereitgestellt, das alle Nachrichten im Amazon S3-Speicher speichert.
- Der Code zur Erstellung von Berichten im Zusammenhang mit der DMARC-Technologie wurde überarbeitet. Die Funktion zum Versenden von Berichten wurde in einen separaten Befehl spamadm dmarc_report ausgelagert.
- Für Mailinglisten wurde die Unterstützung für «DMARC Munging» hinzugefügt, um die From-Adresse in Nachrichten durch die Adresse der Mailingliste zu ersetzen, wenn für die Nachricht gültige DMARC-Regeln festgelegt sind.
- Ein Plugin namens external_relay wurde hinzugefügt, um Probleme mit der Verwendung in Plugins wie SPF zu lösen. IP-Adressen Damit wird ein vertrauenswürdiger Mailrelay anstelle der Absenderadresse verwendet.
- Der Befehl «rspamadm bayes_dump» wurde hinzugefügt, um bayessche Tokens zu speichern und zu laden, was den Transfer zwischen verschiedenen Rspamd-Instanzen ermöglicht.
- Ein Plugin zur Unterstützung des gemeinsamen Spam-Blockiersystems Pyzor wurde hinzugefügt.
- Die Überwachungstools wurden überarbeitet, die jetzt seltener aufgerufen werden und weniger Belastung für externe Module erzeugen.
Quelle: opennet.ru
