Segurança SSH no Linux: 3 dicas para proteger seu servidor

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.