Nota: O seguinte artigo irá ajudá-lo com: Como habilitar o SSH 2FA no Ubuntu Server 22.04
Quando você abre seus servidores Linux para SSH, sempre há uma chance de alguém invadir esse servidor e fazer coisas ruins. Uma maneira de evitar isso é habilitar a autenticação de dois fatores no servidor. Uma vez ativado, apenas as pessoas com os códigos 2FA gerados corretamente (juntamente com suas credenciais regulares) terão o. Saiba como configurar o SSH 2FA no seu Ubuntu Server.
VEJA: Mais de 40 termos de código aberto e Linux que você precisa conhecer (TechRepublic )
O que você precisará
- Uma instância em execução do Ubuntu Server 22.04.
- Um usuário com privilégios sudo.
Como instalar o software necessário
A primeira coisa a fazer é instalar um único pacote: Google Authenticator. Esta é uma ferramenta de linha de comando que possibilita adicionar autenticação 2FA em seu servidor.
Faça na sua instância do Ubuntu e emita o comando:
sudo apt-get install libpam-google-authenticator -y
Você precisará executar o comando para criar uma chave secreta. Esse comando é:
google-autenticador
Você será perguntado se deseja que os tokens de autenticação sejam baseados em tempo, o que você deseja. Digite y e pressione Enter no teclado. Em seguida, você receberá um código QR que pode ser digitalizado pelo seu aplicativo 2FA.
Há uma pegadinha com isso: se você estiver conectado diretamente ao terminal da máquina física em questão, talvez não consiga ver o código inteiro. Sua melhor aposta é fazer via SSH, assim você pode redimensionar o terminal para visualizar todo o código QR (Figura A).
Figura A
Digitalize o código QR com seu aplicativo 2FA (como Authy) ou digite a chave secreta se o código for muito grande para o aplicativo digitalizar e pressione enter. Você será solicitado a digitar o código do aplicativo para que a conta possa ser confirmada. Uma vez confirmado, você verá os códigos de emergência para 2FA. Certifique-se de copiá-los e salvá-los em um local seguro, como um gerenciador de senhas, e digite y quando solicitado a atualizar o arquivo ~/.google_authenticator. Em seguida, você será solicitado a não permitir vários usos do mesmo token de autenticação. Vá em frente e digite y para aceitar isso, pois isso pode ajudar a evitar ataques man-in-the-middle. Quando solicitado, digite y para a última pergunta para permitir uma diferença de tempo de até 30 segundos entre o servidor de autenticação e o cliente.
Você também desejará habilitar a limitação de taxa quando solicitado digitando y, o que limita os invasores a não mais que três tentativas de a cada 30 segundos.
Como configurar o daemon SSH para 2FA
Agora que o 2FA está instalado e configurado, também precisamos configurar o daemon SSH para usá-lo. Abra o arquivo de configuração do daemon SSH com:
sudo nano /etc/ssh/sshd_config
Primeiro, localize a seguinte linha e certifique-se de que está definida como sim:
Use PAM sim
Em seguida, localize a seguinte linha e altere não para sim:
KbdInteractiveAuthentication não
Salve e feche o arquivo.
Nota: Nas versões do Ubuntu anteriores a 22.04, a linha acima será:
DesafioRespostaAutenticação sim
Em seguida, abra o arquivo de configuração do PAM com:
sudo nano /etc/pam.d/sshd
Sob a linha @include common-auth, adicione a seguinte linha:
autenticação necessária pam_google_authenticator.so
Salve e feche o arquivo.
Reinicie o daemon SSH com:
sudo systemctl reiniciar sshd
Em seguida, abra uma nova janela de terminal e tente fazer na máquina remota. Você primeiro será solicitado a inserir sua senha de usuário e, em seguida, o código 2FA. Ao digitar com sucesso o código 2FA, você deve ter o ao servidor.
Como habilitar 2FA com autenticação de chave SSH
Se você usa a autenticação de chave SSH (e deveria), há uma etapa extra que você deve seguir. No servidor, abra o arquivo de configuração do daemon SSH com:
sudo nano /etc/ssh/sshd_config
Na parte inferior desse arquivo, adicione a seguinte linha:
Métodos de autenticação chave pública, teclado interativo
Salve e feche o arquivo.
Reinicie o SSH com:
sudo systemctl reiniciar sshd
Depois de verificar que a autenticação de chave SSH funciona, você pode desabilitar a autenticação de senha abrindo a configuração SSH com:
sudo nano /etc/ssh/sshd_config
Localize a seguinte linha:
Autenticação de senha sim
Altere isso para:
SenhaAutenticação não
Reinicie o SSH com:
sudo systemctl reiniciar sshd
Parabéns, você acabou de configurar o Ubuntu Server 22.04 para um processo de SSH muito mais seguro. Apenas certifique-se ao fazer isso que você está testando através de uma segunda janela de terminal, para que você possa permanecer conectado ao original caso algo dê errado (e você pode redefinir as configurações). Desfrute dessa camada extra de segurança.
Saiba mais sobre o Ubuntu com o Mastering Linux Development Bundle da TechRepublic Academy.