O protocolo SSH oferece uma forma fantástica de acessar terminais em outros computadores e servidores Linux, seja através da rede local ou da internet. No entanto, apesar da sua utilidade, o SSH apresenta algumas vulnerabilidades de segurança que exigem atenção. Para utilizadores comuns, não é necessário instalar ferramentas de segurança SSH complexas. Em vez disso, podem ser implementadas algumas medidas básicas para proteger um servidor SSH em ambiente Linux.
Mudar a Porta de Conexão Padrão
Uma das formas mais rápidas e simples de aumentar a segurança de um servidor SSH é alterar a porta que ele usa para comunicação. Por predefinição, o SSH utiliza a porta 22. Para efetuar esta alteração, abra um terminal e estabeleça uma conexão SSH com o servidor remoto.
ssh [email protected]
Após o login, eleve os seus privilégios para o utilizador root. Se já tiver acesso à conta root, use o comando su. Caso contrário, utilize o comando sudo.
su -
ou
sudo -s
Com acesso de administrador, abra o arquivo de configuração do SSH com o editor nano.
nano /etc/ssh/sshd_config
Navegue pelo arquivo até encontrar a linha “Port 22”. Remova o símbolo #, se existente, e substitua “22” por outro número. Geralmente, uma porta acima de 100 ou na faixa de 1.000 é suficiente. Após a alteração, use Ctrl + O para guardar as modificações e Ctrl + X para sair do editor.
A edição do arquivo de configuração não fará com que o servidor SSH comece a usar a nova porta imediatamente. Será necessário reiniciar o serviço SSH.
systemctl restart sshd
Este comando deve reiniciar o daemon SSH e aplicar as novas configurações. Caso a reinicialização falhe, pode optar por reiniciar o servidor.
reboot
Após a reinicialização, o SSH não estará mais acessível na porta 22. As conexões SSH exigirão que a porta seja especificada manualmente.
Nota: Lembre-se de substituir “1234” pela porta que definiu no arquivo de configuração do SSH.
ssh -p 1234 [email protected]
Desativar o Login por Senha
Outra medida importante para proteger o seu servidor SSH é desativar o login através de senha e optar pelo login via chaves SSH. Este método cria uma relação de confiança entre o servidor e as máquinas remotas que possuem a chave, que é um arquivo de senha encriptado e muito difícil de quebrar.
Configure as chaves SSH no seu servidor. Após a configuração, abra o terminal e o arquivo de configuração do SSH.
su -
ou
sudo -s
Abra o arquivo de configuração com o editor nano.
nano /etc/ssh/sshd_config
Por padrão, o SSH utiliza senhas para autenticação. Embora senhas fortes ofereçam alguma segurança, chaves SSH encriptadas são mais rápidas, convenientes e seguras. Para desativar o login com senha, procure a entrada “PasswordAuthentication” no arquivo de configuração.
Remova o símbolo # e certifique-se que a linha tem a palavra “no” no final. Guarde as alterações com Ctrl + O e saia com Ctrl + X.
Após guardar, reinicie o serviço SSH para aplicar as alterações.
systemctl restart sshd
Se você não utilizar o systemd, tente o seguinte comando:
service ssh restart
Da próxima vez que uma máquina tentar conectar-se a este servidor, ela usará as chaves SSH para autenticação, sem necessidade de senha.
Desativar a Conta Root
Desativar o acesso direto à conta root através do SSH é uma medida para mitigar possíveis danos caso um utilizador não autorizado consiga acesso. Para desabilitar a conta root, é essencial que haja pelo menos um utilizador com permissões para se tornar root via sudo. Isso garante que você ainda poderá ter acesso de nível de sistema quando necessário, sem a senha do root.
Nota: Certifique-se que os utilizadores que podem aceder a privilégios de root via sudo tenham senhas fortes, pois caso contrário desativar a conta root será ineficaz.
Para desativar a conta root, eleve os privilégios do terminal:
sudo -s
O comando sudo -s dispensa a necessidade de login com su, concedendo um shell root através do arquivo sudoers. Após obter acesso de superutilizador, use o comando passwd com a opção –lock para bloquear a conta root.
passwd --lock root
Este comando bloqueia a senha da conta root, tornando o login via su impossível. A partir de agora, os utilizadores só poderão aceder via SSH como um utilizador local e depois elevar para uma conta root através do sudo.