Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-06-03 Thread Sumit Bose
On Mon, Jun 03, 2013 at 03:32:05PM +0200, Sumit Bose wrote:
> On Tue, May 28, 2013 at 02:50:59PM +0300, Alexander Bokovoy wrote:
> > Hi,
> > 
> > 
> > http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts
> > 
> > 
> > === CLI ===
> > 
> > The feature is not directly exposed in CLI.
> > 
> > IPA idrange management is expanded to specify idrange type (IPA local,
> > AD trust, AD with winsync, IPA trust, ..) to affect the way how AD users
> > SIDs are mapped to POSIX IDs.
> > 
> 
> Hi,
> 
> currently with algorithmic mapping we use user-private groups for all
> trusted user. This is in agreement with the defaults for IPA users and
> also matches with AD's RID handling because a single namespace for UIDs
> and GIDs is forced this way.
> 
> When adding support for UIDs and GIDs stored in AD we cannot do this
> anymore because AD (correctly) treats POSIX UIDs and GIDs as separate
> name spaces. As a consequence SSSD has to treat algorithmic mapping and
> IDs-in-AD mapping differently with respect to user private groups.
> 
> My question is, shall SSSD implicitly do the right thing based on the
> type of the idrange, or shall there be an extra attribute in the idrange
> object which explicitly says if the range has user private groups or
> not?
> 
> I think it is not needed because for both current mappings there is only
> one choice but maybe someone can think of a reason for such an
> attribute.

We discussed this a bit and came to the following agreement:
- no extra attribute is needed
- for all idranges type where IPA is assigning the ID user-private groups
  will be used (local IPA users, algorithmic mappings)
- for all idranges where the IDs are managed by external sources we use
  what we get

bye,
Sumit

> 
> bye,
> Sumit
> 
> ___
> Freeipa-devel mailing list
> Freeipa-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/freeipa-devel

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-06-03 Thread Alexander Bokovoy

On Fri, 31 May 2013, Simo Sorce wrote:

On Fri, 2013-05-31 at 10:35 -0400, Rob Crittenden wrote:

Simo Sorce wrote:
> On Fri, 2013-05-31 at 16:35 +0300, Alexander Bokovoy wrote:
>> On Fri, 31 May 2013, Simo Sorce wrote:
>>> On Fri, 2013-05-31 at 10:54 +0300, Alexander Bokovoy wrote:
 On Thu, 30 May 2013, Dmitri Pal wrote:
> [...]

 For Lunix and older SSSD version we in fact have a problem.
 What I want to avoid is to have to define procedures and patches for
 all
>>> ^^ ?
 the clients. However if you use ipa-client-install it would configure
 sssd the old way.
 How to make it configured the new way? Manually? This is error prone
 and
 people will be reluctant to reconfigure SSSD. Automatically? Means
 patches to all the versions of the clients.
 How we are going to deal with the huge test matrix?
>>>
>>> I think rolling out patches to old sssd versions is not a good idea and
>>> I think we won't have the time to prepare all the needed patches in a
>>> reasonable time-frame.
>>>
>>> For SSSD versions which do not allow multiple search bases (1.5 and 1.6)
>>> I would suggest to add a new domain section for the AD user with LDAP
>>> and Kerberos provider. This would allow IPA users to works as before and
>>> add the AD users to the client. Maybe this would also be a better
>>> solution for the other SSSD versions instead of multiple search bases,
>>> at least it's a solution for all versions.
>>>
>>> Since we have the python config API for SSSD the needed changes to the
>>> sssd.conf might be scriptable with a reasonable effort. Maybe this can
>>> be added to ipa-client-install with a new option like
>>> --enable-legacy-trust-support which can add the news section to existing
>>> configuration or include it for new installations?
>> Bigger question is what is simpler: write configuration instructions or
>> modify/provide additional script for old SSSD?
>>
>> Remeber that trusts with AD are most likely established when IPA clients
>> are already rolled out. Changing ipa-client-install is not helpful for
>> this case since the clients are already there.
>>
>> Perhaps a better approach would be documentation for non-SSSD case and a
>> simple snippet that can be run alone or in use with puppet/etc to deploy
>> massively. The snippet would use SSSDConfig Python API to add needed
>> modifications to the clients' SSSD configuration.
>>
>> We can even extend IPA server tools to allow generating such snippets
>> based on the trusts configuration. After all, we do have control over
>> IPA server in such cases.
>>
>>
>> I have updated wiki page with discussed ideas.
>
> Sorry but this is not enough.
> I do not see a discussion the design about the client side solutuon
> procedure.
>
> I am looking for a session that would contain a table (or like):
>
> --
> |   Type/Version of the client   | Action|
> --
> | Solaris/HP-UX/AIX (non sssd)   | Configure manually to recognize AD as |
> || a domain following following steps ...|
> --
> | Clients that have SSSD | If the client is already installed|
> | before 1.9 | and configured do X   |
> || If it is a fresh install of the   |
> || client do Y   |
> --
> | SSSD 1.9 and later | Use the following ipa-client-install  |
> || flags XYZ and/or authconfig command   |
> || ABC   |
> --
>
> Can something like this be added to wiki and corresponding tickets to 
provide a testable
> replacements for XYZ above be filed in trac?
 I've added more, including three tickets to cover specific
 configurations.

 Unfortunately, we have limits in multiple search bases approach by
 the commercial UNIX vendors since their LDAP modules do not support
 multiple search bases. For all of those platforms there is PADL pam_ldap
 available which can be used for the same purpose.

 If we still want to support native pam_ldap on Solaris (which don't work
 with multiple search bases), we'd have to merge LDAP trees.
>>>
>>> Alexander, in my initial propo

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-06-03 Thread Sumit Bose
On Tue, May 28, 2013 at 02:50:59PM +0300, Alexander Bokovoy wrote:
> Hi,
> 
> 
> http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts
> 
> 
> === CLI ===
> 
> The feature is not directly exposed in CLI.
> 
> IPA idrange management is expanded to specify idrange type (IPA local,
> AD trust, AD with winsync, IPA trust, ..) to affect the way how AD users
> SIDs are mapped to POSIX IDs.
> 

Hi,

currently with algorithmic mapping we use user-private groups for all
trusted user. This is in agreement with the defaults for IPA users and
also matches with AD's RID handling because a single namespace for UIDs
and GIDs is forced this way.

When adding support for UIDs and GIDs stored in AD we cannot do this
anymore because AD (correctly) treats POSIX UIDs and GIDs as separate
name spaces. As a consequence SSSD has to treat algorithmic mapping and
IDs-in-AD mapping differently with respect to user private groups.

My question is, shall SSSD implicitly do the right thing based on the
type of the idrange, or shall there be an extra attribute in the idrange
object which explicitly says if the range has user private groups or
not?

I think it is not needed because for both current mappings there is only
one choice but maybe someone can think of a reason for such an
attribute.

bye,
Sumit

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-31 Thread Simo Sorce
On Fri, 2013-05-31 at 10:35 -0400, Rob Crittenden wrote:
> Simo Sorce wrote:
> > On Fri, 2013-05-31 at 16:35 +0300, Alexander Bokovoy wrote:
> >> On Fri, 31 May 2013, Simo Sorce wrote:
> >>> On Fri, 2013-05-31 at 10:54 +0300, Alexander Bokovoy wrote:
>  On Thu, 30 May 2013, Dmitri Pal wrote:
> > [...]
> 
>  For Lunix and older SSSD version we in fact have a problem.
>  What I want to avoid is to have to define procedures and patches for
>  all
> >>> ^^ ?
>  the clients. However if you use ipa-client-install it would configure
>  sssd the old way.
>  How to make it configured the new way? Manually? This is error prone
>  and
>  people will be reluctant to reconfigure SSSD. Automatically? Means
>  patches to all the versions of the clients.
>  How we are going to deal with the huge test matrix?
> >>>
> >>> I think rolling out patches to old sssd versions is not a good idea 
> >>> and
> >>> I think we won't have the time to prepare all the needed patches in a
> >>> reasonable time-frame.
> >>>
> >>> For SSSD versions which do not allow multiple search bases (1.5 and 
> >>> 1.6)
> >>> I would suggest to add a new domain section for the AD user with LDAP
> >>> and Kerberos provider. This would allow IPA users to works as before 
> >>> and
> >>> add the AD users to the client. Maybe this would also be a better
> >>> solution for the other SSSD versions instead of multiple search bases,
> >>> at least it's a solution for all versions.
> >>>
> >>> Since we have the python config API for SSSD the needed changes to the
> >>> sssd.conf might be scriptable with a reasonable effort. Maybe this can
> >>> be added to ipa-client-install with a new option like
> >>> --enable-legacy-trust-support which can add the news section to 
> >>> existing
> >>> configuration or include it for new installations?
> >> Bigger question is what is simpler: write configuration instructions or
> >> modify/provide additional script for old SSSD?
> >>
> >> Remeber that trusts with AD are most likely established when IPA 
> >> clients
> >> are already rolled out. Changing ipa-client-install is not helpful for
> >> this case since the clients are already there.
> >>
> >> Perhaps a better approach would be documentation for non-SSSD case and 
> >> a
> >> simple snippet that can be run alone or in use with puppet/etc to 
> >> deploy
> >> massively. The snippet would use SSSDConfig Python API to add needed
> >> modifications to the clients' SSSD configuration.
> >>
> >> We can even extend IPA server tools to allow generating such snippets
> >> based on the trusts configuration. After all, we do have control over
> >> IPA server in such cases.
> >>
> >>
> >> I have updated wiki page with discussed ideas.
> >
> > Sorry but this is not enough.
> > I do not see a discussion the design about the client side solutuon
> > procedure.
> >
> > I am looking for a session that would contain a table (or like):
> >
> > --
> > |   Type/Version of the client   | Action   
> >  |
> > --
> > | Solaris/HP-UX/AIX (non sssd)   | Configure manually to recognize AD 
> > as |
> > || a domain following following steps 
> > ...|
> > --
> > | Clients that have SSSD | If the client is already installed   
> >  |
> > | before 1.9 | and configured do X  
> >  |
> > || If it is a fresh install of the  
> >  |
> > || client do Y  
> >  |
> > --
> > | SSSD 1.9 and later | Use the following ipa-client-install 
> >  |
> > || flags XYZ and/or authconfig command  
> >  |
> > || ABC  
> >  |
> > --
> >
> > Can something like this be added to wiki and corresponding tickets to 
> > provide a testable
> > replacements for XYZ above be filed in trac?
>  I've added more, including three tickets to cover specific
>  configurations.
> 
>  Unfortunately, we have limits in multiple search bases approach by
>  the commercial UNIX vendors since their LDAP modules do not support
>  multiple search 

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-31 Thread Rob Crittenden

Simo Sorce wrote:

On Fri, 2013-05-31 at 16:35 +0300, Alexander Bokovoy wrote:

On Fri, 31 May 2013, Simo Sorce wrote:

On Fri, 2013-05-31 at 10:54 +0300, Alexander Bokovoy wrote:

On Thu, 30 May 2013, Dmitri Pal wrote:

[...]


For Lunix and older SSSD version we in fact have a problem.
What I want to avoid is to have to define procedures and patches for
all

^^ ?

the clients. However if you use ipa-client-install it would configure
sssd the old way.
How to make it configured the new way? Manually? This is error prone
and
people will be reluctant to reconfigure SSSD. Automatically? Means
patches to all the versions of the clients.
How we are going to deal with the huge test matrix?


I think rolling out patches to old sssd versions is not a good idea and
I think we won't have the time to prepare all the needed patches in a
reasonable time-frame.

For SSSD versions which do not allow multiple search bases (1.5 and 1.6)
I would suggest to add a new domain section for the AD user with LDAP
and Kerberos provider. This would allow IPA users to works as before and
add the AD users to the client. Maybe this would also be a better
solution for the other SSSD versions instead of multiple search bases,
at least it's a solution for all versions.

Since we have the python config API for SSSD the needed changes to the
sssd.conf might be scriptable with a reasonable effort. Maybe this can
be added to ipa-client-install with a new option like
--enable-legacy-trust-support which can add the news section to existing
configuration or include it for new installations?

Bigger question is what is simpler: write configuration instructions or
modify/provide additional script for old SSSD?

Remeber that trusts with AD are most likely established when IPA clients
are already rolled out. Changing ipa-client-install is not helpful for
this case since the clients are already there.

Perhaps a better approach would be documentation for non-SSSD case and a
simple snippet that can be run alone or in use with puppet/etc to deploy
massively. The snippet would use SSSDConfig Python API to add needed
modifications to the clients' SSSD configuration.

We can even extend IPA server tools to allow generating such snippets
based on the trusts configuration. After all, we do have control over
IPA server in such cases.


I have updated wiki page with discussed ideas.


Sorry but this is not enough.
I do not see a discussion the design about the client side solutuon
procedure.

I am looking for a session that would contain a table (or like):

--
|   Type/Version of the client   | Action|
--
| Solaris/HP-UX/AIX (non sssd)   | Configure manually to recognize AD as |
|| a domain following following steps ...|
--
| Clients that have SSSD | If the client is already installed|
| before 1.9 | and configured do X   |
|| If it is a fresh install of the   |
|| client do Y   |
--
| SSSD 1.9 and later | Use the following ipa-client-install  |
|| flags XYZ and/or authconfig command   |
|| ABC   |
--

Can something like this be added to wiki and corresponding tickets to provide a 
testable
replacements for XYZ above be filed in trac?

I've added more, including three tickets to cover specific
configurations.

Unfortunately, we have limits in multiple search bases approach by
the commercial UNIX vendors since their LDAP modules do not support
multiple search bases. For all of those platforms there is PADL pam_ldap
available which can be used for the same purpose.

If we still want to support native pam_ldap on Solaris (which don't work
with multiple search bases), we'd have to merge LDAP trees.


Alexander, in my initial proposal I said that trusted users should be
put in the same tree as compat users, it was exactly to address this
problem.

We do not need to cause more problems by using multiple search trees
IMO.

Ok, since I wanted to re-use slapi-nis anyway, this only means adding
one more config attribute to slapi-nis configuration that will ask it to
look into NSS in addition to the main query.

In which order these queries should be performed? first to LDAP then NSS
or first to NSS then to LDAP? I guess the answer depends on specific
setup -- if all your users in AD, you'd like to look at them first.


If we cache stuff in memory I am not sure it matters much.


Note that 

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-31 Thread Simo Sorce
On Fri, 2013-05-31 at 16:35 +0300, Alexander Bokovoy wrote:
> On Fri, 31 May 2013, Simo Sorce wrote:
> >On Fri, 2013-05-31 at 10:54 +0300, Alexander Bokovoy wrote:
> >> On Thu, 30 May 2013, Dmitri Pal wrote:
> >> >[...]
> >> 
> >>  For Lunix and older SSSD version we in fact have a problem.
> >>  What I want to avoid is to have to define procedures and patches for
> >>  all
> >> >>>^^ ?
> >>  the clients. However if you use ipa-client-install it would configure
> >>  sssd the old way.
> >>  How to make it configured the new way? Manually? This is error prone
> >>  and
> >>  people will be reluctant to reconfigure SSSD. Automatically? Means
> >>  patches to all the versions of the clients.
> >>  How we are going to deal with the huge test matrix?
> >> >>>
> >> >>> I think rolling out patches to old sssd versions is not a good idea and
> >> >>> I think we won't have the time to prepare all the needed patches in a
> >> >>> reasonable time-frame.
> >> >>>
> >> >>> For SSSD versions which do not allow multiple search bases (1.5 and 
> >> >>> 1.6)
> >> >>> I would suggest to add a new domain section for the AD user with LDAP
> >> >>> and Kerberos provider. This would allow IPA users to works as before 
> >> >>> and
> >> >>> add the AD users to the client. Maybe this would also be a better
> >> >>> solution for the other SSSD versions instead of multiple search bases,
> >> >>> at least it's a solution for all versions.
> >> >>>
> >> >>> Since we have the python config API for SSSD the needed changes to the
> >> >>> sssd.conf might be scriptable with a reasonable effort. Maybe this can
> >> >>> be added to ipa-client-install with a new option like
> >> >>> --enable-legacy-trust-support which can add the news section to 
> >> >>> existing
> >> >>> configuration or include it for new installations?
> >> >> Bigger question is what is simpler: write configuration instructions or
> >> >> modify/provide additional script for old SSSD?
> >> >>
> >> >> Remeber that trusts with AD are most likely established when IPA clients
> >> >> are already rolled out. Changing ipa-client-install is not helpful for
> >> >> this case since the clients are already there.
> >> >>
> >> >> Perhaps a better approach would be documentation for non-SSSD case and a
> >> >> simple snippet that can be run alone or in use with puppet/etc to deploy
> >> >> massively. The snippet would use SSSDConfig Python API to add needed
> >> >> modifications to the clients' SSSD configuration.
> >> >>
> >> >> We can even extend IPA server tools to allow generating such snippets
> >> >> based on the trusts configuration. After all, we do have control over
> >> >> IPA server in such cases.
> >> >>
> >> >>
> >> >> I have updated wiki page with discussed ideas.
> >> >
> >> >Sorry but this is not enough.
> >> >I do not see a discussion the design about the client side solutuon
> >> >procedure.
> >> >
> >> >I am looking for a session that would contain a table (or like):
> >> >
> >> >--
> >> >|   Type/Version of the client   | Action|
> >> >--
> >> >| Solaris/HP-UX/AIX (non sssd)   | Configure manually to recognize AD as |
> >> >|| a domain following following steps ...|
> >> >--
> >> >| Clients that have SSSD | If the client is already installed|
> >> >| before 1.9 | and configured do X   |
> >> >|| If it is a fresh install of the   |
> >> >|| client do Y   |
> >> >--
> >> >| SSSD 1.9 and later | Use the following ipa-client-install  |
> >> >|| flags XYZ and/or authconfig command   |
> >> >|| ABC   |
> >> >--
> >> >
> >> >Can something like this be added to wiki and corresponding tickets to 
> >> >provide a testable
> >> >replacements for XYZ above be filed in trac?
> >> I've added more, including three tickets to cover specific
> >> configurations.
> >>
> >> Unfortunately, we have limits in multiple search bases approach by
> >> the commercial UNIX vendors since their LDAP modules do not support
> >> multiple search bases. For all of those platforms there is PADL pam_ldap
> >> available which can be used for the same purpose.
> >>
> >> If we still want to support native pam_ldap on Solaris (which don't work
> >> with multiple search bases), we'd have to merge LDAP trees.
> >
> >Alexander, in my initial proposal I said that trusted users should

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-31 Thread Alexander Bokovoy

On Fri, 31 May 2013, Simo Sorce wrote:

On Fri, 2013-05-31 at 10:54 +0300, Alexander Bokovoy wrote:

On Thu, 30 May 2013, Dmitri Pal wrote:
>[...]

 For Lunix and older SSSD version we in fact have a problem.
 What I want to avoid is to have to define procedures and patches for
 all
>>>^^ ?
 the clients. However if you use ipa-client-install it would configure
 sssd the old way.
 How to make it configured the new way? Manually? This is error prone
 and
 people will be reluctant to reconfigure SSSD. Automatically? Means
 patches to all the versions of the clients.
 How we are going to deal with the huge test matrix?
>>>
>>> I think rolling out patches to old sssd versions is not a good idea and
>>> I think we won't have the time to prepare all the needed patches in a
>>> reasonable time-frame.
>>>
>>> For SSSD versions which do not allow multiple search bases (1.5 and 1.6)
>>> I would suggest to add a new domain section for the AD user with LDAP
>>> and Kerberos provider. This would allow IPA users to works as before and
>>> add the AD users to the client. Maybe this would also be a better
>>> solution for the other SSSD versions instead of multiple search bases,
>>> at least it's a solution for all versions.
>>>
>>> Since we have the python config API for SSSD the needed changes to the
>>> sssd.conf might be scriptable with a reasonable effort. Maybe this can
>>> be added to ipa-client-install with a new option like
>>> --enable-legacy-trust-support which can add the news section to existing
>>> configuration or include it for new installations?
>> Bigger question is what is simpler: write configuration instructions or
>> modify/provide additional script for old SSSD?
>>
>> Remeber that trusts with AD are most likely established when IPA clients
>> are already rolled out. Changing ipa-client-install is not helpful for
>> this case since the clients are already there.
>>
>> Perhaps a better approach would be documentation for non-SSSD case and a
>> simple snippet that can be run alone or in use with puppet/etc to deploy
>> massively. The snippet would use SSSDConfig Python API to add needed
>> modifications to the clients' SSSD configuration.
>>
>> We can even extend IPA server tools to allow generating such snippets
>> based on the trusts configuration. After all, we do have control over
>> IPA server in such cases.
>>
>>
>> I have updated wiki page with discussed ideas.
>
>Sorry but this is not enough.
>I do not see a discussion the design about the client side solutuon
>procedure.
>
>I am looking for a session that would contain a table (or like):
>
>--
>|   Type/Version of the client   | Action|
>--
>| Solaris/HP-UX/AIX (non sssd)   | Configure manually to recognize AD as |
>|| a domain following following steps ...|
>--
>| Clients that have SSSD | If the client is already installed|
>| before 1.9 | and configured do X   |
>|| If it is a fresh install of the   |
>|| client do Y   |
>--
>| SSSD 1.9 and later | Use the following ipa-client-install  |
>|| flags XYZ and/or authconfig command   |
>|| ABC   |
>--
>
>Can something like this be added to wiki and corresponding tickets to provide 
a testable
>replacements for XYZ above be filed in trac?
I've added more, including three tickets to cover specific
configurations.

Unfortunately, we have limits in multiple search bases approach by
the commercial UNIX vendors since their LDAP modules do not support
multiple search bases. For all of those platforms there is PADL pam_ldap
available which can be used for the same purpose.

If we still want to support native pam_ldap on Solaris (which don't work
with multiple search bases), we'd have to merge LDAP trees.


Alexander, in my initial proposal I said that trusted users should be
put in the same tree as compat users, it was exactly to address this
problem.

We do not need to cause more problems by using multiple search trees
IMO.

Ok, since I wanted to re-use slapi-nis anyway, this only means adding
one more config attribute to slapi-nis configuration that will ask it to
look into NSS in addition to the main query.

In which order these queries should be performed? first to LDAP then NSS
or first to NSS then to LDAP? I guess the answer depends on specific
setup -- if all your users in AD

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-31 Thread Simo Sorce
On Fri, 2013-05-31 at 10:54 +0300, Alexander Bokovoy wrote:
> On Thu, 30 May 2013, Dmitri Pal wrote:
> >[...]
> 
>  For Lunix and older SSSD version we in fact have a problem.
>  What I want to avoid is to have to define procedures and patches for
>  all
> >>>^^ ?
>  the clients. However if you use ipa-client-install it would configure
>  sssd the old way.
>  How to make it configured the new way? Manually? This is error prone
>  and
>  people will be reluctant to reconfigure SSSD. Automatically? Means
>  patches to all the versions of the clients.
>  How we are going to deal with the huge test matrix?
> >>>
> >>> I think rolling out patches to old sssd versions is not a good idea and
> >>> I think we won't have the time to prepare all the needed patches in a
> >>> reasonable time-frame.
> >>>
> >>> For SSSD versions which do not allow multiple search bases (1.5 and 1.6)
> >>> I would suggest to add a new domain section for the AD user with LDAP
> >>> and Kerberos provider. This would allow IPA users to works as before and
> >>> add the AD users to the client. Maybe this would also be a better
> >>> solution for the other SSSD versions instead of multiple search bases,
> >>> at least it's a solution for all versions.
> >>>
> >>> Since we have the python config API for SSSD the needed changes to the
> >>> sssd.conf might be scriptable with a reasonable effort. Maybe this can
> >>> be added to ipa-client-install with a new option like
> >>> --enable-legacy-trust-support which can add the news section to existing
> >>> configuration or include it for new installations?
> >> Bigger question is what is simpler: write configuration instructions or
> >> modify/provide additional script for old SSSD?
> >>
> >> Remeber that trusts with AD are most likely established when IPA clients
> >> are already rolled out. Changing ipa-client-install is not helpful for
> >> this case since the clients are already there.
> >>
> >> Perhaps a better approach would be documentation for non-SSSD case and a
> >> simple snippet that can be run alone or in use with puppet/etc to deploy
> >> massively. The snippet would use SSSDConfig Python API to add needed
> >> modifications to the clients' SSSD configuration.
> >>
> >> We can even extend IPA server tools to allow generating such snippets
> >> based on the trusts configuration. After all, we do have control over
> >> IPA server in such cases.
> >>
> >>
> >> I have updated wiki page with discussed ideas.
> >
> >Sorry but this is not enough.
> >I do not see a discussion the design about the client side solutuon
> >procedure.
> >
> >I am looking for a session that would contain a table (or like):
> >
> >--
> >|   Type/Version of the client   | Action|
> >--
> >| Solaris/HP-UX/AIX (non sssd)   | Configure manually to recognize AD as |
> >|| a domain following following steps ...|
> >--
> >| Clients that have SSSD | If the client is already installed|
> >| before 1.9 | and configured do X   |
> >|| If it is a fresh install of the   |
> >|| client do Y   |
> >--
> >| SSSD 1.9 and later | Use the following ipa-client-install  |
> >|| flags XYZ and/or authconfig command   |
> >|| ABC   |
> >--
> >
> >Can something like this be added to wiki and corresponding tickets to 
> >provide a testable
> >replacements for XYZ above be filed in trac?
> I've added more, including three tickets to cover specific
> configurations.
> 
> Unfortunately, we have limits in multiple search bases approach by
> the commercial UNIX vendors since their LDAP modules do not support
> multiple search bases. For all of those platforms there is PADL pam_ldap
> available which can be used for the same purpose.
> 
> If we still want to support native pam_ldap on Solaris (which don't work
> with multiple search bases), we'd have to merge LDAP trees.

Alexander, in my initial proposal I said that trusted users should be
put in the same tree as compat users, it was exactly to address this
problem.

We do not need to cause more problems by using multiple search trees
IMO.

Simo.

> #3670 [RFE] tool to create configurations for old legacy clients for trusts
> https://fedorahosted.org/freeipa/ticket/3670
> 
> #3671 add support for SSSD 1.5-1.8 configurations to ipa-advise-client
> https://fedorahosted.org/

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-31 Thread Alexander Bokovoy

On Thu, 30 May 2013, Dmitri Pal wrote:

[...]


For Lunix and older SSSD version we in fact have a problem.
What I want to avoid is to have to define procedures and patches for
all

   ^^ ?

the clients. However if you use ipa-client-install it would configure
sssd the old way.
How to make it configured the new way? Manually? This is error prone
and
people will be reluctant to reconfigure SSSD. Automatically? Means
patches to all the versions of the clients.
How we are going to deal with the huge test matrix?


I think rolling out patches to old sssd versions is not a good idea and
I think we won't have the time to prepare all the needed patches in a
reasonable time-frame.

For SSSD versions which do not allow multiple search bases (1.5 and 1.6)
I would suggest to add a new domain section for the AD user with LDAP
and Kerberos provider. This would allow IPA users to works as before and
add the AD users to the client. Maybe this would also be a better
solution for the other SSSD versions instead of multiple search bases,
at least it's a solution for all versions.

Since we have the python config API for SSSD the needed changes to the
sssd.conf might be scriptable with a reasonable effort. Maybe this can
be added to ipa-client-install with a new option like
--enable-legacy-trust-support which can add the news section to existing
configuration or include it for new installations?

Bigger question is what is simpler: write configuration instructions or
modify/provide additional script for old SSSD?

Remeber that trusts with AD are most likely established when IPA clients
are already rolled out. Changing ipa-client-install is not helpful for
this case since the clients are already there.

Perhaps a better approach would be documentation for non-SSSD case and a
simple snippet that can be run alone or in use with puppet/etc to deploy
massively. The snippet would use SSSDConfig Python API to add needed
modifications to the clients' SSSD configuration.

We can even extend IPA server tools to allow generating such snippets
based on the trusts configuration. After all, we do have control over
IPA server in such cases.


I have updated wiki page with discussed ideas.


Sorry but this is not enough.
I do not see a discussion the design about the client side solutuon
procedure.

I am looking for a session that would contain a table (or like):

--
|   Type/Version of the client   | Action|
--
| Solaris/HP-UX/AIX (non sssd)   | Configure manually to recognize AD as |
|| a domain following following steps ...|
--
| Clients that have SSSD | If the client is already installed|
| before 1.9 | and configured do X   |
|| If it is a fresh install of the   |
|| client do Y   |
--
| SSSD 1.9 and later | Use the following ipa-client-install  |
|| flags XYZ and/or authconfig command   |
|| ABC   |
--

Can something like this be added to wiki and corresponding tickets to provide a 
testable
replacements for XYZ above be filed in trac?

I've added more, including three tickets to cover specific
configurations.

Unfortunately, we have limits in multiple search bases approach by
the commercial UNIX vendors since their LDAP modules do not support
multiple search bases. For all of those platforms there is PADL pam_ldap
available which can be used for the same purpose.

If we still want to support native pam_ldap on Solaris (which don't work
with multiple search bases), we'd have to merge LDAP trees.

#3670 [RFE] tool to create configurations for old legacy clients for trusts
https://fedorahosted.org/freeipa/ticket/3670

#3671 add support for SSSD 1.5-1.8 configurations to ipa-advise-client
https://fedorahosted.org/freeipa/ticket/3671

#3672 add support for PADL pam_ldap/nss_ldap configurations to ipa-advise-client
https://fedorahosted.org/freeipa/ticket/3672

ipa-advise-client tool would look up existing IPA server configuration
and decide how should look sample configuration for the specified case.
It will generate a script that will output needed configuration files
(or their snippets) or commands that should be executed on the client
side.

The reason for this indirection is to allow greater flexibility in
future, like being able to check PAM configuration at the client side
before recommending changes (or run authconfig).


--
/ Alexander Bokovoy

___

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-30 Thread Dmitri Pal
[...]
>>>
>>> For Lunix and older SSSD version we in fact have a problem.
>>> What I want to avoid is to have to define procedures and patches for
>>> all
>>^^ ?
>>> the clients. However if you use ipa-client-install it would configure
>>> sssd the old way.
>>> How to make it configured the new way? Manually? This is error prone
>>> and
>>> people will be reluctant to reconfigure SSSD. Automatically? Means
>>> patches to all the versions of the clients.
>>> How we are going to deal with the huge test matrix?
>>
>> I think rolling out patches to old sssd versions is not a good idea and
>> I think we won't have the time to prepare all the needed patches in a
>> reasonable time-frame.
>>
>> For SSSD versions which do not allow multiple search bases (1.5 and 1.6)
>> I would suggest to add a new domain section for the AD user with LDAP
>> and Kerberos provider. This would allow IPA users to works as before and
>> add the AD users to the client. Maybe this would also be a better
>> solution for the other SSSD versions instead of multiple search bases,
>> at least it's a solution for all versions.
>>
>> Since we have the python config API for SSSD the needed changes to the
>> sssd.conf might be scriptable with a reasonable effort. Maybe this can
>> be added to ipa-client-install with a new option like
>> --enable-legacy-trust-support which can add the news section to existing
>> configuration or include it for new installations?
> Bigger question is what is simpler: write configuration instructions or
> modify/provide additional script for old SSSD?
>
> Remeber that trusts with AD are most likely established when IPA clients
> are already rolled out. Changing ipa-client-install is not helpful for
> this case since the clients are already there.
>
> Perhaps a better approach would be documentation for non-SSSD case and a
> simple snippet that can be run alone or in use with puppet/etc to deploy
> massively. The snippet would use SSSDConfig Python API to add needed
> modifications to the clients' SSSD configuration.
>
> We can even extend IPA server tools to allow generating such snippets
> based on the trusts configuration. After all, we do have control over
> IPA server in such cases.
>
>
> I have updated wiki page with discussed ideas.

Sorry but this is not enough.
I do not see a discussion the design about the client side solutuon
procedure.

I am looking for a session that would contain a table (or like):

--
|   Type/Version of the client   | Action|
--
| Solaris/HP-UX/AIX (non sssd)   | Configure manually to recognize AD as |
|| a domain following following steps ...|
--
| Clients that have SSSD | If the client is already installed|   
| before 1.9 | and configured do X   |
|| If it is a fresh install of the   |
|| client do Y   |  
--
| SSSD 1.9 and later | Use the following ipa-client-install  |
|| flags XYZ and/or authconfig command   |
|| ABC   |
--

Can something like this be added to wiki and corresponding tickets to provide a 
testable
replacements for XYZ above be filed in trac? 

-- 
Thank you,
Dmitri Pal

Sr. Engineering Manager for IdM portfolio
Red Hat Inc.


---
Looking to carve out IT costs?
www.redhat.com/carveoutcosts/



___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-30 Thread Alexander Bokovoy

On Thu, 30 May 2013, Sumit Bose wrote:

On Wed, May 29, 2013 at 09:53:14AM -0400, Dmitri Pal wrote:

On 05/29/2013 03:28 AM, Sumit Bose wrote:
> On Wed, May 29, 2013 at 08:38:37AM +0300, Alexander Bokovoy wrote:
>> On Tue, 28 May 2013, Dmitri Pal wrote:
>>> On 05/28/2013 04:29 PM, Alexander Bokovoy wrote:
 On Tue, 28 May 2013, Dmitri Pal wrote:
> On 05/28/2013 03:48 PM, Alexander Bokovoy wrote:
>> On Tue, 28 May 2013, Dmitri Pal wrote:
>>> On 05/28/2013 07:50 AM, Alexander Bokovoy wrote:
 Hi,


 http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts

 = Overview =

 Since version 3.0 FreeIPA supports cross-realm trusts with Active
 Directory. In order to allow AD users to utilize services on IPA
 clients, up to date version of SSSD should be configured at the IPA
 client. In case it is not possible to install and configure SSSD >
 1.09,
 Active Directory users cannot access services on IPA clients.

 This feature is designed to bridge the gap and provide minimal
 compatibility level that allows to log-in to IPA clients for AD
 users.
 IPA clients will be able to use any reasonable nss_ldap/pam_ldap/sssd
 version.
 = Use Cases =

 Access to IPA client machine resources for AD users in case IPA
 client
 cannot utilize up to date version of SSSD with native support for IPA
 cross-realm trusts.

 = Design=
 Since IPA client is configured with the use of older SSSD or
 nss_ldap/pam_ldap, all work should be performed at the IPA master.
 Primary design decision is to provide a separate LDAP tree,
 similar to
 compat tree, that has following features:

 * information about both IPA and AD users can be queried;
 * it ispossible to enumerate members of IPA and AD groups;
 * authentication bind to IPA LDAP as AD users should automatically
 * trigger obtaining ticket from AD DC; in case TGT is obtained,
 * authentication bind should be treated as successful.

>>> >From a client perspective, use of the separate LDAP tree is viewed as
 traditional nss_ldap/pam_ldap configuration.

 Proposed base for the LDAP tree:
 '''cn=users,cn=trust-accounts,dc=example,dc=com'''

 = Implementation =

 # IPA server sets SSSD configuration to 'ipa_server_mode = true' on
 install or upgrade
 # ipa-adtrust-install configures additional directory server
 plugin to
 serve trusted domains tree
 # Directory server plugin uses  getpwnam_r(), getgrnam_r() and
 related
 calls to obtain information about AD user. For IPA users the
 information is fetched directly from the LDAP.
 # IPA KDC database driver adds MS-PAC information into ticket
 granting
 ticket for host/fqdn@REALM principal of IPA master. This is required
 to allow SSSD on IPA master to authenticate against AD using
 host/fqdn@REALM principal.

 For SSSD design see
 https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode

 = Feature Management =

 === UI ===

 The feature is transparent and not exposed in UI

 === CLI ===

 The feature is not directly exposed in CLI.
 IPA idrange management is expanded to specify idrange type (IPA
 local,
 AD trust, AD with winsync, IPA trust, ..) to affect the way how AD
 users
 SIDs are mapped to POSIX IDs.

 = Major configuration options and enablement =

 sssd.conf will have 'ipa_server_mode = true' set for IPA master.

 = Replication =

 No effect on replication. Since directory server plugin is only
 configured when ipa-adtrust-install is run, IPA masters may opt out
 from
 serving AD clients.

 = Updates and Upgrades =

 During upgrade of IPA master, sssd.conf should be updated to set
 'ipa_server_mode = true'.

 = Dependencies =

 Depends on SSSD implementing IPA server mode (sssd 1.10.x)

 = External Impact =

 https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode

 = Backup and Restore =

 No external configuration files are affected

 = Test Plan =

 Testing the feature will require following:

 # Configure IPA to serve AD trusts
 # Establish trust with AD domain
 # Configure a client to use nss_ldap/pam_ldap against AD-compatible
 tree
 # Attempt to log-in to the client as AD user
>>

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-30 Thread Jakub Hrozek
On Thu, May 30, 2013 at 11:01:02AM +0200, Sumit Bose wrote:
> > For Lunix and older SSSD version we in fact have a problem.
> > What I want to avoid is to have to define procedures and patches for all
> ^^ ?
> > the clients. However if you use ipa-client-install it would configure
> > sssd the old way.
> > How to make it configured the new way? Manually? This is error prone and
> > people will be reluctant to reconfigure SSSD. Automatically? Means
> > patches to all the versions of the clients.
> > How we are going to deal with the huge test matrix?
> 
> I think rolling out patches to old sssd versions is not a good idea and
> I think we won't have the time to prepare all the needed patches in a
> reasonable time-frame.
> 
> For SSSD versions which do not allow multiple search bases (1.5 and 1.6)
> I would suggest to add a new domain section for the AD user with LDAP
> and Kerberos provider. This would allow IPA users to works as before and
> add the AD users to the client. Maybe this would also be a better
> solution for the other SSSD versions instead of multiple search bases,
> at least it's a solution for all versions.
> 

+1, I remember that the patches to support multiple search bases were
highly non-trivial and caused some regressions at the time (which is
completely understandable given their size). Backporting them would be a
devel and QE nightmare, we would have to backport not only the patches
but all the fixes for the regressions.

The only drawback of multiple domains is slightly worse performance as
with multiple domains you need to iterate over the domains in the
responders and contact the DP for every domains while with multiple
search bases the whole logic happens in the DP without the round-trips
to PAM or NSS responders. This disadvantage doesn't apply when using
FQDNs as then you shortcut to the correct domain already.

> Since we have the python config API for SSSD the needed changes to the
> sssd.conf might be scriptable with a reasonable effort. Maybe this can
> be added to ipa-client-install with a new option like
> --enable-legacy-trust-support which can add the news section to existing
> configuration or include it for new installations?
> 
> bye,
> Sumit

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-30 Thread Sumit Bose
On Wed, May 29, 2013 at 09:53:14AM -0400, Dmitri Pal wrote:
> On 05/29/2013 03:28 AM, Sumit Bose wrote:
> > On Wed, May 29, 2013 at 08:38:37AM +0300, Alexander Bokovoy wrote:
> >> On Tue, 28 May 2013, Dmitri Pal wrote:
> >>> On 05/28/2013 04:29 PM, Alexander Bokovoy wrote:
>  On Tue, 28 May 2013, Dmitri Pal wrote:
> > On 05/28/2013 03:48 PM, Alexander Bokovoy wrote:
> >> On Tue, 28 May 2013, Dmitri Pal wrote:
> >>> On 05/28/2013 07:50 AM, Alexander Bokovoy wrote:
>  Hi,
> 
> 
>  http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts
> 
>  = Overview =
> 
>  Since version 3.0 FreeIPA supports cross-realm trusts with Active
>  Directory. In order to allow AD users to utilize services on IPA
>  clients, up to date version of SSSD should be configured at the IPA
>  client. In case it is not possible to install and configure SSSD >
>  1.09,
>  Active Directory users cannot access services on IPA clients.
> 
>  This feature is designed to bridge the gap and provide minimal
>  compatibility level that allows to log-in to IPA clients for AD
>  users.
>  IPA clients will be able to use any reasonable nss_ldap/pam_ldap/sssd
>  version.
>  = Use Cases =
> 
>  Access to IPA client machine resources for AD users in case IPA
>  client
>  cannot utilize up to date version of SSSD with native support for IPA
>  cross-realm trusts.
> 
>  = Design=
>  Since IPA client is configured with the use of older SSSD or
>  nss_ldap/pam_ldap, all work should be performed at the IPA master.
>  Primary design decision is to provide a separate LDAP tree,
>  similar to
>  compat tree, that has following features:
> 
>  * information about both IPA and AD users can be queried;
>  * it ispossible to enumerate members of IPA and AD groups;
>  * authentication bind to IPA LDAP as AD users should automatically
>  * trigger obtaining ticket from AD DC; in case TGT is obtained,
>  * authentication bind should be treated as successful.
> 
> >>> >From a client perspective, use of the separate LDAP tree is viewed as
>  traditional nss_ldap/pam_ldap configuration.
> 
>  Proposed base for the LDAP tree:
>  '''cn=users,cn=trust-accounts,dc=example,dc=com'''
> 
>  = Implementation =
> 
>  # IPA server sets SSSD configuration to 'ipa_server_mode = true' on
>  install or upgrade
>  # ipa-adtrust-install configures additional directory server
>  plugin to
>  serve trusted domains tree
>  # Directory server plugin uses  getpwnam_r(), getgrnam_r() and
>  related
>  calls to obtain information about AD user. For IPA users the
>  information is fetched directly from the LDAP.
>  # IPA KDC database driver adds MS-PAC information into ticket
>  granting
>  ticket for host/fqdn@REALM principal of IPA master. This is required
>  to allow SSSD on IPA master to authenticate against AD using
>  host/fqdn@REALM principal.
> 
>  For SSSD design see
>  https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode
> 
>  = Feature Management =
> 
>  === UI ===
> 
>  The feature is transparent and not exposed in UI
> 
>  === CLI ===
> 
>  The feature is not directly exposed in CLI.
>  IPA idrange management is expanded to specify idrange type (IPA
>  local,
>  AD trust, AD with winsync, IPA trust, ..) to affect the way how AD
>  users
>  SIDs are mapped to POSIX IDs.
> 
>  = Major configuration options and enablement =
> 
>  sssd.conf will have 'ipa_server_mode = true' set for IPA master.
> 
>  = Replication =
> 
>  No effect on replication. Since directory server plugin is only
>  configured when ipa-adtrust-install is run, IPA masters may opt out
>  from
>  serving AD clients.
> 
>  = Updates and Upgrades =
> 
>  During upgrade of IPA master, sssd.conf should be updated to set
>  'ipa_server_mode = true'.
> 
>  = Dependencies =
> 
>  Depends on SSSD implementing IPA server mode (sssd 1.10.x)
> 
>  = External Impact =
> 
>  https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode
> 
>  = Backup and Restore =
> 
>  No external configuration files are affected
> 
>  = Test Plan =
> 
>  Testing the feature will require following:
> 
>  # Configure IPA to serve AD 

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-29 Thread Dmitri Pal
On 05/29/2013 03:28 AM, Sumit Bose wrote:
> On Wed, May 29, 2013 at 08:38:37AM +0300, Alexander Bokovoy wrote:
>> On Tue, 28 May 2013, Dmitri Pal wrote:
>>> On 05/28/2013 04:29 PM, Alexander Bokovoy wrote:
 On Tue, 28 May 2013, Dmitri Pal wrote:
> On 05/28/2013 03:48 PM, Alexander Bokovoy wrote:
>> On Tue, 28 May 2013, Dmitri Pal wrote:
>>> On 05/28/2013 07:50 AM, Alexander Bokovoy wrote:
 Hi,


 http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts

 = Overview =

 Since version 3.0 FreeIPA supports cross-realm trusts with Active
 Directory. In order to allow AD users to utilize services on IPA
 clients, up to date version of SSSD should be configured at the IPA
 client. In case it is not possible to install and configure SSSD >
 1.09,
 Active Directory users cannot access services on IPA clients.

 This feature is designed to bridge the gap and provide minimal
 compatibility level that allows to log-in to IPA clients for AD
 users.
 IPA clients will be able to use any reasonable nss_ldap/pam_ldap/sssd
 version.
 = Use Cases =

 Access to IPA client machine resources for AD users in case IPA
 client
 cannot utilize up to date version of SSSD with native support for IPA
 cross-realm trusts.

 = Design=
 Since IPA client is configured with the use of older SSSD or
 nss_ldap/pam_ldap, all work should be performed at the IPA master.
 Primary design decision is to provide a separate LDAP tree,
 similar to
 compat tree, that has following features:

 * information about both IPA and AD users can be queried;
 * it ispossible to enumerate members of IPA and AD groups;
 * authentication bind to IPA LDAP as AD users should automatically
 * trigger obtaining ticket from AD DC; in case TGT is obtained,
 * authentication bind should be treated as successful.

>>> >From a client perspective, use of the separate LDAP tree is viewed as
 traditional nss_ldap/pam_ldap configuration.

 Proposed base for the LDAP tree:
 '''cn=users,cn=trust-accounts,dc=example,dc=com'''

 = Implementation =

 # IPA server sets SSSD configuration to 'ipa_server_mode = true' on
 install or upgrade
 # ipa-adtrust-install configures additional directory server
 plugin to
 serve trusted domains tree
 # Directory server plugin uses  getpwnam_r(), getgrnam_r() and
 related
 calls to obtain information about AD user. For IPA users the
 information is fetched directly from the LDAP.
 # IPA KDC database driver adds MS-PAC information into ticket
 granting
 ticket for host/fqdn@REALM principal of IPA master. This is required
 to allow SSSD on IPA master to authenticate against AD using
 host/fqdn@REALM principal.

 For SSSD design see
 https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode

 = Feature Management =

 === UI ===

 The feature is transparent and not exposed in UI

 === CLI ===

 The feature is not directly exposed in CLI.
 IPA idrange management is expanded to specify idrange type (IPA
 local,
 AD trust, AD with winsync, IPA trust, ..) to affect the way how AD
 users
 SIDs are mapped to POSIX IDs.

 = Major configuration options and enablement =

 sssd.conf will have 'ipa_server_mode = true' set for IPA master.

 = Replication =

 No effect on replication. Since directory server plugin is only
 configured when ipa-adtrust-install is run, IPA masters may opt out
 from
 serving AD clients.

 = Updates and Upgrades =

 During upgrade of IPA master, sssd.conf should be updated to set
 'ipa_server_mode = true'.

 = Dependencies =

 Depends on SSSD implementing IPA server mode (sssd 1.10.x)

 = External Impact =

 https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode

 = Backup and Restore =

 No external configuration files are affected

 = Test Plan =

 Testing the feature will require following:

 # Configure IPA to serve AD trusts
 # Establish trust with AD domain
 # Configure a client to use nss_ldap/pam_ldap against AD-compatible
 tree
 # Attempt to log-in to the client as AD user

 = RFE Author =

 [[User:Ab|ab]] ([[User talk:Ab|talk]])

>>>
>

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-29 Thread Alexander Bokovoy

On Wed, 29 May 2013, Sumit Bose wrote:

On Tue, May 28, 2013 at 02:50:59PM +0300, Alexander Bokovoy wrote:

Hi,


http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts

= Overview =

Since version 3.0 FreeIPA supports cross-realm trusts with Active
Directory. In order to allow AD users to utilize services on IPA
clients, up to date version of SSSD should be configured at the IPA
client. In case it is not possible to install and configure SSSD > 1.09,
Active Directory users cannot access services on IPA clients.

This feature is designed to bridge the gap and provide minimal
compatibility level that allows to log-in to IPA clients for AD users.
IPA clients will be able to use any reasonable nss_ldap/pam_ldap/sssd
version.

= Use Cases =

Access to IPA client machine resources for AD users in case IPA client
cannot utilize up to date version of SSSD with native support for IPA
cross-realm trusts.

= Design=

Since IPA client is configured with the use of older SSSD or
nss_ldap/pam_ldap, all work should be performed at the IPA master.
Primary design decision is to provide a separate LDAP tree, similar to
compat tree, that has following features:

* information about both IPA and AD users can be queried;
* it ispossible to enumerate members of IPA and AD groups;
* authentication bind to IPA LDAP as AD users should automatically
* trigger obtaining ticket from AD DC; in case TGT is obtained,
* authentication bind should be treated as successful.

From a client perspective, use of the separate LDAP tree is viewed as
traditional nss_ldap/pam_ldap configuration.

Proposed base for the LDAP tree:
'''cn=users,cn=trust-accounts,dc=example,dc=com'''


I guess older SSSD versions, e.g. 1.8. might be the most difficult use
cases because they already support some specific features for IPA users
and groups, e.g. HBAC, netgroups, SELinux and automount maps. Since most
of them depends on DNs one way or the other I think older SSSD version
must continue to use the main tree for IPA users and groups and local
look at the new tree for trusted accounts. Luckily multiple search bases
were introduced in SSSD 1.7, I wonder if older version have to be
supported as well? But if multiple search bases are used the IPA users
and groups should not be visible in the new tree for trusted accounts.

Maybe the new plugin can offer different trees like
- cn=users,cn=trust-accounts,dc=example,dc=com
- cn=users,cn=trust-accounts-sssd,dc=example,dc=com

where the first contains IPA and AD accounts as mentioned above and the
latter only the AD accounts? Since we are planning to do the lookups on
the fly I think both trees can be handled in the same code path and the
path name is just config option which switches the IPA accounts on and
off respectively.

With iyet another tree it might be also possible to support either rfc2307 or
rfc2037bis. I assume that the plan is that the new tree will use
rfc2307bis but I wonder if we have to support clients which only support
rcf2307.

Yep.

Summarizing for the list discussion we had with Sumit on IRC, I think we
can re-use slapi-nis plugin for the purpose of this feature.

The way slapi-nis works for schema compatibility is that one needs to
define first a subtree to search against, with a filter, and then
additional transformations are applied to the result of search. The end
result is presented to the client.

What we need to do is to make possible to return a result of initial
'search' against SSSD instead of actual LDAP subtree. A 'search' result
is then processed according to defined transformation rules.

slapi-nis supports multiple resulting trees already, this solves the
problem Sumit raises above.

Additionally, for LDAP auth bind we need to make sure it is actually
possible to hook to in a directory server plugin for a virtual DN like
slapi-nis presents. This is something Sumit and I need to check with 389-ds
developers. We already have some support for that with new feature to
allow fallbacks for SASL auth but in this case we need to use simple
bind to get hold of the password (to kinit agasint AD DC) over secure
channel.

--
/ Alexander Bokovoy

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-29 Thread Sumit Bose
On Tue, May 28, 2013 at 02:50:59PM +0300, Alexander Bokovoy wrote:
> Hi,
> 
> 
> http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts
> 
> = Overview =
> 
> Since version 3.0 FreeIPA supports cross-realm trusts with Active
> Directory. In order to allow AD users to utilize services on IPA
> clients, up to date version of SSSD should be configured at the IPA
> client. In case it is not possible to install and configure SSSD > 1.09,
> Active Directory users cannot access services on IPA clients.
> 
> This feature is designed to bridge the gap and provide minimal
> compatibility level that allows to log-in to IPA clients for AD users.
> IPA clients will be able to use any reasonable nss_ldap/pam_ldap/sssd
> version.
> 
> = Use Cases =
> 
> Access to IPA client machine resources for AD users in case IPA client
> cannot utilize up to date version of SSSD with native support for IPA
> cross-realm trusts.
> 
> = Design=
> 
> Since IPA client is configured with the use of older SSSD or
> nss_ldap/pam_ldap, all work should be performed at the IPA master.
> Primary design decision is to provide a separate LDAP tree, similar to
> compat tree, that has following features:
> 
> * information about both IPA and AD users can be queried;
> * it ispossible to enumerate members of IPA and AD groups;
> * authentication bind to IPA LDAP as AD users should automatically
> * trigger obtaining ticket from AD DC; in case TGT is obtained,
> * authentication bind should be treated as successful.
> 
> From a client perspective, use of the separate LDAP tree is viewed as
> traditional nss_ldap/pam_ldap configuration.
> 
> Proposed base for the LDAP tree:
> '''cn=users,cn=trust-accounts,dc=example,dc=com'''

I guess older SSSD versions, e.g. 1.8. might be the most difficult use
cases because they already support some specific features for IPA users
and groups, e.g. HBAC, netgroups, SELinux and automount maps. Since most
of them depends on DNs one way or the other I think older SSSD version
must continue to use the main tree for IPA users and groups and local
look at the new tree for trusted accounts. Luckily multiple search bases
were introduced in SSSD 1.7, I wonder if older version have to be
supported as well? But if multiple search bases are used the IPA users
and groups should not be visible in the new tree for trusted accounts.

Maybe the new plugin can offer different trees like
 - cn=users,cn=trust-accounts,dc=example,dc=com
 - cn=users,cn=trust-accounts-sssd,dc=example,dc=com

where the first contains IPA and AD accounts as mentioned above and the
latter only the AD accounts? Since we are planning to do the lookups on
the fly I think both trees can be handled in the same code path and the
path name is just config option which switches the IPA accounts on and
off respectively.

With iyet another tree it might be also possible to support either rfc2307 or
rfc2037bis. I assume that the plan is that the new tree will use
rfc2307bis but I wonder if we have to support clients which only support
rcf2307.

bye,
Sumit
> 
> = Implementation =
> 
> # IPA server sets SSSD configuration to 'ipa_server_mode = true' on install 
> or upgrade
> # ipa-adtrust-install configures additional directory server plugin to serve 
> trusted domains tree
> # Directory server plugin uses  getpwnam_r(), getgrnam_r() and related calls 
> to obtain information about AD user. For IPA users the information is fetched 
> directly from the LDAP.
> # IPA KDC database driver adds MS-PAC information into ticket granting ticket 
> for host/fqdn@REALM principal of IPA master. This is required to allow SSSD 
> on IPA master to authenticate against AD using host/fqdn@REALM principal.
> 
> For SSSD design see
> https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode
> 
> = Feature Management =
> 
> === UI ===
> 
> The feature is transparent and not exposed in UI
> 
> === CLI ===
> 
> The feature is not directly exposed in CLI.
> 
> IPA idrange management is expanded to specify idrange type (IPA local,
> AD trust, AD with winsync, IPA trust, ..) to affect the way how AD users
> SIDs are mapped to POSIX IDs.
> 
> = Major configuration options and enablement =
> 
> sssd.conf will have 'ipa_server_mode = true' set for IPA master.
> 
> = Replication =
> 
> No effect on replication. Since directory server plugin is only
> configured when ipa-adtrust-install is run, IPA masters may opt out from
> serving AD clients.
> 
> = Updates and Upgrades =
> 
> During upgrade of IPA master, sssd.conf should be updated to set
> 'ipa_server_mode = true'.
> 
> = Dependencies =
> 
> Depends on SSSD implementing IPA server mode (sssd 1.10.x)
> 
> = External Impact =
> 
> https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode
> 
> = Backup and Restore =
> 
> No external configuration files are affected
> 
> = Test Plan =
> 
> Testing the feature will require following:
> 
> # Configure IPA to serve AD trusts
> # Establish trust with AD domain
> # Configure a client to use

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-29 Thread Sumit Bose
On Wed, May 29, 2013 at 08:38:37AM +0300, Alexander Bokovoy wrote:
> On Tue, 28 May 2013, Dmitri Pal wrote:
> >On 05/28/2013 04:29 PM, Alexander Bokovoy wrote:
> >>On Tue, 28 May 2013, Dmitri Pal wrote:
> >>>On 05/28/2013 03:48 PM, Alexander Bokovoy wrote:
> On Tue, 28 May 2013, Dmitri Pal wrote:
> >On 05/28/2013 07:50 AM, Alexander Bokovoy wrote:
> >>Hi,
> >>
> >>
> >>http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts
> >>
> >>= Overview =
> >>
> >>Since version 3.0 FreeIPA supports cross-realm trusts with Active
> >>Directory. In order to allow AD users to utilize services on IPA
> >>clients, up to date version of SSSD should be configured at the IPA
> >>client. In case it is not possible to install and configure SSSD >
> >>1.09,
> >>Active Directory users cannot access services on IPA clients.
> >>
> >>This feature is designed to bridge the gap and provide minimal
> >>compatibility level that allows to log-in to IPA clients for AD
> >>users.
> >>IPA clients will be able to use any reasonable nss_ldap/pam_ldap/sssd
> >>version.
> >>= Use Cases =
> >>
> >>Access to IPA client machine resources for AD users in case IPA
> >>client
> >>cannot utilize up to date version of SSSD with native support for IPA
> >>cross-realm trusts.
> >>
> >>= Design=
> >>Since IPA client is configured with the use of older SSSD or
> >>nss_ldap/pam_ldap, all work should be performed at the IPA master.
> >>Primary design decision is to provide a separate LDAP tree,
> >>similar to
> >>compat tree, that has following features:
> >>
> >>* information about both IPA and AD users can be queried;
> >>* it ispossible to enumerate members of IPA and AD groups;
> >>* authentication bind to IPA LDAP as AD users should automatically
> >>* trigger obtaining ticket from AD DC; in case TGT is obtained,
> >>* authentication bind should be treated as successful.
> >>
> >>From a client perspective, use of the separate LDAP tree is viewed as
> >>traditional nss_ldap/pam_ldap configuration.
> >>
> >>Proposed base for the LDAP tree:
> >>'''cn=users,cn=trust-accounts,dc=example,dc=com'''
> >>
> >>= Implementation =
> >>
> >># IPA server sets SSSD configuration to 'ipa_server_mode = true' on
> >>install or upgrade
> >># ipa-adtrust-install configures additional directory server
> >>plugin to
> >>serve trusted domains tree
> >># Directory server plugin uses  getpwnam_r(), getgrnam_r() and
> >>related
> >>calls to obtain information about AD user. For IPA users the
> >>information is fetched directly from the LDAP.
> >># IPA KDC database driver adds MS-PAC information into ticket
> >>granting
> >>ticket for host/fqdn@REALM principal of IPA master. This is required
> >>to allow SSSD on IPA master to authenticate against AD using
> >>host/fqdn@REALM principal.
> >>
> >>For SSSD design see
> >>https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode
> >>
> >>= Feature Management =
> >>
> >>=== UI ===
> >>
> >>The feature is transparent and not exposed in UI
> >>
> >>=== CLI ===
> >>
> >>The feature is not directly exposed in CLI.
> >>IPA idrange management is expanded to specify idrange type (IPA
> >>local,
> >>AD trust, AD with winsync, IPA trust, ..) to affect the way how AD
> >>users
> >>SIDs are mapped to POSIX IDs.
> >>
> >>= Major configuration options and enablement =
> >>
> >>sssd.conf will have 'ipa_server_mode = true' set for IPA master.
> >>
> >>= Replication =
> >>
> >>No effect on replication. Since directory server plugin is only
> >>configured when ipa-adtrust-install is run, IPA masters may opt out
> >>from
> >>serving AD clients.
> >>
> >>= Updates and Upgrades =
> >>
> >>During upgrade of IPA master, sssd.conf should be updated to set
> >>'ipa_server_mode = true'.
> >>
> >>= Dependencies =
> >>
> >>Depends on SSSD implementing IPA server mode (sssd 1.10.x)
> >>
> >>= External Impact =
> >>
> >>https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode
> >>
> >>= Backup and Restore =
> >>
> >>No external configuration files are affected
> >>
> >>= Test Plan =
> >>
> >>Testing the feature will require following:
> >>
> >># Configure IPA to serve AD trusts
> >># Establish trust with AD domain
> >># Configure a client to use nss_ldap/pam_ldap against AD-compatible
> >>tree
> >># Attempt to log-in to the client as AD user
> >>
> >>= RFE Author =
> >>
> >>[[User:Ab|ab]] ([[User talk:Ab|talk]])
> >>
> >
> >
> >Can you please explain how the older SSSD or other UNIX versions would
> >use Kerberos for authentication?
> pam_k

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-28 Thread Alexander Bokovoy

On Tue, 28 May 2013, Dmitri Pal wrote:

On 05/28/2013 04:29 PM, Alexander Bokovoy wrote:

On Tue, 28 May 2013, Dmitri Pal wrote:

On 05/28/2013 03:48 PM, Alexander Bokovoy wrote:

On Tue, 28 May 2013, Dmitri Pal wrote:

On 05/28/2013 07:50 AM, Alexander Bokovoy wrote:

Hi,


http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts

= Overview =

Since version 3.0 FreeIPA supports cross-realm trusts with Active
Directory. In order to allow AD users to utilize services on IPA
clients, up to date version of SSSD should be configured at the IPA
client. In case it is not possible to install and configure SSSD >
1.09,
Active Directory users cannot access services on IPA clients.

This feature is designed to bridge the gap and provide minimal
compatibility level that allows to log-in to IPA clients for AD
users.
IPA clients will be able to use any reasonable nss_ldap/pam_ldap/sssd
version.
= Use Cases =

Access to IPA client machine resources for AD users in case IPA
client
cannot utilize up to date version of SSSD with native support for IPA
cross-realm trusts.

= Design=
Since IPA client is configured with the use of older SSSD or
nss_ldap/pam_ldap, all work should be performed at the IPA master.
Primary design decision is to provide a separate LDAP tree,
similar to
compat tree, that has following features:

* information about both IPA and AD users can be queried;
* it ispossible to enumerate members of IPA and AD groups;
* authentication bind to IPA LDAP as AD users should automatically
* trigger obtaining ticket from AD DC; in case TGT is obtained,
* authentication bind should be treated as successful.

From a client perspective, use of the separate LDAP tree is viewed as
traditional nss_ldap/pam_ldap configuration.

Proposed base for the LDAP tree:
'''cn=users,cn=trust-accounts,dc=example,dc=com'''

= Implementation =

# IPA server sets SSSD configuration to 'ipa_server_mode = true' on
install or upgrade
# ipa-adtrust-install configures additional directory server
plugin to
serve trusted domains tree
# Directory server plugin uses  getpwnam_r(), getgrnam_r() and
related
calls to obtain information about AD user. For IPA users the
information is fetched directly from the LDAP.
# IPA KDC database driver adds MS-PAC information into ticket
granting
ticket for host/fqdn@REALM principal of IPA master. This is required
to allow SSSD on IPA master to authenticate against AD using
host/fqdn@REALM principal.

For SSSD design see
https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode

= Feature Management =

=== UI ===

The feature is transparent and not exposed in UI

=== CLI ===

The feature is not directly exposed in CLI.
IPA idrange management is expanded to specify idrange type (IPA
local,
AD trust, AD with winsync, IPA trust, ..) to affect the way how AD
users
SIDs are mapped to POSIX IDs.

= Major configuration options and enablement =

sssd.conf will have 'ipa_server_mode = true' set for IPA master.

= Replication =

No effect on replication. Since directory server plugin is only
configured when ipa-adtrust-install is run, IPA masters may opt out
from
serving AD clients.

= Updates and Upgrades =

During upgrade of IPA master, sssd.conf should be updated to set
'ipa_server_mode = true'.

= Dependencies =

Depends on SSSD implementing IPA server mode (sssd 1.10.x)

= External Impact =

https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode

= Backup and Restore =

No external configuration files are affected

= Test Plan =

Testing the feature will require following:

# Configure IPA to serve AD trusts
# Establish trust with AD domain
# Configure a client to use nss_ldap/pam_ldap against AD-compatible
tree
# Attempt to log-in to the client as AD user

= RFE Author =

[[User:Ab|ab]] ([[User talk:Ab|talk]])




Can you please explain how the older SSSD or other UNIX versions would
use Kerberos for authentication?

pam_krb5 should work as it is, as well as older SSSD, since any AD user
attempting to connect using GSSAPI to IPA services will have
cross-realm
TGT issued for us by the trusting AD DC prior to that attempt.

The whole idea was to make sure for old clients these users will look
like normal users, via nss_ldap/SSSD.

We still will need to configure principal mapping in /etc/krb5.conf
like
we do for AD users with trusts.


I thought we would have to issue some patch for client to switch the
clients from using Kerberos for authentication to using LDAP.

No need to. pam_ldap would go through LDAP bind automatically, that's
why the proposal talks about attempting to obtain TGT in place of a
user
instead of proxying such LDAP bind back to AD DC. This would require us
enforcing clear password bind over TLS/SSL but it is simpler to
achieve.


I am missing something. How a simple kinit would work?
Can you please describe the sequence and workflow?

I'm talking about the case when AD user logs in into IPA client using
PuTTY from Windows machine. In such case there is already service ticket
and

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-28 Thread Dmitri Pal
On 05/28/2013 04:29 PM, Alexander Bokovoy wrote:
> On Tue, 28 May 2013, Dmitri Pal wrote:
>> On 05/28/2013 03:48 PM, Alexander Bokovoy wrote:
>>> On Tue, 28 May 2013, Dmitri Pal wrote:
 On 05/28/2013 07:50 AM, Alexander Bokovoy wrote:
> Hi,
>
>
> http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts
>
> = Overview =
>
> Since version 3.0 FreeIPA supports cross-realm trusts with Active
> Directory. In order to allow AD users to utilize services on IPA
> clients, up to date version of SSSD should be configured at the IPA
> client. In case it is not possible to install and configure SSSD >
> 1.09,
> Active Directory users cannot access services on IPA clients.
>
> This feature is designed to bridge the gap and provide minimal
> compatibility level that allows to log-in to IPA clients for AD
> users.
> IPA clients will be able to use any reasonable nss_ldap/pam_ldap/sssd
> version.
> = Use Cases =
>
> Access to IPA client machine resources for AD users in case IPA
> client
> cannot utilize up to date version of SSSD with native support for IPA
> cross-realm trusts.
>
> = Design=
> Since IPA client is configured with the use of older SSSD or
> nss_ldap/pam_ldap, all work should be performed at the IPA master.
> Primary design decision is to provide a separate LDAP tree,
> similar to
> compat tree, that has following features:
>
> * information about both IPA and AD users can be queried;
> * it ispossible to enumerate members of IPA and AD groups;
> * authentication bind to IPA LDAP as AD users should automatically
> * trigger obtaining ticket from AD DC; in case TGT is obtained,
> * authentication bind should be treated as successful.
>
> From a client perspective, use of the separate LDAP tree is viewed as
> traditional nss_ldap/pam_ldap configuration.
>
> Proposed base for the LDAP tree:
> '''cn=users,cn=trust-accounts,dc=example,dc=com'''
>
> = Implementation =
>
> # IPA server sets SSSD configuration to 'ipa_server_mode = true' on
> install or upgrade
> # ipa-adtrust-install configures additional directory server
> plugin to
> serve trusted domains tree
> # Directory server plugin uses  getpwnam_r(), getgrnam_r() and
> related
> calls to obtain information about AD user. For IPA users the
> information is fetched directly from the LDAP.
> # IPA KDC database driver adds MS-PAC information into ticket
> granting
> ticket for host/fqdn@REALM principal of IPA master. This is required
> to allow SSSD on IPA master to authenticate against AD using
> host/fqdn@REALM principal.
>
> For SSSD design see
> https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode
>
> = Feature Management =
>
> === UI ===
>
> The feature is transparent and not exposed in UI
>
> === CLI ===
>
> The feature is not directly exposed in CLI.
> IPA idrange management is expanded to specify idrange type (IPA
> local,
> AD trust, AD with winsync, IPA trust, ..) to affect the way how AD
> users
> SIDs are mapped to POSIX IDs.
>
> = Major configuration options and enablement =
>
> sssd.conf will have 'ipa_server_mode = true' set for IPA master.
>
> = Replication =
>
> No effect on replication. Since directory server plugin is only
> configured when ipa-adtrust-install is run, IPA masters may opt out
> from
> serving AD clients.
>
> = Updates and Upgrades =
>
> During upgrade of IPA master, sssd.conf should be updated to set
> 'ipa_server_mode = true'.
>
> = Dependencies =
>
> Depends on SSSD implementing IPA server mode (sssd 1.10.x)
>
> = External Impact =
>
> https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode
>
> = Backup and Restore =
>
> No external configuration files are affected
>
> = Test Plan =
>
> Testing the feature will require following:
>
> # Configure IPA to serve AD trusts
> # Establish trust with AD domain
> # Configure a client to use nss_ldap/pam_ldap against AD-compatible
> tree
> # Attempt to log-in to the client as AD user
>
> = RFE Author =
>
> [[User:Ab|ab]] ([[User talk:Ab|talk]])
>


 Can you please explain how the older SSSD or other UNIX versions would
 use Kerberos for authentication?
>>> pam_krb5 should work as it is, as well as older SSSD, since any AD user
>>> attempting to connect using GSSAPI to IPA services will have
>>> cross-realm
>>> TGT issued for us by the trusting AD DC prior to that attempt.
>>>
>>> The whole idea was to make sure for old clients these users will look
>>> like normal users, via nss_ldap/SSSD.
>>>
>>> We still will need to configure principal mapping in /etc/krb5.conf

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-28 Thread Alexander Bokovoy

On Tue, 28 May 2013, Dmitri Pal wrote:

On 05/28/2013 03:48 PM, Alexander Bokovoy wrote:

On Tue, 28 May 2013, Dmitri Pal wrote:

On 05/28/2013 07:50 AM, Alexander Bokovoy wrote:

Hi,


http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts

= Overview =

Since version 3.0 FreeIPA supports cross-realm trusts with Active
Directory. In order to allow AD users to utilize services on IPA
clients, up to date version of SSSD should be configured at the IPA
client. In case it is not possible to install and configure SSSD >
1.09,
Active Directory users cannot access services on IPA clients.

This feature is designed to bridge the gap and provide minimal
compatibility level that allows to log-in to IPA clients for AD users.
IPA clients will be able to use any reasonable nss_ldap/pam_ldap/sssd
version.
= Use Cases =

Access to IPA client machine resources for AD users in case IPA client
cannot utilize up to date version of SSSD with native support for IPA
cross-realm trusts.

= Design=
Since IPA client is configured with the use of older SSSD or
nss_ldap/pam_ldap, all work should be performed at the IPA master.
Primary design decision is to provide a separate LDAP tree, similar to
compat tree, that has following features:

* information about both IPA and AD users can be queried;
* it ispossible to enumerate members of IPA and AD groups;
* authentication bind to IPA LDAP as AD users should automatically
* trigger obtaining ticket from AD DC; in case TGT is obtained,
* authentication bind should be treated as successful.

From a client perspective, use of the separate LDAP tree is viewed as
traditional nss_ldap/pam_ldap configuration.

Proposed base for the LDAP tree:
'''cn=users,cn=trust-accounts,dc=example,dc=com'''

= Implementation =

# IPA server sets SSSD configuration to 'ipa_server_mode = true' on
install or upgrade
# ipa-adtrust-install configures additional directory server plugin to
serve trusted domains tree
# Directory server plugin uses  getpwnam_r(), getgrnam_r() and related
calls to obtain information about AD user. For IPA users the
information is fetched directly from the LDAP.
# IPA KDC database driver adds MS-PAC information into ticket granting
ticket for host/fqdn@REALM principal of IPA master. This is required
to allow SSSD on IPA master to authenticate against AD using
host/fqdn@REALM principal.

For SSSD design see
https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode

= Feature Management =

=== UI ===

The feature is transparent and not exposed in UI

=== CLI ===

The feature is not directly exposed in CLI.
IPA idrange management is expanded to specify idrange type (IPA local,
AD trust, AD with winsync, IPA trust, ..) to affect the way how AD
users
SIDs are mapped to POSIX IDs.

= Major configuration options and enablement =

sssd.conf will have 'ipa_server_mode = true' set for IPA master.

= Replication =

No effect on replication. Since directory server plugin is only
configured when ipa-adtrust-install is run, IPA masters may opt out
from
serving AD clients.

= Updates and Upgrades =

During upgrade of IPA master, sssd.conf should be updated to set
'ipa_server_mode = true'.

= Dependencies =

Depends on SSSD implementing IPA server mode (sssd 1.10.x)

= External Impact =

https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode

= Backup and Restore =

No external configuration files are affected

= Test Plan =

Testing the feature will require following:

# Configure IPA to serve AD trusts
# Establish trust with AD domain
# Configure a client to use nss_ldap/pam_ldap against AD-compatible
tree
# Attempt to log-in to the client as AD user

= RFE Author =

[[User:Ab|ab]] ([[User talk:Ab|talk]])




Can you please explain how the older SSSD or other UNIX versions would
use Kerberos for authentication?

pam_krb5 should work as it is, as well as older SSSD, since any AD user
attempting to connect using GSSAPI to IPA services will have cross-realm
TGT issued for us by the trusting AD DC prior to that attempt.

The whole idea was to make sure for old clients these users will look
like normal users, via nss_ldap/SSSD.

We still will need to configure principal mapping in /etc/krb5.conf like
we do for AD users with trusts.


I thought we would have to issue some patch for client to switch the
clients from using Kerberos for authentication to using LDAP.

No need to. pam_ldap would go through LDAP bind automatically, that's
why the proposal talks about attempting to obtain TGT in place of a user
instead of proxying such LDAP bind back to AD DC. This would require us
enforcing clear password bind over TLS/SSL but it is simpler to achieve.


I am missing something. How a simple kinit would work?
Can you please describe the sequence and workflow?

I'm talking about the case when AD user logs in into IPA client using
PuTTY from Windows machine. In such case there is already service ticket
and cross-realm TGT available.

For kinit on IPA client all what is needed is /etc/krb5.conf

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-28 Thread Dmitri Pal
On 05/28/2013 03:48 PM, Alexander Bokovoy wrote:
> On Tue, 28 May 2013, Dmitri Pal wrote:
>> On 05/28/2013 07:50 AM, Alexander Bokovoy wrote:
>>> Hi,
>>>
>>>
>>> http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts
>>>
>>> = Overview =
>>>
>>> Since version 3.0 FreeIPA supports cross-realm trusts with Active
>>> Directory. In order to allow AD users to utilize services on IPA
>>> clients, up to date version of SSSD should be configured at the IPA
>>> client. In case it is not possible to install and configure SSSD >
>>> 1.09,
>>> Active Directory users cannot access services on IPA clients.
>>>
>>> This feature is designed to bridge the gap and provide minimal
>>> compatibility level that allows to log-in to IPA clients for AD users.
>>> IPA clients will be able to use any reasonable nss_ldap/pam_ldap/sssd
>>> version.
>>> = Use Cases =
>>>
>>> Access to IPA client machine resources for AD users in case IPA client
>>> cannot utilize up to date version of SSSD with native support for IPA
>>> cross-realm trusts.
>>>
>>> = Design=
>>> Since IPA client is configured with the use of older SSSD or
>>> nss_ldap/pam_ldap, all work should be performed at the IPA master.
>>> Primary design decision is to provide a separate LDAP tree, similar to
>>> compat tree, that has following features:
>>>
>>> * information about both IPA and AD users can be queried;
>>> * it ispossible to enumerate members of IPA and AD groups;
>>> * authentication bind to IPA LDAP as AD users should automatically
>>> * trigger obtaining ticket from AD DC; in case TGT is obtained,
>>> * authentication bind should be treated as successful.
>>>
>>> From a client perspective, use of the separate LDAP tree is viewed as
>>> traditional nss_ldap/pam_ldap configuration.
>>>
>>> Proposed base for the LDAP tree:
>>> '''cn=users,cn=trust-accounts,dc=example,dc=com'''
>>>
>>> = Implementation =
>>>
>>> # IPA server sets SSSD configuration to 'ipa_server_mode = true' on
>>> install or upgrade
>>> # ipa-adtrust-install configures additional directory server plugin to
>>> serve trusted domains tree
>>> # Directory server plugin uses  getpwnam_r(), getgrnam_r() and related
>>> calls to obtain information about AD user. For IPA users the
>>> information is fetched directly from the LDAP.
>>> # IPA KDC database driver adds MS-PAC information into ticket granting
>>> ticket for host/fqdn@REALM principal of IPA master. This is required
>>> to allow SSSD on IPA master to authenticate against AD using
>>> host/fqdn@REALM principal.
>>>
>>> For SSSD design see
>>> https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode
>>>
>>> = Feature Management =
>>>
>>> === UI ===
>>>
>>> The feature is transparent and not exposed in UI
>>>
>>> === CLI ===
>>>
>>> The feature is not directly exposed in CLI.
>>> IPA idrange management is expanded to specify idrange type (IPA local,
>>> AD trust, AD with winsync, IPA trust, ..) to affect the way how AD
>>> users
>>> SIDs are mapped to POSIX IDs.
>>>
>>> = Major configuration options and enablement =
>>>
>>> sssd.conf will have 'ipa_server_mode = true' set for IPA master.
>>>
>>> = Replication =
>>>
>>> No effect on replication. Since directory server plugin is only
>>> configured when ipa-adtrust-install is run, IPA masters may opt out
>>> from
>>> serving AD clients.
>>>
>>> = Updates and Upgrades =
>>>
>>> During upgrade of IPA master, sssd.conf should be updated to set
>>> 'ipa_server_mode = true'.
>>>
>>> = Dependencies =
>>>
>>> Depends on SSSD implementing IPA server mode (sssd 1.10.x)
>>>
>>> = External Impact =
>>>
>>> https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode
>>>
>>> = Backup and Restore =
>>>
>>> No external configuration files are affected
>>>
>>> = Test Plan =
>>>
>>> Testing the feature will require following:
>>>
>>> # Configure IPA to serve AD trusts
>>> # Establish trust with AD domain
>>> # Configure a client to use nss_ldap/pam_ldap against AD-compatible
>>> tree
>>> # Attempt to log-in to the client as AD user
>>>
>>> = RFE Author =
>>>
>>> [[User:Ab|ab]] ([[User talk:Ab|talk]])
>>>
>>
>>
>> Can you please explain how the older SSSD or other UNIX versions would
>> use Kerberos for authentication?
> pam_krb5 should work as it is, as well as older SSSD, since any AD user
> attempting to connect using GSSAPI to IPA services will have cross-realm
> TGT issued for us by the trusting AD DC prior to that attempt.
>
> The whole idea was to make sure for old clients these users will look
> like normal users, via nss_ldap/SSSD.
>
> We still will need to configure principal mapping in /etc/krb5.conf like
> we do for AD users with trusts.
>
>> I thought we would have to issue some patch for client to switch the
>> clients from using Kerberos for authentication to using LDAP.
> No need to. pam_ldap would go through LDAP bind automatically, that's
> why the proposal talks about attempting to obtain TGT in place of a user
> instead of proxying such LDAP bind back to AD DC. This would require u

Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-28 Thread Alexander Bokovoy

On Tue, 28 May 2013, Dmitri Pal wrote:

On 05/28/2013 07:50 AM, Alexander Bokovoy wrote:

Hi,


http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts

= Overview =

Since version 3.0 FreeIPA supports cross-realm trusts with Active
Directory. In order to allow AD users to utilize services on IPA
clients, up to date version of SSSD should be configured at the IPA
client. In case it is not possible to install and configure SSSD > 1.09,
Active Directory users cannot access services on IPA clients.

This feature is designed to bridge the gap and provide minimal
compatibility level that allows to log-in to IPA clients for AD users.
IPA clients will be able to use any reasonable nss_ldap/pam_ldap/sssd
version.
= Use Cases =

Access to IPA client machine resources for AD users in case IPA client
cannot utilize up to date version of SSSD with native support for IPA
cross-realm trusts.

= Design=
Since IPA client is configured with the use of older SSSD or
nss_ldap/pam_ldap, all work should be performed at the IPA master.
Primary design decision is to provide a separate LDAP tree, similar to
compat tree, that has following features:

* information about both IPA and AD users can be queried;
* it ispossible to enumerate members of IPA and AD groups;
* authentication bind to IPA LDAP as AD users should automatically
* trigger obtaining ticket from AD DC; in case TGT is obtained,
* authentication bind should be treated as successful.

From a client perspective, use of the separate LDAP tree is viewed as
traditional nss_ldap/pam_ldap configuration.

Proposed base for the LDAP tree:
'''cn=users,cn=trust-accounts,dc=example,dc=com'''

= Implementation =

# IPA server sets SSSD configuration to 'ipa_server_mode = true' on
install or upgrade
# ipa-adtrust-install configures additional directory server plugin to
serve trusted domains tree
# Directory server plugin uses  getpwnam_r(), getgrnam_r() and related
calls to obtain information about AD user. For IPA users the
information is fetched directly from the LDAP.
# IPA KDC database driver adds MS-PAC information into ticket granting
ticket for host/fqdn@REALM principal of IPA master. This is required
to allow SSSD on IPA master to authenticate against AD using
host/fqdn@REALM principal.

For SSSD design see
https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode

= Feature Management =

=== UI ===

The feature is transparent and not exposed in UI

=== CLI ===

The feature is not directly exposed in CLI.
IPA idrange management is expanded to specify idrange type (IPA local,
AD trust, AD with winsync, IPA trust, ..) to affect the way how AD users
SIDs are mapped to POSIX IDs.

= Major configuration options and enablement =

sssd.conf will have 'ipa_server_mode = true' set for IPA master.

= Replication =

No effect on replication. Since directory server plugin is only
configured when ipa-adtrust-install is run, IPA masters may opt out from
serving AD clients.

= Updates and Upgrades =

During upgrade of IPA master, sssd.conf should be updated to set
'ipa_server_mode = true'.

= Dependencies =

Depends on SSSD implementing IPA server mode (sssd 1.10.x)

= External Impact =

https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode

= Backup and Restore =

No external configuration files are affected

= Test Plan =

Testing the feature will require following:

# Configure IPA to serve AD trusts
# Establish trust with AD domain
# Configure a client to use nss_ldap/pam_ldap against AD-compatible tree
# Attempt to log-in to the client as AD user

= RFE Author =

[[User:Ab|ab]] ([[User talk:Ab|talk]])




Can you please explain how the older SSSD or other UNIX versions would
use Kerberos for authentication?

pam_krb5 should work as it is, as well as older SSSD, since any AD user
attempting to connect using GSSAPI to IPA services will have cross-realm
TGT issued for us by the trusting AD DC prior to that attempt.

The whole idea was to make sure for old clients these users will look
like normal users, via nss_ldap/SSSD.

We still will need to configure principal mapping in /etc/krb5.conf like
we do for AD users with trusts.


I thought we would have to issue some patch for client to switch the
clients from using Kerberos for authentication to using LDAP.

No need to. pam_ldap would go through LDAP bind automatically, that's
why the proposal talks about attempting to obtain TGT in place of a user
instead of proxying such LDAP bind back to AD DC. This would require us
enforcing clear password bind over TLS/SSL but it is simpler to achieve.

--
/ Alexander Bokovoy

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-28 Thread Dmitri Pal
On 05/28/2013 07:50 AM, Alexander Bokovoy wrote:
> Hi,
>
>
> http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts
>
> = Overview =
>
> Since version 3.0 FreeIPA supports cross-realm trusts with Active
> Directory. In order to allow AD users to utilize services on IPA
> clients, up to date version of SSSD should be configured at the IPA
> client. In case it is not possible to install and configure SSSD > 1.09,
> Active Directory users cannot access services on IPA clients.
>
> This feature is designed to bridge the gap and provide minimal
> compatibility level that allows to log-in to IPA clients for AD users.
> IPA clients will be able to use any reasonable nss_ldap/pam_ldap/sssd
> version.
> = Use Cases =
>
> Access to IPA client machine resources for AD users in case IPA client
> cannot utilize up to date version of SSSD with native support for IPA
> cross-realm trusts.
>
> = Design=
> Since IPA client is configured with the use of older SSSD or
> nss_ldap/pam_ldap, all work should be performed at the IPA master.
> Primary design decision is to provide a separate LDAP tree, similar to
> compat tree, that has following features:
>
> * information about both IPA and AD users can be queried;
> * it ispossible to enumerate members of IPA and AD groups;
> * authentication bind to IPA LDAP as AD users should automatically
> * trigger obtaining ticket from AD DC; in case TGT is obtained,
> * authentication bind should be treated as successful.
>
> From a client perspective, use of the separate LDAP tree is viewed as
> traditional nss_ldap/pam_ldap configuration.
>
> Proposed base for the LDAP tree:
> '''cn=users,cn=trust-accounts,dc=example,dc=com'''
>
> = Implementation =
>
> # IPA server sets SSSD configuration to 'ipa_server_mode = true' on
> install or upgrade
> # ipa-adtrust-install configures additional directory server plugin to
> serve trusted domains tree
> # Directory server plugin uses  getpwnam_r(), getgrnam_r() and related
> calls to obtain information about AD user. For IPA users the
> information is fetched directly from the LDAP.
> # IPA KDC database driver adds MS-PAC information into ticket granting
> ticket for host/fqdn@REALM principal of IPA master. This is required
> to allow SSSD on IPA master to authenticate against AD using
> host/fqdn@REALM principal.
>
> For SSSD design see
> https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode
>
> = Feature Management =
>
> === UI ===
>
> The feature is transparent and not exposed in UI
>
> === CLI ===
>
> The feature is not directly exposed in CLI.
> IPA idrange management is expanded to specify idrange type (IPA local,
> AD trust, AD with winsync, IPA trust, ..) to affect the way how AD users
> SIDs are mapped to POSIX IDs.
>
> = Major configuration options and enablement =
>
> sssd.conf will have 'ipa_server_mode = true' set for IPA master.
>
> = Replication =
>
> No effect on replication. Since directory server plugin is only
> configured when ipa-adtrust-install is run, IPA masters may opt out from
> serving AD clients.
>
> = Updates and Upgrades =
>
> During upgrade of IPA master, sssd.conf should be updated to set
> 'ipa_server_mode = true'.
>
> = Dependencies =
>
> Depends on SSSD implementing IPA server mode (sssd 1.10.x)
>
> = External Impact =
>
> https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode
>
> = Backup and Restore =
>
> No external configuration files are affected
>
> = Test Plan =
>
> Testing the feature will require following:
>
> # Configure IPA to serve AD trusts
> # Establish trust with AD domain
> # Configure a client to use nss_ldap/pam_ldap against AD-compatible tree
> # Attempt to log-in to the client as AD user
>
> = RFE Author =
>
> [[User:Ab|ab]] ([[User talk:Ab|talk]])
>


Can you please explain how the older SSSD or other UNIX versions would
use Kerberos for authentication?
I thought we would have to issue some patch for client to switch the
clients from using Kerberos for authentication to using LDAP.
Alternatively we should modify KDC to use the new extop and go though
the SSSD on the IPA side but I do not see it mentioned anywhere.
Can we get a bit more clarity about the Kerberos authentication workflow?


-- 
Thank you,
Dmitri Pal

Sr. Engineering Manager for IdM portfolio
Red Hat Inc.


---
Looking to carve out IT costs?
www.redhat.com/carveoutcosts/



___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-28 Thread Jakub Hrozek
On Tue, May 28, 2013 at 02:50:59PM +0300, Alexander Bokovoy wrote:
> = Dependencies =
> 
> Depends on SSSD implementing IPA server mode (sssd 1.10.x)

Nitpick -- currently this is planned for 1.11

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


[Freeipa-devel] [RFC] Serving legacy systems cliens for trusts

2013-05-28 Thread Alexander Bokovoy

Hi,


http://www.freeipa.org/page/V3/Serving_legacy_clients_for_trusts

= Overview =

Since version 3.0 FreeIPA supports cross-realm trusts with Active
Directory. In order to allow AD users to utilize services on IPA
clients, up to date version of SSSD should be configured at the IPA
client. In case it is not possible to install and configure SSSD > 1.09,
Active Directory users cannot access services on IPA clients.

This feature is designed to bridge the gap and provide minimal
compatibility level that allows to log-in to IPA clients for AD users.
IPA clients will be able to use any reasonable nss_ldap/pam_ldap/sssd
version. 


= Use Cases =

Access to IPA client machine resources for AD users in case IPA client
cannot utilize up to date version of SSSD with native support for IPA
cross-realm trusts.

= Design= 


Since IPA client is configured with the use of older SSSD or
nss_ldap/pam_ldap, all work should be performed at the IPA master.
Primary design decision is to provide a separate LDAP tree, similar to
compat tree, that has following features:

* information about both IPA and AD users can be queried;
* it ispossible to enumerate members of IPA and AD groups;
* authentication bind to IPA LDAP as AD users should automatically
* trigger obtaining ticket from AD DC; in case TGT is obtained,
* authentication bind should be treated as successful.

From a client perspective, use of the separate LDAP tree is viewed as
traditional nss_ldap/pam_ldap configuration.

Proposed base for the LDAP tree:
'''cn=users,cn=trust-accounts,dc=example,dc=com'''

= Implementation =

# IPA server sets SSSD configuration to 'ipa_server_mode = true' on install or 
upgrade
# ipa-adtrust-install configures additional directory server plugin to serve 
trusted domains tree
# Directory server plugin uses  getpwnam_r(), getgrnam_r() and related calls to 
obtain information about AD user. For IPA users the information is fetched 
directly from the LDAP.
# IPA KDC database driver adds MS-PAC information into ticket granting ticket 
for host/fqdn@REALM principal of IPA master. This is required to allow SSSD on 
IPA master to authenticate against AD using host/fqdn@REALM principal.

For SSSD design see
https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode

= Feature Management =

=== UI ===

The feature is transparent and not exposed in UI

=== CLI ===

The feature is not directly exposed in CLI. 


IPA idrange management is expanded to specify idrange type (IPA local,
AD trust, AD with winsync, IPA trust, ..) to affect the way how AD users
SIDs are mapped to POSIX IDs.

= Major configuration options and enablement =

sssd.conf will have 'ipa_server_mode = true' set for IPA master.

= Replication =

No effect on replication. Since directory server plugin is only
configured when ipa-adtrust-install is run, IPA masters may opt out from
serving AD clients.

= Updates and Upgrades =

During upgrade of IPA master, sssd.conf should be updated to set
'ipa_server_mode = true'.

= Dependencies =

Depends on SSSD implementing IPA server mode (sssd 1.10.x)

= External Impact =

https://fedorahosted.org/sssd/wiki/DesignDocs/IPAServerMode

= Backup and Restore =

No external configuration files are affected

= Test Plan =

Testing the feature will require following:

# Configure IPA to serve AD trusts
# Establish trust with AD domain
# Configure a client to use nss_ldap/pam_ldap against AD-compatible tree
# Attempt to log-in to the client as AD user

= RFE Author =

[[User:Ab|ab]] ([[User talk:Ab|talk]])

--
/ Alexander Bokovoy

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel