Como posso evitar codificar as identidades de usuário do YubiKey na pilha do PAM?

1

O Módulo PAM do Yubico parece exigir mudanças na pilha do PAM para cada usuário que será autenticado com um YubiKey. Especificamente, parece que a identidade do cliente de cada usuário deve ser adicionada ao arquivo de configuração do PAM correto antes que o usuário possa ser autenticado.

Embora faça sentido adicionar chaves autorizadas a um banco de dados de autenticação como /etc/yubikey_mappings ou ~/.yubico/authorized_yubikeys , parece uma prática ruim ter que editar a própria pilha PAM para cada usuário individual. Eu definitivamente gostaria de evitar ter que codificar as identidades dos usuários na pilha do PAM dessa maneira.

Então, é possível evitar a codificação do parâmetro id para o próprio módulo pam_yubico.so? Se não, existem outros módulos PAM que podem alavancar a autenticação do YubiKey sem codificar a pilha?

    
por CodeGnome 14.05.2012 / 02:19

2 respostas

4

Esta questão não recebeu respostas aqui no SuperUser. No entanto, a resposta a seguir foi recebida nos fóruns de suporte do Yubico:

The id parameter to the PAM module indicates the API key ID, not the
user ID. This ID is returned with the key you get from the "Get API Key"
form if you're using the public service, or it's in the "clients" table
for your internal validation server, along with the API key.

To clarify, when documentation talks about a "client", that's a piece
of software requesting authentication services from the API -- a user
submits an OTP to the client, which submits it to the server in a request
signed with the API key.
    
por 06.06.2012 / 12:39
2

Você pode usar o LDAP para isso e mapear o usuário para sua ID pública usando um atributo yubikey específico ou usando um atributo existente. O módulo Yubico PAM pode verificar esse atributo e, se a verificação do mapeamento estiver correta e a OTP correta tiver sido enviada, o módulo retornará OK. Um exemplo:

# Fetch LDAP password + OTP, verify OTP and move on ('required' control value).
# LDAP password is stripped and passed on.
auth required pam_yubico.so id=1234 ldap_uri=ldaps://fqdn.of.ldap.server:port [ldapdn=ou=People,DC=example,DC=com] user_attr=uid yubi_attr=yubikeyid

Em vez de yubi_attr , você pode usar um atributo diferente.

    
por 17.09.2012 / 21:20

Tags