Dostępny system filtrowania spamu Rspamd 2.0

Przesłane przez wydanie systemu filtrowania spamu Rspamd 2.0, która udostępnia narzędzia do oceny wiadomości pod kątem różnych kryteriów, w tym reguł, metod statystycznych i czarnych list, na podstawie których tworzona jest ostateczna waga wiadomości, na podstawie której podejmuje się decyzję o zablokowaniu. Rspamd obsługuje prawie wszystkie funkcje zaimplementowane w SpamAssassin i posiada szereg funkcji, które pozwalają filtrować pocztę średnio 10 razy szybciej niż SpamAssassin, a także zapewniają lepszą jakość filtrowania. Kod systemu jest napisany w języku C i dystrybuowane przez na licencji Apache 2.0.

Rspamd jest zbudowany w oparciu o architekturę sterowaną zdarzeniami i początkowo jest przeznaczony do użytku w mocno obciążonych systemach, umożliwiając przetwarzanie setek wiadomości na sekundę. Reguły identyfikowania oznak spamu są bardzo elastyczne i w najprostszej formie mogą zawierać wyrażenia regularne, a w bardziej skomplikowanych sytuacjach można je zapisać w Lua. Rozszerzanie funkcjonalności i dodawanie nowych typów kontroli realizowane jest poprzez moduły, które można tworzyć w językach C i Lua. Dostępne są na przykład moduły umożliwiające weryfikację nadawcy za pomocą SPF, potwierdzenie domeny nadawcy poprzez DKIM oraz generowanie zapytań do list DNSBL. Aby uprościć konfigurację, tworzyć reguły i śledzić statystyki, udostępniono administracyjny interfejs sieciowy.

Główne innowacje:

  • Dokonano przejścia na nowy schemat numeracji wydań. Ponieważ pierwsza liczba w numerze wersji nie zmienia się od kilku lat, a prawdziwym wskaźnikiem wersji jest druga liczba, zdecydowano się przejść na format „yz” zamiast schematu „xyz”;
  • Zamiast tego dla pętli zdarzeń Libévent zaangażowana biblioteka Libew, co usuwa niektóre ograniczenia libeventu i pozwala na lepszą wydajność. Stosowanie
    libev umożliwił uproszczenie kodu, poprawę obsługi sygnałów i limitów czasu oraz ujednolicenie śledzenia zmian plików za pomocą mechanizmu inotify (nie wszystkie wydania libevent dostarczane dla obsługiwanych platform mogą współpracować z inotify);

  • Zakończono obsługę modułu klasyfikacji wiadomości korzystającego z biblioteki głębokiego uczenia maszynowego Torch. Jako powód podaje się nadmierną złożoność Torcha i dużą złożoność jego aktualizacji. Zaproponowano całkowicie przepisany moduł, który zastępuje klasyfikację z wykorzystaniem metod uczenia maszynowego Nerwowy, w którym wykorzystywana jest biblioteka zapewniająca działanie sieci neuronowej Kann, który zawiera tylko 4000 linii kodu C. Nowa implementacja rozwiązuje wiele problemów związanych z występowaniem zakleszczeń podczas treningu;
  • Moduł RBL zastąpił moduły SURBL i Emails, co umożliwiło ujednolicenie przetwarzania wszystkich kontroli na czarnych listach. Możliwości RBL zostały rozszerzone o obsługę dodatkowych typów, takich jak selektory i narzędzia umożliwiające łatwe rozszerzanie istniejących reguł. Reguły blokowania poczty e-mail oparte na listach map zamiast DNS RBL nie są już obsługiwane; zamiast tego zaleca się używanie multimap z selektorami;
  • Aby określić typy plików na podstawie zawartości, używana jest nowa biblioteka Lua Magic, wykorzystująca Lua i Hyperscan zamiast libmagic.
    Powody stworzenia własnej biblioteki obejmują chęć osiągnięcia wyższej wydajności, pozbycia się błędów przy identyfikacji plików docx, uzyskania bardziej odpowiedniego API i dodania nowych typów heurystyk, które nie są ograniczone ścisłymi regułami;

  • Ulepszony moduł przechowywania danych w SZBD dom kliknięć. Dodano pola LowCardinality i znacznie zoptymalizowano zużycie pamięci;
  • Rozszerzone możliwości modułu Multimap, w którym pojawiło się wsparcie łączny и zależny porównania;
  • Moduł Maillist poprawił definicję list mailingowych;
  • Procesy robocze mają teraz możliwość wysyłania komunikatów pulsu do procesu głównego, potwierdzających normalne działanie. Jeśli przez pewien czas nie będzie takich komunikatów, proces główny może wymusić zakończenie procesu roboczego. Domyślnie ten tryb jest na razie wyłączony;
  • Dodano szereg nowych skanerów w języku Lua. Na przykład dodano moduły do ​​skanowania wiadomości w Kaspersky ScanEngine, Trend Micro IWSVA (poprzez icap) i
    F-Secure Internet Gatekeeper (przez icap), a także oferuje zewnętrzne skanery dla Razor, oletools i P0F;

  • Dodano możliwość zmiany wiadomości poprzez API Lua. Zaproponowano moduł umożliwiający wprowadzanie zmian w blokach MIME biblioteka_mime;
  • Zapewniono na przykład oddzielne przetwarzanie ustawień ustawionych poprzez „Settings-Id:”, teraz można powiązać reguły tylko z określonymi identyfikatorami ustawień;
  • Dokonano optymalizacji wydajności silnika Lua, dekodowania Base64 i wykrywania języka tekstu. Dodano obsługę buforowania złożonych map. Wsparcie wdrożone
    Utrzymywanie HTTP.

Źródło: opennet.ru

Dodaj komentarz