Proxy reverso do Exim SMTP [fechado]

1

Este é o meu primeiro post no Serverfault, então se eu cometer alguns erros, por favor me avise.

O problema com o qual estou lidando agora é um ataque DDoS no meu servidor de e-mail Exim (cPanel) na porta 25. A partir do que pesquisei, um proxy reverso SMTP poderia ser usado, mas não tenho certeza do que seria a melhor escolha e como configurá-lo para me ajudar nessa situação.

Como isso começou a acontecer recentemente (5 horas atrás), não tive a oportunidade de encontrar um guia prático para fazer isso. Pelo que pode ser visto nos logs, o DDoS tem como objetivo usar todo o nosso smp_accept_max do exim, que agora está em 2000. Há algumas horas o ataque estava chegando a 1.1k, mas agora ele usa até 1.7k de as conexões máximas.

A infra-estrutura que eu poderia usar é um servidor separado com IP 88.77.66.55 (este não é o IP real) que está conectado aos servidores afetados através de uma LAN privada (192.168.XXX.YYY) e através do qual a retransmissão de email poderia ser feito.

A pergunta é se posso usar um proxy SMTP reverso para ajudar a reduzir esse uso máximo da conexão SMTP. Abaixo estão algumas linhas do exim_mainlog que mostram a contagem de conexões TCP / IP (88.77.66.44 não é o IP real do servidor afetado):

2015-08-13 12:37:06 SMTP connection from [182.66.39.251]:61483 I=[88.77.66.44]:25 (TCP/IP connection count = 1047)
2015-08-13 12:37:06 SMTP connection from [81.138.19.72]:53444 I=[88.77.66.44]:25 (TCP/IP connection count = 1048)
2015-08-13 12:37:06 SMTP connection from [113.183.33.219]:1098 I=[88.77.66.44]:25 (TCP/IP connection count = 1049)
2015-08-13 12:37:06 SMTP connection from [188.158.238.5]:18165 I=[88.77.66.44]:25 (TCP/IP connection count = 1050)
2015-08-13 12:37:06 SMTP connection from [121.97.241.34]:45001 I=[88.77.66.44]:25 (TCP/IP connection count = 1051)

A solução que acho possível é instalar o Exim no servidor proxy reverso e fazer com que alguns inspetores de log correspondam a alguns padrões de regex para banir alguns IPs através de um firewall (algo como o que regex.custom.pm do CSF - ConfigServers faz) . Eu sei que isso não vai parar o ataque, mas pelo menos eu vou tirar a carga do servidor principal e deixar o servidor proxy fazer todo o trabalho.

Alguém pode sugerir uma solução alternativa ou me ajudar com algumas informações sobre como configurar o roteamento exim + inspeção de log do firewall?

Se houver necessidade de outras informações, entre em contato.

Obrigado.

    
por Havri 13.08.2015 / 11:58

1 resposta

0

Tente configurar uma ACL de conexão para descartar conexões de remetentes inválidos. Isso pode ser feito no momento da conexão com uma ACL.

acl_smtp_connect = acl_local_connect

acl_local_connect:

  # Drop blacklisted sites - safest
  deny
    !dnslists = list.dnswl.org
    dnslists = zen.spamhaus.org:bl.spamcop.net
    log_message = Host ${sender_host_address} is blacklisted

  # Drop hosts failing rDNS validation - may drop valid emails
  deny
    !dnslists = list.dnswl.org
    !verify = reverse_host_lookup
    log_message = Host ${sender_host_address} failed rDNS

Isso deve bloquear a maioria dos servidores que estão atingindo você. Você pode logscape com fail2ban ou CSF e bloquear esses IPs no firewall por algumas horas.

Você pode querer defer em vez de deny conexões que falham na validação de DNS reverso. Isso lhe dará a chance de colocar na lista de permissões hosts legítimos.

Use um servidor DNS de cache com um cache grande (vários milhares de entradas) em seu servidor de email. Com a carga que você está experimentando, você estará gerando várias consultas para cada host que está atingindo você.

    
por 06.11.2015 / 04:16