De onde vêm essas falhas de conexão smtp de “ponto único”?

2

Estou executando um servidor de email com base no postfix. Existem muitas falhas de conexão como esta:

Transcript of session follows.

Out: 220 hostname.tld ESMTP Postfix
In:  .
Out: 502 5.5.2 Error: command not recognized
In:
Out: 500 5.5.2 Error: bad syntax

Session aborted, reason: lost connection

Essas conexões vêm de IPs diferentes, mas na maioria dos casos em / em massa de alguns décimos a centenas de tentativas por IP.

O que causa essas conexões? Se isso fosse vírus, worms ou botnets que estão "batendo na porta", por que tantas vezes por host? Ou está enviando um único ponto algum tipo de teste de funcionalidade e meu servidor reage de maneira errada? Mais uma vez, várias tentativas não fazem sentido. E está longe de qualquer escala DoS.

Talvez alguns de vocês saibam o que está acontecendo lá?

    
por McJoey 13.06.2015 / 08:14

2 respostas

2

O ponto é usado para terminar a mensagem de um email no protocolo SMTP: Uma linha vazia (CR, LF), seguida por ponto único e novamente uma nova linha com CR e LF. Mas este não é claramente o caso aqui.

Para descobrir se esses clientes SMTP são apenas botnets ou remetentes legítimos, você pode dar uma olhada no PTR de seus IPs, ambos estão registrados. Se o PTR é genérico de um provedor, algo como 192-0-2-1.broadband.customers.example.com . Então você pode realmente ignorá-lo e usar o fail2ban para bloqueá-los.

O HELO deve corresponder ao PTR, pelo menos é a melhor prática. Mas se eles não são semelhantes, provavelmente é uma botnet.

No outro caso, alguém talvez esteja fazendo uma varredura em seu servidor e sondando protocolos e cifras TLS.

Para banir os clientes após tais solicitações, você pode usar o fail2ban, que bloqueia temporariamente um IP após muitas solicitações incorretas.

filter.d/postfix-syntax.conf

[INCLUDES]
before = common.conf

[Definition]
failregex = reject: RCPT from (.*)\[<HOST>\]: 502 5.5.2
            reject: RCPT from (.*)\[<HOST>\]: 500 5.5.2
ignoreregex =

E adicione isso ao seu jail.conf :

[postfix-syntax]
enabled  = true
port     = smtp,ssmtp,submission
filter   = postfix-syntax
logpath  = /var/log/mail.log
maxretry = 10
    
por 13.06.2015 / 10:16
1

Se você expôs seu servidor de e-mail à Internet, espere que a maioria das conexões seja de spambots e outros remetentes ilegítimos.

Eu consideraria apenas a correspondência de rejeições para quaisquer erros no fail2ban. remetentes legítimos raramente devem gerar e errar, e tentarão mais tarde se forem banidos. Eu faço algumas coisas desagradáveis para os spammers suspeitos, e tem sido anos desde que um remetente legítimo teve problemas além de atrasos na entrega.

Eu uso alguns testes para verificar a legitimidade dos remetentes:

  • O IP não está listado em zen.spamhaus.org . (Inclui uma ampla seleção de IPs dinâmicos).
  • O IP tem um% de PTR que passa o rDNS. Raramente o e-mail legítimo não tem um registro PTR , e rDNS para o endereço IP quase sempre passa.
  • O nome no comando HELO / EHLO é um nome de domínio totalmente qualificado (FQDN) que excede o rDNS. Com a exceção de uma grande corporação, isso quase sempre passa. Geralmente este nome é o mesmo usado para o endereço IP.
  • O nome do registro PTR e do comando HELO passam a verificação SPF HELO diretamente ou para o domínio pai. Domínios sem registros SPF também recebem um passe, mas não obtêm credibilidade. Isso bloqueia os spambots que se identificam usando o domínio de uma grande organização.

Eu gostaria de usar o DKIM para validar, mas uma alta porcentagem de remetentes não publica corretamente sua chave pública no DNS.

Se você não puder executar esses testes, enquanto a conexão ainda estiver aberta, não devolva a mensagem, a menos que você possa verificar se o remetente não foi falsificado. (Eu aprecio todas as ofertas de dinheiro do FBI, da ONU, dos bancos, etc., mas eles ainda não entregaram.)

    
por 13.06.2015 / 14:28