O SSH (Secure Shell) é uma das ferramentas mais importantes para administrar sistemas Linux remotamente. Com ele, você pode controlar servidores e máquinas à distância, garantindo a segurança através de criptografia. Neste guia, vamos explorar como configurar o SSH no Linux de maneira segura e eficiente, abordando desde o processo de instalação até as melhores práticas para evitar ataques.
Passos para configurar um SSH no Linux seguro
1. Instalando o SSH no Linux
Primeiramente, é necessário instalar o OpenSSH no sistema, caso ainda não esteja instalado. Execute os seguintes comandos de acordo com sua distribuição:
- No Ubuntu ou Debian:
sudo apt update
sudo apt install openssh-server
- No CentOS ou Fedora:
sudo dnf install openssh-server
Após a instalação, inicie e ative o serviço:
sudo systemctl start ssh
sudo systemctl enable ssh
2. Ajustando as configurações de segurança
As configurações do SSH podem ser encontradas no arquivo /etc/ssh/sshd_config
. Abaixo estão algumas das alterações recomendadas para fortalecer a segurança:
- Desativar login com senha: Isso obriga o uso de chaves SSH, que são mais seguras que senhas.
PasswordAuthentication no
- Alterar a porta padrão: Mude a porta padrão do SSH (22) para uma menos óbvia, reduzindo a chance de ataques automatizados.
Port 2222
- Restringir o login root: Desative o login direto do root para evitar que atacantes tenham acesso a privilégios administrativos logo de início.
PermitRootLogin no
- Definir um tempo de inatividade: Defina um tempo de inatividade curto para desconectar automaticamente sessões ociosas.
ClientAliveInterval 300
ClientAliveCountMax 2
3. Criando chaves SSH para autenticação
Uma das maneiras mais seguras de se autenticar via SSH é usando pares de chaves. Para criar uma chave SSH, siga os passos abaixo:
- No cliente, gere uma chave:
ssh-keygen -t rsa -b 4096
- Copie a chave pública para o servidor:
ssh-copy-id user@ip_do_servidor
Agora, quando se conectar ao servidor, será usada a chave SSH para autenticação.
4. Monitorando conexões SSH
Para garantir a segurança contínua do seu servidor, é importante monitorar as conexões SSH. Ferramentas como fail2ban podem ajudar a bloquear tentativas de login maliciosas.
Instale o fail2ban:
sudo apt install fail2ban
Configure o fail2ban para monitorar o SSH, editando o arquivo /etc/fail2ban/jail.conf
e ativando a proteção para o serviço SSH.
5. Usando o SSH com 2FA
Outra medida importante é configurar a autenticação de dois fatores (2FA) para o SSH. Para isso, você pode usar o Google Authenticator. Instale o pacote de autenticação e siga as instruções de configuração:
sudo apt install libpam-google-authenticator
Ative o suporte ao 2FA no SSH editando o arquivo /etc/ssh/sshd_config
:
ChallengeResponseAuthentication yes
Conclusão
Configurar o SSH de maneira segura é um passo essencial para qualquer administrador de sistemas Linux. Ao seguir essas práticas, você pode reduzir significativamente as chances de invasão ou acesso não autorizado. Não se esqueça de manter o serviço sempre atualizado e de monitorar logs para identificar possíveis ataques.
Para mais dicas e discussões, participe do Grupo SempreUpdate no Telegram.