Назад | Перейти на главную страницу

LDAP и конфиденциальность

Я установил сервер LDAP на небольшом тестовом кластере, но у меня возникли некоторые проблемы с конфиденциальностью.

Первая проблема заключалась в том, что любой, кто имел доступ к любому из серверов в кластере, мог получить все имена пользователей для всех пользователей всего кластера. Это неприемлемо для моего варианта использования.

Я думал, что мне удалось решить эту проблему, отключив анонимный доступ и потребовав имя пользователя и пароль, используя bindpw. Однако пароль сохраняется в виде открытого текста в файле ldap.conf, который должен быть доступен для чтения всем, иначе я продолжаю получать id: cannot find name for user ID 22594 ошибка для каждого пользователя, который пытается войти на любой из серверов в кластере.

Я думаю, что мне что-то не хватает, я просто не знаю чего. Может ли кто-нибудь сказать мне, как настроить доступ таким образом, чтобы пользователи могли входить в систему, получать свои собственные данные из LDAP, но не данные кого-либо еще в кластере?

Если вы используете sssd в качестве промежуточного инструмента для выборки пользователей из LDAP и превращения их в пользователей Unix конфигурация по умолчанию не позволяет пользователям получать список всех пользователей.

С другой стороны, как писал Свен, помимо запроса у операционной системы полного списка пользователей, есть много других способов получить информацию об именах пользователей.

# this is a snippet from /etc/sssd/sssd.conf
# Example LDAP domain
[domain/LDAP]
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307
ldap_uri = ldap://ldap.example.org
ldap_search_base = dc=example,dc=org
ldap_tls_reqcert = demand
cache_credentials = true
# enumerate = False denies users' listing
enumerate = False