Como instalar e ativar a autenticação multifatorial SSH para sistemas Linux

Como instalar e ativar a autenticação multifatorial SSH para sistemas Linux
Secure Shell (SSH) é um protocolo popular usado para acesso remoto a servidores e sistemas Linux. Ele fornece uma conexão segura e criptografada que permite aos usuários gerenciar e administrar seus sistemas remotamente.

No entanto, o uso de apenas um nome de usuário e senha para acessar o SSH pode deixar seus sistemas vulneráveis ​​a ataques de força bruta, adivinhação de senha e outras ameaças à segurança. É aí que a autenticação multifatorial (MFA) é útil.

É uma camada adicional de segurança que exige que os usuários forneçam duas ou mais formas de autenticação para acessar um sistema. Ao exigir que os usuários apresentem vários fatores, o MFA pode melhorar significativamente a segurança do acesso SSH.

O MFA é vital para sistemas que lidam com dados confidenciais ou confidenciais, pois ajudam. Ao implementar o MFA, você pode melhorar significativamente a segurança do seu sistema Linux e proteger melhor seus dados e ativos.

Este artigo ilustra a instalação, configuração e ativação do MFA para acesso SSH em sistemas Linux. Descreveremos as etapas necessárias para configurar um método MFA suportado, como o Google Authenticator ou a Duo Security, e testar a configuração para acesso SSH.

Preparando seu sistema Linux para MFA

Antes de instalar e configurar o MFA em seu sistema Linux, garantindo que seu sistema esteja atualizado e tenha os pacotes necessários instalados é crucial. Atualize seu sistema usando o seguinte utilitário:

SUDO APT UPDATE && sudo apt upgrade -y

Depois que seu sistema estiver atualizado, você deve instalar o pacote PAM (Módulos de Autenticação Matadura), que permite o MFA para SSH.

Instalando e configurando um método MFA suportado

Vários métodos de MFA estão disponíveis para acesso SSH, incluindo Google Authenticator, Duo Security e Yubikey. Nesta seção, vamos nos concentrar em configurar o Google Authenticator, que é um método MFA amplamente usado e fácil de definir para SSH.

Aqui estão as etapas para instalar e configurar o Google Authenticator para o SSH MFA:

Etapa 1: Crie um novo usuário

Primeiro, você precisa criar um novo usuário para acesso SSH. Você pode criar um novo usuário executando o seguinte código:

sudo adduser

Substituir com o nome apropriado do usuário que você deseja criar.

Etapa 2: mude para o novo usuário

Em seguida, mude para o novo usuário executando o seguinte comando:

su -

Seu sistema solicitará que você insira a senha do novo usuário.

Etapa 3: Instale o Google Authenticator

Instale o Google Authenticator usando este utilitário:

sudo apt install libpam-google-autenticator -y

A seguir, é apresentada uma saída de amostra para o comando anterior:

Esta saída mostra o gerenciador de pacotes que é "apt", instalando o pacote "libpam-google-autenticator" e suas dependências que são "libqrencode4". A opção -y confirma automaticamente o prompt de instalação. O resultado também mostra o progresso do processo de instalação, incluindo baixar e instalar os pacotes e qualquer espaço de disco adicional que será usado. Finalmente, mostra que a instalação e quaisquer gatilhos relevantes para o processamento pós-instalação são bem-sucedidos.

Etapa 4: gerar uma nova chave secreta

Este utilitário ajudará você a gerar uma nova chave secreta para o usuário:

Google-autenticador

Seu sistema solicitará que você responda algumas perguntas, incluindo o seguinte:

  • Deseja que os tokens de autenticação sejam baseados no tempo (S/N)? y
  • Você quer que eu atualize seu nome “/home/yourusername/.Google_authenticator ”Arquivo (S/N)? y
  • Você quer não permitir que múltiplos usos do mesmo token de autenticação? (S/N) y
  • Você quer ativar a limitação da taxa? (S/N) y

Você pode aceitar os valores padrão para a maioria das perguntas. No entanto, para a pergunta, “Você quer que eu atualize seu “/home //.Arquivo Google_Authenticator ”?“, Selecione“ y ”para atualizar o arquivo de configuração.

A linha de comando anterior gera uma nova chave secreta para o usuário usado para criar senhas únicas para o MFA.

Etapa 5: Abra o aplicativo Authenticator no seu telefone

Abra o aplicativo Google Authenticator em seu smartphone e verifique o código QR exibido na tela. Isso adiciona o novo usuário ao seu aplicativo do Google Authenticator.

Etapa 6: edite o arquivo de configuração

Edite o arquivo de configuração SSH executando o seguinte comando:

sudo nano/etc/ssh/sshd_config

Adicione a seguinte linha no final do arquivo:

ChallengerSesponseauthentication Sim

Esta linha permite a autenticação do desafio-resposta para SSH.

Etapa 7: edite o arquivo de configuração do PAM

Este comando edita o arquivo de configuração do PAM para SSH:

sudo nano /etc /pam.d/sshd

Adicione a seguinte linha no final do arquivo para concluir esta etapa:

Auth Necessou Pam_Google_Authenticator.então

Este utilitário permite o módulo do Google Authenticator para SSH.

Etapa 8: salve suas mudanças

Salve as alterações nos arquivos de configuração e reinicie o serviço SSH usando o seguinte comando:

SUDO Service SSH Reiniciar

Este comando reinicia o serviço SSH com a nova configuração.

Quando você faz login no seu sistema Linux usando SSH, você será solicitado a uma senha única que é gerada pelo aplicativo Google Authenticator. Digite a senha única para concluir o processo de login.

Testando sua configuração de MFA para acesso SSH

Depois de instalar e configurar o MFA para SSH em seu sistema Linux, é importante testar a configuração para garantir que ele funcione corretamente. Aqui estão as etapas para testar sua configuração de MFA para acesso SSH:

1. Abra uma nova janela do terminal e conecte -se ao seu sistema Linux usando SSH, como normalmente. Por exemplo:

ssh @

Substitua o com o nome exato do usuário que você criou anteriormente e o com o endereço IP ou nome do host do seu sistema Linux. Nesse caso, usamos Victoria como o nome de usuário. A saída se parece com o que está na figura a seguir:

Neste exemplo, usamos o comando ssh para fazer login em uma máquina remota com o endereço IP de 192.168.1.100 Como usuário, “Victoria”. O comando solicita a confirmação da autenticidade do host remoto e depois pede a senha para o usuário, "Victoria". Uma vez autenticado, somos recebidos com o prompt de shell na máquina remota, indicando que estabelecemos com sucesso uma sessão SSH.

2. Digite a senha do usuário quando solicitado.

3. Depois de inserir a senha, você deve ser solicitado a uma senha única do seu aplicativo MFA. Abra o aplicativo Google Authenticator no seu smartphone e insira o código que corresponde ao usuário que você criou anteriormente.

4. Se a senha única estiver correta, você deve estar conectado ao seu sistema Linux. Se a senha estiver incorreta, você será solicitado a inserir outro código do aplicativo MFA.

5. Depois de fazer login com sucesso, você pode verificar se o MFA está funcionando corretamente, verificando os logs SSH. Execute este utilitário para visualizar os logs:

cauda sudo -f/var/log/auth.registro

O comando anterior exibe os logs de autenticação SSH em tempo real.

Procure uma linha no tronco que diz “Aceito PublicKey para” seguido de “aceito-interativo/PAM aceito para”.

17 de abril 10:45:24 Servidor SSHD [2998]: Aceito PublicKey para Victoria de 192.168.0.2 porta 57362 SSH2: RSA SHA256: xxxxxxxxxxxxxxxxxxxxxx
17 de abril 10:45:27 Servidor SSHD [2998]: Aceito-interativo do teclado/PAM para Victoria de 192.168.0.2 porta 57362 ssh2

Por exemplo:

As duas primeiras linhas mostram que o usuário "Victoria" é autenticado com sucesso por meio de uma chave pública e métodos interativos do teclado a partir do endereço IP de 192.168.0.2.

Se tudo estiver funcionando corretamente, você pode fazer login no seu sistema Linux usando SSH com MFA ativado.

Conclusão

A implementação da autenticação multifatorial (MFA) para acesso SSH em seu sistema Linux pode aumentar significativamente a segurança do seu sistema, adicionando uma camada extra de autenticação. Ao exigir que os usuários forneçam uma senha única, além de sua senha regular, o MFA torna muito mais difícil para os invasores obter acesso ao seu sistema.