Проблема ограничения доступа SSH из группы Windows AD (с использованием sssd)
Я подключил сервер Ubuntu 16.04 к моей Windows AD для аутентификации SSH. Это работает нормально, пока я не хочу ограничить доступ к определенной группе с sssd
вот содержимое моего /etc/sssd/sssd.conf
[sssd]
domains = my.domain.com
config_file_version = 2
services = nss, pam
[domain/my.domain.com]
ad_domain = my.domain.com
krb5_realm = MY.DOMAIN.COM
realmd_tags = joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
ad_gpo_access_control = permissive
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u
simple_allow_users = $
access_provider = ad
ad_access_filter = memberOf=CN=DockerLinuxUser,OU=DockerLinux,DC=my,DC=domain,DC=com
Я также пытался использовать этот запрос без успеха
ad_access_filter = (&(memberOf=CN=LinuxAdmins,OU=DockerLinux,DC=my,DC=domain,DC=com)(unixHomeDirectory=*))
Когда прокомментирован ad_access-filter SSH работают. Когда включено, я не могу больше использовать SSH на сервере Linux.
Я в основном следовал этому пошаговому руководству: присоединиться к Ubuntu 16.04 в домене Active Directory
Любая помощь?
Спасибо
1 ответ
Я могу привести пример. В нашем sssd.conf мы начинаем с общего параметра ldap_search_base. Вам нужно знать имена допустимых категорий пользователей, но предположим, что этот позволяет всем сотрудникам вашей организации
ldap_search_base = ou=friends,dc=ou,dc=edu???ou=groups,dc=ou,dc=edu??ldap_group_name = uid
Они написаны в невероятно длинной строке. Я не знаю, как их акцентировать.
Чтобы ограничить круг пользователей, которые могут войти, мы добавляем НА КОНЦЕ дополнительные требования. Это говорит о том, что мы не хотим разрешать людям, которые не являются текущими сотрудниками (нет oldWorkers в personPrimayAffiliation), и учетные записи пользователей должны быть найдены в любой из групп, начинающихся с "grpname_" или "project_admin".
ldap_search_base = ou=friends,dc=ou,dc=edu??(!(personPrimaryAffiliation=oldWorkers))?ou=groups,dc=ou,dc=edu??(&(objectClass=posixGroup)(|(cn=grpname_*)(cn=project_admin)))
Ключевым моментом здесь является то, что вам нужно знать волшебные слова, которые сервер вашей организации использует для обозначения пользователей и групп. Начните с общего, что впускает всех, затем добавьте ограничения.
В нашем конфигурационном файле krb5_realm и krb5_server похожи на ваши. Возможно, это точно не поможет вашему делу, но, возможно, даст вам подсказку.