1

Модуль PAM Yubico, кажется, требует изменений в стеке PAM для каждого пользователя, который будет аутентифицирован с помощью YubiKey. В частности, кажется, что идентификация клиента каждого пользователя должна быть добавлена в правильный файл конфигурации PAM, прежде чем пользователь сможет аутентифицироваться.

Хотя имеет смысл добавлять авторизованные ключи в базу данных аутентификации, такую как /etc/yubikey_mappings или ~/.yubico/authorized_yubikeys , кажется плохой практикой редактировать стек PAM для каждого отдельного пользователя. Я определенно хотел бы избежать жесткого кодирования пользовательских идентификаторов в стек PAM таким образом.

Итак, возможно ли избежать жесткого кодирования параметра id для самого модуля pam_yubico.so? Если нет, есть ли другие модули PAM, которые могут использовать аутентификацию YubiKey без жесткого кодирования стека?

2 ответа2

4

Этот вопрос не получил ответов здесь на SuperUser. Однако на форумах поддержки 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.
2

Для этого можно использовать LDAP и сопоставить пользователя с его общедоступным идентификатором, используя определенный атрибут yubikey или существующий атрибут. Модуль Yubico PAM может проверить этот атрибут, и если проверка сопоставления в порядке и отправлено правильное OTP, то модуль возвращает OK. Пример:

# 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

Вместо yubi_attr вы можете использовать другой атрибут.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .