Skip to content

Отключение анонимного доступа FreeIPA

Для повышения безопасности рекомендуется отключить анонимный доступ к LDAP-каталогу FreeIPA.


По умолчанию, FreeIPA позволяет просматривать LDAP-каталог анонимным пользователям:

$ ldapsearch -h freeipa.<domain> -x -b uid=admin,cn=users,cn=compat,dc=truedev,dc=ru -s sub 

[root@prod-ipa02 /]# ldapsearch -x -h localhost -p 389 -b uid=ipara,ou=People,o=ipaca description
# extended LDIF
#
# LDAPv3
# base <uid=ipara,ou=People,o=ipaca> with scope subtree
# filter: (objectclass=*)
# requesting: description 
#

# ipara, people, ipaca
dn: uid=ipara,ou=people,o=ipaca
description: 2;7;CN=Certificate Authority,O=EXAMPLE.ORG;CN=IPA RA,O=EXAMPLE.ORG

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Мне неизвестна причина такого решения разработчиков. К счастью, это нежелательное явление можно пресечь добавлением, на каждой реплике FreeIPA, в нереплицируемую часть каталога, аттрибута 'nsslapd-allow-anonymous-access: rootdse' (после ввода блока с командами нажимаем стандартное 'Ctrl+d'):

ldapmodify -x -D "cn=Directory Manager" -h freeipa.truedev.ru -W -p 389
Enter LDAP Password:
dn: cn=config
changetype: modify
replace: nsslapd-allow-anonymous-access
nsslapd-allow-anonymous-access: rootdse

В инструкции указано, что необходимо перезапустить службу ‘dirsrv’, но в моём случае изменения применились немедленно: service dirsrv restart

ldapsearch -x -h freeipa.truedev.ru -b dc=truedev,dc=ru -s sub
# search result
search: 2
result: 48 Inappropriate authentication
text: Anonymous access is not allowed.

Применяемый аттрибут можно найти (или не найти) на каждом сервере в /etc/dirsrv/slapd-EXAMPLE-ORG/dse.ldif.

References:

Disable anonymous binds