A autenticação de múltiplos fatores (MFA) é uma prática de segurança cada vez mais importante para proteger sistemas e dados sensíveis. No contexto do SSH (Secure Shell), um protocolo utilizado para acessar remotamente servidores e máquinas, implementar a autenticação de múltiplos fatores ajuda a reforçar a segurança, exigindo mais do que apenas uma senha para acessar um sistema.
No Ubuntu, um sistema operacional baseado em Linux popularmente usado em servidores, é possível configurar a autenticação de múltiplos fatores para o SSH de várias maneiras. Vou descrever uma abordagem comumente utilizada, que envolve o uso do Google Authenticator, uma ferramenta de autenticação de dois fatores baseada em aplicativo móvel.
Aqui estão os passos para configurar a autenticação de múltiplos fatores para SSH no Ubuntu usando o Google Authenticator:
-
Instalação do Google Authenticator:
Primeiro, é necessário instalar o Google Authenticator no servidor Ubuntu. Você pode fazer isso usando o gerenciador de pacotes apt:
bashsudo apt update sudo apt install libpam-google-authenticator -
Configuração do Google Authenticator:
Em seguida, é preciso configurar o Google Authenticator para cada usuário que deseja utilizar a autenticação de múltiplos fatores. Isso pode ser feito executando o seguinte comando para cada usuário:
bashgoogle-authenticatorEste comando irá guiar o usuário através do processo de configuração, que geralmente inclui a geração de um código QR e a exibição de códigos de emergência. O usuário deve escanear o código QR usando o aplicativo Google Authenticator em seu dispositivo móvel ou inserir manualmente a chave secreta.
-
Configuração do SSH para usar a autenticação de múltiplos fatores:
Agora, é necessário configurar o SSH para usar o Google Authenticator como parte do processo de autenticação. Para fazer isso, abra o arquivo de configuração do SSH:
bashsudo nano /etc/pam.d/sshdAdicione a seguinte linha no início do arquivo:
swiftauth required pam_google_authenticator.soIsso instrui o SSH a utilizar o Google Authenticator para autenticação de dois fatores.
-
Configuração do SSHD para permitir autenticação com senha e autenticação de chave pública:
Por padrão, o SSHD (o servidor SSH) pode ser configurado para exigir autenticação com senha ou autenticação de chave pública. Para permitir ambas, abra o arquivo de configuração do SSHD:
bashsudo nano /etc/ssh/sshd_configCertifique-se de que as seguintes linhas estão descomentadas e definidas como “yes”:
bashChallengeResponseAuthentication yes PasswordAuthentication yes PubkeyAuthentication yesDepois de fazer essas alterações, reinicie o serviço SSH para aplicar as mudanças:
bashsudo systemctl restart sshd -
Teste da configuração:
Para testar se a autenticação de múltiplos fatores está funcionando corretamente, tente fazer login remotamente no servidor via SSH. Você deve ser solicitado a fornecer sua senha regularmente, bem como o código de autenticação do Google Authenticator gerado pelo seu aplicativo móvel.
Ao seguir esses passos, você configurou com sucesso a autenticação de múltiplos fatores para SSH no seu servidor Ubuntu, ajudando a aumentar a segurança dos acessos remotos. Lembre-se de que a segurança é um processo contínuo, e é sempre bom estar atento a novas ameaças e práticas recomendadas para garantir a proteção adequada dos seus sistemas e dados.
“Mais Informações”

Além da configuração básica descrita anteriormente, existem algumas considerações adicionais e informações complementares que podem ser úteis ao implementar a autenticação de múltiplos fatores (MFA) para SSH no Ubuntu:
-
Backup de códigos de emergência:
Durante o processo de configuração do Google Authenticator, são gerados códigos de emergência que podem ser usados caso o dispositivo móvel seja perdido ou não esteja disponível. É fundamental orientar os usuários a armazenar esses códigos de forma segura em um local acessível somente por eles, pois eles permitem acessar o sistema mesmo sem o código de autenticação gerado pelo aplicativo. -
Gerenciamento de usuários:
Ao implementar MFA, é importante ter um sistema robusto de gerenciamento de usuários. Isso inclui a criação de políticas de senha fortes, a desativação de contas de usuários que não estão mais em uso e a implementação de práticas de autenticação seguras em toda a organização. -
Monitoramento e registro:
É recomendável configurar sistemas de monitoramento e registro para acompanhar as tentativas de login no servidor SSH. Isso pode ajudar a identificar tentativas de acesso não autorizadas e fornecer informações para investigações de segurança em caso de incidentes. -
Revisão regular da configuração:
A segurança é um processo contínuo e em constante evolução. É importante revisar regularmente a configuração de autenticação de múltiplos fatores, bem como outras medidas de segurança, para garantir que estejam alinhadas com as melhores práticas e atendam às necessidades de segurança da organização. -
Considerações de usabilidade e experiência do usuário:
Embora a segurança seja fundamental, também é importante considerar a usabilidade e a experiência do usuário ao implementar medidas de segurança como MFA. Certifique-se de fornecer orientações claras e instruções para os usuários sobre como configurar e usar a autenticação de múltiplos fatores, a fim de minimizar a resistência à adoção e garantir uma transição suave. -
Exploração de outras soluções MFA:
Além do Google Authenticator, existem outras soluções de autenticação de dois fatores disponíveis que podem ser consideradas, como o Authy, o Microsoft Authenticator e o Duo Security. Cada uma dessas soluções tem suas próprias vantagens e considerações de implementação, então é recomendável fazer uma avaliação cuidadosa antes de escolher a solução mais adequada para suas necessidades específicas. -
Integração com outros sistemas e serviços:
Ao implementar MFA para SSH, é importante considerar como essa solução se integra com outros sistemas e serviços utilizados pela organização. Por exemplo, se o SSH é usado para acessar sistemas em nuvem, é importante garantir que a autenticação de múltiplos fatores esteja configurada consistentemente em todos os ambientes.
Ao levar em conta essas informações adicionais e considerações, você estará melhor preparado para implementar e gerenciar com sucesso a autenticação de múltiplos fatores para SSH no seu ambiente Ubuntu, garantindo uma camada adicional de segurança para seus sistemas e dados.

