ssh

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

Como habilitar 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 as organizações. Os administradores de sistema usam maneiras diferentes para aumentar a segurança de seus servidores. Uma das maneiras comuns de interagir com um servidor é usando o SSH (ou Secure SHell) protocolo que é amplamente usado para registro remoto em um servidor. Além de logins de shell remotos, 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 proteger 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 vai colocar ainda mais uma barreira forte entre o seu computador host e os invasores. Para se conectar ao seu servidor remoto com SSH, você exigirá uma senha, bem como um código de verificação (ou OTP) de um aplicativo autenticador em execução no seu dispositivo móvel. Isso é realmente útil se um invasor roubar sua senha, ele não será capaz de fazer login em seu servidor sem o código de verificação.

Existem muitos aplicativos de autenticador disponíveis para dispositivos móveis com Android ou Apple IOS. Este guia usou o aplicativo Google Authenticator tanto para o servidor Fedora quanto para o dispositivo móvel.

O que iremos cobrir

Este guia vai ver como podemos usar a autenticação de dois fatores com protocolo SSH para prevenir o acesso não autorizado à nossa estação de trabalho Fedora 30. Tentaremos fazer o login em nosso servidor Fedora a partir da máquina cliente Xubuntu para ver se a configuração está funcionando conforme o 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-Authenticator instalado nele.

Visão geral da configuração

  1. Máquina Fedora 30 com IP: 192.168.43.92
  2. Máquina Xubuntu com IP: 192.168.43.71
  3. Dispositivo móvel com aplicativo Google-Authenticator.

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

$ sudo dnf install -y google-authenticator

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

$ google-authenticator

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

Você deseja que os tokens de autenticação sejam baseados em tempo (y / 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 em seu dispositivo móvel e abra-o. Agora clique na opção 'Ler um código QR.'Agora concentre sua câmera móvel na leitura do código QR na janela do terminal do seu servidor.

Passo 4. Depois de escanear o código QR, seu dispositivo móvel irá adicionar uma conta para o seu servidor e gerar um código aleatório que continuará mudando com um cronômetro rotativo, conforme mostrado na imagem abaixo:

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

Etapa 6. Nas próximas etapas, ele fará algumas perguntas para finalizar a configuração. Damos abaixo o conjunto de perguntas e suas respostas para configurar a configuração. Você pode alterar essas respostas de acordo com sua necessidade:

Quer que eu atualize seu "/ home / linuxhint /.arquivo google_authenticator "? (s / n) s [Digite 's' aqui]
Quer proibir vários usos do mesmo token de autenticação? Isso restringe você a um login a cada 30 segundos, mas aumenta suas chances de perceber ou até mesmo evitar ataques man-in-the-middle (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 desvio de tempo entre o cliente e o servidor, permitimos um token extra antes e depois do horário atual. Isso permite um desvio de tempo de até 30 segundos entre o servidor de autenticação e o cliente. Se tiver problemas com a sincronização de tempo ruim, você pode aumentar a janela de seu 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 desvio de tempo de até 4 minutos entre o cliente e o servidor. Você quer fazer isso? (s / n) s [Digite 's' aqui]
Se o computador em que você está se conectando não está protegido contra tentativas de login de força bruta, você pode habilitar a limitação de taxa para o módulo de autenticação. Por padrão, isso limita os invasores a não mais do que 3 tentativas de login a cada 30s. Você deseja habilitar a limitação de taxa? (s / n) s [Digite 's' aqui]

Etapa 7. Agora abra o arquivo sshd_config com qualquer editor

$ sudo vi / etc / ssh / sshd_config

e siga os seguintes passos:

  1. Remova o comentário e defina o PasswordAuthentication para sim.
  2. Remova o comentário e defina o ChallengeResponseAuthentication para sim.
  3. Remova o comentário e defina 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 required pam_google_authenticator.tão

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

$ sudo systemctl start sshd
$ sudo systemctl enable sshd

Todas as etapas para configurar o servidor agora estão concluídas. Vamos agora passar para a nossa máquina cliente, eu.e., Xubuntu, no nosso caso.

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

$ ssh [email protegido]

Como você pode ver, o SSH primeiro pede 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 se logar 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 o login sem a senha do servidor remoto.

Como instalar e jogar Doom no Linux
Introdução ao Doom A série Doom teve origem nos anos 90 após o lançamento do Doom original. Foi um sucesso instantâneo e, a partir desse momento, a sé...
Vulkan para usuários de Linux
A cada nova geração de placas gráficas, vemos os desenvolvedores de jogos ultrapassarem os limites da fidelidade gráfica e se aproximarem mais do foto...
OpenTTD vs Simutrans
Criar sua própria simulação de transporte pode ser divertido, relaxante e extremamente atraente. É por isso que você precisa ter certeza de experiment...