Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-31 Thread Hans Zandbelt
This approach is > immune to the sort of misconfiguration scenarios that have been discussed > in this thread, as they would result in the reverse proxy failing to > provide a properly signed header to the service. > > > > – > > Annabelle Richard Backman > >

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-31 Thread Vladimir Dzhuvinov
WS Identity > >   > >   > > *From: *OAuth on behalf of Vladimir Dzhuvinov > > *Organization: *Connect2id Ltd. > *Date: *Thursday, October 31, 2019 at 4:27 AM > *To: *"oauth@ietf.org" > *Subject: *Re: [OAUTH-WG] client certs and TLS Terminating Revers

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-31 Thread Neil Madden
On 31 Oct 2019, at 18:55, Richard Backman, Annabelle wrote: > >  > Relying on a fixed, random header name for security, even as a “defense in > depth” measure, is dangerous. In order for this mechanism to be effective, > the header name must be random (in the cryptographic sense) and must be

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-31 Thread Salz, Rich
* Relying on a fixed, random header name for security, even as a “defense in depth” measure, is dangerous. Thank you. +1 ___ OAuth mailing list OAuth@ietf.org https://www.ietf.org/mailman/listinfo/oauth

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-31 Thread Vladimir Dzhuvinov
Thanks for this note. According to the abstract the advertising is intended for "request headers for proactive content negotiation" (Accept-*), which should exclude all other types of header. I looked at the Security Considerations and wrote to the author with the suggestion to note that

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-31 Thread Salz, Rich
How about requiring reverse proxies to automatically scrub all inbound HTTP headers that start with "Sec-"? https://tools.ietf.org/html/draft-ietf-httpbis-client-hints-07 Making a header value “secret” will not protect anything. ___ OAuth mailing list

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-31 Thread Hans Zandbelt
+10 On Thu, Oct 31, 2019 at 12:26 PM Vladimir Dzhuvinov wrote: > This is a good story. > > How about requiring reverse proxies to automatically scrub all inbound > HTTP headers that start with "Sec-"? > > If a sec header has the format "Sec-[NAME]-[random-chars]" we get: > > * The "Sec-" prefix

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-31 Thread Vladimir Dzhuvinov
This is a good story. How about requiring reverse proxies to automatically scrub all inbound HTTP headers that start with "Sec-"? If a sec header has the format "Sec-[NAME]-[random-chars]" we get: * The "Sec-" prefix will  cause new compliant reserve proxies to automatically scrub the inbound

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-31 Thread Torsten Lodderstedt
> On 30. Oct 2019, at 15:15, Neil Madden wrote: > > On 30 Oct 2019, at 14:05, Torsten Lodderstedt wrote: >>> On 30. Oct 2019, at 14:56, Neil Madden wrote: >>> >>> On 30 Oct 2019, at 13:24, Justin Richer wrote: All of these problems can be solved, and I think solved better, by

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-31 Thread Hans Zandbelt
the way I see this is that stripping and setting the headers must be part of the implementation of the protocol itself, it should not be something left to a non-atomic piece of configuration by an administrator; I implemented it like this in the Apache implementation of Brian's TTRP spec [1] and

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-31 Thread Vladimir Dzhuvinov
> All in all, I am in favor of this being defined in one standard way, > in addition to secure communication between proxies and backends being > standardized — but this latter bit really seems like a separate problem. > >  — Justin -1 for devising a well known header +1 for a simple way to

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Jim Manico
I love you Neil. -- Jim Manico @Manicode > On Oct 30, 2019, at 3:18 PM, Neil Madden wrote: > >  > If you can point out where I recommended disabling TLS or not bothering to > strip headers from incoming requests, or anything else along those lines then > please let me know. Otherwise, yes

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Salz, Rich
If you strip off the TLS, you *still* cannot pass messages around without protecting them as if they had secrets because, well, the header name you are using is secret. This is not a defense in depth. ___ OAuth mailing list OAuth@ietf.org

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Neil Madden
If you can point out where I recommended disabling TLS or not bothering to strip headers from incoming requests, or anything else along those lines then please let me know. Otherwise, yes we’re done here. > On 30 Oct 2019, at 17:19, Salz, Rich wrote: > >  > To quote your previous claim:

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Salz, Rich
* To quote your previous claim: "There is no such thing as an unguessable name." Right. That doesn’t mean *I* have to guess it. * Even if your deployment team had such staggeringly bad operational security practices as to allow people to take packet captures from an internal network

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Neil Madden
On 30 Oct 2019, at 16:41, Salz, Rich wrote: > > I'm thinking of a uniformly random 16 byte name right now. Have at it. > Cute but missing the point. I don’t have to guess it. To quote your previous claim: "There is no such thing as an unguessable name." > YOU have to securely deploy it

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Salz, Rich
* I'm thinking of a uniformly random 16 byte name right now. Have at it. Cute but missing the point. I don’t have to guess it. YOU have to securely deploy it across your proxy (however many staff), your backend (however many staff), your application developers (however many), and perhaps

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Neil Madden
Combining responses to related messages (429 error): On 30 Oct 2019, at 14:07, Salz, Rich wrote: > >> But an unguessable header name is *simple* and effective and works right now >> with widely implemented functionality. > > You mean like admin/admin for administrator access? There is no

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Salz, Rich
* Again, authenticating the *connection* from the RP to the backend services is good, but is completely orthogonal to authenticating the headers themselves. I strongly disagree. Authenticating the sender allows the receiver to make a trust decision in the provenance and quality of the

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Neil Madden
On 30 Oct 2019, at 14:05, Torsten Lodderstedt wrote: >> On 30. Oct 2019, at 14:56, Neil Madden wrote: >> >> On 30 Oct 2019, at 13:24, Justin Richer wrote: >>> >>> All of these problems can be solved, and I think solved better, by securing >>> the connection between the proxy and the

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Salz, Rich
> But an unguessable header name is *simple* and effective and works right now > with widely implemented functionality. You mean like admin/admin for administrator access? There is no such thing as an unguessable name. You claim the name will never be exposed to untrusted parties. How so?

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Torsten Lodderstedt
> On 30. Oct 2019, at 14:56, Neil Madden wrote: > > On 30 Oct 2019, at 13:24, Justin Richer wrote: >> >> All of these problems can be solved, and I think solved better, by securing >> the connection between the proxy and the back-end. That way the back end >> will be able look not only for

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Neil Madden
On 30 Oct 2019, at 13:24, Justin Richer wrote: > > All of these problems can be solved, and I think solved better, by securing > the connection between the proxy and the back-end. That way the back end will > be able look not only for a specific header, but verify that the header came > from

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Torsten Lodderstedt
+1 > On 30. Oct 2019, at 14:24, Justin Richer wrote: > > All of these problems can be solved, and I think solved better, by securing > the connection between the proxy and the back-end. That way the back end will > be able look not only for a specific header, but verify that the header came

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Justin Richer
All of these problems can be solved, and I think solved better, by securing the connection between the proxy and the back-end. That way the back end will be able look not only for a specific header, but verify that the header came from the proxy itself. An obscure header name is one way to do

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-30 Thread Neil Madden
Replies below. > On 29 Oct 2019, at 19:13, Justin Richer wrote: > > I would argue that making this standard would actually increase the > likelihood of developers getting this right, as now instead of following some > copy-pasted recipe for NGINX or Apache that they found on the web, they

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-29 Thread Hans Zandbelt
+1 to Justin's and Brian's comments, I am interested to contribute and I will try and be there in person as well Hans. On Tue, Oct 29, 2019, 22:56 Brian Campbell wrote: > +1 to pretty much everything Justin said there. > > With some facilitating assistance from Ben it looks like there's now an

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-29 Thread Brian Campbell
+1 to pretty much everything Justin said there. With some facilitating assistance from Ben it looks like there's now an agenda slot for this in the upcoming secdispatch meeting in Singapore. I'll attempt to articulate the situation and see if there's interest in finding a home for the perspective

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-29 Thread Justin Richer
I would argue that making this standard would actually increase the likelihood of developers getting this right, as now instead of following some copy-pasted recipe for NGINX or Apache that they found on the web, they could turn on a standard setting that would take care of both stripping out

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-29 Thread Salz, Rich
I mean the cert that the ORIGINAL client presented to the proxy. From: Rifaat Shekh-Yusef Date: Tuesday, October 29, 2019 at 7:57 AM To: Rich Salz Cc: Neil Madden , Brian Campbell , oauth Subject: Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-29 Thread Rifaat Shekh-Yusef
Maybe I misunderstood what you meant by "client-cert". If you meant the proxy client certificate, then that is obviously not enough. You seem to suggest that you meant the remote client certificate to be installed on the proxy to be used with the backend system; if this is the case, then this

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-28 Thread Brian Campbell
When working on the Token Binding TTRP draft I guess I saw the advantage as being the simplicity or setting, sanitizing, and reading an independent header that's only conveying the token binding info about the TLS connection between the "outside" client/browser and the proxy, (which is the

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-28 Thread Salz, Rich
* To avoid the misconfiguration issue Neil raised, you probably need both: a client-cert and a signature over the certificate being forwarded, I am not so sure. One can argue that transport-level identity should be secured by transport-level. But installing a client certificate on a

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-28 Thread Rifaat Shekh-Yusef
On Mon, Oct 28, 2019 at 12:48 PM Salz, Rich wrote: > Sorry for jumping into this late. > > > > Client <--> proxy <--> backend > > > > The C/P side is protected by TLS. There must be similar protection on the > P/B side, such as client-cert, or a signature over the certificate being > forwarded,

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-28 Thread Salz, Rich
Sorry for jumping into this late. Client <--> proxy <--> backend The C/P side is protected by TLS. There must be similar protection on the P/B side, such as client-cert, or a signature over the certificate being forwarded, right? ___ OAuth mailing

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-28 Thread Neil Madden
While there are some benefits to standardizing headers for this kind of communication, there are some significant downsides - particularly when using headers to communicate critical security information like certs. It is *very* easy to misconfigure a reverse proxy to not strip Forwarded (or

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-28 Thread Rifaat Shekh-Yusef
Ok, then we are on the same page. The reason I am asking is that I have a use case where I need such a mechanism. What is the advantage you see for defining a new HTTP header over extending RFC7239? Regards, Rifaat On Mon, Oct 28, 2019 at 11:32 AM Brian Campbell wrote: > I don't think

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-28 Thread Brian Campbell
I don't think there's anything beyond defining something to carry the client certificate information (including the format and encoding). And it could well be a new RFC7239 parameter. Or it might just be a new HTTP header on its own. On Mon, Oct 28, 2019 at 9:05 AM Rifaat Shekh-Yusef wrote: >

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-28 Thread Rifaat Shekh-Yusef
Thanks Brian, I guess my question is: given RFC7239 and the fact that it is straightforward to secure the channel between the terminating reverse proxy and the backend service in a cluster, is there anything, from a standard perspective, that we need to do beyond defining a new parameter to carry

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-28 Thread Brian Campbell
On Sat, Oct 26, 2019 at 3:55 PM Rifaat Shekh-Yusef wrote: > > On Fri, Oct 25, 2019 at 3:47 PM Brian Campbell > wrote: > >> >> I did look at RFC7239 when doing that and it could have been made to work >> but felt the fit wasn't quite right and would have been more cumbersome to >> use than not.

Re: [OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-26 Thread Rifaat Shekh-Yusef
On Fri, Oct 25, 2019 at 3:47 PM Brian Campbell wrote: > Few thoughts, comments, & questions. > > I've always kind of assumed that the ship had already sailed on doing > anything standards related with this because implementations out in the > wild like Apache, NGNIX, IIS, etc. were already

[OAUTH-WG] client certs and TLS Terminating Reverse Proxies (was Re: I-D Action: draft-ietf-oauth-jwt-introspection-response-08.txt)

2019-10-25 Thread Brian Campbell
Few thoughts, comments, & questions. I've always kind of assumed that the ship had already sailed on doing anything standards related with this because implementations out in the wild like Apache, NGNIX, IIS, etc. were already providing ad hoc solutions and had been doing so for a long time. But