Dostępny system filtrowania spamu Rspamd 2.0

Przedstawiony wydanie systemu filtrowania spamu Rspamd 2.0, oferujący narzędzia do oceny wiadomości według różnych kryteriów, w tym reguł, metod statystycznych i czarnych list, na podstawie których generowana jest ostateczna waga wiadomości, wykorzystywana do podjęcia decyzji o konieczności zablokowania. Rspamd wspiera praktycznie wszystkie możliwości zaimplementowane w SpamAssassin i ma szereg cech, które pozwalają filtrować pocztę średnio 10 razy szybciej niż SpamAssassin oraz zapewniają lepszą jakość filtrowania. Kod systemu napisany jest w języku C i rozpowszechniany na licencji Apache 2.0.

Rspamd oparty jest na architekturze opartej na zdarzeniach (Event-driven) i pierwotnie zaprojektowany do zastosowania w systemach o dużym obciążeniu, pozwalając na przetwarzanie setek wiadomości na sekundę. Reguły do identyfikacji cech spamu charakteryzują się wysoką elastycznością i w najprostszej formie mogą zawierać wyrażenia regularne, a w bardziej skomplikowanych sytuacjach mogą być tworzone w języku Lua. Rozszerzanie funkcjonalności oraz dodawanie nowych typów kontroli realizowane jest przez moduły, które mogą być tworzone w językach C i Lua. Na przykład dostępne są moduły do weryfikacji nadawcy za pomocą SPF, potwierdzenia domeny nadawcy przez DKIM oraz formowania zapytań do list DNSBL. Aby uprościć konfigurację, tworzenie reguł i monitorowanie statystyk, dostępny jest administracyjny interfejs webowy.

Główne nowości:

  • Wprowadzono nowy schemat numeracji wersji. Ponieważ pierwsza cyfra numeru wersji nie zmieniała się od kilku lat, a rzeczywistym wskaźnikiem wersji jest druga cyfra, zdecydowano się przejść z schematu „x.y.z” na format „y.z”;
  • Dla cyklu przetwarzania zdarzeń zamiast Libevent zastosowano bibliotekę libev, pozbawioną niektórych ograniczeń libevent i umożliwiającą osiągnięcie wyższej wydajności. Użycie
    libev pozwoliło uprościć kod, poprawić obsługę sygnałów i timeoutów, a także ujednolicić śledzenie zmian w plikach za pomocą mechanizmu inotify (nie wszystkie wersje libevent dostarczane dla wspieranych platform mogły działać z inotify);
  • Wsparcie dla modułu klasyfikacji wiadomości z wykorzystaniem biblioteki głębokiego uczenia Torch zostało zakończone. Jako powód podano nadmierną złożoność Torch oraz wysokie koszty utrzymania go w aktualnym stanie. W jego miejsce zaproponowano całkowicie przepisany moduł do klasyfikacji z wykorzystaniem metod uczenia maszynowego. Neural, w którym do działania sieci neuronowej wykorzystywana jest biblioteka kann, zawierająca zaledwie 4000 linii kodu w języku C. W nowej realizacji rozwiązano wiele problemów z występowaniem wzajemnych blokad podczas uczenia;
  • Moduł RBL zastąpił moduły SURBL i Emails, co pozwoliło na ujednolicenie przetwarzania wszystkich kontroli według czarnych list. Możliwości RBL zostały rozszerzone o wsparcie dla dodatkowych typów, takich jak selektory, oraz o narzędzia do uproszczonego rozszerzania istniejących zasad. Zasady blokowania emaili na podstawie map-list już nie są wspierane, zamiast nich zaleca się używanie multimap z selektorami;
  • Do identyfikacji typów plików na podstawie zawartości użyto nowej biblioteki Lua Magic, wykorzystującej Lua oraz Hyperscan zamiast libmagic.
    Jako powód stworzenia własnej biblioteki wskazuje się chęć osiągnięcia wyższej wydajności, pozbycia się awarii podczas identyfikacji plików docx, uzyskania bardziej odpowiedniego API oraz dodania nowych rodzajów heurystyki, nieograniczonych sztywnymi zasadami;
  • Ulepszono moduł do przechowywania danych w bazie danych Clickhouse. Dodano pola LowCardinality i znacznie zoptymalizowano zużycie pamięci;
  • Rozszerzone możliwości modułu Multimap, w którym dodano wsparcie dla kombinowanych i zależnych mapowań;
  • W module Maillist poprawiono określanie listy mailingowej;
  • W procesach roboczych dodano możliwość wysyłania do głównego procesu wiadomości heartbeat, potwierdzających działanie w normalnym trybie. W przypadku braku takich wiadomości przez określony czas, główny proces może wymusić zakończenie procesu roboczego. Domyślnie ten tryb jest na razie wyłączony;
  • Dodano nową serię skanerów w języku Lua. Na przykład dodano moduły do skanowania wiadomości w pakietach antywirusowych Kaspersky ScanEngine, Trend Micro IWSVA (przez icap) oraz
    F-Secure Internet Gatekeeper (przez icap), a także zaproponowano zewnętrzne skanery dla Razor, oletools i P0F;
  • Dodano możliwość edytowania wiadomości za pomocą Lua API. Proponowany moduł do wprowadzania zmian w blokach MIME. lib_mime;
  • Zagwarantowano oddzielne przetwarzanie ustawień skonfigurowanych przez „Settings-Id:”, na przykład teraz można przypinać reguły tylko do określonych identyfikatorów ustawień.
  • Przeprowadzono optymalizacje wydajności silnika Lua, dekodowania base64 i określania języka dla tekstu. Dodano wsparcie dla pamięci podręcznej złożonych mapowań.
    HTTP keep-alive.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster