SSH seguro além de mudar a porta

🔐 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

👉 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

Mudar a porta do SSH é suficiente para garantir segurança?

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.

Qual é a forma mais segura de acessar o SSH em produção?

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.

Vale a pena desativar o login por senha no SSH?

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.

Fail2Ban ainda é eficiente contra ataques modernos?

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

CrowdSec é melhor que Fail2Ban para SSH?

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

Usar autenticação por chave SSH é seguro?

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.

Como identificar ataques de força bruta no SSH?

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.

SSH é um vetor comum de invasão em servidores Linux?

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.

Quantas tentativas de login SSH são seguras?

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)

Segurança no WordPress em nível de servidor