Salve! É hora de blindar seu servidor e parar de reclamar do 2FA (ou não...)
Este é meu primeiro artigo por aqui, então resolvi começar com algo simples, que todo mundo já teve que configurar em algum momento da vida: aquele troço chato, mas necessário, chamado 2FA (autenticação de dois fatores).
Sim, eu sei, também me irrita ter que ficar desbloqueando o celular toda hora só para pegar um código de autenticação. Mas a verdade é que o 2FA é um mal necessário, tipo aquele remédio amargo que a gente toma para não ficar doente.
Então, para te ajudar a proteger seus servidores ou aquele seu "homelab" que você tanto se orgulha e evitar que hackers façam a festa com seus dados, preparei este guia sobre como configurar o 2FA no Linux. 🚀
E antes que você comece a reclamar, já aviso: vai ter que usar o celular sim (ou utilize extensões de navegador)!
Etapa 1:
Vamos começar pelo simples, sem inventar a roda, atualize seu sistema, no meu caso estou utilizando um Debian 4.19.160.
Verifiquei utilizando o comando:
uname -v
Caso sua distro seja diferente e utilize outro package manager será necessário realizar ajustes nos comandos de instalação, mas acredito que você já saiba disso.
Em seguida vamos realizar a atualização do sistema, por se tratar de uma configuração crítica, irei utilizar diretamente o usuario root, mas recomendo que seja feito utilizando o sudo
sudo apt update && apt upgrade -y
Desta forma garantimos que nossos pacotes estão com a ultima versão disponível nos reposítorios.
Em seguida verifique se seu servidor SSH está online:
sudo systemctl status ssh
deve retornar active: running, se você receber algum tipo de erro será necessario verificar se seu servidor ssh está habilitado.
Etapa 2:
Agora, vamos instalar o Google Authenticator PAM que será responsável por configurar e gerar as chaves de autenticação.
sudo apt install libpam-google-authenticator -y
Etapa 3:
Nesta etapa, iremos configurar o SSH para reconhecer o módulo de autenticação.
Utilize o seguinte comando para anexar o módulo ao arquivo de configuração do pam.d.
echo "auth required_pam_google_authenticator" >> /etc/pam.d/sshd
Caso você prefira pode utilizar o editor de texto de sua preferencia como sudo nano /etc/pam.d/sshd
.
Reinicie os serviços do sshd.
sudo systemctl restart sshd.service
Lembrando que estes comandos foram testados em distribuições Debian/Ubuntu, outras distribuições verificar se possui integração com este módulo.
Agora iremos editar o arquivo de configuração do SSH.
sudo sed -i 's/ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/' /etc/ssh/sshd_config
Este comando irá alterar a linha ChallengeResonseAuthentication no para yes no arquivo de configuração.
Salve e reinicie novamente o sshd.service.
sudo systemctl restart sshd.service
Etapa 4:
Depois de configurado, agora vamos para o autenticador, abra o terminal e digite:
google-authenticator
O instalador irá fazer perguntas que é basicamente:
- Tornar seus tokens de autenticação baseados em tempo
- Atualizar o arquivo ~/.google_authenticator
- Proibir o uso de varios tokens de autenticação
- Aumentar a frequencia de geração de código
- Ativar limitação de taxa
Responda (y) para todas as perguntar.
Durante esta etapa será gerado um código QR, uma chave secreta e códigos de recuperação.
É MUITO IMPORTANTE que você salve estes códigos de recuperação.
Em seguida basta adicionar esta secret key em algum app de autenticação e realizar o login novamente, agora irá solicitar o código de verificação:
Caso fique dúvidas manda um comentário ai.
Abçs.
Top comments (0)