Rspamd 2.0 Spam-Filtersystem verfügbar

Eingereicht von Freigabe des Spam-Filtersystems Rspamd 2.0, das Tools zur Bewertung von Nachrichten anhand verschiedener Kriterien bereitstellt, darunter Regeln, statistische Methoden und Blacklists, auf deren Grundlage ein endgültiges Nachrichtengewicht gebildet wird, anhand dessen entschieden wird, ob blockiert werden soll. Rspamd unterstützt fast alle in SpamAssassin implementierten Funktionen und verfügt über eine Reihe von Funktionen, mit denen Sie E-Mails im Durchschnitt zehnmal schneller als SpamAssassin filtern und eine bessere Filterqualität bieten können. Der Systemcode ist in C geschrieben und vertrieben von lizenziert unter Apache 2.0.

Rspamd basiert auf einer ereignisgesteuerten Architektur und ist ursprünglich für den Einsatz in hochbelasteten Systemen konzipiert, sodass es Hunderte von Nachrichten pro Sekunde verarbeiten kann. Regeln zur Erkennung von Spam-Anzeichen sind äußerst flexibel und können in ihrer einfachsten Form reguläre Ausdrücke enthalten. In komplexeren Situationen können sie in Lua geschrieben werden. Die Erweiterung der Funktionalität und das Hinzufügen neuer Prüfarten wird durch Module realisiert, die in den Sprachen C und Lua erstellt werden können. Es stehen beispielsweise Module zur Verifizierung des Absenders mittels SPF, zur Bestätigung der Absenderdomäne mittels DKIM und zur Generierung von Anfragen an DNSBL-Listen zur Verfügung. Um die Konfiguration zu vereinfachen, Regeln zu erstellen und Statistiken zu verfolgen, wird eine administrative Webschnittstelle bereitgestellt.

Wichtigste Neuerungen:

  • Es wurde auf ein neues Nummerierungsschema für Ausgaben umgestellt. Da sich die erste Zahl in der Versionsnummer seit mehreren Jahren nicht geändert hat und der eigentliche Versionsindikator die zweite Zahl ist, wurde beschlossen, auf das „y.z“-Format statt auf das „x.y.z“-Schema umzusteigen;
  • Stattdessen für die Ereignisschleife Freievent Bibliothek beteiligt libev, wodurch einige der Einschränkungen von libevent beseitigt werden und eine bessere Leistung ermöglicht wird. Verwendung
    libev ermöglichte es, den Code zu vereinfachen, die Signal- und Timeout-Verarbeitung zu verbessern und die Verfolgung von Dateiänderungen mithilfe des Inotify-Mechanismus zu vereinheitlichen (nicht alle für unterstützte Plattformen ausgelieferten Libevent-Releases konnten mit Inotify funktionieren);

  • Die Unterstützung für das Nachrichtenklassifizierungsmodul, das die Torch Deep Machine Learning-Bibliothek verwendet, wurde eingestellt. Als Grund wird die übermäßige Komplexität von Torch und der hohe Aufwand bei der Aktualisierung genannt. Als Ersatz für die Klassifizierung mittels maschineller Lernmethoden wird ein komplett neu geschriebenes Modul vorgeschlagen Neural, bei dem eine Bibliothek verwendet wird, um den Betrieb des neuronalen Netzwerks sicherzustellen Kann, das nur 4000 Zeilen C-Code enthält. Die neue Implementierung löst viele Probleme mit dem Auftreten von Deadlocks während des Trainings;
  • Modul RBL ersetzte die Module SURBL und E-Mails, wodurch die Verarbeitung aller Blacklist-Prüfungen vereinheitlicht werden konnte. Die Funktionen von RBL wurden um die Unterstützung zusätzlicher Typen wie Selektoren und Tools zur einfachen Erweiterung vorhandener Regeln erweitert. E-Mail-Blockierungsregeln, die auf Kartenlisten anstelle von DNS-RBL basieren, werden nicht mehr unterstützt; es wird empfohlen, stattdessen Multimap mit Selektoren zu verwenden;
  • Um Dateitypen anhand des Inhalts zu bestimmen, wird eine neue Lua Magic-Bibliothek verwendet, die Lua und Hyperscan anstelle von libmagic verwendet.
    Zu den Gründen für die Erstellung einer eigenen Bibliothek gehört der Wunsch, eine höhere Leistung zu erzielen, Fehler bei der Identifizierung von docx-Dateien zu beseitigen, eine besser geeignete API zu erhalten und neue Arten von Heuristiken hinzuzufügen, die nicht durch strenge Regeln eingeschränkt sind;

  • Verbessertes Modul zum Speichern von Daten im DBMS Clickhouse. LowCardinality-Felder hinzugefügt und Speicherverbrauch deutlich optimiert;
  • Modulfunktionen erweitert Multimap, in dem Unterstützung erschien kombiniert и abhängig Vergleiche;
  • Das Maillist-Modul hat die Definition von Mailinglisten verbessert;
  • Worker-Prozesse haben jetzt die Möglichkeit, Heartbeat-Nachrichten an den Hauptprozess zu senden, um den normalen Betrieb zu bestätigen. Wenn für eine bestimmte Zeit keine derartigen Meldungen vorliegen, kann der Hauptprozess den Arbeitsprozess zwangsweise beenden. Standardmäßig ist dieser Modus vorerst deaktiviert;
  • Eine Reihe neuer Scanner in der Lua-Sprache wurde hinzugefügt. Beispielsweise wurden Module zum Scannen von Nachrichten in der Kaspersky ScanEngine, Trend Micro IWSVA (über icap) und hinzugefügt
    F-Secure Internet Gatekeeper (über icap) und bietet auch externe Scanner für Razor, Oletools und P0F;

  • Möglichkeit hinzugefügt, Nachrichten über die Lua-API zu ändern. Es wurde ein Modul vorgeschlagen, um Änderungen an MIME-Blöcken vorzunehmen lib_mime;
  • Es wurde eine separate Verarbeitung von Einstellungen bereitgestellt, die über „Settings-Id:“ festgelegt wurden. Beispielsweise können Sie jetzt Regeln nur an bestimmte Einstellungs-IDs binden.
  • Es wurden Optimierungen für die Leistung der Lua-Engine, die Base64-Dekodierung und die Spracherkennung für Text vorgenommen. Unterstützung für das Caching komplexer Karten hinzugefügt. Unterstützung implementiert
    HTTP-Keep-Alive.

Source: opennet.ru

Kommentar hinzufügen