Die Spam-Filterlösung Rspamd 2.0 ist jetzt verfügbar

Präsentiert Veröffentlichung des Spam-Filter-Systems Rspamd 2.0, das Werkzeuge zur Bewertung von Nachrichten anhand verschiedener Kriterien bietet, einschließlich Regeln, statistischer Methoden und schwarzer Listen. Diese Faktoren bestimmen das endgültige Gewicht der Nachricht, das zur Entscheidung über die Blockierung verwendet wird. Rspamd unterstützt fast alle Funktionen, die in SpamAssassin implementiert sind, und bietet eine Reihe von Besonderheiten, die es ermöglichen, E-Mails im Durchschnitt zehnmal schneller als SpamAssassin zu filtern und eine bessere Filterqualität zu gewährleisten. Der Code des Systems ist in C geschrieben und wird unter der GPLv3-Lizenz bereitgestellt. unter der Apache 2.0-Lizenz.

Rspamd ist auf einer ereignisgesteuerten Architektur aufgebaut und wurde ursprünglich für den Einsatz in hochbelasteten Systemen entwickelt. Dadurch kann es Hunderte von Nachrichten pro Sekunde verarbeiten. Die Regeln zur Erkennung von Spam sind sehr flexibel und können in ihrer einfachsten Form reguläre Ausdrücke enthalten; in komplexeren Fällen werden sie in der Lua-Sprache formuliert. Die Erweiterung der Funktionalität und die Hinzufügung neuer Prüftypen erfolgen über Module, die in den Programmiersprachen C und Lua erstellt werden können. Beispielsweise stehen Module zur Verfügung, um den Absender mithilfe von SPF zu überprüfen, die Domain des Absenders über DKIM zu bestätigen und Anfragen an DNSBL-Listen zu erstellen. Zur Vereinfachung der Konfiguration, Regelerstellung und Statistikanalyse wird eine administrative Web-Oberfläche bereitgestellt.

Hauptneuheiten:

  • Es wurde auf ein neues Versionsnummerierungschema umgestellt. Da die erste Zahl der Versionsnummer seit mehreren Jahren unverändert blieb und die zweite Zahl den tatsächlichen Versionsindikator darstellt, wurde beschlossen, anstelle des Schemas „x.y.z“ auf das Format „y.z“ umzusteigen.
  • Für die Ereignisverarbeitungsschleife wird anstelle von Libevent die Bibliothek libev, befreit von einigen Einschränkungen von libevent und ermöglicht eine höhere Leistung. Die Nutzung
    libev hat es ermöglicht, den Code zu vereinfachen, die Verarbeitung von Signalen und Timeout zu verbessern und die Überwachung von Dateiveränderungen mithilfe des inotify-Mechanismus zu vereinheitlichen (nicht alle für unterstützte Plattformen bereitgestellten Versionen von libevent konnten mit inotify arbeiten);
  • Die Unterstützung für das Modul zur Klassifikation von Nachrichten, das die Bibliothek für tiefes maschinelles Lernen Torch verwendet, wurde eingestellt. Als Grund wird die übermäßige Komplexität von Torch und die hohe Wartungsaufwand genannt. Als Ersatz für die Klassifikation unter Verwendung von Methoden des maschinellen Lernens wurde ein vollständig neu geschriebenes Modul vorgeschlagen, Neural, das zur Gewährleistung des Betriebs des neuronalen Netzwerks die Bibliothek verwendet, kann, die nur 4000 Zeilen Code in C umfasst. In der neuen Implementierung wurden viele Probleme mit dem Auftreten von gegenseitigen Blockierungen während des Trainings gelöst;
  • Modul RBL Er ersetzt die Module SURBL und Emails und ermöglicht so eine einheitliche Verarbeitung aller Überprüfungen gegen Blacklists. Die RBL-Funktionen wurden durch die Unterstützung zusätzlicher Typen, wie z.B. Selektoren, sowie durch vereinfachte Erweiterungsmöglichkeiten bestehender Regeln erweitert. Regeln zur Blockierung von E-Mails auf Basis von Map-Listen anstelle von DNS RBL werden nicht mehr unterstützt; stattdessen wird empfohlen, Multimap mit Selektoren zu verwenden.
  • Zur Bestimmung von Dateitypen anhand des Inhalts wird eine neue Bibliothek namens Lua Magic eingesetzt, die Lua und Hyperscan anstelle von libmagic verwendet.
    Als Grund für die Entwicklung einer eigenen Bibliothek wird der Wunsch genannt, eine höhere Leistung zu erzielen, Störungen bei der Erkennung von docx-Dateien zu beseitigen, eine besser geeignete API zu bieten und neue Arten von Heuristiken hinzuzufügen, die nicht durch starre Regeln eingeschränkt sind.
  • Das Modul zur Datenspeicherung in der Datenbank wurde verbessert. ClickhouseNeue Felder für LowCardinality wurden hinzugefügt und der Speicherverbrauch erheblich optimiert.
  • Die Möglichkeiten des Moduls wurden erweitert. Multimap, das nun die Unterstützung für kombinierte und abhängige Zuordnungen bietet.
  • Im Modul Maillist wurde die Identifikation von Mailinglisten verbessert.
  • In den Arbeitsabläufen wurde die Möglichkeit hinzugefügt, Heartbeat-Nachrichten an den Hauptprozess zu senden, die den Betrieb im Normalmodus bestätigen. Bei fehlenden Nachrichten über einen festgelegten Zeitraum kann der Hauptprozess den Arbeitsprozess zwangsweise beenden. Dieser Modus ist standardmäßig noch deaktiviert;
  • Eine Reihe neuer Scanner in der Sprache Lua wurde hinzugefügt. Beispielsweise wurden Module für das Scannen von Nachrichten in den Antivirenpaketen Kaspersky ScanEngine, Trend Micro IWSVA (über icap) und
    F-Secure Internet Gatekeeper (über icap) sowie externe Scanner für Razor, oletools und P0F angeboten;
  • Es wurde die Möglichkeit geschaffen, Nachrichten über die Lua-API zu ändern. Ein Modul wurde vorgeschlagen, um Änderungen in den MIME-Blöcken vorzunehmen lib_mime;
  • Es wird eine separate Verarbeitung der über "Settings-Id:" festgelegten Einstellungen gewährleistet, zum Beispiel können nun Regeln nur an bestimmte Einstellungs-IDs gebunden werden;
  • Es wurden Leistungsoptimierungen für die Lua-Engine, die Base64-Dekodierung und die Spracherkennung für Texte vorgenommen. Die Unterstützung für das Caching komplexer Zuordnungen (maps) wurde hinzugefügt. Unterstützung für
    HTTP Keep-Alive wurde implementiert.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster