Como posso alterar a configuração do EXIM4 para não avisar sobre DNS reverso para rejeitar ativamente emails sem DNS reverso?

1

Por padrão, o EXIM4 só avisa sobre emails sem DNS reverso. Eu preciso bloquear e rejeitar ativamente o correio que não tem DNS reverso. Estou disposto a aceitar que é possível que alguns e-mails legítimos sejam bloqueados, mas até agora o único e-mail sem DNS reverso foi spam.

Abaixo está o código para verificação reversa de DNS a partir da configuração do EXIM4. Como faço para mudar isso de advertir para bloqueio?

# Warn if the sender host does not have valid reverse DNS.
  # 
  # If your system can do DNS lookups without delay or cost, you might want
  # to enable this.
  # If sender_host_address is defined, it's a remote call.  If
  # sender_host_name is not defined, then reverse lookup failed.  Use
  # this instead of !verify = reverse_host_lookup to catch deferrals
  # as well as outright failures.
  .ifdef CHECK_RCPT_REVERSE_DNS
  Reverse DNSReverse DNSwarn
    condition = ${if and{{def:sender_host_address}{!def:sender_host_name}}\
                      {yes}{no}}
    add_header = X-Host-Lookup-Failed: Reverse DNS lookup failed for $sender_host_address (${if eq{$host_lookup_failed}{1}{failed}{deferred}})
  .endif
    
por Hunky Dory 08.04.2013 / 20:59

2 respostas

1

Este snippet deve fazê-lo. Se você está negando, pode querer fazer isso na ACL do destinatário depois de aceitar os endereços de postmaster e abuso. Veja quais servidores você rejeita, pois alguns remetentes legítimos (companhias aéreas, bancos, governos) quebraram o rDNS em seus remetentes automáticos.

# Verify reverse DNS lookup of the sender's host.
deny
  message Reverse DNS verification failed
  !verify = reverse_host_lookup
  !hosts = ${if exists{CONFDIR/local_broken_dns_whitelist}\
                      {CONFDIR/local_broken_dns_whitelist} {}}

Acho que muitos spambots desistem rapidamente se não conseguirem um banner de conexão com rapidez suficiente. Incluindo o seguinte em uma conexão ACL pode ajudar. Desativar o pipelining captura um número de spambots que não se comportam bem. Se o atraso for muito longo (acima de 30 segundos), alguns servidores legítimos também desistirão.

# Verify reverse DNS lookup of the sender's host.
# Disable piplining and delay on failure.
warn
  !hosts = ${if exists{CONFDIR/local_broken_dns_whitelist}\
                      {CONFDIR/local_broken_dns_whitelist} {}}
  !verify = reverse_host_lookup
  control = no_pipelining
  delay = 10s
    
por BillThor 22.04.2013 / 19:54
0

A resposta anterior não funcionou para mim. Mas eu consegui esses dois trabalhando:

  deny message = Forged IP detected in HELO: $sender_helo_name
    log_message = Forged IP detected in HELO: $sender_helo_name
    condition = ${if eq{$sender_helo_name}{$interface_address}{yes}{no}}

  deny
    message = X-Host-Lookup-Failed: Reverse DNS lookup failed for $sender_host_address \
            (${if eq{$host_lookup_failed}{1}{failed}{deferred}})
    log_message = X-Host-Lookup-Failed: Reverse DNS lookup failed for $sender_host_address
    condition = ${if and{{def:sender_host_address}{!def:sender_host_name}}\
                      {yes}{no}}

Espero que ajude.

    
por muz the axe 13.04.2017 / 02:28