Como ativar a autenticação de dois fatores para SSH no Fedora Linux

Como ativar a autenticação de dois fatores para SSH no Fedora Linux

No mundo da tecnologia da informação, a segurança é uma grande preocupação nos dias de hoje. Todos os dias novos e sofisticados ataques são lançados contra organizações. Os administradores do sistema usam maneiras diferentes de endurecer a segurança de seus servidores. Uma das maneiras comuns de interagir com um servidor é usar o ssh (ou Secure Shell) protocolo que é amplamente utilizado para registro remoto em um servidor. Além de logins remotos de shell, ele também é usado para copiar arquivos entre dois computadores. Ao contrário de outros métodos como Telnet, RCP, FTP, etc., O protocolo SSH usa um mecanismo de criptografia para garantir a comunicação entre dois hosts.

A segurança fornecida pelo protocolo SSH pode ser ainda mais aprimorada usando a autenticação de dois fatores. Isso colocará ainda uma parede forte entre o computador host e os atacantes. Para conectar -se ao seu servidor remoto com o SSH, você precisará de uma senha e um código de verificação (ou OTP) de um aplicativo autenticador em execução em seu dispositivo móvel. Isso é realmente útil se um invasor roubar sua senha, ele não poderá fazer login no seu servidor sem o código de verificação.

Existem muitos aplicativos autenticadores disponíveis para dispositivos móveis que executam Android ou Apple iOS. Este guia usou o aplicativo do Google Authenticator para o Fedora Server e o dispositivo móvel.

O que vamos cobrir

Este guia verá como podemos usar a autenticação de dois fatores com o protocolo SSH para impedir o acesso não autorizado à nossa estação de trabalho do Fedora 30. Tentaremos fazer login em nosso servidor Fedora na máquina cliente Xubuntu para ver se a configuração está funcionando como esperado. Vamos começar a configurar o SSH com autenticação de dois fatores.

Pré -requisitos

  1. Um sistema operacional Fedora 30 instalado no servidor remoto com uma conta de usuário 'sudo'.
  2. Uma máquina Xubuntu para acessar o servidor acima.
  3. Um dispositivo móvel com um aplicativo Google-Autenticator instalado nele.

Visão geral da configuração

  1. Fedora 30 Machine com IP: 192.168.43.92
  2. Xubuntu Machine com IP: 192.168.43.71
  3. Dispositivo móvel com aplicativo Google-Autenticator.

Passo 1. Instale o Google-Authenticator no Fedora 30 Server usando o comando:

$ sudo dnf install -y google -autenticator

Passo 2. Execute o comando abaixo para iniciar o Google-autenticador em seu servidor:

$ google-autenticador

Ele fará algumas perguntas para configurar o servidor para funcionar com seu dispositivo móvel:

Deseja que os tokens de autenticação sejam baseados no tempo (s/n) y [digite 'y' aqui]

Ele exibirá um código QR na janela do terminal; Mantenha esta janela do terminal aberta por enquanto.

etapa 3. Instale o aplicativo Google-Authenticator no seu dispositivo móvel e abra-o. Agora clique na opção 'Digitalizar um código QR.'Agora concentre sua câmera móvel na digitalização do código QR na janela do terminal do seu servidor.

Passo 4. Após a digitalização do código QR, seu dispositivo móvel adicionará uma conta para o servidor e gerará um código aleatório que continuará mudando com um cronômetro rotativo, conforme mostrado na figura abaixo:

Etapa 5. Agora volte para a janela do terminal do servidor e digite aqui o código de verificação do seu dispositivo móvel. Depois que o código for confirmado, ele gerará um conjunto de código de arranhões. Esses códigos de arranhão podem ser usados ​​para fazer login no seu servidor, caso você perca seu dispositivo móvel. Então, salve -os em algum lugar seguro.

Etapa 6. Nas etapas adicionais, ele fará algumas perguntas para terminar a configuração. Damos abaixo o conjunto de perguntas e suas respostas para configurar a configuração. Você pode alterar essas respostas conforme sua necessidade:

Você quer que eu atualize seu "/home/linuxhint/.Google_authenticator "Arquivo? (S/N) Y [Digite 'y' aqui]
Você quer não permitir que múltiplos usos do mesmo token de autenticação? Isso o restringe a um login a cada 30 anos, mas aumenta suas chances de notar ou até impedir ataques de homem no meio (s/n) y [digite 'y' aqui]
Por padrão, um novo token é gerado a cada 30 segundos pelo aplicativo móvel.Para compensar o possível tempo de tempo entre o cliente e o servidor, permitimos um token extra antes e depois do horário atual. Isso permite um tempo inclinado de até 30 segundos entre o servidor de autenticação e o cliente. Se você tiver problemas com sincronização de tempo ruim, poderá aumentar a janela do tamanho padrão de 3 códigos permitidos (um código anterior, o código atual, o próximo código) para 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 tempo de até 4 minutos entre o cliente e o servidor. Você quer fazer isso? (S/N) Y [Digite 'y' aqui]
Se o computador em que você está fazendo login não for endurecido contra tentativas de login de força bruta, você pode ativar a limitação da taxa para o módulo de autenticação. Por padrão, isso limita os atacantes a não mais que 3 tentativas de login a cada 30 anos. Você quer ativar a limitação da taxa? (S/N) Y [Digite 'y' aqui]

Etapa 7. Agora abra o arquivo sshd_config com qualquer editor

$ sudo vi/etc/ssh/sshd_config

e faça as seguintes etapas:

  1. Descomamento e definir o PasswordAuthentication para sim.
  2. Descomamento e definir o ChallengerSesponseAuthentication para sim.
  3. Descomamento e definir o Usepam para sim.

Salve e feche o arquivo.

Etapa 8. Em seguida, abra o /etc /pam.arquivo d/sshd

$ sudo vi /etc /pam.d/sshd

e adicione as seguintes linhas abaixo da linha 'Auth Substack Senha Auth:

Auth Necessou Pam_Google_Authenticator.então

Etapa 9. Inicie e habilite o serviço SSH no servidor Fedora com o comando:

$ sudo systemctl start sshd
$ sudo systemctl habilitar sshd

Todas as etapas para configurar o servidor estão agora feitas. Agora vamos nos mudar para nossa máquina cliente, eu.e., Xubuntu, no nosso caso.

Etapa 10. Agora tente fazer login com o SSH da máquina Xubuntu para o Fedora 30 Server:

$ ssh [email protected]

Como você pode ver, o SSH está pedindo primeiro a senha do servidor e, em seguida, um código de verificação do seu dispositivo móvel. Depois de inserir o código de verificação corretamente, você pode fazer login no servidor Fedora remoto.

Conclusão

Parabéns, configuramos com sucesso o acesso SSH com autenticação de dois fatores no Fedora 30 OS. Você pode configurar ainda mais o SSH para usar apenas um código de verificação para fazer login sem a senha do servidor remoto.