Локальные учетные данные, используемые, когда доступен сервер radius sshd pam_radius

У меня есть настройка pam_radius, и она работает (centos6, pam_radius: 1.4.0-2.el6), я могу аутентифицироваться через сервер radius с помощью ssh. Что я пытаюсь сделать, так это то, что когда сервер RADIUS недоступен, я должен вернуться к локальной учетной записи. Эти два пароля различны (локальный и AD), так как AD имеет более строгую политику изменения пароля. Я пробовал несколько вещей: /etc/pam.d/sshd[1215 providedauth достаточно отладки pam_radius_auth.so
auth include password-auth

Теперь это работает, пока сервер radius (как определено в "/etc/pam_radius.conf") недоступен (используется неверный IP-адрес в pam_radius.conf).
Задача начинается, когда сервер RADIUS действительно доступен, я могу войти в систему, используя как радиус, так и локальные учетные данные.
У меня два вопроса.

1. Я неправильно понимаю сбой модуля (PAM), сбой также может быть неудачной аутентификацией, например, неправильным паролем, или когда пользователь не является действительным или присутствует на сервере AD. Что подразумевается под отказом модуля?
2. Есть ли способ настроить это так, как я бы хотел? т.е. вернуться к локальной аутентификации только при сбое соединения с RADIUS-сервером?

Или ... может быть, нормальный метод - не иметь локальных паролей и использовать резервную учетную запись, которая не является учетной записью AD, чтобы при сбое всех действий эта учетная запись может быть использован. тогда возникает вопрос, как предотвратить использование этой учетной записи людьми, когда доступен радиус.

1
задан 8 March 2016 в 11:18
1 ответ
  1. Я неправильно понимаю, что происходит с модулем (PAM), неудачей может быть также невозможность аутентифицироваться как неправильный пароль, или когда пользователь не является действительным или присутствует на AD-сервере. Что имеется в виду под отказом модуля?

Сбой в данном контексте означает, что "модуль вернул любой статус, отличный от success". Список ошибок можно найти в man pam.conf, или в /usr/include/security/_pam_types.h.

Наиболее часто встречающимся случаем сбоя является сбой аутентификации.

  1. Есть ли способ настроить это так, как я хотел бы? т.е. возвращаться к локальной аутентификации только в случае сбоя соединения с радиус-сервером?

Если вы хотите поведение, специфичное для определенного типа ошибок , есть два требования:

  1. Вы должны использовать более продвинутый синтаксис PAM.
  2. Вы должны знать точный код ошибки, для которого требуется специальная обработка.

Проблема #1 хитрая, но преодолимая. Проблема #2 требует большего исследования. Либо модуль должен задокументировать точные ошибки, которые он вернёт, и в каких обстоятельствах, либо вам придётся разобраться с ними самому. Последнее, как правило, подразумевает копание в исходных текстах.

Исследования точного поведения этого модуля PAM выходят за рамки непосредственного вопроса, и мне сейчас немного не хватает времени кроме того. :)

.
0
ответ дан 4 December 2019 в 06:34

Теги

Похожие вопросы