Que ferramenta executar um comando em entradas syslog repetidas?

5

Ocasionalmente, um VPS sob meu controle é bombardeado com tentativas de login POP3. Todos eles falham, mas o grande número de processos gerados e conexões ativas praticamente equivalem a um ataque DoS.

Quando eu vejo isso acontecendo, eu costumo entrar e bloquear manualmente o endereço IP ofensivo no iptables. O que eu gostaria de ter é ter um processo em execução no servidor monitorando o log do sistema (ou algum outro local apropriado) e, se houver entradas de log repetidas correspondentes a um padrão específico, passá-las para um comando que então extrairia a parte relevante (o endereço IP do host remoto, neste caso) e executaria um comando (para adicionar uma regra DROP ao iptables). Por exemplo , faça isso se as entradas de log com a mesma parte da mensagem forem registradas cinco vezes em um minuto.

O VPS executa o syslog-ng caso isso ajude. Eu configurei a limitação de taxa no iptables, o que ajuda um pouco, mas certamente não é perfeito, pois bloqueia minhas tentativas de conexão tanto quanto as de um invasor (torna-se a sorte do sorteio que obtém uma conexão estabelecida). Como os clientes que devem se conectar têm endereços IP de blocos dinâmicos, é difícil simplesmente adicionar uma regra de substituição sem limitação de taxa.

Como o VPS é executado no Virtuozzo, embora eu tenha acesso root ao convidado, não posso carregar módulos de kernel personalizados ou um kernel personalizado. Então tem que ser feito no espaço do usuário.

Qual software me ajudará?

    
por a CVn 07.07.2012 / 12:58

2 respostas

2

Eu recomendaria o fail2ban .

O Fail2ban é um software destinado a monitorar logs para tentativas de login de força bruta. Quando isso acontece, bloqueia o IP do atacante via iptables. Depois de um tempo suficiente, o fail2ban removerá automaticamente o bloco.

O Fail2ban é personalizável e pode funcionar com praticamente qualquer tipo de serviço da Internet. Existe até mesmo documentação específica para daemons pop3, como courier , dovecot e qmail .

    
por 08.07.2012 / 06:55
2

Eu uso o OSSEC (http://www.ossec.net/). Ele faz análise de log, mas também possui opções de resposta ativas (adição e remoção de entradas iptables e hosts.deny dinamicamente) com configuração mínima. Tem várias regras padrão, mas você pode adicionar o seu próprio. Eu testei e usei em produção com máquinas CentOS, Ubuntu e Slackware (físicas e VPS).

A instalação é muito fácil (ajustá-lo, principalmente configurando-o para ignorar algumas regras, é o que leva mais tempo). Se você usá-lo e ativar as funções de resposta ativa, os padrões geralmente são bons o suficiente.

Sugiro deixar o tempo de bloqueio padrão (alguns minutos), adicionar uma lista de desbloqueio com seu IP (ou o IP de outro servidor em que você confia, caso seu IP não seja estático e o servidor o bloqueie).

Além disso, se você precisar de um gerenciamento de bloqueio mais complexo, poderá configurar o OSSEC para usar um script bash (por exemplo) para verificar e manipular o endereço IP antes de fazer o bloqueio ativo real.

    
por 08.07.2012 / 02:02

Tags