On ke, 14 marras 2018, François Cami via FreeIPA-devel wrote:
On Wed, Nov 14, 2018 at 11:32 AM Florence Blanc-Renaud <[email protected]> wrote:

On 11/13/18 10:20 PM, Rob Crittenden via FreeIPA-devel wrote:
> Petr Vobornik via FreeIPA-devel wrote:
>> On Mon, Nov 12, 2018 at 6:28 PM François Cami via FreeIPA-devel
>> <[email protected]> wrote:
>>>
>>> Hi,
>>>
>>> While investigating why non-admin users having access to a shared
>>> vault got an error that stemmed from them not being able to find the
>>> KRA server to query (*), I found out that by changing the ldapsearch
>>> query normal users could, in fact, get the list of KRA servers.
>>>
>>> (*) https://pagure.io/freeipa/issue/7691
>>>
>>> E.g. the query built from select_any_master(ldap2, service='CA') does
>>> not return any server when run by a non-admin user:
>>> ##############
>>> #  ldapsearch -Y GSSAPI -b
>>> cn=masters,cn=ipa,cn=etc,dc=laptop,dc=example,dc=org
>>> '(&(objectClass=ipaConfigObject)(ipaConfigString=enabledService)(cn=KRA))'
>>> (...)
>>> ##############
>>>
>>> but removing (ipaConfigString=enabledService) from the query works:
>>> ##############
>>> #  ldapsearch -Y GSSAPI -b
>>> cn=masters,cn=ipa,cn=etc,dc=laptop,dc=example,dc=org
>>> '(&(objectClass=ipaConfigObject)(cn=KRA))'
>>> # KRA, idm0.laptop.example.org, masters, ipa, etc, laptop.example.org
>>> dn: 
cn=KRA,cn=idm0.laptop.example.org,cn=masters,cn=ipa,cn=etc,dc=laptop,dc=ex
>>>   ample,dc=org
>>> objectClass: nsContainer
>>> objectClass: ipaConfigObject
>>> objectClass: top
>>> cn: KRA
>>> ##############
>>>
>>> So it looks like once we're past logging an exception when we can't
>>> find a KRA master ( https://github.com/freeipa/freeipa/pull/2553 ), we
>>> have to decide what to do:
>>> * should users be able to see more data in LDAP by default - it looks
>>> like by using ldapsearch they already can find the information they
>>> need anyway - so allow all users to read status of services
>>
>> After the ping on IRC I gave it bit more thought
>>
>> I'd actually prefer to allow reading of ipaconfig string attr to all
>> authenticated users as I don't think we are revealing any new
>> information and it would make logic simpler and would support possible
>> RFE of standby replica.
>>
>> Some thinking behind it, maybe I have missed something:
>>
>> If a service is present is visible by the presence of the container,
>> e.g. KRA(as pointed out by Francois) - this is done via permission
>> "Read access to masters" bind to all.
>>
>> For values which are stored in ipaConfigString:
>> * enabledService - IPA doesn't support uninstallation, so except for
>> interim state in install this will be mostly present in each service
>> container and can be mostly read from SRV records + it's the point of
>> all this.
>> * startOrder - this information is not interesting and all servers
>> should have the same value
>> * dnssecVersion 1 - I think it can be inferred from DNS
>> * caRenewalMaster - I don't know exactly how this attr is being
>> consumed by a consumer but we also announce all CA servers and it is
>> clear that it is one of them. Also readable by all IPA managed hosts
>> (as any ipaConfigString in masters tree).
>> * kdcProxyEnabled - enabled by default
>> * pkinitEnabled - is obtainable via another way
>
> Seems well-reasoned to me, +1.
>
> rob
Also agree, we can make ipaconfigstring readable by all authenticated users.
flo

Thanks Petr, Rob, Flo, I'll make it so.
+1.
--
/ Alexander Bokovoy
Sr. Principal Software Engineer
Security / Identity Management Engineering
Red Hat Limited, Finland
_______________________________________________
FreeIPA-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/[email protected]

Reply via email to