Login com PAM#

(Nitrokey Start - Linux)

Como configurar o Login#

Tem duas opções: pam_p11 ou Poldi.

A solução com o pam_p11 é mais difícil de obter e baseia-se em certificados S/MIME. Para mais informações, consultar ` a documentação <https://opensc.github.io/pam_pkcs11/doc/pam_pkcs11.html>`__.

Poldi 0.4.1 funciona sem falhas com Nitrokey para autenticação PAM com chaves RSA (ver Resolução de Problemas para informações sobre chaves ECC). Além da instalação do poldi (por exemplo sudo apt-get install libpam-poldi no Ubuntu) são necessários os seguintes passos para o pôr a funcionar.

É necessário já ter as chaves geradas na Nitrokey, pois a chave de autenticação é utilizada pelo PAM.

  1. No início precisa de descobrir o » ID» da aplicação; da sua Nitrokey. Pode usar gpg --card-status | grep Application para descobrir o que’é seu. Parece D00600012401020000000000xxxxxxxx ou semelhante.

  2. Agora tem de adicionar uma linha a /etc/poldi/localdb/users que contém as seguintes informações

    <O seu ID de Aplicação> <O seu Nome de utilizador>

    Isto pode parecer “D006000124010201020000000000xxxxxxxx nitrokeyuser”. Agora despeje a chave pública da Nitrokey na poldi local db:

sudo sh -c 'gpg-connect-agent "/datafile /etc/poldi/localdb/keys/<YourApplicationID>" "SCD READKEY --advanced OPENPGP.3" /bye'`

Tenha em atenção que tem de inserir o seu ID de Aplicação na linha acima com o do seu stick!

Então você tem que configurar o PAM. Basta adicionar «auth suficiente pam_poldi.so» para pam ficheiros de configuração de acordo com as suas necessidades:

  • /etc/pam.d/comum-auth para login de utilizador gráfico

  • /etc/pam.d/login para login na consola

  • /etc/pam.d/sudo para autenticação sudo

  • /etc/pam.d/gnome-screensaver para voltar a iniciar sessão a partir de um ecrã bloqueado,

  • etc.

Nota

A Pam é perigosa para brincar, por isso certifique-se de que tem uma forma de aceder à máquina se quebrar completamente a autenticação. Lembre-se de que o arranque em modo de recuperação a partir do Grub requer uma palavra-passe de raiz, por isso mantenha-a ou um CD ao vivo que possa ler os seus sistemas de ficheiros à mão.

Aqui encontra ` mais instruções <https://wiki.ubuntuusers.de/Archiv/Authentifizierung_OpenPGP_SmartCard>`__ (em alemão, parcialmente desactualizado).

Resolução de problemas#

Se você receber um erro semelhante a “ERR 100663414 Inválido ID <SCD>” você deve tentar em vez disso

poldi-ctrl -k > <YourApplicationID>; sudo mv <YourApplicationID> /etc/poldi/localdb/keys`

Tenha em atenção que tem de inserir o seu ID de Aplicação na linha acima com o do seu stick!

Chaves ECC#

Infelizmente, a poldi ainda não tem apoio para as chaves ECC. Mas existe um patch para chaves ECC utilizadas com Nitrokey Start. Isto já está incluído no ramo principal do repositório de desenvolvimento poldi e, portanto, será eventualmente lançado numa versão mais recente. Entretanto, a única opção é construir a poldi a partir da fonte.