Como prevenir ataques de força bruta com Brutelock
O que é Brutelock (definição curta)
Brutelock é um programa open source que monitora logs do sistema e bloqueia automaticamente IPs que tentam ataques de força bruta. Força bruta: tentativa repetida de adivinhar credenciais até obter acesso.
Antes de começar — requisitos rápidos
- Acesso root ou privilégios sudo no servidor.
- Ferramentas build básicas (make, gcc) instaladas.
- Conexão à internet para baixar o pacote.
- Chave de subscrição Brutelock (opcional para atualizações e proteções proativas).
Passo a passo de instalação
Siga estes passos exatamente como estão:
- Faça o download do agente Brutelock e salve em /usr/local/.
cd /usr/local/
tar -xjvf brutelock-version_number.tar.bz2
cd /usr/local/brutelock-version_number
./configure
make
make install
- Edite o novo arquivo de configuração (/usr/local/brutelock/conf/brutelock.conf) e insira sua chave de subscrição quando aplicável.
- Edite também o caminho para seu log de SSH no arquivo de configuração, se necessário. Consulte o README incluído no código-fonte do Brutelock para localizar o arquivo de log do seu sistema. Descomente outros serviços que deseja proteger, como ftp, pop e imap.
- Adicione quaisquer IPs ao arquivo /usr/local/brutelock/conf/whitelist (cada IP em linhas separadas) para endereços que o Brutelock nunca deve bloquear.
- Adicione uma cadeia separada ao iptables:
/sbin/iptables -N Brutelock-Firewall-INPUT
/sbin/iptables -I INPUT -j Brutelock-Firewall-INPUT
- Inicie o daemon do Brutelock:
/usr/local/brutelock/bin/brutelockd
- Verifique seus logs. O número de tentativas de login com falha deverá diminuir drasticamente.
Importante: se não tiver chave de subscrição, registre-se no site do Brutelock. A opção gratuita permite bloqueio ativo; opções pagas oferecem atualizações e proteção proativa.
Nota: além do endereço localhost (127.0.0.1), insira no mínimo o IP público do servidor na whitelist.
Configurações e arquivos importantes (fatos rápidos)
- Arquivo de configuração: /usr/local/brutelock/conf/brutelock.conf
- Whitelist: /usr/local/brutelock/conf/whitelist
- Binário do daemon: /usr/local/brutelock/bin/brutelockd
- Logs típicos monitorados: /var/log/auth.log, /var/log/secure (dependendo da distro)
- Portas comuns: SSH 22, FTP 21, POP3 110, IMAP 143
Testes e critérios de aceitação
Use estes testes para validar a instalação:
- O daemon está em execução: ps aux | grep brutelock
- Tentativa de login falha a partir de um IP de teste e Brutelock adiciona a regra de bloqueio no iptables.
- IPs na whitelist nunca são bloqueados.
- Não há erros no arquivo de log do Brutelock (ver /var/log/syslog ou equivalente).
Critérios de aceitação mínimos:
- Brutelock executa sem erros e persiste após reboot (ou há instrução para iniciar via systemd/init).
- Logs mostram detecção e bloqueio de IPs maliciosos.
- Serviços legítimos continuam acessíveis para IPs da whitelist.
Procedimentos de verificação e manutenção (mini-playbook)
- Verifique status do daemon diariamente nas primeiras 72 horas.
- Revise entradas no /usr/local/brutelock/conf/whitelist semanalmente.
- Mantenha o pacote do sistema e dependências atualizadas.
- Se usar subscrição paga, verifique atualizações automáticas do Brutelock.
Lista de verificação por função
Administrador (sysadmin):
- Instalar e configurar brutelock.conf
- Adicionar IPs confiáveis na whitelist
- Adicionar cadeia no iptables
- Testar bloqueio com IPs controlados
Equipe de segurança:
- Revisar logs de bloqueio semanalmente
- Configurar alertas para bloqueios em massa
- Validar mudanças no arquivo de regras
Equipe de operações:
- Garantir que o serviço inicie no boot
- Testar recuperação após reboot
- Documentar o procedimento de rollback
Alternativas e quando escolher outra solução
- Fail2ban: alternativa popular, com integração simples e filtros prontos. Escolha fail2ban se preferir pacotes com suporte amplo na sua distribuição.
- Soluções WAF/IDS: se precisar de inspeção de tráfego mais profunda, considere um WAF ou IDS em conjunto.
- Quando Brutelock pode falhar: se os logs não estiverem centralizados ou o padrão de log for muito diferente do esperado, Brutelock pode não detectar ataques corretamente. Nesse caso, ajuste as regras regex ou consolide logs.
Dicas de hardening complementares
- Desative login root via SSH e use autenticação por chave pública.
- Considere alterar a porta SSH para reduzir ruído automatizado (não substitui bloqueio).
- Habilite rate-limiting com iptables ou nftables para conexões repetidas.
- Use autenticação de dois fatores quando aplicável.
- Garanta rotação de logs para permitir detecção contínua (logrotate).
Troubleshooting comum
- Brutelock não detecta tentativas: confirme o caminho do log configurado em brutelock.conf.
- IPs legítimos sendo bloqueados: verifique a whitelist e os padrões regex; adicione o IP à whitelist temporariamente.
- Regras do iptables não sendo aplicadas: confirme permissões e que a cadeia Brutelock-Firewall-INPUT existe.
Testes/aceitação (casos de teste rápidos)
- Caso 1: Simule 10 tentativas SSH falhas de um IP de teste; o IP deve aparecer bloqueado em iptables.
- Caso 2: Tente acesso legítimo a partir de IP na whitelist; acesso deve ser permitido mesmo após múltiplas tentativas falhas.
- Caso 3: Reinicie o servidor; verifique se brutelockd reinicia ou documente como inicializá-lo automaticamente.
Rollback e recuperação
- Pare o daemon: kill
ou systemctl stop brutelockd (se instalado como serviço). - Remova regras adicionadas manualmente na cadeia Brutelock-Firewall-INPUT:
/sbin/iptables -D INPUT -j Brutelock-Firewall-INPUT /sbin/iptables -F Brutelock-Firewall-INPUT /sbin/iptables -X Brutelock-Firewall-INPUT
- Restaure backup do arquivo de configuração, se necessário.
Glossário (uma linha cada)
- Força bruta: tentativa repetida de adivinhar senhas até obter acesso.
- Whitelist: lista de IPs confiáveis que não devem ser bloqueados.
Resumo final
Brutelock é uma solução leve e extensível para bloquear ataques de força bruta com base em logs. Instale o agente seguindo os passos acima, configure corretamente os caminhos de log e a whitelist, e combine Brutelock com boas práticas de segurança (autenticação por chave, rate-limiting, logs rotacionados) para reduzir riscos.
Importante: teste em um ambiente controlado antes de aplicar em produção e mantenha backups das configurações.
Materiais semelhantes

Gerenciamento de Usuários no WiKID

Corrigir teclado do Mac que não responde

Mais curtidas no Instagram Reels: 9 estratégias

Como instalar Valheim Plus — guia rápido

Instalar MediaWiki com Nginx no CentOS 7
