Disponibile il sistema di filtraggio spam Rspamd 2.0

Introdotto rilascio del sistema di filtraggio dello spam Spamd 2.0, che fornisce strumenti per valutare i messaggi rispetto a diversi criteri, tra cui regole, metodi statistici e blacklist, in base ai quali viene formato un peso finale del messaggio, che serve per decidere se bloccarli. Rspamd supporta quasi tutte le funzionalità implementate in SpamAssassin e dispone di una serie di funzionalità che consentono di filtrare la posta in media 10 volte più velocemente di SpamAssassin, oltre a fornire una migliore qualità di filtraggio. Il codice del sistema è scritto in C e distribuito da concesso in licenza con Apache 2.0.

Rspamd è costruito utilizzando un'architettura guidata dagli eventi ed è inizialmente progettato per l'uso in sistemi altamente caricati, consentendogli di elaborare centinaia di messaggi al secondo. Le regole per identificare i segni di spam sono altamente flessibili e nella loro forma più semplice possono contenere espressioni regolari e in situazioni più complesse possono essere scritte in Lua. L'espansione delle funzionalità e l'aggiunta di nuove tipologie di controlli viene implementata attraverso moduli che possono essere creati nei linguaggi C e Lua. Ad esempio, sono disponibili moduli per verificare il mittente utilizzando SPF, confermare il dominio del mittente tramite DKIM e generare richieste agli elenchi DNSBL. Per semplificare la configurazione, creare regole e tenere traccia delle statistiche, viene fornita un'interfaccia web amministrativa.

Principali innovazioni:

  • È stata effettuata la transizione a un nuovo schema di numerazione delle emissioni. Poiché il primo numero nel numero di versione non è cambiato da diversi anni e il vero indicatore della versione è il secondo numero, si è deciso di passare al formato “yz” anziché allo schema “xyz”;
  • Per il loop degli eventi invece Libevent biblioteca coinvolta libevo, che rimuove alcune limitazioni di libevent e consente prestazioni migliori. Utilizzo
    libev ha reso possibile semplificare il codice, migliorare la gestione dei segnali e dei timeout e unificare il tracciamento delle modifiche ai file utilizzando il meccanismo inotify (non tutte le versioni di libevent fornite per le piattaforme supportate potrebbero funzionare con inotify);

  • Il supporto per il modulo di classificazione dei messaggi che utilizza la libreria di machine learning Torch è stato interrotto. Il motivo addotto è l'eccessiva complessità di Torch e l'elevata complessità di mantenerlo aggiornato. Viene proposto un modulo completamente riscritto in sostituzione della classificazione utilizzando metodi di apprendimento automatico Neurale, in cui viene utilizzata una libreria per garantire il funzionamento della rete neurale kann, che include solo 4000 righe di codice C. La nuova implementazione risolve molti problemi legati al verificarsi di deadlock durante l'addestramento;
  • modulo RBL ha sostituito i moduli SURBL ed Email, che hanno permesso di unificare il trattamento di tutti i controlli delle blacklist. Le funzionalità di RBL sono state ampliate per includere il supporto per tipi aggiuntivi, come selettori, e strumenti per estendere facilmente le regole esistenti. Le regole di blocco della posta elettronica basate su elenchi di mappe anziché DNS RBL non sono più supportate; si consiglia invece di utilizzare la multimappa con selettori;
  • Per determinare i tipi di file in base al contenuto, viene utilizzata una nuova libreria Lua Magic, utilizzando Lua e Hyperscan invece di libmagic.
    I motivi per creare la propria libreria includono il desiderio di ottenere prestazioni più elevate, eliminare gli errori durante l'identificazione dei file docx, ottenere un'API più adatta e aggiungere nuovi tipi di euristiche che non siano limitate da regole rigide;

  • Modulo migliorato per la memorizzazione dei dati nel DBMS ClickHouse. Aggiunti campi LowCardinality e consumo di memoria notevolmente ottimizzato;
  • Funzionalità del modulo ampliate Multimap, in cui è apparso il supporto combinato и dipendente confronti;
  • Il modulo Maillist ha migliorato la definizione delle mailing list;
  • I processi di lavoro ora hanno la capacità di inviare messaggi heartbeat al processo principale, confermando il normale funzionamento. Se non sono presenti messaggi di questo tipo per un certo periodo, il processo principale può terminare forzatamente il processo di lavoro. Per impostazione predefinita, questa modalità per ora è disabilitata;
  • È stata aggiunta una serie di nuovi scanner in lingua Lua. Ad esempio, sono stati aggiunti moduli per la scansione dei messaggi in Kaspersky ScanEngine, Trend Micro IWSVA (tramite icap) e
    F-Secure Internet Gatekeeper (tramite icap) e offre anche scanner esterni per Razor, oletools e P0F;

  • Aggiunta la possibilità di modificare i messaggi tramite l'API Lua. È stato proposto un modulo per apportare modifiche ai blocchi MIME lib_mime;
  • È stata fornita un'elaborazione separata delle impostazioni impostate tramite "Settings-Id:", ad esempio ora è possibile associare le regole solo a determinati identificatori di impostazioni;
  • Sono state apportate ottimizzazioni per le prestazioni del motore Lua, della decodifica base64 e del rilevamento della lingua per il testo. Aggiunto il supporto per la memorizzazione nella cache di mappe complesse. Supporto implementato
    Keep-alive HTTP.

Fonte: opennet.ru

Aggiungi un commento