Restringindo o acesso com o PAM - suficiente vs. requerido

1

Estou tentando restringir o acesso SSH a determinados grupos, além dos usuários especificados em um arquivo. Os grupos são listados em /etc/ssh/user.allow e os grupos em /etc/ssh/group.allow. Eu tentei usar as seguintes linhas em /etc/pam.d/sshd:

auth sufficient /lib/security/pam_listfile.so onerr=fail item=user sense=allow file=/etc/ssh/user.allow 
auth required /lib/security/pam_listfile.so onerr=fail item=group sense=allow file=/etc/ssh/group.allow

Não consigo descobrir como organizar as linhas e onde usar "obrigatório" e "suficiente". Alguma dica?

EDIT: Eu acho que a minha pergunta é, existe alguma maneira de "OR" duas declarações pam.d? Parece que o PAM está configurado apenas para instruções "AND".

    
por zymhan 12.11.2013 / 20:21

1 resposta

3

"Depende". Você tem várias opções, uma delas faz sentido dependendo de onde estão na pilha e qual o efeito desejado. Como você só publica o snippet, e não toda a sua configuração, posso pensar em duas coisas do topo da minha cabeça:

  • Você pode marcá-los como "suficientes". Essa tag significa que uma correspondência parará a avaliação (as linhas posteriores não serão processadas de forma alguma - portanto, qualquer senha ou verificação de chave deve ter ocorrido acima). Isso é o que "suficiente" significa, é suficiente deixar você entrar. Por outro lado, uma falha não será mantida contra você; Então, se a primeira linha for bem-sucedida, você está dentro, se falhar, ela não será segurada contra você e a segunda linha será verificada.
  • Você pode usar a sintaxe estendida para marcar a primeira como "ok para falhar, mas se for bem-sucedida, pule a próxima", algo como:

    auth [success=1 default=ignore] /lib/security/pam_listfile.so item=user ... e auth [success=ok default=die] /lib/security/pam_listfile.so item=group ...

    para pular a verificação de grupo se a verificação do usuário for bem-sucedida, mas a falha na verificação do grupo também falhará (e interromperá a avaliação, "ruim" em vez de "morrer" para processar módulos posteriores).

A versão da sintaxe estendida provavelmente exigirá mais ações a serem especificadas ( man pam.conf - link ) , e você definitivamente precisa ter cuidado ao editar as configurações do pam, porque é perfeitamente possível bloquear-se completamente do seu sistema (geralmente, se você estiver editando o arquivo, mantenha-o aberto no editor e tente fazer logon ou fazer o que quiser) re configurando em um terminal separado). Esteja ciente de que também é possível configurar completamente acidentalmente o sistema para ser excessivamente permissivo (por exemplo, uma linha "suficiente" inicial pode ignorar a configuração do ambiente e as verificações de senha, ou qualquer outra).

    
por 02.12.2013 / 12:26

Tags