Fazendo com segurança uma conexão SSH a partir de um computador público

2

Hoje, tive que me conectar remotamente ao meu computador Debian em casa para corrigir um problema com um servidor VPN.

Eu estava usando meu iPhone com um cliente SSH para corrigir o problema, mas tive dificuldades devido ao pequeno tamanho da tela e ao teclado virtual. Havia um computador público (Windows) em mãos e imaginei que poderia usá-lo para conectar ao meu computador. Teria sido ótimo, mas eu suspeitava que o computador tivesse um registrador de chaves, então minha senha root poderia ser "gravada". Além disso, sendo um computador Windows, o computador não tinha nenhum cliente SSH instalado, então eu teria que usar um cliente SSH on-line (que poderia registrar meus toques de teclado também).

Eis a minha pergunta:

Como eu iria proteger meu computador Debian, para que eu não precise se preocupar tanto na próxima vez que eu precisar conectar ssh de um computador público?

    
por LaX 26.11.2014 / 21:42

2 respostas

1

O maior problema com conexões públicas é a senha. Eu realmente não me importo se alguém conhece meu nome de usuário / o que eu fiz. O que importa, porém, é como eles poderiam reutilizar minha senha.

Sugiro proteger o acesso SSH com autenticação em duas etapas. Encontrei esse link explicando como ativar o Google Authenticator para seu login SSH: link

Para quem não sabe, aqui está uma Wikipedia descrição do que ele faz:

Typically, users will install the Authenticator app on their smartphone. To log into a site or service that uses two-factor authentication, they provide user name and password to the site and run the Authenticator app which produces an additional six-digit one-time password. The user provides this to the site, the site checks it for correctness and authenticates the user.

  1. Primeiro, instale libpam-google-authenticator do seu gerenciador de pacotes favorito. Código-fonte aqui
  2. Ative a autenticação em duas etapas adicionando auth required pam_google_authenticator.so à sua página de configuração /etc/pam.d/sshd .
  3. Verifique se ChallengeResponseAuthentication está definido como yes no seu arquivo /etc/ssh/sshd_config .
  4. Faça login como o usuário para o qual você deseja a autenticação em duas etapas, execute google-authenticator e siga as etapas. Ele vai até mesmo imprimir um bom QR-Code no seu terminal por conveniência
  5. Reinicie seu servidor SSH e experimente!

Dessa forma, você pode criar uma conta no grupo sudoers que tenha apenas a autenticação de senha do Google Authenticator. Nenhuma senha estática, confiável e ainda um acesso root.

Mas esta solução pressupõe que os keyloggers são as únicas ameaças que um computador público tem a oferecer.

    
por 26.11.2014 / 21:42
1

Por que você não faz seu computador debian exigir apenas chaves públicas e privadas em vez de exigir uma senha? Você pode alterar essa configuração no arquivo sshd_config. Mas antes disso, basta gerar as chaves e instalá-las em seu servidor com ssh-copy-keys. Depois de passar por este processo ninguém seria capaz de tentar adivinhar um usuário e senha, porque a única maneira de acessá-lo é ter a chave e se você quiser ainda mais seguro, você precisa fornecer uma frase secreta ao criar as chaves. Eu faço isso também quando sou preguiçoso e não quero digitar minha senha toda vez que eu quiser entrar no meu servidor.

    
por 26.11.2014 / 22:19