Verifique se a conta é permitida ao usar o pam_access

1

Estou usando pam_access e /etc/security/access.conf para restringir quem pode acessar meus hosts Rhel 6.5.

Eu tenho um servidor LDAP com uma base de usuários diversificada, e as pessoas de segurança gostariam de ter uma lista de quem pode fazer o login.

Eu preciso de uma maneira que possa ser copiada para verificar se uma conta conseguirá fazer o login no host. getent passwd, id, finger, groups e todas as outras ferramentas que eu tentei retornar a mesma saída se uma conta é restrita de logar ou não. O passwd -S parece não funcionar com contas LDAP.

Existe uma maneira de verificar se uma determinada conta tem permissões de login? No Solaris, se o usuário ou o netgroup não estiver em / etc / passwd, nenhuma das ferramentas pode identificar uma conta restrita, mas parece ser completamente o oposto no Linux.

Obrigado!

Editar: Esta é a seção de conta do /etc/pam.d/system-auth: account required pam_access.so account required pam_unix.so broken_shadow account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 500 quiet account [default=bad success=ok user_unknown=ignore] pam_krb5.so account required pam_permit.so

Minha configuração de puppet só faz o seguinte que pode alterar a configuração do pam. %código% meu /etc/security/access.conf %código% Meu netgroup %código% Eu estou no netgroup ngunix_admins então isso faz sentido %código% Mas este outro usuário não está no netgroup ngunix_admins, então eu preciso de alguma maneira para identificar que ele não pode logar %código% 2ª Edição: Esclareça que não estou ajustando as permissões de login, mas tentando informar sobre o acesso para auditoria.

    
por danw 17.03.2015 / 21:23

1 resposta

0

Recentemente, tive que realizar uma auditoria de PCI de natureza muito semelhante (quem pode fazer login nesses sistemas e quais são suas permissões), portanto, tenha uma boa noção do que você está tentando realizar aqui. A metodologia varia de ambiente para ambiente dependendo de como o PAM e o LDAP estão configurados.

Os seguintes fatores parecem se aplicar ao seu ambiente:

  • O banco de dados passwd enumerado ( getent passwd ) contém usuários que nunca devem ter permissão para acessar o sistema.
  • shadow restrições devem ser consideradas. Às vezes, de qualquer maneira. Você tem broken_shadow ativado.
  • As restrições de
  • PAM devem ser consideradas. (incluindo pam_access de restrições, o que diminui muito a probabilidade de encontrar uma ferramenta completa que faça isso sem realmente executar uma chamada contra pam_acct_mgmt )
  • As restrições de KRB5 devem ser consideradas para usuários que possuem contas.

Eu classificaria a complexidade dessa tarefa como "alta e demorada" sem um utilitário que testa as pilhas do PAM. pamtester parece que vai fazer o trabalho. Você precisará passar por todos os usuários em getent passwd e realizar uma verificação contábil de pós-autenticação:

pamtester sshd $user acct_mgmt

Isso pressupõe que você só precisa testar o acesso via ssh . Se você precisar testar mais que isso, faça isso. Revise /etc/pam.d para os serviços que você configurou e audite o que for necessário.

(Peço desculpas pela resposta inicial, meu último esforço foi mais focado em auditorias de sudo do que em auditorias do PAM e eu estava em uma mentalidade de "fazer tudo à mão").

    
por 17.03.2015 / 23:48