Basta alocar um IP público em qualquer VPS na nuvem ou disponibilizar um servidor na internet para que, em questão de minutos, botnets comecem a realizar varreduras automatizadas na porta 22 em busca de credenciais fracas.
Consultar o arquivo /var/log/auth.log em sistemas Debian/Ubuntu costuma revelar milhares de tentativas diárias de invasão direcionadas a usuários como root, admin, ubuntu e postgres.
Neste guia prático de cibersegurança defensiva, você aprenderá a aplicar uma rotina completa de Hardening no OpenSSH, migrar para chaves Ed25519 e configurar o Fail2ban para isolar invasores de forma autônoma.
1. Por que Chaves Ed25519 são o Padrão Moderno
O algoritmo Ed25519 (baseado na curva de Edwards sobre o campo de Galois Curve25519) superou amplamente as tradicionais chaves RSA:
- Chave Compacta: Com apenas 256 bits de comprimento, oferece segurança comparável a uma chave RSA de 3072 bits.
- Velocidade de Verificação: Menor tempo de CPU exigido durante o handshake, acelerando scripts de automação e pipelines de CI/CD.
- Imunidade a Ataques de Temporização: O algoritmo foi desenhado desde a origem para executar operações em tempo constante, prevenindo vazamentos de chave por canais laterais (side-channel attacks).
Gerando o par de chaves:
No seu computador local:
ssh-keygen -t ed25519 -C "admin@suaempresa.com" -f ~/.ssh/id_ed25519_producao
Envie a chave pública para o servidor remoto:
ssh-copy-id -i ~/.ssh/id_ed25519_producao.pub usuario@<IP-DO-SERVIDOR>
2. Hardening do Daemon SSH (sshd_config)
Em distribuições Linux modernas, crie um arquivo de configuração modular em /etc/ssh/sshd_config.d/99-hardening.conf:
# Desativar login de superusuário direto
PermitRootLogin no
# Desativar autenticação por senha pura
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
KbdInteractiveAuthentication no
# Forçar uso exclusivo de chave pública
PubkeyAuthentication yes
# Limite estrito de tentativas por sessão
MaxAuthTries 3
MaxSessions 2
# Desconexão de sessões inativas
ClientAliveInterval 300
ClientAliveCountMax 2
Teste a integridade das configurações antes de reiniciar o serviço:
sudo sshd -t
sudo systemctl restart sshd
3. Automatizando Defesa com o Fail2ban
O Fail2ban monitora continuamente os logs de autenticação do sistema e cria regras dinâmicas de firewall para banir temporariamente qualquer IP que cometa infrações consecutivas.
Instalação:
sudo apt update && sudo apt install -y fail2ban
Crie o arquivo de regras em /etc/fail2ban/jail.local:
[DEFAULT]
bantime = 24h
findtime = 10m
maxretry = 3
banaction = nftables-multiport
[sshd]
enabled = true
port = ssh
filter = sshd
backend = systemd
Inicie e habilite o serviço:
sudo systemctl enable --now fail2ban
Para consultar as estatísticas de bloqueio em tempo real:
sudo fail2ban-client status sshd
Conclusão
Proteger a porta de entrada dos seus servidores é um passo inegociável na era de botnets movidas por IA e scanners globais de portas. Desativando senhas e aplicando chaves Ed25519 com Fail2ban, você neutraliza a quase totalidade das tentativas de intrusão automatizadas.
Se você busca consultoria de infraestrutura segura, pentest e sistemas corporativos protegidos por design, conheça as soluções da Vexis Agency. Acesse nossa agência e fale com nossos especialistas.




