Como proteger o SSH com a autenticação de dois fatores do Google Authenticator
Deseja proteger seu servidor SSH com autenticação de dois fatores fácil de usar? O Google fornece o software necessário para integrar o sistema de senha única com base no tempo (TOTP) do Google Authenticator ao seu servidor SSH. Você terá que digitar o código do seu telefone quando se conectar.
O Google Authenticator não "telefona para casa" para o Google - todo o trabalho acontece no seu servidor SSH e no seu telefone. Na verdade, o Google Authenticator é totalmente de código aberto, portanto você mesmo pode examinar seu código-fonte.
Instale o Google Authenticator
Para implementar a autenticação multifator com o Google Authenticator, precisaremos do módulo PAM do Google Authenticator de código aberto. PAM significa “módulo de autenticação plugável” - é uma maneira de conectar facilmente diferentes formas de autenticação em um sistema Linux.
Os repositórios de software do Ubuntu contêm um pacote fácil de instalar para o módulo PAM do Google Authenticator. Se a sua distribuição Linux não contiver um pacote para isso, você precisará fazer o download da página de downloads do Google Authenticator no Google Code e compilá-la você mesmo.
Para instalar o pacote no Ubuntu, execute o seguinte comando:
sudo apt-get instala o libpam-google-authenticator
(Isso só instalará o módulo PAM em nosso sistema - nós teremos que ativá-lo para logins SSH manualmente.)
Crie uma chave de autenticação
Efetue login como o usuário com quem você efetuará login remotamente e execute o autenticador do google comando para criar uma chave secreta para esse usuário.
Permitir que o comando atualize seu arquivo do Google Authenticator digitando y. Em seguida, você receberá várias perguntas que permitirão que você restrinja os usos do mesmo token de segurança temporário, aumente a janela de tempo em que os tokens podem ser usados e limite as tentativas de acesso permitido para impedir tentativas de violação de força bruta. Todas essas escolhas trocam alguma segurança por alguma facilidade de uso.
O Google Authenticator apresentará uma chave secreta e vários "códigos de risco de emergência". Anote os códigos de emergência em algum lugar seguro - eles só podem ser usados uma vez em cada um e devem ser usados se você perder o telefone.
Insira a chave secreta no aplicativo Google Authenticator em seu telefone (os aplicativos oficiais estão disponíveis para Android, iOS e Blackberry). Você também pode usar o recurso de código de barras de digitalização - vá para a URL localizada perto do topo da saída do comando e você pode digitalizar um código QR com a câmera do seu telefone.
Você agora terá um código de verificação em constante mudança no seu telefone.
Se você quiser efetuar login remotamente como vários usuários, execute este comando para cada usuário. Cada usuário terá sua própria chave secreta e seus próprios códigos.
Ativar o Google Authenticator
Em seguida, você precisará solicitar o Google Authenticator para logins SSH. Para fazer isso, abra o /etc/pam.d/sshd arquivo no seu sistema (por exemplo, com o sudo nano /etc/pam.d/sshd comando) e adicione a seguinte linha ao arquivo:
auth required pam_google_authenticator.so
Em seguida, abra o / etc / ssh / sshd_config arquivo, localize o ChallengeResponseAuthentication linha e altere-o para ler da seguinte forma:
ChallengeResponseAuthentication yes
(Se o ChallengeResponseAuthentication linha ainda não existe, adicione a linha acima ao arquivo.)
Por fim, reinicie o servidor SSH para que suas alterações entrem em vigor:
sudo service ssh restart
Você será solicitado a fornecer sua senha e o código do Google Authenticator sempre que tentar fazer login via SSH.