OpenSSH - como requerer PublicKeyAuthentication * e * login / password authentication

1

Eu tenho um servidor voltado para a Internet que preciso permitir acesso compartilhado (não administrativo). Eu quero permitir o acesso apenas se a chave de usuários estiver em um arquivo authorized_keys, mas não confio em alguns desses caras para não roubarem suas chaves, e sei que alguns deles não protegem suas chaves privadas com uma senha, apesar de eu pedir para elas.

Basicamente, o que eu quero é que o sshd requeira tanto o ChallengeKeyAuthentication e o AND PubKeyAuthentication para que eles sempre tenham que digitar uma senha, bem como ter um par de chaves autorizado. p>

Tudo o que li me faz pensar que isso não é algo que o sshd me permite fazer: eu digo quais métodos de autenticação estão corretos, e eles tentam em uma certa ordem (inerente) de preferência até que um deles funcione e então o usuário é permitido entrar.

Eu vou ter que procurar um sshd ou um download diferente e hackear o código eu mesmo, ou estou perdendo alguma coisa?

    
por piffle 26.01.2012 / 05:20

2 respostas

1

Você pode configurar um comando forçado no arquivo authorized_keys. Isso poderia fazer um sudo ou su ou algum shell script que por sua vez invoca algum tipo de requisito de senha de login.

Cada usuário pode ter duas contas. Um para acesso baseado em chave SSH que, por sua vez, invoca um comando forçado, exigindo que ele insira uma senha antes de obter um shell real.

"Desativar recursos SSH desnecessários usando outras opções que abordaremos mais adiante. No SSH1, você pode desativar o encaminhamento de porta sem encaminhamento de porta, encaminhamento de agente sem encaminhamento por agente e alocação tty usando no-pty."

link

    
por 26.01.2012 / 05:44
1

você deve introduzir 2 autenticação de fator e não chaves ssh + senha de desafio.

Com uma autenticação strong de 2 fatores, você tem algo que sabe (a senha) e algo que você possui (OTP - isso muda sempre). Dessa forma, alguém que conheça a senha do usuário ainda não conseguirá acessar o servidor, porque ele não conhece a OTP atual.

Existem soluções OTP baseadas em SMS, baseadas em aplicativos (ou seja, google authenticator) e em tokens de hardware. Sempre use TOTP em vez de HOTP.

O fator 2 é mais seguro que as chaves privadas ssh + senha de desafio, que são sempre as mesmas ; -)

    
por 26.01.2012 / 09:11

Tags