Configurar SSH com Chave Privada e 2FA no Debian
Garantir a segurança do seu servidor Debian 12 é essencial, e como configurar SSH com chave privada e 2FA e proteger o acesso SSH com uma combinação de chave privada e autenticação de dois fatores (2FA) é uma das melhores práticas que você pode adotar. Neste guia, você aprenderá, passo a passo, como configurar o SSH para exigir uma chave privada seguida de um código 2FA. Este procedimento foi testado com sucesso no Debian 12 e aumentará significativamente a segurança do seu servidor.
Requisitos
Para começar, certifique-se de ter:
- Um servidor Debian 12 com SSH configurado.
- Acesso administrativo ao servidor.
- Um aplicativo de autenticação, como Google Authenticator, Bitwarden ou Authy, instalado no seu smartphone.
Passo 1: Instale o Google Authenticator
Primeiro, atualize o sistema e instale o Google Authenticator. Basta executar os seguintes comandos:
1 2 3 |
apt update apt install libpam-google-authenticator |
Passo 2: Configure o Google Authenticator
Em seguida, configure o Google Authenticator para o usuário que deseja proteger:
- Faça login como o usuário que você deseja proteger.
- Digite o comando:
1google-authenticator - Agora, siga as instruções que aparecerem na tela:
- Quando perguntado, escolha y para usar tokens baseados em tempo.
- Em seguida, escaneie o QR Code com seu aplicativo de autenticação.
- Certifique-se de guardar os códigos de backup em um local seguro.
- Por fim, configure as opções de segurança conforme recomendado.
Passo 3: Configure o SSH para Chave Privada e 2FA
Agora, edite o arquivo de configuração do SSH. Use o comando abaixo para abrir o arquivo:
1 |
vim /etc/ssh/sshd_config |
Depois, adicione ou ajuste estas opções:
1 2 3 4 5 6 7 8 |
Port 9922 PermitRootLogin yes ChallengeResponseAuthentication yes AuthenticationMethods publickey,keyboard-interactive PasswordAuthentication no KbdInteractiveAuthentication yes UsePAM yes |
- AuthenticationMethods: Essa linha garante que a autenticação use primeiro a chave privada e depois o 2FA.
- PasswordAuthentication no: Desativa a autenticação por senha, aumentando a segurança.
Salve e feche o arquivo.
Passo 4: Configure o PAM para o Google Authenticator
Em seguida, vamos ajustar o arquivo PAM para usar o Google Authenticator:
1 |
vim /etc/pam.d/sshd |
Dentro do arquivo, adicione esta linha:
1 |
auth required pam_google_authenticator.so |
Além disso, comente ou remova a linha @include common-auth para evitar que o sistema solicite a senha de usuário após a chave privada e o 2FA:
1 |
# @include common-auth |
Passo 5: Reinicie o Serviço SSH
Por fim, reinicie o serviço SSH para aplicar todas as configurações que você fez:
1 |
systemctl restart sshd |
Passo 6: Teste a Configuração
Para garantir que tudo está funcionando, faça o seguinte:
- Abra uma nova sessão SSH e tente se conectar ao servidor.
- Primeiro, o sistema pedirá sua chave privada. Em seguida, solicitará o código 2FA.
- Certifique-se de que nenhuma senha adicional seja solicitada. Se tudo correr bem, a configuração está correta!
Dicas de Segurança
Antes de finalizar, aqui estão algumas dicas importantes:
- Acesso de Recuperação: Sempre tenha um método alternativo de acesso (como um console de recuperação) antes de aplicar mudanças críticas. Isso evita ficar trancado fora do servidor em caso de erros.
- Códigos de Backup: Não se esqueça de guardar os códigos de backup em um local seguro. Eles são essenciais se você perder o acesso ao aplicativo de autenticação.
Conclusão
Configurar SSH com chave privada e 2FA no Debian 12 é uma maneira eficaz de proteger seu servidor contra acessos não autorizados. Este guia, testado com sucesso no Debian 12, proporciona uma camada extra de segurança, garantindo que mesmo se sua chave privada for comprometida, o acesso ainda estará protegido por um código de verificação temporário.
Para mais detalhes e referências, veja:
Para lêr outros artigos que escrevi sobre Linux acesse esse link Clique Aqui
Gostou deste guia? Deixe um comentário com suas dúvidas ou sugestões!