Como armazenar em cache a autenticação no Linux usando a autenticação PAM / Kerberos (para CVS)?

3

Temos vários servidores Linux que autenticam senhas de usuários Linux em nosso Windows Active Directory Server usando PAM e Kerberos 5. A distro Linux que usamos é o CentOS 6.

Em um sistema, temos vários sistemas de controle de versão, como o CVS e o Subversion, que autenticam os usuários através do PAM, de tal forma que os usuários podem usar suas versões normais do Unix. Contas do Windows AD.

Desde que começamos a usar o Kerberos para autenticação de senha, percebemos que o CVS em uma máquina cliente geralmente é muito mais lento ao estabelecer uma conexão. O CVS autentica o usuário em todas as solicitações (por exemplo, cvs diff, log, update ...).

É possível armazenar em cache as credenciais usadas pelo kerberos, ou seja, não é necessário perguntar ao servidor do Windows AD toda vez que um usuário executa uma ação cvs?

Nossa configuração do PAM /etc/pam.d/system-auth é semelhante ao seguinte:

auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_krb5.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
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

password    requisite     pam_cracklib.so try_first_pass retry=3
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
password    sufficient    pam_krb5.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_krb5.so
    
por Calonthar 17.09.2012 / 14:35

2 respostas

2

Um programa chamado ' sssd ' pode armazenar em cache credenciais (Kerberos) para logins off-line (e em cache). Não tenho certeza se o sssd usará as credenciais Kerberos armazenadas em cache quando estiver operando normalmente (ou seja, quando não estiver offline), você teria que tentar isso.

Mais informações sobre o sssd aqui .

    
por 17.09.2012 / 16:36
0

Qualquer autenticação via PAM sempre terá esse problema. A única maneira de evitá-lo é desviar o serviço em si, em vez disso, usar uma pilha de pam para implementar a autenticação.

Uma maneira de fazer isso seria usar o ssh para acessar o repositório cvs e usar o kerberos para autenticar no ssh. (google ssh GSSAPI).

Existem versões kerberizadas do servidor CVS se você não quiser permitir o acesso ssh aos servidores que hospedam o repositório cvs. Por exemplo, veja

link

    
por 04.11.2013 / 20:24