lançamento do sistema de filtragem de spam , que fornece ferramentas para avaliar mensagens de acordo com vários critérios, incluindo regras, métodos estatísticos e listas negras, com base nas quais é formado um peso final da mensagem, que é usado para decidir se deseja bloquear. O Rspamd suporta quase todos os recursos implementados no SpamAssassin e possui vários recursos que permitem filtrar e-mails em média 10 vezes mais rápido que o SpamAssassin, além de fornecer melhor qualidade de filtragem. O código do sistema é escrito em C e licenciado sob Apache 2.0.
O Rspamd é construído usando uma arquitetura orientada a eventos e foi inicialmente projetado para uso em sistemas altamente carregados, permitindo processar centenas de mensagens por segundo. As regras para identificação de sinais de spam são altamente flexíveis e em sua forma mais simples podem conter expressões regulares, e em situações mais complexas podem ser escritas em Lua. A expansão da funcionalidade e a adição de novos tipos de verificações são implementadas através de módulos que podem ser criados nas linguagens C e Lua. Por exemplo, estão disponíveis módulos para verificar o remetente usando SPF, confirmar o domínio do remetente via DKIM e gerar solicitações para listas DNSBL. Para simplificar a configuração, criar regras e rastrear estatísticas, é fornecida uma interface web administrativa.
Principais inovações:
- Foi feita uma transição para um novo esquema de numeração de questões. Como o primeiro número do número da versão não muda há vários anos e o indicador da versão real é o segundo número, decidiu-se mudar para o formato “yz” em vez do esquema “xyz”;
- Em vez disso, para o loop de eventos biblioteca envolvida , que remove algumas das limitações do libevent e permite um melhor desempenho. Uso
O libev tornou possível simplificar o código, melhorar o tratamento de sinal e tempo limite e unificar o rastreamento de alterações de arquivos usando o mecanismo inotify (nem todas as versões do libevent enviadas para plataformas suportadas poderiam funcionar com o inotify); - O suporte para o módulo de classificação de mensagens que usa a biblioteca de aprendizado de máquina profundo Torch foi descontinuado. O motivo citado é a excessiva complexidade do Torch e a alta complexidade de mantê-lo atualizado. Um módulo completamente reescrito é proposto como substituto da classificação usando métodos de aprendizado de máquina , em que uma biblioteca é utilizada para garantir o funcionamento da rede neural , que inclui apenas 4000 linhas de código C. A nova implementação resolve muitos problemas com ocorrência de deadlocks durante o treinamento;
- Módulo substituiu os módulos SURBL e Emails, o que permitiu unificar o processamento de todas as verificações da lista negra. Os recursos do RBL foram expandidos para incluir suporte a tipos adicionais, como seletores, e ferramentas para estender facilmente as regras existentes. Regras de bloqueio de e-mail baseadas em listas de mapas em vez de DNS RBL não são mais suportadas; é recomendado usar multimap com seletores;
- Para determinar os tipos de arquivos com base no conteúdo, uma nova biblioteca Lua Magic é usada, usando Lua e Hyperscan em vez de libmagic.
Os motivos para criar sua própria biblioteca incluem o desejo de obter maior desempenho, livrar-se de falhas na identificação de arquivos docx, obter uma API mais adequada e adicionar novos tipos de heurísticas que não sejam limitadas por regras rígidas; - Módulo aprimorado para armazenamento de dados no SGBD . Adicionados campos LowCardinality e consumo de memória significativamente otimizado;
- Capacidades do módulo expandidas , em que apareceu o apoio и comparações;
- O módulo Maillist melhorou a definição de listas de discussão;
- Os processos de trabalho agora têm a capacidade de enviar mensagens de pulsação para o processo principal, confirmando a operação normal. Se não houver tais mensagens por um determinado período, o processo principal poderá encerrar à força o processo de trabalho. Por padrão, este modo está desabilitado por enquanto;
- Uma série de novos scanners na linguagem Lua foi adicionada. Por exemplo, foram adicionados módulos para verificação de mensagens no Kaspersky ScanEngine, Trend Micro IWSVA (via icap) e
F-Secure Internet Gatekeeper (via icap), e também oferece scanners externos para Razor, oletools e P0F; - Adicionada a capacidade de alterar mensagens por meio da API Lua. Um módulo foi proposto para fazer alterações nos blocos MIME ;
- O processamento separado das configurações definidas por meio de “Settings-Id:” foi fornecido, por exemplo, agora você pode vincular regras apenas a determinados identificadores de configurações;
- Foram feitas otimizações para o desempenho do motor Lua, decodificação base64 e detecção de linguagem para texto. Adicionado suporte para cache de mapas complexos. Suporte implementado
Manter ativo HTTP.
Fonte: opennet.ru
