Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - NBA

Страницы: [1]
1
Добрый день!
Попробовал следующий фильтр:
access to dn.children="OU=Office,OU=Company,DC=example,DC=com"
    filter="(&(objectClass=organizationalPerson)(!(objectClass=computer)))"
    attrs=entry,sAMAccountName,sn,givenName,mail
    by users read
    by * none

access to
    filter=(objectClass=organizationalUnit)
    by users read
    by * none
К сожалению данный фильтр прячет не только компьютеры, но и пользователей - т.е. видно только пустые OU.

Спасибо за Вашу помощь.

2
Добрый день!
В данный момент все просто:
access to dn.children="OU=Office,OU=Company,DC=example,DC=com"
    filter=(objectClass=organizationalPerson)
    attrs=entry,sAMAccountName,sn,givenName,mail
    by users read
    by * none

access to
    filter=(objectClass=organizationalUnit)
    by users read
    by * none

Но я так же пробовал и варианты:

Убрать из выборки компьютеры:
access to
    filter=(objectClass=computer)
    by * none
access to
    filter=(objectClass=COMPUTER)
    by * none

access to dn.children="OU=Office,OU=Company,DC=example,DC=com"
    filter=(objectClass=organizationalPerson)
    attrs=entry,sAMAccountName,sn,givenName,mail
    by users read
    by * none

access to
    filter=(objectClass=organizationalUnit)
    by users read
    by * none
- не помогло. Компьютеры в выборке присутствуют.

Отбирать пользователей, по членству в группе:
 
access to
    filter=(|(objectClass=organizationalUnit)(&(objectClass=organizationalPerson)(memberOf=cn=Role_N1,ou=Groups,ou=Office,ou=Company,dc=example,dc=com)))
    by users read
    by * none
Вижу только пустые OU.

По вопросу ограничения логина/бинд - у меня вообще нет никаких идей. Возможно тут проблема в том, что пока пользователь не забиндился, LDAP proxy не может сделать rebind-as-user. А значит не может получить информацию о том пользователе, который хочет биндится.

3
Имеется разветвленное дерево AD. Имеется ряд сервисов/серверов которым нужен доступ к AD по протоколу LDAP через LDAP proxy. Особого доверия к серверам нет. Все ограничения должны быть реализованы на LDAP proxy: Сервера должны видеть минимальное количество полей/атрибутов, и только в только в тех объектах, которые необходимы.
1. Ограничить возможность читать объекты:
1.1 Только пользователей, состоящих в определенной группе;
1.2 Если 1.1 реализовать не возможно, то только пользователей, находящихся в определенном месте дерева (в определенном OU);
1.3 Также возможность считывать все родительские объекты, в которых находятся объекты из пункта 1;
1.4 Если 1.3 реализовать не возможно, то: Все объекты типа DC и OU;
2. Ограничить возможность считывания атрибутов объекта;
3. Разрешить возможность проверки пароля пользователя (авторизация/бинд) только тем пользователям, которые соответствуют критериям пунктов 1.1 или 1.2;

Я развернул LDAP proxy - Debian, OpenLDAP:
uname -a
Linux ldap-proxy.example.com 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u3 (2019-06-16) x86_64 GNU/Linux
apt list slapd
slapd/oldstable,now 2.4.44+dfsg-5+deb9u2 amd64 [installed]
slapd -V
@(#) $OpenLDAP: slapd  (May 23 2018 04:25:19) $
        Debian OpenLDAP Maintainers <pkg-openldap-devel@lists.alioth.debian.org>

Удалось реализовать пункты 1.2, 1.4 и 2:
pidfile /var/run/slapd/slapd.pid

include /etc/ldap/schema/core.schema
include /etc/ldap/schema/microsoftattributetype.schema

moduleload back_ldap.la

database ldap
uri "ldap://1.2.3.4"
readonly on
suffix "dc=example,dc=com"
rebind-as-user

access to dn.children="OU=Office,OU=Company,DC=example,DC=com"
    filter=(objectClass=organizationalPerson)
    attrs=entry,sAMAccountName,sn,givenName,mail
    by users read
    by * none

access to
    filter=(objectClass=organizationalUnit)
    by users read
    by * none

Но никак не удается закрыть следующие вопросы:

1. К сожалению в выборку попадают не только объекты типа User, но и типа Computer. Пробовал добавить в начало следующее правило:
access to
    filter=(objectClass=computer)
    by * none

- не помогло. Подскажите пожалуйста, как удалить из выборки компьютеры?

2. Пытался ограничить по членству в группе. Использовал следующие фильтры:
access to
filter=(&(objectClass=organizationalPerson)(memberOf=cn=Role_N1,ou=Groups,ou=Office,ou=Company,dc=example,dc=com))
    by users read
    by * none
access to
    filter=(objectClass=organizationalUnit)
    by users read
    by * none
и результат - только пустые OU. Причем если использовать фильтр в LDAP browser - все Ок. Подскажите, как можно построить отбор по членству в группе (полагаю, что если решить этот вопрос, то вопрос 1. станет не актуальным)?

3. К сожалению, никак не удается ограничить возможность проверки пароля. Например в LDAP Browser, в параметра подключения к LDAP proxy, я могу использовать пользователя, который находится вне "OU=Office,OU=Company,DC=example,DC=com", хотя для чтения, фильтр работает - я его в дереве не вижу. Подскажите, есть ли возможность ограничить возможность проверки паролей/авторизации?

4. Пока выводятся все объекты типа OU. Т.е. видно все дерево, хотя, благодаря фильтрам, большая часть веток пустая. Есть ли возможность выводить только те OU, которые содержать объекты (прошедшие фильтр)?

Заранее спасибо.

Страницы: [1]