Вопрос или проблема
-
У меня есть рабочий LDAP-сервер, который я подтвердил, что он может использоваться с LDAP-клиентами, работающими на EC2 через jumpbox.
-
Я запустил authconfig для настройки аутентификации на основе LDAP, чтобы указать на сервер:
authconfig --useshadow --enablesssd --enablesssdauth --enablesssdauth --passalgo=sha512 --enableldap --ldapserver=my.ldap.server --ldapbasedn='ou=users,o=Directory' --enablecachecreds --enablelocauthorize --update --enableldapauth
-
Однако, вход в LDAP не удается:
[root@m2 ~]# su bsmith
su: user bsmith does not exist
Для отладки я попытался проверить как можно больше компонентов LDAP. Вот некоторые данные с моего клиентского компьютера:
-
Мой
/etc/nsswitch.conf
имеет ldap в списке:passwd: files sss ldap
shadow: files sss ldap
group: files sss ldap
-
Также я проверил
/etc/pam_ldap.conf
, который, кажется, имеет правильное содержимое в конце:# SASL механизм для аутентификации PAM – использование экспериментальное
# на данный момент и не поддерживает управление политикой пароля
#pam_sasl_mech DIGEST-MD5
uri ldap://my.ldap.server/
ssl start_tls
tls_cacertdir /etc/openldap/cacerts
pam_password md5
Как я могу отладить путь входа/аутентификации на моем клиенте, чтобы выяснить, где происходит сбой входа и почему мой клиент не может войти?
Я думаю, что /var/log/secure
и /var/log/messages
, как упомянул @sami в выше указанной теме.
Также, пожалуйста, проверьте, что эти демоны “nscd и nslcd” работают и запущены.
Пожалуйста, также проверьте ниже указанную конфигурацию..!
/etc/nslcd.conf:
uid nslcd
gid ldap
# Этот комментарий предотвращает повторную автоматическую миграцию настроек.
uri ldap://ldap.da.com
base dc=da,dc=com
ssl start_tls
tls_cacertdir /etc/openldap/cacerts
Ответ или решение
Чтобы отследить сбои при аутентификации LDAP, необходимо провести тщательную проверку конфигурации и журнала логирования на клиенте. Начнем с базовых шагов, необходимых для устранения проблемы:
-
Проверка журнала логов:
- Для начала, обратите внимание на файлы
/var/log/secure
и/var/log/messages
. Эти журналы могут предоставить ценные подсказки относительно ошибок, связанных с процессом аутентификации. - Выполните команду
tail -f /var/log/secure
иtail -f /var/log/messages
, чтобы наблюдать за событиями в режиме реального времени во время попытки входа.
- Для начала, обратите внимание на файлы
-
Проверка служб nsswitch и PAM:
- Убедитесь, что файл
/etc/nsswitch.conf
включает правильное использование порядка поиска, как было указано:passwd: files sss ldap
,shadow: files sss ldap
,group: files sss ldap
. - Внимательно проверьте
/etc/pam_ldap.conf
на наличие корректной конфигурации URI LDAP-сервера и параметров SSL/TLS. Убедитесь, что параметры SSL соответствуют требованиям вашего LDAP-сервера.
- Убедитесь, что файл
-
Проверка демонов:
- Убедитесь, что демоны
nscd
иnslcd
запущены, так как они необходимы для функционирования LDAP-аутентификации. Проверьте их статусы с помощью командsystemctl status nscd
иsystemctl status nslcd
.
- Убедитесь, что демоны
-
Конфигурация nslcd:
- Проверьте файл
/etc/nslcd.conf
, чтобы убедиться, что он правильно настроен для вашего LDAP-сервера. Проверьтеuri
иbase
, они должны соответствовать конфигурации вашего сервера LDAP. Например:uri ldap://my.ldap.server base ou=users,o=Directory
- Проверьте файл
-
Диагностика с использованием ldapsearch:
- Используйте утилиту
ldapsearch
для тестирования соединения и проверки возможности поиска записей. Например, запустите:ldapsearch -x -LLL -H ldap://my.ldap.server -b 'ou=users,o=Directory' '(uid=bsmith)' dn
- Это поможет подтвердить, что база данных доступна и содержит нужного пользователя.
- Используйте утилиту
-
Проверка сертификатов SSL/TLS:
- Убедитесь, что файл
tls_cacertdir
указывает на правильный каталог с сертификатами, и что сертификаты обновлены и доверены клиентом.
- Убедитесь, что файл
-
Ошибки конфигурации authconfig:
- Проверьте, не были ли допущены ошибки или опечатки при вводе команды
authconfig
. Она должна точно соответствовать требованиям вашей инфраструктуры.
- Проверьте, не были ли допущены ошибки или опечатки при вводе команды
Проблема может также быть связана с тем, что пользователь bsmith
действительно отсутствует в базе LDAP, или с ограничениями доступа на конкретном уровне LDAP. Поэтому, даже если аутентификация на уровне сети проходит успешно, дальнейшая проверка и диагностика внутренней базы LDAP может быть необходима.
Помните, что безопасность данных имеет первостепенное значение, поэтому все операции по их верификации и настройке должны проводиться с должным уровнем контроля.