Re: Alternative proxy-creds API for constrained-delegation

Isaac Boukris <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.devel
Message-ID <CAC-fF8Qxt-ZmXiu6uWGZWvF7YcbsCh=gJ5pTXEPx_gw_+OTxrQ@mail.gmail.com>
On Wed, Jun 3, 2020 at 11:26 PM Nico Williams <[email protected]> wrote:
>
> On Wed, Jun 03, 2020 at 02:34:13PM -0500, Nico Williams wrote:
> > On Wed, Jun 03, 2020 at 06:54:01PM +0200, Isaac Boukris wrote:
> > > On Wed, Jun 3, 2020 at 5:58 PM Nico Williams <[email protected]> wrote:
> > > > On Wed, Jun 03, 2020 at 02:15:58PM +0200, Isaac Boukris wrote:
> > > > > This sounds a lot of application logic, and we also don't want to
> > > > > implicitly delegate a ticket at this point.
> > > >
> > > > On the contrary, this makes the app simpler because configuration now is
> > > > something of a hole: the app doesn't need to know anything about it, it
> > > > just passes through settings from a config file.
> > > >
> > > > We do this in our sshd already, so it won't need _any_ changes in order
> > > > to use this new configuration parameter.
> > >
> > > Not sure I follow, so your sshd won't need any changes, how does that
> > > make it simple for others? And again, we don't want to implicitly
> > > delegate a ticket at this point.
> >
> > I'm going to publish our patches (got permission today), and hopefully
> > we can coalesce on one fork of OpenSSH with GSS KEYEX and then we can
> > contribute to OpenSSH.
>
> https://github.com/gss-openssh/openssh-portable/tree/V_8_0_P1-with-gss-keyex-and-HPN
>
> I'll be rebasing these, squashing some dropping all the "Release ..."
> commits, maybe splitting Debian, HPN, and GSS KEYEX commits into
> separate branches, with master having all the patches.
>
> > Regardless, if you follow this pattern in other apps, you'll get the
> > same benefit of making the use of new configuration parameters not
> > require further app changes -- IMO minimizing future needed code changes
> > is a very powerful feature.
>
> The code in question is here:
>
>  - cred_store key/value setup:
>
>    https://github.com/gss-openssh/openssh-portable/blob/V_8_0_P1-with-gss-keyex-and-HPN/gss-serv-generic.c#L161
>
>    Yes, it's more lines of code than your alternative, but this has to
>    be written only once -- new config parameters can just be added to
>    sshd_config (see below).
>
>  - gss_store_cred_into2() call:
>
>    https://github.com/gss-openssh/openssh-portable/blob/V_8_0_P1-with-gss-keyex-and-HPN/gss-serv-generic.c#L178
>
>  - relevant sshd_config parsing parts:
>
>    https://github.com/gss-openssh/openssh-portable/blob/V_8_0_P1-with-gss-keyex-and-HPN/servconf.c#L283
>    https://github.com/gss-openssh/openssh-portable/blob/V_8_0_P1-with-gss-keyex-and-HPN/servconf.c#L1611

Thanks, I think I get it better now.

> Now I'm thinking it'd be nice to have separate sshd_config params for
> acceptor acquisition from cred_store and storing of
> deleg_cred_handles...

So if we go with gss_acquire_cred_from(), we can add a new store
option "delegation-policy: client-tgt,client-ticket" which will
override the corresponding krb5.conf option, which will default to
"client-tgt,proxy-creds". Then one could add GssCredStoreKeyValue
delegation-policy ...
_______________________________________________
krbdev mailing list             [email protected]
https://mailman.mit.edu/mailman/listinfo/krbdev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.