Um certo dia, em Julho de 2005, fui pego de surpresa por um surto de dados na porta de saída do uplink do CPD em que trabalhava. A conexão foi totalmente consumida, e nossos serviços encontravam-se todos indisponíveis.
A porta de um dos servidores transporte de email chamou a nossa atencão e decidimos investigar. Estava em andamento um ataque de “dicionário” contra nosso servidor de email. Alguém equipado de uma conexão de alta velocidade tentava enviar email utilizando incontáveis combinações de nomes – NOME@ACME.com. Caso obtivesse sucesso utilizando um nome qualquer, seria marcado como endereço existente em nossa rede. O endereço seria, então, usado para enviar spam em nome dessa vítima.
Para evitar futuros ataques semelhantes, escreví o script Perl ‘postdandee’.
O script analisa o log de emails de tempos em tempos e bloqueia IP’s suspeitos de ataques de dicionario durante um certo período, desbloqueando-os depois. A demora é calculada para tornar o ataque baseado em dicionários impraticável(imagine tentar 1000 nomes, um a cada 1 hora).