3 maneiras de proteger um servidor SSH no Linux

O SSH é incrível, pois nos permite obter acesso de terminal a outros PCs e servidores Linux pela rede ou até mesmo pela Internet! Ainda assim, por mais incrível que seja essa tecnologia, existem alguns problemas de segurança gritantes que tornam o uso inseguro. Se você é um usuário comum, não há necessidade real de instalar ferramentas de segurança SSH complicadas. Em vez disso, considere seguir estas etapas básicas para proteger um servidor SSH no Linux.

Alterar porta de conexão padrão

De longe, a maneira mais rápida e fácil de proteger um servidor SSH é alterar a porta que ele usa. Por padrão, o servidor SSH é executado na porta 22. Para alterá-lo, abra uma janela de terminal. Dentro da janela do terminal, faça SSH para o PC remoto que hospeda o servidor SSH.

ssh [email protected]

Uma vez logado, passe de um usuário comum para Root. Se você tiver a conta Root, fazer login com su é uma boa escolha. Caso contrário, você precisará obter acesso com sudo.

su -

ou

sudo -s

Agora que você tem acesso de administrador, abra o arquivo de configuração SSH no Nano.

nano /etc/ssh/sshd_config

Percorra o arquivo de configuração para “Porta 22”. Remova o # se houver um, então mude “22″ para outro número. Normalmente, uma porta acima de 100 ou mesmo uma na faixa de 1.000 será suficiente. Depois de alterar o número da porta, pressione a combinação de teclado Ctrl + O para salvar as edições. Em seguida, saia do editor pressionando Ctrl + X.

  Como usar o Dropbox a partir da linha de comando do Linux com o Dropbox Uploader

Editar o arquivo de configuração não vai mudar imediatamente seu servidor SSH para usar a porta correta. Em vez disso, você precisará reiniciar manualmente o serviço.

systemctl restart sshd

A execução do comando systemctl deve reinicializar o daemon SSH e aplicar as novas configurações. Se a reinicialização do daemon falhar, outra opção é reinicializar a máquina do servidor SSH:

reboot

Após reiniciar o daemon (ou máquina), o SSH não poderá ser acessado pela porta 22. Como resultado, a conexão por SSH requer a especificação manual da porta.

Nota: certifique-se de alterar “1234” com a porta definida no arquivo de configuração SSH.

ssh -p 1234 [email protected]

Desativar login com senha

Outra ótima maneira de proteger um servidor SSH é remover o login por senha e, em vez disso, fazer a transição para o login por meio de chaves SSH. A rota da chave SSH cria um círculo de confiança entre o servidor SSH e as máquinas remotas que possuem sua chave. É um arquivo de senha criptografado que é difícil de quebrar.

  Como instalar o tema do ícone Delft no Linux

Configure com uma chave SSH em seu servidor. Quando você tiver as chaves configuradas, abra um terminal e abra o arquivo de configuração SSH.

su -

ou

sudo -s

Em seguida, abra a configuração no Nano com:

nano /etc/ssh/sshd_config

Por padrão, os servidores SSH tratam da autenticação por meio da senha do usuário. Se você tiver uma senha segura, esse é um bom caminho, mas uma chave SSH criptografada em máquinas confiáveis ​​é mais rápida, conveniente e segura. Para finalizar a transição para “login sem senha”, procure no arquivo de configuração SSH. Dentro deste arquivo, percorra e encontre a entrada que diz “PasswordAuthentication”.

Remova o símbolo # na frente de “PasswordAuthentication” e certifique-se de que ele tenha a palavra “no” na frente. Se tudo estiver bem, salve as edições na configuração SSH pressionando Ctrl + O no teclado.

Depois de salvar a configuração, feche o Nano com Ctrl + X e reinicie o SSHD para aplicar as alterações.

systemctl restart sshd

Se você não usa o systemd, tente reiniciar o SSH com este comando:

service ssh restart

Da próxima vez que uma máquina remota tentar fazer login neste servidor SSH, ela verificará as chaves corretas e as deixará entrar, sem uma senha.

  Como configurar um servidor uTorrent no Linux

Desativar conta raiz

Desabilitar a conta Root em seu servidor SSH é uma forma de mitigar os danos que podem ocorrer quando um usuário não autorizado obtém acesso via SSH. Para desabilitar a conta Root, é imperativo que pelo menos um usuário em seu servidor SSH possa obter Root via sudo. Isso garantirá que você ainda possa obter acesso no nível do sistema, se precisar, sem a senha do Root.

Nota: certifique-se de que os usuários que podem acessar privilégios de root via sudo tenham uma senha segura, ou desabilitar a conta de superusuário é inútil.

Para desabilitar o Root, eleve o terminal para privilégios de superusuário:

sudo -s

O uso de sudo -s ignora a necessidade de efetuar login com su e, em vez disso, concede um shell de root por meio do arquivo sudoers. Agora que o shell tem acesso de superusuário, execute o comando password e embaralhe a conta Root com –lock.

passwd --lock root

A execução do comando acima embaralha a senha da conta Root para que o login via su seja impossível. A partir de agora, os usuários só podem fazer SSH como usuário local e, em seguida, alternar para uma conta Root por meio de privilégios sudo.