[Freeipa-users] A couple of quick questions about FreeIPA

2012-04-26 Thread Paul Robert Marino
Hello
I'm trying to figure out if free IPA is a good solution for my
environment or if i should just construct a custom infrastructure with
389 server and i just have a couple of quick questions. I have a long
history working with LDAPv3 and I'm currently planing a new
infrastructure for my current employer. I've worked with OpenLDAP 389
server and even 389 servers original incarnation when Netscape was
still around

1) Can the Kerberos server be on an other box.
I'm not a python programer so I haven't been able to test it my self
but many of the Kerberos calls look like wrappers to the C libraries.
if so than it might be possible

2) Can I configure it not to store the Kerberos data in the LDAP
server. I don't like the chicken  and the egg authentication conundrum
this can cause, and I have no intention of allowing users to use
LDAPv2 so I actually don't want the password field in the database or
at least blocked by an ACL so it cant be used. I personally find the
fact that applications still use this field for authentication
appalling because it essentially turned back the clock to before
shadow password files.


3) This is the most important question, there has been a lot of talk
about fixing the issues with MIT Kerberos. Is there someplace I can
look To see what the status of these fixes are other than pouring
through the change logs for MIT Kerberos.
I don't want to get in to a Kerberos holy war but most of these are
really old bugs in MIT Kerberos that made me abandon the Idea of ever
using the MIT server in production over a decade ago. I know exactly
the issues that lead to the Samba group choose to code only to Heimdal
all too well because I first remember hitting them and reporting them
back 2001 to the Samba group via usenet.
The big thing for me is the thread safety because this often caused
the MIT Kerberos server to crash then Samba was running in domain mode
on the same box, Honestly I still don't trust MIT's implementation in
a mission critical environment,

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


Re: [Freeipa-users] A couple of quick questions about FreeIPA

2012-04-26 Thread Dmitri Pal
On 04/26/2012 12:57 PM, Paul Robert Marino wrote:
 Hello
 I'm trying to figure out if free IPA is a good solution for my
 environment or if i should just construct a custom infrastructure with
 389 server and i just have a couple of quick questions. I have a long
 history working with LDAPv3 and I'm currently planing a new
 infrastructure for my current employer. I've worked with OpenLDAP 389
 server and even 389 servers original incarnation when Netscape was
 still around

 1) Can the Kerberos server be on an other box.
 I'm not a python programer so I haven't been able to test it my self
 but many of the Kerberos calls look like wrappers to the C libraries.
 if so than it might be possible

Currently no, since KDC uses local LDAP calls over ldapi.
Can you please explain why KDC on a separate box is a requirement in
your case?


 2) Can I configure it not to store the Kerberos data in the LDAP
 server. 
This defeats the purpose of the solution. The whole point is to make
them integrated.
If you do not want this you can get any LDAP server and Kerberos and do
it yourself.

 I don't like the chicken  and the egg authentication conundrum
 this can cause, and I have no intention of allowing users to use
 LDAPv2 so I actually don't want the password field in the database or
 at least blocked by an ACL so it cant be used. 

This is all taken care for you in IPA. It is unclear what problem you
are trying to solve.
LDAP will store userPassword with different strong hashes that can be
used for Kerberos auth and for LDAP auth.
You can close anonymous bind that we recommend. You can require TLS for
simple bind.

 I personally find the
 fact that applications still use this field for authentication
 appalling because it essentially turned back the clock to before
 shadow password files.

There are all sorts of ways to control what kind of authentication is
allowed and not expose weaker authentication methods if you do not want to.


 3) This is the most important question, there has been a lot of talk
 about fixing the issues with MIT Kerberos. Is there someplace I can
 look To see what the status of these fixes are other than pouring
 through the change logs for MIT Kerberos.
Which bugs in particular?
 I don't want to get in to a Kerberos holy war but most of these are
 really old bugs in MIT Kerberos that made me abandon the Idea of ever
 using the MIT server in production over a decade ago. I know exactly
 the issues that lead to the Samba group choose to code only to Heimdal
 all too well because I first remember hitting them and reporting them
 back 2001 to the Samba group via usenet.
 The big thing for me is the thread safety because this often caused
 the MIT Kerberos server to crash then Samba was running in domain mode
 on the same box, Honestly I still don't trust MIT's implementation in
 a mission critical environment,

Are you talking libkrb5? I do not think it is used inside IPA server.
KDC is not threaded but LDAP driver (KDC glue to LDAP) is capable of
working with multithreaded DS. So far we have not seen any issues there
in the whole lifetime of the IPA which is more than 4 years.

Generally we have been actively working with MIT and if there are any
specific issues that you think are still there and worth solving we
would like to hear about them.

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


-- 
Thank you,
Dmitri Pal

Sr. Engineering Manager IPA project,
Red Hat Inc.


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



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


Re: [Freeipa-users] A couple of quick questions about FreeIPA

2012-04-26 Thread Simo Sorce
On Thu, 2012-04-26 at 12:57 -0400, Paul Robert Marino wrote:
 Hello
 I'm trying to figure out if free IPA is a good solution for my
 environment or if i should just construct a custom infrastructure with
 389 server and i just have a couple of quick questions. I have a long
 history working with LDAPv3 and I'm currently planing a new
 infrastructure for my current employer. I've worked with OpenLDAP 389
 server and even 389 servers original incarnation when Netscape was
 still around
 
 1) Can the Kerberos server be on an other box.
 I'm not a python programer so I haven't been able to test it my self
 but many of the Kerberos calls look like wrappers to the C libraries.
 if so than it might be possible

No.
Our install scripts support setting up the KDC only locally on the same
box for various reasons of simplicity and performance.

 2) Can I configure it not to store the Kerberos data in the LDAP
 server. I don't like the chicken  and the egg authentication conundrum
 this can cause, and I have no intention of allowing users to use
 LDAPv2 so I actually don't want the password field in the database or
 at least blocked by an ACL so it cant be used. I personally find the
 fact that applications still use this field for authentication
 appalling because it essentially turned back the clock to before
 shadow password files.

No, KDC data is in LDAP, but there is no chicken/egg issue, plus we do
not expose userPassword nor any of the krb5 keys to users (keys are
exposed to the KDC process of course).
You have to use LDAP simple binds or SASL/GSSAPI binds to authenticate
when you use IPA.

 3) This is the most important question, there has been a lot of talk
 about fixing the issues with MIT Kerberos. Is there someplace I can
 look To see what the status of these fixes are other than pouring
 through the change logs for MIT Kerberos.

Plans for what goes in various MIT Kerberos releases are generally
available on http://k5wiki.kerberos.org/, but the changelog is the
authoritative source of info for what is fixed in current releases.

 I don't want to get in to a Kerberos holy war but most of these are
 really old bugs in MIT Kerberos that made me abandon the Idea of ever
 using the MIT server in production over a decade ago. I know exactly
 the issues that lead to the Samba group choose to code only to Heimdal
 all too well because I first remember hitting them and reporting them
 back 2001 to the Samba group via usenet.
 The big thing for me is the thread safety because this often caused
 the MIT Kerberos server to crash then Samba was running in domain mode
 on the same box, Honestly I still don't trust MIT's implementation in
 a mission critical environment,

MIT Kerberos libraries are thread safe, this has been the case for a
long while now. If you have specific questions or doubts feel free to
ask.

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York

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


Re: [Freeipa-users] A couple of quick questions about FreeIPA

2012-04-26 Thread Paul Robert Marino
Thank You every one for answering so quickly

On Thu, Apr 26, 2012 at 1:20 PM, Simo Sorce s...@redhat.com wrote:
 On Thu, 2012-04-26 at 12:57 -0400, Paul Robert Marino wrote:
 Hello
 I'm trying to figure out if free IPA is a good solution for my
 environment or if i should just construct a custom infrastructure with
 389 server and i just have a couple of quick questions. I have a long
 history working with LDAPv3 and I'm currently planing a new
 infrastructure for my current employer. I've worked with OpenLDAP 389
 server and even 389 servers original incarnation when Netscape was
 still around

 1) Can the Kerberos server be on an other box.
 I'm not a python programer so I haven't been able to test it my self
 but many of the Kerberos calls look like wrappers to the C libraries.
 if so than it might be possible

 No.
 Our install scripts support setting up the KDC only locally on the same
 box for various reasons of simplicity and performance.

I understand the reasoning I just don't like sub components to be too
dependent on each other, especially when talking about distributed
authentication infrastructures.
Ive had instances where a bug in a piece of software (or just a poorly
written piece of software) has opened a ridiculous number of
connections and caused cascading failures of LDAP servers due to
exceeding the max file handle limit on the boxes usually its web apps
that do it.
In those instances the only thing that bought me enough time to deal
with the issues before it caused a serious outage was the fact that my
Kerberos servers were not effected and the fact that I had properly
tuned nscd on the boxes.
I know ssd and pam_nss are planed to completely replace it but I still
find nscd very useful, and every place I've seen it cause problems it
was because it was never properly tuned e.g. if you have a web server
that accepts 1000 or more connections the maximum number of threads
being limited to default of 32 is obviously far too low and results in
the Apache processes DOSing it. that's how it winds up in states where
it eats an entire cpu core and never seems to answer any queries
essentially its still working through its backlog of expired queries,
and eventually crashes if the problem persists. I also tend to double
the deceptively named  suggested size for passwd, group, and hosts
as i find it significantly improves the hit rate and max number of
cached values.



 2) Can I configure it not to store the Kerberos data in the LDAP
 server. I don't like the chicken  and the egg authentication conundrum
 this can cause, and I have no intention of allowing users to use
 LDAPv2 so I actually don't want the password field in the database or
 at least blocked by an ACL so it cant be used. I personally find the
 fact that applications still use this field for authentication
 appalling because it essentially turned back the clock to before
 shadow password files.

 No, KDC data is in LDAP, but there is no chicken/egg issue, plus we do
 not expose userPassword nor any of the krb5 keys to users (keys are
 exposed to the KDC process of course).
 You have to use LDAP simple binds or SASL/GSSAPI binds to authenticate
 when you use IPA.

glad to hear the userPassword is not exposed
however many poorly written applications expect to login as a user
that can see the field and than do the authentication themselves
rather than doing a bind for each user who logs in.
even Apaches LDAP auth modules do this, personally I think the idea
behind Auth MemCache Cookie sounds close to the ideal way web apps
should handle authentication for this kind of thing even for non LDAP
auth because it avoids doing a full login for every file downloaded
although admittedly I haven't tried that module yet.



 3) This is the most important question, there has been a lot of talk
 about fixing the issues with MIT Kerberos. Is there someplace I can
 look To see what the status of these fixes are other than pouring
 through the change logs for MIT Kerberos.

 Plans for what goes in various MIT Kerberos releases are generally
 available on http://k5wiki.kerberos.org/, but the changelog is the
 authoritative source of info for what is fixed in current releases.

 I don't want to get in to a Kerberos holy war but most of these are
 really old bugs in MIT Kerberos that made me abandon the Idea of ever
 using the MIT server in production over a decade ago. I know exactly
 the issues that lead to the Samba group choose to code only to Heimdal
 all too well because I first remember hitting them and reporting them
 back 2001 to the Samba group via usenet.
 The big thing for me is the thread safety because this often caused
 the MIT Kerberos server to crash then Samba was running in domain mode
 on the same box, Honestly I still don't trust MIT's implementation in
 a mission critical environment,

 MIT Kerberos libraries are thread safe, this has been the case for a
 long while now. If you have specific questions or doubts feel free to
 ask.


Re: [Freeipa-users] A couple of quick questions about FreeIPA

2012-04-26 Thread Simo Sorce
On Thu, 2012-04-26 at 16:52 -0400, Paul Robert Marino wrote:
 Thank You every one for answering so quickly

 I understand the reasoning I just don't like sub components to be too
 dependent on each other, especially when talking about distributed
 authentication infrastructures.
 Ive had instances where a bug in a piece of software (or just a poorly
 written piece of software) has opened a ridiculous number of
 connections and caused cascading failures of LDAP servers due to
 exceeding the max file handle limit on the boxes usually its web apps
 that do it.
 In those instances the only thing that bought me enough time to deal
 with the issues before it caused a serious outage was the fact that my
 Kerberos servers were not effected and the fact that I had properly
 tuned nscd on the boxes.

Use replicas with forntend servers, that way you will at most bring down
a replica but not the core infrastructure.

 I know ssd and pam_nss are planed to completely replace it but I still
 find nscd very useful, and every place I've seen it cause problems it
 was because it was never properly tuned e.g. if you have a web server
 that accepts 1000 or more connections the maximum number of threads
 being limited to default of 32 is obviously far too low and results in
 the Apache processes DOSing it. that's how it winds up in states where
 it eats an entire cpu core and never seems to answer any queries
 essentially its still working through its backlog of expired queries,
 and eventually crashes if the problem persists. I also tend to double
 the deceptively named  suggested size for passwd, group, and hosts
 as i find it significantly improves the hit rate and max number of
 cached values.

Yes, tuning is always important when dealing with network facing
services, you will be required to tune your installations in all cases.

With sssd we replace nscd simply because it knows better when it make
sense to make a query, how to pool queries, and when servers are not
reachable and it can immediately answer back.
Also we added a shmem bases cache to pam_sss in master that brings
performance on par with nscd for the cases where it matters most.


 glad to hear the userPassword is not exposed
 however many poorly written applications expect to login as a user
 that can see the field and than do the authentication themselves
 rather than doing a bind for each user who logs in.

Well we have no magic wand here do we :-)
If you have those applications you will have to decide if it is a good
idea to relax permissions on userPassword or if it is possible to modify
the application or use alternatives.

 even Apaches LDAP auth modules do this, personally I think the idea
 behind Auth MemCache Cookie sounds close to the ideal way web apps
 should handle authentication for this kind of thing even for non LDAP
 auth because it avoids doing a full login for every file downloaded
 although admittedly I haven't tried that module yet.

Yes, we are planning to eventually extend this method to a usable method
for third party apps on other servers through standard APIs, but we are
not there yet.


 Glad to hear that the thread safety was fixed it has been a few years
 since i looked to that.it use to be quite a serious problem and not
 just for Samba,

FWIW all of samba except libsmbclient is not multi-threaded and is
largely non multi-thread safe, so I am not really sure why that would
have been an issue there, but it is fixed, and we are all happy now :)

 for those of you who were familiar with it. it was a libkrb5 issue
 that was caused usually when a multi-threaded app would try to
 simultaneously via local socket instead of the network. These
 condition usually resulted the Kerberos server crashing.

A few other samba libraries cough*nss_winbindd*cough were also not
thread safe until relatively recently ... this things happen, and they
get fixed.

 I still have to think about it because there are still a few
 separation things I would like to do that I would still be prohibited
 from doing on one set of servers like have a second realm and OU just
 for my network gear.
 but ill definitely do some experiments before i make my final decision.

We are working on cross realm trust as the next big feature, that will
allow you to have a separate infrastructure for network gear if you like
and still be able to authenticate from one realm to the other.

IPA-IPA cross realm is not fully tabled yet, it will come after our
first stab at AD-IPA cross realm trust support.

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York

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