Eu tenho um servidor pessoal que eu hospedo em casa que tem a porta 22 exposta ao mundo para SSH. Para melhor ou pior eu também logar como root. Eu sei o quanto de um risco de segurança isso pode representar, e comecei a senti-lo quando alguém começou a tentar forçar meu servidor por root. Em vez de fechar a porta e usar o openvpn ou uma área de trabalho remota para acessar minha rede, decidi ativar a autenticação do google. Para ser duplamente seguro, tenho a configuração assim:
/etc/pam.d/sshd:
\# Standard Un\*x authentication.
\#@include common-auth
@include google-auth
/etc/pam.d/sshd/google-auth:
auth required pam_google_authenticator.so forward_pass
auth [success=1 default=ignore] pam_unix.so use_first_pass
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_cap.so
Eu fiz desse jeito para que eu possa brincar sem editar os arquivos padrão e reverter facilmente a qualquer momento. Também me permite brincar um pouco com a ordem do módulo PAM.
O objetivo é solicitar "Senha & amp; Verificação 'ao mesmo tempo. Funciona! Sorta.
login as: root
Using keyboard-interactive authentication.
Password & verification code:
Access denied
Using keyboard-interactive authentication.
Password & verification code:
Access denied
Using keyboard-interactive authentication.
Password & verification code:
Access denied
[email protected]'s password:
Access denied
[email protected]'s password:
Então, se houver 3 tentativas fracassadas no Password & amp; verificação, começa a pedir a senha. Inserindo a senha por si só ou a senha & amp; verificação não funciona. Sempre termina em fracasso, o que é bom. A parte ruim é que, se alguém for brutal forçando isso, às vezes pedirá apenas uma senha, mesmo na primeira tentativa de login. Isso me bloqueia do servidor!
Neste ponto, é mais uma curiosidade do que qualquer outra coisa. Eu sempre posso fechar a porta e resolver o problema, mas eu realmente gostaria de resolver esse quebra-cabeça. Alguma idéia?