Unix Technical Forum

Re: Kerberos brokenness and oops question in 8.1beta2

This is a discussion on Re: Kerberos brokenness and oops question in 8.1beta2 within the pgsql Hackers forums, part of the PostgreSQL category; --> > > Anyway. This makes it impossible for a 8.1 client to > connect to a 8.0 > > ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > pgsql Hackers

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-11-2008, 06:09 AM
Magnus Hagander
 
Posts: n/a
Default Re: Kerberos brokenness and oops question in 8.1beta2

> > Anyway. This makes it impossible for a 8.1 client to
> connect to a 8.0
> > server, or a 8.0 client to a 8.1 server, in any case where

> the service
> > name has changed - such as a win32 active directory deployment, but
> > I'm sure many others as well.

>
> How important is that really? How many win32 users are
> likely to be using Kerberos auth with 8.0?


Not all that many - especially since it required a recompile to work
with AD. But some, I know of at least a couple who have mailed me about
instructions on how to do it, for example.

I don't know how many other cases changed principal names are used in,
though - we had the functionality to change it in the backend long
before we supported kerberos on windows.


> > The only real advantage to how it is now is that it's

> "cleaner". The
> > argument that it protects against a security hole in MIT

> KRB5 doesn't
> > hold any more because there is a patch out, and we can't take
> > responsibility for people who haven't patched.

>
> I don't really buy that argument. ISTM we should fix the
> code to do the right thing, especially if the right thing is
> more secure. If I understood what you said properly,
> hardwiring it as "postgres" is the correct thing, and loss of
> compatibility in marginal cases is just the price we pay for
> having done it wrong originally.


I said it was probably cleaner, which may or may not be the same as
"correct". It's very hard to find good documentation about the
krb5_sendauth/recvauth calls, so I'm not very sure about that - that's
why I'm asking before coding. The best I've found now that I searched
some more states:

"The paramter appl_version is a string describing the application
protocol version which the client is expecting to use for this exchange.
If the server is using a different application protocol, an error will
be returned."

But we already deal with protocol versions outside of this, so there's
not need ot use that functionality. Then again, there is nothing in the
spec that prevents us from using it the way we have previously done
either.

Quick code-check shows that if we set it to NULL instead it disables the
check on MIT Kerberos for to fix exactly this kind of issue, but it
looks like it would cause a crash on Heimdal, so that's not realliy a
good idea either.


The point is I'm having a hard time seeing what the actual gain is in
not changing it back. If the principal name mismatches, we're going to
get rejected anyway, so it's not really a problem there. Even though the
gain in changing it back isn't all that big either, why should we
introduce abackwards-incompatibility if there is no real gain in a
different part of the code.

//Magnus

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 04:10 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com