Das Spam-Filter-System Rspamd 2.0 ist verfügbar

Vorstellung Veröffentlichung des Spam-Filter-Systems Rspamd 2.0, das Mittel zur Bewertung von Nachrichten anhand verschiedener Kriterien bereitstellt, einschließlich Regeln, statistischer Methoden und schwarzer Listen, auf deren Grundlage das endgültige Gewicht der Nachricht bestimmt wird, das für die Entscheidung über die Notwendigkeit einer Sperrung verwendet wird. Rspamd unterstützt praktisch alle Funktionen, die in SpamAssassin implementiert sind, und hat eine Reihe von Besonderheiten, die es ermöglichen, E-Mails im Durchschnitt 10 Mal schneller als SpamAssassin zu filtern und auch eine bessere Filterqualität zu gewährleisten. Der Code des Systems ist in C geschrieben und wird verbreitet unter der Apache 2.0 Lizenz.

Rspamd ist mit einer ereignisgesteuerten Architektur (Event-driven) aufgebaut und ursprünglich für den Einsatz in stark belasteten Systemen ausgelegt, die es ermöglichen, Hunderte von Nachrichten pro Sekunde zu verarbeiten. Die Regeln zur Identifizierung von Spam-Merkmalen sind hochgradig flexibel und können in der einfachsten Form reguläre Ausdrücke enthalten; in komplexeren Situationen können sie in der Programmiersprache Lua formuliert werden. Die Erweiterung der Funktionalität und die Hinzufügung neuer Überprüfungstypen werden durch Module realisiert, die in C und Lua erstellt werden können. Beispielsweise sind Module zur Überprüfung des Absenders mithilfe von SPF, zur Bestätigung der Domain des Absenders über DKIM und zur Erstellung von Anfragen an DNSBL-Listen verfügbar. Ein administratives Web-Interface wird bereitgestellt, um die Konfiguration, Erstellung von Regeln und Verfolgung von Statistiken zu erleichtern.

Hauptneuheiten:

  • Ein Übergang zu einem neuen Versionsnummerierungsschema wurde vollzogen. Da sich die erste Zahl in der Versionsnummer seit mehreren Jahren nicht geändert hat und die zweite Zahl der tatsächliche Versionsindikator ist, wurde beschlossen, vom Schema „x.y.z“ auf das Format „y.z“ zu wechseln.
  • Für den Ereignisverarbeitungsschleifen anstelle von Libevent wurde die Bibliothek libev, die von einigen Einschränkungen von libevent befreit ist und eine höhere Leistung ermöglicht. Der Einsatz von
    libev hat es ermöglicht, den Code zu vereinfachen, die Verarbeitung von Signalen und Zeitüberschreitungen zu verbessern und auch die Überwachung von Dateiänderungen mithilfe des inotify-Mechanismus zu vereinheitlichen (nicht alle für unterstützte Plattformen gelieferten Versionen von libevent konnten mit inotify arbeiten);
  • Die Unterstützung des Nachrichtenklassifizierungsmoduls, das die Deep-Learning-Bibliothek Torch verwendet, wurde eingestellt. Als Grund wird die übermäßige Komplexität von Torch und die hohe Wartungsaufwand angeführt. Als Ersatz für die Klassifizierung mit maschinellen Lernverfahren wurde ein vollständig neu umgeschriebenes Modul vorgeschlagen. Neural, in dem die Bibliothek kann, die insgesamt 4000 Zeilen Code in C umfasst, verwendet wird. In der neuen Implementierung wurden viele Probleme mit gegenseitigen Blockierungen während des Trainings gelöst;
  • Modul RBL hat die Module SURBL und Emails ersetzt, was die Verarbeitung aller Überprüfungen der Schwarze Listen vereinheitlicht hat. Die Möglichkeiten von RBL wurden durch Unterstützung zusätzlicher Typen, wie Selektoren, und Mittel zur vereinfachten Erweiterung bestehender Regeln erweitert. Die Regeln zur Blockierung von E-Mails auf der Grundlage von map-Listen anstelle von DNS RBL werden nicht mehr unterstützt; stattdessen wird empfohlen, multimap mit Selektoren zu verwenden;
  • Zur Bestimmung der Dateitypen anhand des Inhalts wird eine neue Lua Magic-Bibliothek verwendet, die Lua und Hyperscan anstelle von libmagic nutzt.
    Als Grund für die Erstellung einer eigenen Bibliothek wird das Bestreben genannt, eine höhere Leistung zu erreichen, Probleme bei der Erkennung von docx-Dateien zu beseitigen, eine passendere API zu erhalten und neue Arten von Heuristiken hinzuzufügen, die nicht durch strenge Regeln eingeschränkt sind;
  • Das Modul zur Datenspeicherung in der Datenbank wurde verbessert Clickhouse. Felder mit LowCardinality wurden hinzugefügt und der Speicherbedarf erheblich optimiert;
  • Die Möglichkeiten des Moduls wurden erweitert Multimap, das jetzt die Unterstützung für kombinierte und abhängige Zuordnungen enthält;
  • Im Modul Maillist wurde die Erkennung von Mailinglisten verbessert;
  • In den Arbeitsprozessen wurde die Möglichkeit hinzugefügt, heartbeat-Nachrichten an den Hauptprozess zu senden, die den Betrieb im Normalbetrieb bestätigen. Wenn solche Nachrichten für eine bestimmte Zeit ausbleiben, kann der Hauptprozess den Arbeitsprozess zwangsweise beenden. Dieser Modus ist standardmäßig momentan deaktiviert;
  • Eine Reihe neuer Scanner in Lua wurde hinzugefügt. Beispielsweise wurden Module zum Scannen von Nachrichten in den Antivirus-Paketen Kaspersky ScanEngine, Trend Micro IWSVA (über icap) und
    F-Secure Internet Gatekeeper (über icap) hinzugefügt, sowie externe Scanner für Razor, oletools und P0F vorgeschlagen;
  • Die Möglichkeit zur Änderung von Nachrichten über die Lua-API wurde hinzugefügt. Ein Modul wurde vorgeschlagen, um Änderungen an MIME-Blöcken vorzunehmen. lib_mime;
  • Die separate Verarbeitung von über "Settings-Id:" festgelegten Einstellungen wurde sichergestellt; jetzt können Regeln nur an bestimmten Einstellungs-IDs gebunden werden.
  • Leistungsoptimierungen für die Lua-Engine, die Base64-Dekodierung und die Spracherkennung für Texte wurden durchgeführt. Unterstützung für das Caching komplexer Zuordnungen (maps) wurde hinzugefügt.
    HTTP keep-alive.

Quelle: opennet.ru

60GB SSD 8Gb DDR4