🔐 SSH Seguro Além de Mudar a Porta: Guia Completo de Hardening
SSH seguro. Mudar a porta do SSH é uma técnica antiga e não impede ataques reais. Bots fazem varredura em todas as portas hoje em dia. A segurança de um servidor Linux exige camadas, não truques.
Neste guia você verá como blindar o SSH de verdade, reduzindo ataques de força bruta, acessos indevidos e riscos de invasão.
Login no servidor para criar usuário sudo e fazer login
Etapa 1. Faça login ao servidor com ssh usuário root
No prompt de comando do seu PC(funciona também com windows)
ssh root@server-ip-here
Digite a senha do root para login.
Etapa 2. Criar uma nova conta de usuário e senha
useradd -m -s /bin/bash nomeusuario passwd nomeusuario
Criar diretório ssh para o usuário.
su - nomeusuario mkdir .ssh exit
Conceder privilégios Sudo aos usuários no Ubuntu Linux
usermod -aG sudo nomeusuario
Conceder privilégios Sudo aos usuários em servidores Almalinux/Rock Linux,RHEL Linux
usermod -aG wheel nomeusuario
🚫 1. Desative login por senha (use apenas chave SSH)
Essa é a medida mais importante.
Gere a chave no seu computador:
ssh-keygen -t rsa -b 4096 -C "nomeusuario@dominio.com" Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\userwindows/.ssh/id_rsa): nomeusuario Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in nomeusuario Your public key has been saved in nomeusuario.pub
A chave privada e publica serão criadas no seu pc em:
C:\Users\userwindows/.ssh/ com nome nomeusuario para chave privada e nomeusuario.pub para chave publica
Copie o valor da chave publica para o servidor:
type "C:\Users\userwindows\.ssh\nomeusuario.pub" | ssh nomeusuario@123.456.78.90 "cat >> .ssh/authorized_keys"
Edite o SSH:
nano /etc/ssh/sshd_config
Mantenha uma janela aberta com usuario root no login por segurança até o final das configurações.
Configure:
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 PasswordAuthentication yes #yes até o final das configurações vamos alterar para no PubkeyAuthentication yes
Reinicie:
systemctl restart sshd ou systemctl restart ssh
✅ Resultado: ataques de força bruta morrem aqui.
Fazendo login com ssh key
Faça login com sshkey mantendo uma conexão ativa em outra janela para se certificar que o login com sshkey foi configurado com sucesso
ssh -i C:\Users\userwindows\.ssh\nomeusuario nomeusuario@123.456.78.90 #digite a senha da chave que criou anterirmente. Se tudo correu bem você conseguirá fazer login #utilizando sua ssh-key
Se a conexão foi feita com sucesso, vamos desativar o login com senha
nano /etc/ssh/sshd_config
PasswordAuthentication no
systemctl restart sshd ou systemctl restart ssh
👤 2. Proíba login com senha como root
agora que já temos um usuário sudo que consegue fazer login com sshkey precisamos desativar o login com senha como root . edite arquivo de configuração do ssh.
nano /etc/ssh/sshd_config
Utilize root apenas com ssh key
PermitRootLogin prohibit-password
systemctl restart sshd ou systemctl restart ssh
🎯 3. Limite quais usuários podem acessar via SSH
No arquivo de configuração do ssh /etc/ssh/sshd_config no final do arquivo adicione os usuários que podem fazer login via ssh
AllowUsers nomeusuario exemplo admin backup
➡️ Mesmo que alguém tenha uma chave válida, sem permissão não entra.
🧱 4. Use Fail2Ban ou CrowdSec (essencial)
Opção clássica: Fail2Ban
Protege contra brute force automaticamente.
dnf install fail2ban -y systemctl enable --now fail2ban
Crie o arquivo de configuração personalizada:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Abra o arquivo para edição:
sudo nano /etc/fail2ban/jail.local
Procure a seção [sshd] e configure-a desta forma:
[sshd] enabled = true port = ssh #altere para numero da porta se alterou no sshd_config filter = sshd logpath = %(sshd_log)s backend = %(sshd_backend)s maxretry = 3 bantime = 1h findtime = 10m ignoreip = 127.0.0.1/8 ::1 192.168.1.100
Opção moderna: CrowdSec
- Baseado em reputação global
- Muito mais eficiente contra bots distribuídos
- Clique aqui para aprender como instalar crowdsec
👉 Ideal para VPS e servidores públicos.
⏱️ 5. Reduza tentativas e tempo de conexão
MaxAuthTries 3 LoginGraceTime 20
Menos tentativas = menos ataques úteis.
📊 6. Monitore acessos SSH em tempo real
journalctl -u sshd -f
Ou integre com:
- Zabbix
- Netdata
- Prometheus
- Hetrixtools
🚪 E mudar a porta do SSH… vale a pena?
👉 Sim, mas como camada extra, não como segurança principal. Edite o arquivo de configuração nano /etc/ssh/sshd_config e altere:
Port 2225
Ajuda a:
- Reduzir logs poluídos
- Diminuir scans básicos
❌ Não impede ataques avançados
Lembre-se de adicionar a porta no firewall e mantenha uma conexão ativa antes de testar login com a nova porta.
✅ Checklist rápido de SSH seguro
✔ Login por chave SSH
✔ Root com senha desativado
✔ Usuários limitados
✔ Fail2Ban ou CrowdSec
✔ Monitoramento
FAQ
Não. Mudar a porta do SSH apenas reduz ruído de ataques automatizados simples, mas não impede scanners avançados. A segurança real do SSH depende de autenticação por chave, desativação de login por senha, firewall ativo e proteção contra força bruta com ferramentas como Fail2Ban ou CrowdSec.
A forma mais segura é usar autenticação por chave SSH moderna (ED25519), desativar login por senha e root, limitar usuários autorizados e aplicar bloqueio automático de IPs maliciosos. Em ambientes críticos, adicionar autenticação em dois fatores aumenta significativamente a segurança.
Sim. Desativar o login por senha é uma das medidas mais eficazes de hardening do SSH. Isso elimina ataques de força bruta, desde que o acesso por chave SSH esteja corretamente configurado e testado antes da mudança.
Sim, o Fail2Ban continua eficiente para bloquear ataques de força bruta tradicionais baseados em tentativas repetidas. Ele é simples, estável e funciona muito bem em servidores com baixo volume de acessos, desde que corretamente configurado
Em muitos cenários, sim. O CrowdSec utiliza inteligência coletiva e reputação global de IPs, sendo mais eficaz contra ataques distribuídos e bots modernos. Ele é especialmente indicado para servidores públicos e ambientes expostos à internet. Clique aqui para aprender como instalar crowdsec
Sim. A autenticação por chave SSH é extremamente segura quando se utilizam algoritmos modernos como ED25519 e quando a chave privada está protegida por senha local. Esse método elimina o risco de adivinhação de credenciais.
Ataques de força bruta podem ser identificados analisando os logs do serviço SSH, onde aparecem múltiplas tentativas de login falhas. Ferramentas como Fail2Ban, CrowdSec e sistemas de monitoramento facilitam essa detecção automaticamente.
Sim. O SSH é um dos principais alvos de ataques em servidores Linux expostos à internet, especialmente quando utiliza senhas fracas ou login root habilitado. Por isso, o hardening do SSH é uma etapa essencial de segurança.
O recomendado é permitir no máximo 3 a 5 tentativas de autenticação antes do bloqueio temporário do IP. Isso reduz drasticamente a eficácia de ataques de força bruta sem impactar usuários legítimos.
🧠 Conclusão
Segurança real no SSH não é mudar a porta.
É eliminar vetores de ataque.
[Precisa de ajuda com outro problema?
Nossa equipe está disponível 24 horas por dia, 7 dias por semana .]
Veja Mais:
Hardening de Servidores Linux: Guia de Segurança Passo a Passo
Fail2Ban vs CrowdSec em Produção: Qual é a Melhor Solução de Segurança para Servidores Linux?
SSH seguro além de mudar a porta
Como bloquear acesso de país com ConfigServer Firewall (CSF)

