LDAP ACLs с ldapmodify и .ldif файлом главный пользовательский доступ только

Смотрите на logger команда.

0
задан 29 October 2012 в 13:19
2 ответа

Попробуйте следующее:

access to attrs=userPassword,shadowLastChange 
    by self write 
    by anonymous auth 
    by dn="cn=admin,dc=example,dc=com" write 
    by users read
    by * none
access to * 
    by self write 
    by dn="cn=admin,dc=example,dc=com" write 
    by * read

Но вы можете принять во внимание 2 угрозы безопасности: первая - это доступ к attrs = userPassword, shadowLastChange для чтения пользователями означает, что пользователи могут читать теневой пароль и используйте инструменты для взлома. Второй - это доступ к * посредством самостоятельной записи , поэтому пользователи могут изменить uidNumber и / или gidNumber , чтобы он стал пользователем root.

Поэтому я предлагаю следующий ACL:

access to attrs=userPassword,shadowLastChange 
    by self write 
    by anonymous auth 
    by dn="cn=admin,dc=example,dc=com" write 
    by users none
access to * 
    by dn="cn=admin,dc=example,dc=com" write 
    by * read
0
ответ дан 4 December 2019 в 22:07

olcAccess: {0} to attrs = userPassword, shadowLastChange by self write by anonymous auth by dn = "cn = admin, dc = example, dc = com" write by * none
olcAccess: {1} для attrs = uid, uidNumber, gidNumber от dn = "cn = admin, dc = example, dc = com" запись с помощью * read
olcAccess: {2} в * самозапись dn = "cn = admin, dc = example, dc = com" запись пользователями, прочитанными анонимной авторизацией

olc {1} ... by * read может вместо этого быть по * auth зависит от конфигурации pam_ldap и того, как / если клиентские машины (а не пользователи) аутентифицируют себя.

Редактировать как ответ:

Действительный DNS выглядит как uid = username, ou = users, dc = sub, dc = domain, dc = tld .
username не является допустимым синтаксисом dn и никогда не использовался.
olcAccess не может этого изменить.
(SASL / olcAuthzRegexp может делать всевозможные интересные вещи, однако не было предоставлено достаточно подробностей, чтобы знать, использует ли система SASL вообще.)

Если эта машина использует ldap только для общения с самим собой, вы можете ограничить его локальным хостом (или сокетами) , иначе ldapi, если ваше клиентское программное обеспечение поддерживает его). Правила именования dn по-прежнему применяются.

Кроме того, если dn = "cn = admin, dc = example, dc = com" определен как ваш rootdn для базы данных, нет необходимости указывать его в olcAccess этой базы данных. DNS всегда имеет доступ на запись ко всем attrs в базе данных, для которой он rootdn.

1
ответ дан 4 December 2019 в 22:07

Теги

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