Почему sshd затрагивает PAM все еще?

Фон/Поведение: если Вы, за которыми следует ssh к полю через и GSSAPI/Kerberos и у Вас есть локальный пользователь в/etc/passwd, Вы входите в систему прекрасный на ниже конфигурации PAM. Вся Польза там.

Но если у Вас нет локального пользователя в/etc/passwd, но можно получить host/XXXXXX сервисный билет (работы GSSAPI), sshd приводит вход в систему к сбою, и никогда не получайте подсказки для SecurID (наш pam радиус указывает на SecurID). Я понимаю это. Так как сервер 'аутентифицировал' пользователя, и pam_unix знает, что пользователь не находится в/etc/passwd, нет никакой потребности затронуть любые другие подлинные методы.

Однако мой вопрос состоит в том, почему это, если я первый показ kdestroy (намеренно имеют сбой GSSAPI), (и все еще не существуют в/etc/passwd) я внезапно получаю подсказку Securid (т.е. PAM занят)?

Выполнение sshd с шоу отладки: отложенный интерактивный с клавиатурой для недействительного пользователя "пользователь". Во-первых, почему это просто не перестало бы работать? Второй, почему задержка? pam_radius является 'необходимым', не 'требуемым'.

Я ожидал бы также для простого сбоя потому что даже при том, что я не прошел проверку подлинности, я никогда не собирающийся заканчивать pam_unix.

Файлы:

/etc/ssh/sshd_config

....  
ChallengeResponseAuthentication yes  
GSSAPIAuthentication            yes  
HostbasedAuthentication         no  
KerberosAuthentication          no  
PasswordAuthentication          no  
PubkeyAuthentication            yes  
RhostsRSAAuthentication         no  
RSAAuthentication               yes  
UsePAM                          yes      
....

/etc/pam.d/sshd

auth       requisite        pam_radius_auth.so conf=pam_radius_auth.conf debug retry=3  
auth       required     pam_nologin.so  
auth     required     pam_krb5.so.1  
account  sufficient      pam_radius_auth.so conf=pam_radius_auth.conf  
account    required     pam_stack.so service=system-auth  
password   required     pam_stack.so service=system-auth  
session    required     pam_stack.so service=system-auth  
session    required     pam_limits.so  
session    optional     pam_console.so  

/etc/pam.d/system-auth

auth        required      pam_env.so  
auth        sufficient    pam_krb5.so.1  
auth        sufficient    pam_unix.so  
auth        required      pam_deny.so  
account     required      pam_unix.so  
password    required      pam_cracklib.so retry=3  
password    sufficient    pam_unix.so use_authtok md5 shadow  
password    required      pam_deny.so  
session     required      pam_limits.so  
session     required      pam_unix.so  
4
задан 13 February 2015 в 09:15
1 ответ

Аутентификация GSSAPI не обрабатывается PAM. Модуль PAM для kerberos используется для аутентификации пользователя по паролю, используя протокол kerberos для получения действительного билета.

Есть 3 результата аутентификации GSSAPI.

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

Если результат равен 1, то запрос отклоняется, так как токен был отправлен, но недействителен. SSHD не пытается использовать другие методы аутентификации.

Если результат равен 3, то sshd будет пытаться использовать другие методы аутентификации, которые включают раздел PAM auth.

Я не знаком с pam_radius , но полагаю, что он запрашивает маркер аутентификации независимо от того, существует ли пользователь по соображениям безопасности или нет. Неудача немедленно указывает пользователю/атакующему на то, что такой пользователь существует , а не , поэтому из процесса устранения вы можете перечислить пользователей.

Что касается опции "требуемый", в настройках стека, заданные "требуемый" и "требуемый" имеют то же самое влияние. pam_krb в любом случае не может запросить билет без действительного пользователя, так что он сразу же закончится неудачей.

Поскольку конфигурация, заданная pam_unix, используется не для аутентификации, а для авторизации, то это шаг, который происходит после аутентификации. Для пояснения; аутентификация имеет дело с доказательством того, что вы тот, за кого себя выдаете, в то время как авторизация имеет дело с тем, что у вас есть правильные разрешения на то, что вы хотите сделать (в данном случае это вход в систему).

.
4
ответ дан 3 December 2019 в 03:29

Теги

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