Você recebe muito spam em seu e-mail? Conheça a solução que a KingHost oferece para tratar essas mensagens indesejadas, o Spaminator.
Como funciona o Spaminator
Antes de mais nada, é preciso saber como acessar o cabeçalho completo de uma mensagem, pois este artigo ensina a analisar informações baseadas no cabeçalho. Existe diversas formas de acessar, dependendo do gerenciador de e-mails que você está utilizando. Para entender melhor, acesse este artigo.
Com o Spaminator, toda mensagem recebida terá um score (pontuação) atribuído. Sobretudo, essa pontuação é baseada na análise de diversos aspectos, tais como: consulta do domínio em listas RBL, se o assunto da mensagem está em caps lock (letras maiúsculas), reputação do IP/Range/ASN, se há links no corpo da mensagem e outros.
O RSPAMD é o responsável por atribuir o score à mensagem. Ele é, basicamente, um sistema avançado de filtragem de spam, que permite a avaliação das mensagens por uma série de regras incluindo expressões regulares, análises estatísticas e serviços personalizados, como listas de URL e IP suspeitos.
Portanto com base no score de spam recebido e nas configurações do usuário, o RSPAMD recomenda uma determinada ação para o MTA, como: permitir o recebimento, rejeitar ou adicionar um cabeçalho.
Como funciona a pontuação do Spaminator
Para determinar se uma mensagem é spam ou não, o Spaminator analisa diversas características e pra cada item classificado como “ruim” é atribuído uma pontuação, que pode variar.
Por exemplo, se uma mensagem é enviada com o assunto “VEJA AS FOTOS DO FINAL DE SEMANA” (independentemente do que estiver descrito no assunto, mas se estiver tudo em letras maiúsculas), o Spaminator irá atribuir uma pontuação para este item, que pode ser identificado no cabeçalho completo como este exemplo:
SUBJ_ALL_CAPS(2.00);
Portanto, a soma de todos os itens analisados irá resultar no score que, dependendo da pontuação, deverá executar uma determinada ação na mensagem.
A pontuação final dos itens analisados é especialmente relevante, pois isso irá determinar qual ação será tomada.
Como resultado poderá ocorrer tanto um score positivo quanto negativo. Enquanto um score muito baixo ou negativo é considerado como não-spam, por outro lado temos algumas ações a serem executadas de acordo com cada pontuação:
Até 3.99 pontos: Nenhuma ação (no action), ou seja, a mensagem é recebida na Caixa de Entrada.
De 4.00 a 5.99: A mensagem entra em greylisting (soft reject), isto é, após retransmissão do servidor remetente, a mensagem é recebida na Caixa de Entrada.
De 6.00 a 14.99: Depois de entrar em greylisting (soft reject), recebe header de spam: X-Spam: yes (add header). Por conseqüência, após retransmissão do servidor remetente, a mensagem é recebida na pasta Spam.
Acima 15.00: A mensagem é rejeitada (reject), dessa forma não chega na caixa postal do destinatário.
Como fazer o treinamento das mensagens
Para realizar o treinamento de uma mensagem é muito simples, basta apenas mover para sua respectiva pasta:
Treinar como SPAM: Movendo uma mensagem para a pasta Spam.
Treinar como Não-SPAM: Movendo uma mensagem para Caixa de Entrada.
Fazendo o treinamento, o Spaminator entende que aquela mensagem deve ser considerada ou não spam. Portanto nas p?oximas vezes que você receber uma mensagem semelhante (baseado no conteúdo geral da mensagem), o Spaminator irá tratar como você configurou.
Como resultado, quando você receber uma mensagem e esta for considerada spam, ainda assim você receberá a mensagem, porém na pasta Spam.
É importante destacar e esclarecer esta informação, pois ao mover para a pasta Spam, não significa que você não receberá mais mensagens de um determinado remetente, mas que ela será classificada e recebida na pasta Spam de seu e-mail.
Exemplos de algumas classificações de mensagens
Exemplo de mensagem considerada spam com score 6.00, considerada como spam:
X-Spaminator-Spectre: default: False [6.00 / 15.00]; Pontuação total da mensagem pelo filtro.
MIME_HTML_ONLY(0.20)[];
NEURAL_SPAM(3.00)[1.000,0]; Base de spam, baseada por estatísticas de pontuação das mensagens.
ENVFROM_SERVICE_ACCT(1.00)[]; Mensagem não partiu de uma conta de e-mail.
BAYES_SPAM_USER(0.00)[100.00%]; Base de treinamento do usuário.
FORGED_SENDER(0.30)[]; From da mensagem é forjado.
TO_DN_NONE(0.00)[];
SUBJECT_HAS_EXCLAIM(0.00)[];
ASN(0.00)[asn:24875, ipnet:77.220.215.0/24, country:NL];
PHP_SCRIPT_ROOT(1.00)[]; Mensagem enviada via script.
R_DKIM_NA(0.00)[];
FROM_HAS_DN(0.00)[];
AUTH_NA(1.00)[];
TO_MATCH_ENVRCPT_ALL(0.00)[];
RCPT_COUNT_ONE(0.00)[1];
IP_SCORE(2.41)[ip: (4.04), ipnet: 77.220.215.0/24(2.94), asn: 24875(4.18), country: NL(0.88)]; Reputação IP/Range/ASN
FROM_NEQ_ENVFROM(0.00)[[email protected],[email protected]];
RCVD_NO_TLS_LAST(0.00)[];
URIBL_RED(0.00)[d0thserv.ru.multi.uribl.com];
DBL_SPAM(0.00)[d0thserv.ru.dbl.spamhaus.org];
GREYLIST(0.00)[greylisted,Mon, 02 Jul 2018 21:23:09 GMT,new record];
ARC_NA(0.00)[];
RCVD_COUNT_TWO(0.00)[2];
DCC_BULK(2.00)[bulk Body=1 Fuz1=many]; Mecanismo que identifica mensagens enviadas em massa (base
interna).
DMARC_NA(0.00)[ita.com];
FORCE_ACTION_BAYES_SPAM_USER_UPGRADE(0.00)[add header]; Forçou a inserção da tag spam na mensagem, devido a base de spam do usuário.
HAS_X_POS(0.00)[];
R_SPF_NA(0.00)[];
MX_INVALID(1.00)[cached] Consulta MX remetente.
X-Spam: Yes Classificação final do filtro.
Exemplo de outra mensagem considerada spam:
X-Spaminator-Spectre: default: False [14.42 / 15.00]; Pontuação total da mensagem pelo filtro.
URIBL_SPFBL2(2.00)[dominio.com.br.dnsbl.spfbl.net]; Consulta em RBL’s.
HTML_SHORT_LINK_IMG_3(0.50)[]; Mensagens em html com link para imagens.
RCVD_TLS_ALL(0.00)[];
HAS_INTERSPIRE_SIG(5.00)[]; Ferramenta de e-mail marketing, com reputação spammer.
HAS_PHPMAILER_SIG(0.00)[];
DMARC_POLICY_ALLOW(-0.25)[dominio.com.br,quarantine];
SUBJECT_ENDS_EXCLAIM(0.00)[];
URI_COUNT_ODD(1.00)[11]; Contagem do número de URL’s na mensagem.
TO_DN_NONE(0.00)[];
FROM_HAS_DN(0.00)[];
RBL_SENDERSCORE(0.00)[248.169.129.192.bl.score.senderscore.com];
RCVD_COUNT_ZERO(0.00)[0];
HAS_LIST_UNSUB(-0.01)[];
DCC_BULK(2.00)[bulk Body=1 Fuz1=6095]; Mecanismo que identifica mensagens enviadas em massa (base interna).
MIME_GOOD(-0.10)[multipart/alternative,text/plain];
LOCAL_FUZZY_WHITE(-2.10)[13:ac296a4ef1:1.00:txt]; Base global de treinamento.
GREYLIST(0.00)[pass,meta];
URIBL_BLOCKED(0.00)[dominio.com.br.multi.uribl.com];
DKIM_TRACE(0.00)[dominio.com.br:+];
R_DKIM_ALLOW(-0.20)[dominio.com.br];
IP_SCORE(3.98)[ip: (8.62), ipnet: 192.129.128.0/17(6.64), asn: 54290(4.32), country: US(0.34)]; Reputação IP/Range/ASN
REPLYTO_ADDR_EQ_FROM(0.00)[];
HAS_REPLYTO(0.00)[[email protected]];
TO_MATCH_ENVRCPT_ALL(0.00)[];
MX_GOOD(-0.20)[cached: dominio.com.br];
FROM_NEQ_ENVFROM(0.00)[[email protected],[email protected]];
NEURAL_SPAM(3.00)[1.000,0]; Base de SPAM, baseada por estatísticas de pontuação das mensagens. O campo [1.000,0] corresponde a 100% de probabilidade na base Neural, ou seja, “1.000,0 =100%” nessa base.
ASN(0.00)[asn:54290, ipnet:192.129.128.0/17, country:US];
FORGED_SENDER_VERP_SRS(0.00)[];
RCPT_COUNT_ONE(0.00)[1];
R_SPF_ALLOW(-0.20)[+ip4:192.129.169.0/24];
ARC_NA(0.00)[]
X-Spam: Yes Classificação final do filtro.
Exemplo com score negativo
Enquanto os exemplos anteriores apresentam scores positivos, o que não define necessariamente a mensagem como spam, no exemplo a seguir podemos ver uma mensagem com pontuação negativa.
Dessa forma, se você identificar que o score é baixo ou até mesmo negativo, isso significa que os itens avaliados pelo Spaminator foram considerados “bons”.
X-Spaminator-Spectre: default: False [-4.43 / 15.00];
IP_SCORE(-0.27)[ip: (-1.16), ipnet: 200.160.0.0/20(-0.50), asn: 22548(-0.29), country: BR(0.61)];
TO_DN_NONE(0.00)[];
MIME_GOOD(-0.10)[text/plain]; Tipo de conteúdo da mensagem(texto simples).
NEURAL_HAM(-3.00)[-1.000,0]; Base de não-spam, baseada nas estatísticas de pontuação das mensagens.
FROM_NO_DN(0.00)[];
TO_DOM_EQ_FROM_DOM(0.00)[];
RCPT_COUNT_ONE(0.00)[1];
MX_GOOD(-0.20)[cached: eng.registro.br];
REPLYTO_DOM_EQ_FROM_DOM(0.00)[];
REPLYTO_DN_EQ_FROM_DN(0.00)[];
DKIM_TRACE(0.00)[eng.registro.br:+];
ASN(0.00)[asn:22548, ipnet:200.160.0.0/20, country:BR];
WHITELISTED_BY(0.00)[];
HAS_LIST_UNSUB(-0.01)[]; Possui link para descadastramento.
ARC_NA(0.00)[];
MAILLIST(-0.20)[mailman]; Partiu de “lista de e-mails”.
FORGED_RECIPIENTS_MAILLIST(0.00)[];
MID_RHS_MATCH_FROM(0.00)[];
URIBL_BLOCKED(0.00)[registro.br.multi.uribl.com,ix.br.multi.uribl.com];
FORGED_SENDER_MAILLIST(0.00)[];
R_DKIM_ALLOW(-0.20)[eng.registro.br]; DKIM verificado com sucesso.
FROM_NEQ_ENVFROM(0.00)[[email protected],[email protected]];
R_SPF_ALLOW(-0.20)[+mx]; Verificação de regra SPF.
RCVD_TLS_LAST(0.00)[];
RCVD_COUNT_THREE(0.00)[4];
DMARC_POLICY_ALLOW(-0.25)[eng.registro.br,none]; Consulta politica DMARC.
HAS_REPLYTO(0.00)[[email protected]];
BAYES_HAM_USER(0.00)[100.00%] Base de “não-spam” do usuário.
X-Scan-Server: MX onde foi entregue a mensagem
Portanto, vimos neste artigo que quanto maior o score de uma mensagem, maior a probabilidade de ser considerada spam. Bem como uma mensagem com score muito baixo ou negativo tende a ser considerada como não-spam.
Nesse sentido, sempre que você desejar, pode fazer o treinamento de qualquer mensagem movendo para a Caixa de Entrada ou para a pasta Spam.
Além disso, caso tenha restado alguma dúvida como, por exemplo, a pontuação de algum item que não apareceu nos exemplos anteriores ou até mesmo o motivo de uma mensagem ter sido classificada (ou não) como Spam, entre em contato com o nosso suporte.