Usando o Google Authenticator no Two Factor do SSH [CentOS7]
- Lucas Castro
- Linux
- 9 de dezembro de 2019
Introdução
O Google Authenticator é uma ferramenta gratuita que pode ser utilizada em diversas plataformas para melhorar a segurança na hora de se autenticar em uma aplicação, servidor e outros ambientes. Você pode utilizar tanto o celular para gerar os Tokens quanto o próprio navegador.
Você pode realizar a instalação do App no celular ou da extensão de navegador pelos links abaixo:
Baixar o App:
https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=pt_BR
Baixar Extensão:
https://chrome.google.com/webstore/detail/authenticator/bhghoamapcdpbohphigoooaddinpkbai?hl=pt
Como instalar e configurar
Vamos começar o nosso passo a passo de como configurar a verificação em duas etapas no seu serviço SSH.
1° Passo - Utilize seu gerenciador de pacotes para instalar o google-authenticator
Lembrete:
Para este tutorial utilizamos o CentOS 7, porém a configuração seguirá o mesmo parâmetro em outras distribuições.
Comando para executar a instalação:
sudo yum install google-authenticator
2° Passo - Edite as configurações do servidor SSH
Comando para editar as configurações :
vim /etc/ssh/sshd_config
Após abrir o arquivo, altere e salve as opções ChallengeResponseAuthentication e UsePAM para “yes”:
Dica: Utilize a tecla SHIFT e aperte a letra Z duas vezes para sair e salvar as alterações!
Para completar a configuração, precisamos adicionar uma linha que irá declarar qual é o método de autenticação plugável que deverá ser utilizado pelo sistema no momento do login e para isso editaremos o arquivo abaixo com o comando :
vim /etc/pam.d/sshd
Linha a ser adicionada: auth required pam_google_authenticator.so
Após isso, reinicie o seu serviço de SSH para aplicar todas as alterações:
sudo service sshd restart
3° Passo - Gere uma chave no servidor para inclusão no app do google
Agora que tudo está instalado e configurado no SSH, vamos gerar uma chave com o google-authenticator utilizando o comando:
google-authenticator
Depois basta responder todas as perguntas com “y” ou “n”.
Perguntas em tradução livre :
Deseja que eu atualize seu arquivo "/root/.google_authenticator"? (s / n) s
Deseja proibir vários usos da mesma autenticação
símbolo? Isso restringe você a um login a cada 30 anos, mas aumenta
suas chances de perceber ou até mesmo impedir ataques man-in-the-middle (s / n)
Por padrão, um novo token é gerado a cada 30 segundos pelo aplicativo móvel.
Para compensar possíveis desvios no tempo entre o cliente e o servidor,
permitimos um token extra antes e depois da hora atual. Isso permite uma
desvio de tempo de até 30 segundos entre o servidor de autenticação e o cliente. Se vocês
tiver problemas com a sincronização de tempo ruim, você pode aumentar a janela
do tamanho padrão de 3 códigos permitidos (um código anterior, o código atual
código seguinte) a 17 códigos permitidos (os 8 códigos anteriores, o código atual
e os 8 próximos códigos). Isso permitirá um tempo de inclinação de até 4 minutos
entre cliente e servidor.
Você quer fazer isso? (s / n) s
Se o computador em que você está efetuando login não estiver protegido contra força bruta
tentativas de login, você pode ativar a limitação de taxa para o módulo de autenticação.
Por padrão, isso limita os invasores a não mais que 3 tentativas de login a cada 30s.
Deseja ativar a limitação de taxa? (s / n) s
Após isso, **deixe o código QR à vista para o próximo passo! **
ATENÇÃO: A Chave gerada nesse momento será atrelada ao usuário que rodou o comando e deve ser mantida em segurança pois é a chave do algoritmo que gera os tokens, quem possuir essa chave, possuirá acesso aos tokens!
4° Passo - Adicione a Chave gerada no Google Authenticator
Agora existem 2 opções, escanear o código QR ou digitar a chave manualmente :
Após realizar uma das opções, um token será gerado a cada 30 segundos conforme imagem abaixo:
5° Passo - Testando a autenticação
Certo, SSH configurado, Chave gerada e adicionada ao App/extensão. Agora só precisamos saber se tudo está funcionando!
Estabeleça uma nova sessão via SSH em seu Servidor/Máquina Virtual e digite a senha como já era feito antes.
Verifique se é solicitado o Token como exibido abaixo e digite-o para completar a autenticação!
Uma vez que o Authenticator Google está instalado e configurado adequadamente, seu serviço SSH encontra-se mais seguro com um segundo fator de autenticação!
Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !