Existe uma maneira de fazer com que o spamassassin marque mais pesadamente as linhas de topo de um corpo de mensagem?

9

Um monte de spam está sendo filtrado no servidor de e-mail que eu executo com o truque relativamente simples de começar com poucas linhas de (incrivelmente óbvia) perda de peso ou outro texto fraudulento no topo, seguido por um corpo maior de texto da documentação de programação - ou, o mais maligno de todos, texto extraído do Stack Exchange . Na melhor das hipóteses, Spamassassin considera isso como BAYES_50, e acontece que o resto das mensagens são construídas com cuidado o suficiente para que não atinjam outros gatilhos. (Por exemplo, os cabeçalhos são mínimos e corretos.) Frequentemente, os trechos incluídos se alinham bastante com meus interesses legítimos de que a mensagem geral seja classificada como BAYES_00, porque os tokens muito spammy são simplesmente sobrecarregados por suculentas pepitas de solução de problemas de sysadmin.

A parte superior é tão obviamente spammy (e, na verdade, tende a ser muito similar a mensagens recebidas e treinadas como spam) que eu meio que me surpreendo que esteja passando - mas claramente isto é. Parece um passe separado que marcou as 25 primeiras linhas (ou mais) da mensagem e pesadas que resolveriam o problema. Existe uma maneira de fazer isso?

Várias pessoas sugeriram escrever expressões regulares personalizadas. Eu não quero entrar nisso, pois esta é uma batalha perdida constante. É o que as pessoas faziam antes de a classificação Bayesiana de spam entrar em uso generalizado, e geralmente era terrível. Nenhum ser humano pode acompanhar . Não é muito mais eficaz do que apenas apertar a tecla delete de cada mensagem de spam, e muito mais trabalho da minha parte.

A filtragem de spam bayesiana funciona. Ele funciona mesmo com este spam, se eu dividir a parte " acima da dobra " e basta analisar essa parte, com o chamariz / chaff removido. A questão é: como posso conseguir que o Spamassassin faça isso?

    
por mattdm 01.05.2014 / 19:58

1 resposta

1

Eu sou um lutador anti-spam (pouco) vívido por mim mesmo. E por causa de muitos problemas que você encontrou, acabei fazendo as coisas sujas eu mesmo, anos atrás.

Agora, isso não é uma resposta para sua pergunta específica, mas para seu problema específico. Então, por favor, não faça downvote por causa disso.

Como resolvi esse problema, modifiquei o script sa_filter-post.pl, usado pelo servidor XMail, que chama spamc no arquivo de e-mail e faz algumas coisas menores lá, para processar não o arquivo inteiro, mas partes específicas dele , com base em algumas regras específicas (codificadas por mim). sim, regex'es mas até agora eles trabalham para mim (eu tenho um monte de outros scripts antes e depois deste para que possam desempenhar um papel)

Por exemplo, tenho um regex que sinaliza os números de telefone. O spammer deixou isso na íntegra, de modo que vai direto para o processo apenas o meio 400 caracteres do arquivo (cheguei a 400 por tentativa e erro realmente, começou a partir de 200). Note que é muito difícil escolher o meio do que você vê, comparado ao que está no arquivo.

Há outro que tem a mesma estrutura da tabela html com os "produtos", um cabeçalho fictício e um rodapé não utilizável, então eu removo esses itens, removo a coluna "products" e depois repassa isso para spamc.

E assim por diante, você entende a foto.

Mas nem todas as regras são perfeitas, por isso faço um pouco de magia atribuindo uma pontuação particular a cada regra, que codifico e sintonizo quando necessário, com base na forma como a regra se comporta (e por vezes acabo por eliminar governa todos juntos). Em seguida, modifico a pontuação SA pela pontuação particular. A razão pela qual eu fiz isso foi porque, por algum motivo, o SA apenas deu pontuações como 4. algo para colocar claramente spam em regras que eu também tinha strongs sentimentos para pegá-las corretamente. Então eu dei a eles um pequeno impulso para ultrapassar 5.0, juntamente com alguns scripts de pós-processamento que levam algumas outras variáveis em consideração (fonte de e-mail, alvo de e-mail, estrutura de cabeçalho, etc), mais ou menos mata o spam fora.

Agora percebo que isso não é o que você esperava, mas no meu caso isso me dá muito poder sobre o que é escaneado, é só que preciso configurar as coisas manualmente e, de vez em quando, fazer pequenos retoques nos valores / regex'es.

Mas, no seu caso, as coisas são muito mais fáceis, já que tudo o que você precisa fazer é usar um script bash simples que será chamado pelo seu MX em vez de spamc e ter esse script usando o comando head para obter o primeiro número de bytes. você quer e passa esse arquivo temporário para spamc.

O conteúdo do script vai depender um pouco do seu servidor de e-mail, mas isso não deve ser difícil de descobrir.

(Note que eu só falei muito da minha configuração para que você possa ver as possibilidades desta opção)

PS: Eu pessoalmente nunca recebi este tipo de e-mails de spam (com guloseimas relacionadas a programação neles), então eu me pergunto se você não irritou alguém e agora você está alvejado. Isso explicaria os e-mails especialmente criados. A razão pela qual eu penso sobre essa possibilidade é que, anos atrás, quando eu era muito ativo em vários fóruns e grupos de TI, eu irritava algumas pessoas e de vez em quando eu recebia vários tipos de ataques em meu servidor, incluindo spam de e-mail. . Mas naquela época os idiotas não eram tão inteligentes assim:)

    
por 10.09.2015 / 19:12