Ir para conteúdo

[Linux] Aumente a segurança do seu servidor com o Two-Factor Authentication (Authy)


Posts Recomendados

unnamed.png

 

Boa noite pessoal!

Trago hoje um tutorial de como aumentar a segurança do seu servidor utilizando a autenticação de 2 fatores. Existem várias empresas que oferecem esse serviço, inclusive a Google, mas neste tutorial estou recomendando o Authy (que é o que uso) pela segurança, facilidade e por ser gratuito.

Vamos lá?

1. O que é "Two-Factor Authentication"?
O Two-Factor Authentication ou Autenticação de 2 fatores é um processo que envolve duas etapas, sequentes e dependentes entre si para verificar a identidade de uma pessoa ou entidade que está tentando acessar serviços relacionados a tecnologia da informação no geral.
Um excelente exemplo é o Facebook. O usuário que desejar pode ativar o Two-Factor gratuitamente em seu Facebook, e, ao ativá-lo, será solicitado um código após sua senha para concluir o login. O código pode ser obtido via aplicativo de celular (devidamente cadastrado) ou SMS.
2. Porque utilizar a autenticação de 2 fatores em um servidor?
Atualmente vivemos em um cenário em que a segurança é essencial para qualquer aplicação voltada para a Internet, seja ela um site ou um sistema extremamente restrito. Mesmo que utilizar chaves SSH criptografadas para o acesso seja relativamente seguro - considerando que a chave é passível de quebra, mesmo que a estimativa de tempo para quebrar uma criptografia seja alta - investir em segurança nunca é demais.
A autenticação de 2 fatores unida a outras dicas de segurança torna seu servidor praticamente impossível de ser invadido via SSH.
Authy: uma opção de Two-Factor Authentication para seu servidor Linux
smartphones-044a69e4ca20163a7778eb62ce82
Site oficial: https://www.authy.com/
O Authy é uma excelente solução para integrar a autenticação de 2 fatores a uma aplicação ou servidor. Disponível gratuitamente para até 5 aplicações, o Authy conta com uma interface fácil e agradável, além de uma ampla base de conhecimento e painel de controle avançado com diversas opções configuráveis. Para instalar o Authy em seu servidor basta seguir o passo-a-passo abaixo.
Vale lembrar que é possível configurar a mesma "chave" de 2 fatores para vários servidores ou uma chave independente por servidor.

1. Cadastre-se no Authy em https://www.authy.com/signup.
2. Acesse seu painel em https://dashboard.authy.com/signin.
3. Dentro do dashboard, no menu Applications, clique em New Application e insira o nome da aplicação, indentificando onde será utilizado a autenticação, por exemplo: Infra-01
4. Faça o Download do Authy em seu servidor a partir do GitHub (https://github.com/authy/authy-ssh) com o comando abaixo:
cd /root
wget https://github.com/authy/authy-ssh/archive/master.zip
unzip master.zip
cd authy-ssh-master
5. Instale e habilite o Authy em seu servidor:
5.1. Para instalar, utilize o comando abaixo:
sudo bash authy-ssh install /usr/local/bin

Ao rodar o comando, será solicitado uma API Key, que foi gerada na etapa 4.3, ao criar a aplicação dentro do Dashboard. Abaixo o texto que será exibido solicitando a key.

Copying authy-ssh to /usr/local/bin/authy-ssh...
Setting up permissions...
Enter the Authy API key:  

Após isso, o Authy irá perguntar o que fazer quando o servidor não conseguir se conectar com a API do Authy:

Default action when api.authy.com cannot be contacted:

  1. Disable two factor authentication until api.authy.com is back
  2. Don't allow logins until api.authy.com is back

type 1 or 2 to select the option:

Nesse caso, digite 1 para desabilitar temporariamente a autenticação de 2 fatores enquanto o servidor não conseguir se conectar com a API do Authy ou digite 2 para não aceitar login caso não haja conexão entre servidor e API.

Lembre-se de não remover a pasta /usr/local/bin/authy-ssh. Ela é fundamental para o funcionamento do Authy.
5.2. Após isso, habilite o Authy utilizando o comando abaixo:
sudo /usr/local/bin/authy-ssh enable `whoami`

Ao rodar o comando acima, o Authy solicitará uma série dados para efetuar o cadastro de um usuário para envio do código para acesso via SMS ou ligação telefônica. Vale lembrar que o Authy sincroniza automaticamente todas aplicações em seu aplicativo (Android, iOS, etc).

Your country code: 55
Your cellphone: 319xxxyyyy
Your email: contato@empresa.com

    Username:   root
    Cellphone:  (+55) 319xxxyyyy
    Email:      contato@empresa.com

Do you want to enable this user? (y/n) y
User was registered
O código do país é 55. Não se esqueça de inserir o DDD para o usuário. Essa configuração lhe permite obter o código do Authy sem ter o aplicativo instalado em seu celular.
5.3. Depois, teste se o Authy está instalado e funcionando corretamente:
authy-ssh test

O comando solicitará o código gerado pelo Authy, basta inserir o código corretamente que o Authy retornará uma mensagem de sucesso caso esteja tudo pronto.

Authy Token (type 'sms' to request a SMS token): 7070027
Good job! You've securely logged in with Authy.

5.4. Por fim, reinicie seu SSH.

sudo service sshd restart

Pronto! O Authy foi instalado e configurado com sucesso!

Conclusão
Utilizar o Two-Factor Authentication pode ser considerado como opcional como quesito de segurança, mas é extremamente útil e incrementa em muitas vezes seu poder de defesa, considerando que é uma senha secundária e dinâmica, alterada em curtos intervalos de tempo em tempo.
Em caso de qualquer dúvida, basta comentar no tópico smile.png

 

Link para o comentário
Compartilhar em outros sites

Concordo, excelente dica!

 

Dicas adicionais,

fail2ban (se errar 3x = ban ip)

trocar porta ssh

 

Eu fiz um outro tópico sobre dicas relacionadas ao SSH, onde incluí a troca da porta do SSH. Fail2ban é uma ótima dica, talvez eu escreva sobre. Mas com o Authy fica bem difícil a pessoa se conectar. Por mais que ela consiga a senha root, o código gerado pelo Two-Factor é alterado de x em x segundos, bem complicado um brute force dar certo. :)

Editado por Nightz
Link para o comentário
Compartilhar em outros sites

Boa rapaz!

 

To curtindo sua ajuda pra comunidade =)

 

Acho que é isso ai

 

 

Seus tutoriais, estão muito bons. Parabens e continue nos ajudando, pois isso faz muita diferença.

 

Obrigado pessoal :)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...