liberación do sistema de filtrado de spam , que proporciona ferramentas para avaliar as mensaxes en función de diversos criterios, incluíndo regras, métodos estatísticos e listas negras, en función das cales se forma un peso final da mensaxe, que se utiliza para decidir se bloquear. Rspamd admite case todas as funcións implementadas en SpamAssassin e ten unha serie de funcións que che permiten filtrar o correo en media 10 veces máis rápido que SpamAssassin, ademais de ofrecer unha mellor calidade de filtrado. O código do sistema está escrito en C e licenciado baixo Apache 2.0.
Rspamd está construído mediante unha arquitectura orientada a eventos e inicialmente está deseñado para o seu uso en sistemas altamente cargados, o que lle permite procesar centos de mensaxes por segundo. As regras para identificar signos de spam son moi flexibles e na súa forma máis sinxela poden conter expresións regulares, e en situacións máis complexas poden escribirse en Lua. A ampliación da funcionalidade e a adición de novos tipos de comprobacións impléntanse mediante módulos que se poden crear nas linguaxes C e Lua. Por exemplo, hai módulos dispoñibles para verificar o remitente mediante SPF, confirmar o dominio do remitente mediante DKIM e xerar solicitudes a listas DNSBL. Para simplificar a configuración, crear regras e realizar un seguimento das estatísticas, ofrécese unha interface web administrativa.
Principais novidades:
- Fíxose unha transición a un novo esquema de numeración de números. Dado que o primeiro número do número de versión non cambiou durante varios anos e o indicador de versión real é o segundo número, decidiuse cambiar ao formato "yz" en lugar do esquema "xyz";
- Para o bucle do evento biblioteca implicada , que elimina algunhas das limitacións de libevent e permite un mellor rendemento. Uso
libev permitiu simplificar o código, mellorar o manexo de sinal e tempo de espera e unificar o seguimento de cambios de ficheiros mediante o mecanismo inotify (non todas as versións de libevent enviadas para plataformas compatibles poderían funcionar con inotify); - Descontinuouse a compatibilidade co módulo de clasificación de mensaxes que utiliza a biblioteca de aprendizaxe automática Torch. O motivo citado é a excesiva complexidade de Torch e a alta complexidade de mantelo actualizado. Proponse un módulo completamente reescrito como substituto da clasificación mediante métodos de aprendizaxe automática , na que se utiliza unha biblioteca para garantir o funcionamento da rede neuronal , que inclúe só 4000 liñas de código C. A nova implementación resolve moitos problemas coa aparición de bloqueos durante o adestramento;
- Módulo substituíu os módulos SURBL e Emails, o que permitiu unificar o procesamento de todas as comprobacións da lista negra. Ampliáronse as capacidades de RBL para incluír soporte para tipos adicionais, como selectores e ferramentas para estender facilmente as regras existentes. Xa non se admiten as regras de bloqueo de correo electrónico baseadas en listas de mapas en lugar de DNS RBL; recoméndase utilizar multimapa con selectores;
- Para determinar os tipos de ficheiros en función do contido, utilízase unha nova biblioteca Lua Magic, usando Lua e Hyperscan en lugar de libmagic.
Os motivos para crear a súa propia biblioteca inclúen o desexo de acadar un maior rendemento, desfacerse dos fallos ao identificar ficheiros docx, obter unha API máis adecuada e engadir novos tipos de heurísticas que non estean limitadas por regras estritas; - Módulo mellorado para almacenar datos no DBMS . Engadidos campos de LowCardinality e consumo de memoria significativamente optimizado;
- Ampliáronse as capacidades do módulo , no que apareceu o apoio и comparacións;
- O módulo Listas de correo mellorou a definición das listas de correo;
- Os procesos de traballo agora teñen a capacidade de enviar mensaxes de latido ao proceso principal, confirmando o funcionamento normal. Se non hai tales mensaxes durante un tempo determinado, o proceso principal pode terminar forzadamente o proceso de traballo. Por defecto, este modo está desactivado polo momento;
- Engadíronse unha serie de novos escáneres en lingua lua. Por exemplo, engadíronse módulos para dixitalizar mensaxes en Kaspersky ScanEngine, Trend Micro IWSVA (a través de icap) e
F-Secure Internet Gatekeeper (a través de icap), e tamén ofrece escáneres externos para Razor, oletools e P0F; - Engadiuse a posibilidade de cambiar mensaxes a través da API de Lua. Propúxose un módulo para facer cambios nos bloques MIME ;
- Proporcionouse un procesamento separado da configuración definida mediante "Id. de configuración:", por exemplo, agora só pode vincular regras a determinados identificadores de configuración;
- Realizáronse optimizacións para o rendemento do motor Lua, a decodificación base64 e a detección de idiomas para o texto. Engadido soporte para almacenar en caché mapas complexos. Apoio implementado
HTTP mantense vivo.
Fonte: opennet.ru
