Usando o Google Authenticator no Two Factor do SSH [CentOS7]

Usando o Google Authenticator no Two Factor do SSH [CentOS7]

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 
Instalando authenticator google

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”:

instalar google authenticator linux

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

adicionar configuração sshd

Após isso, reinicie o seu serviço de SSH para aplicar todas as alterações:

sudo service sshd restart
reiniciar sshd

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! **

qr code google authenticator

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 :

two factor ssh linux

Após realizar uma das opções, um token será gerado a cada 30 segundos conforme imagem abaixo:

mfa ssh

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!

2fa ssh

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 !