Denyhosts: como sempre permitir certos usuários conhecidos?

1

Com o Denyhosts, como posso "colocar na lista de permissões" um usuário conhecido pelo nome de usuário mais o fato de que eles têm um par de chaves RSA válido (ou em combinação com algum outro fato conhecido sobre o usuário, como endereço MAC)?

Alguns antecedentes:

Em um servidor Ubuntu, o denyhosts está impedindo que alguns usuários de SSH (mas não todos) efetuem login. Os usuários são todos exatamente iguais - mesmo usando a mesma conta de usuário do Linux. Cada usuário tem um par de chaves RSA e efetua login apenas por meio de par de chaves. Não são permitidos logins SSH baseados em senha. (Estes são logins SSH automatizados para um servidor de atualização).

Se eu adicionar os endereços IP dos usuários problemáticos ao arquivo hosts.allow do Denyhost (e remover o endereço de qualquer arquivo restrito / negado), o usuário poderá fazer login como os outros usuários. Mas nenhum desses usuários tem endereços IP estáticos, portanto, isso não é uma solução.

Dado o fato de que esses usuários têm uma chave RSA válida e eles têm uma conta de usuário Linux, existe uma maneira de fazer com que os denyhosts parem de bloqueá-los (sem perturbar seu funcionamento adequado, especialmente para todos os possíveis invasores que tentam fazer o login com senhas inválidas)?

Atualização:
Eu tenho PasswordAuthentication no e AllowUsers foo@* em /etc/ssh/sshd_config junto com as outras configurações relevantes para que meus usuários façam login com RSAAuthentication.

Claro, eu sempre posso parar de usar o Denyhosts. Mas minha pergunta é como posso fazer o Denyhosts funcionar da maneira que eu pretendo, então não preciso parar de usá-lo.

    
por MountainX 21.02.2014 / 19:07

2 respostas

2

Pare de usar hosts.allow / hosts.deny completamente e reconfigure o sshd para proibir logins usando uma senha.

Os usuários só podem acessar as chaves agora.

    
por 21.02.2014 / 19:53
0
none of these users have static IP addresses

Ok, você não pode usar a autenticação baseada em host.

Possível solução:

Use AllowUsers no /etc/ssh/sshd_config

por exemplo

AllowUsers foo@, bar@

ou melhor ainda

AllowUsers [email protected].*, [email protected].*, baz@111.*

o mesmo para DenyUsers

DenyUsers foo@badhost, [email protected].*, [email protected].*

Estes permitem configurar o acesso para qualquer tipo de requisito.

    
por 21.02.2014 / 20:28

Tags