O SSH (Secure Shell) é o método padrão para acessar servidores Linux remotamente. Configurá-lo corretamente é fundamental para a segurança do seu servidor dedicado. Neste guia, você aprenderá a configurar SSH de forma segura e profissional.
O que é SSH?
SSH é um protocolo de rede que permite acesso seguro a servidores remotos através de uma conexão criptografada. É a forma mais segura de gerenciar servidores Linux, permitindo executar comandos, transferir arquivos e gerenciar o sistema remotamente.
Configuração Básica de SSH
O arquivo de configuração do SSH está localizado em /etc/ssh/sshd_config. Antes de fazer alterações, faça um backup:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
Edite o arquivo com seu editor preferido (nano, vim, etc.):
nano /etc/ssh/sshd_config
Melhores Práticas de Segurança SSH
1. Alterar Porta Padrão
A porta padrão do SSH é 22, que é frequentemente alvo de ataques automatizados. Alterar para uma porta não padrão reduz significativamente tentativas de acesso:
Port 2222
Escolha uma porta entre 1024 e 65535. Lembre-se de atualizar seu firewall para permitir a nova porta.
2. Desabilitar Login Root
Permitir login direto como root é um risco de segurança. Desabilite isso:
PermitRootLogin no
Crie um usuário com privilégios sudo em vez disso.
3. Usar Autenticação por Chaves
Chaves SSH são muito mais seguras que senhas. Para gerar um par de chaves no seu computador local:
ssh-keygen -t rsa -b 4096
Isso cria uma chave privada (mantenha segura) e uma chave pública. Copie a chave pública para o servidor:
ssh-copy-id usuario@seu-servidor
Depois, desabilite autenticação por senha:
PasswordAuthentication no
PubkeyAuthentication yes
4. Limitar Tentativas de Login
Configure o SSH para limitar tentativas de login e bloquear IPs suspeitos:
MaxAuthTries 3
LoginGraceTime 60
Isso limita a 3 tentativas e dá 60 segundos para autenticação.
5. Desabilitar Protocolos Antigos
Use apenas SSH versão 2, que é mais seguro:
Protocol 2
6. Configurar Timeout
Configure timeout para desconectar sessões inativas:
ClientAliveInterval 300
ClientAliveCountMax 2
Isso desconecta após 10 minutos de inatividade.
Configurar Fail2Ban
Fail2Ban monitora logs e bloqueia IPs que fazem múltiplas tentativas de login falhadas. Instale e configure:
apt install fail2ban -y # Ubuntu/Debian
yum install fail2ban -y # CentOS/RHEL
Configure para proteger SSH editando /etc/fail2ban/jail.local.
Testar Configuração
Antes de reiniciar o serviço SSH, teste a configuração:
sshd -t
Se não houver erros, reinicie o serviço:
systemctl restart sshd
Importante: Mantenha uma sessão SSH aberta enquanto testa. Se algo der errado, você ainda terá acesso.
Conectar-se ao Servidor
Após configurar, conecte-se usando:
ssh -p 2222 usuario@seu-ip
Se configurou chaves SSH, a conexão será automática. Caso contrário, será solicitada a senha.
Dicas Adicionais de Segurança
- Use VPN: Para acesso ainda mais seguro, conecte-se através de VPN
- Whitelist de IPs: Configure firewall para permitir apenas IPs conhecidos
- Monitoramento: Monitore logs de acesso SSH regularmente
- Atualizações: Mantenha o OpenSSH sempre atualizado
Conclusão
Configurar SSH corretamente é um dos passos mais importantes para proteger seu servidor dedicado. Seguindo essas práticas, você reduz significativamente o risco de acesso não autorizado. Na OTH Host, nossos servidores vêm com configurações de segurança básicas, mas sempre recomendamos aplicar essas melhorias adicionais.