Re: RFC 7540 (HTTP/2) wrt reusable connections and SNI
On Tue 2015-06-09 13:43:59 -0400, Roy T. Fielding wrote: > WRT renegotiation, it is fair to say that the WG punted on the idea > due to lack of time. If someone figures out a way to safely > renegotiate an h2 connection (and all of its streams), then go ahead > and implement it, describe it in an I-D, and submit it to the httpbis > WG. There is nothing wrong with Apache leading by example. As a heads-up: in the TLS WG, we are strongly considering banning renegotiation altogether in TLS 1.3. We are working on an alternate mechanism for clients that need to re-authenticate after having requested a a resource over an unauthenticated channel, but it will probably not be a full TLS renegotiation. --dkg
Re: RFC 7540 (HTTP/2) wrt reusable connections and SNI
> On Jun 9, 2015, at 3:42 AM, Yann Ylavic wrote: > > It just needed to get out :) > > But I agree that since we are to implement the RFC, we must comply, > and find a way to still comply with HTTP/1. > Both checks on SNI and renegotiation occur in the post_read_request > hook, so we should be able to deal with vhost's parameters (configured > Protocols, ProtocolTransports...), and do the right thing. > > On Tue, Jun 9, 2015 at 12:09 PM, Stefan Eissing > wrote: >> Yann, I am with you and feel at least unease about this mixing. >> >> But the RFC has been approved and browsers will adhere to it. So if we do >> not enforce some policies in the server, connections will fail for >> mysterious reasons. And tickets will be raised... Well, don't be too hasty. There are a number of requirements in the RFC that have nothing to do with HTTP and should be summarily ignored in the core implementation. There are other requirements in the RFC that might turn out to be wrong or unnecessary, just as we found in RFC2068, and it is our task to implement what works and change the RFCs later. However, the server as a whole should be configurable to be compliant (by default) in the relevant code. All of the requirements around TLS, for example, need to be available in the SSL configs, but it is not h2's responsibility to ensure that it has an RFC7540-compliant TLS config. That is the admin's responsibility/choice. WRT renegotiation, it is fair to say that the WG punted on the idea due to lack of time. If someone figures out a way to safely renegotiate an h2 connection (and all of its streams), then go ahead and implement it, describe it in an I-D, and submit it to the httpbis WG. There is nothing wrong with Apache leading by example. Cheers, Roy
Re: RFC 7540 (HTTP/2) wrt reusable connections and SNI
It just needed to get out :) But I agree that since we are to implement the RFC, we must comply, and find a way to still comply with HTTP/1. Both checks on SNI and renegotiation occur in the post_read_request hook, so we should be able to deal with vhost's parameters (configured Protocols, ProtocolTransports...), and do the right thing. On Tue, Jun 9, 2015 at 12:09 PM, Stefan Eissing wrote: > Yann, I am with you and feel at least unease about this mixing. > > But the RFC has been approved and browsers will adhere to it. So if we do not > enforce some policies in the server, connections will fail for mysterious > reasons. And tickets will be raised... > > >> Am 09.06.2015 um 12:06 schrieb Yann Ylavic : >> >> On Tue, Jun 9, 2015 at 11:21 AM, Stefan Eissing >> wrote: >>> >>> Also from RFC 7540, 9.2.1 >>> "A deployment of HTTP/2 over TLS 1.2 MUST disable renegotiation.“ >>> >>> (Once the h2 session is established, renegotiation may appear before that.) >>> >>> This is all a result of the „securing the web“ thinking where now HTTP and >>> TLS requirements get interwoven and layers are mixed. >> >> >> Security by mixing layers, how ironic! >> Surely HTTP/2 will secure those who want to share private and valuable >> informations (secretly), as to the web... >> It could have been that, though. >> >> >> PS: nothing personal Stefan, just about the new protocol I'm trying to >> digest... > > bytes GmbH > Hafenweg 16, 48155 Münster, Germany > Phone: +49 251 2807760. Amtsgericht Münster: HRB5782 > > >
Re: RFC 7540 (HTTP/2) wrt reusable connections and SNI
Yann, I am with you and feel at least unease about this mixing. But the RFC has been approved and browsers will adhere to it. So if we do not enforce some policies in the server, connections will fail for mysterious reasons. And tickets will be raised... > Am 09.06.2015 um 12:06 schrieb Yann Ylavic : > > On Tue, Jun 9, 2015 at 11:21 AM, Stefan Eissing > wrote: >> >> Also from RFC 7540, 9.2.1 >> "A deployment of HTTP/2 over TLS 1.2 MUST disable renegotiation.“ >> >> (Once the h2 session is established, renegotiation may appear before that.) >> >> This is all a result of the „securing the web“ thinking where now HTTP and >> TLS requirements get interwoven and layers are mixed. > > > Security by mixing layers, how ironic! > Surely HTTP/2 will secure those who want to share private and valuable > informations (secretly), as to the web... > It could have been that, though. > > > PS: nothing personal Stefan, just about the new protocol I'm trying to > digest... bytes GmbH Hafenweg 16, 48155 Münster, Germany Phone: +49 251 2807760. Amtsgericht Münster: HRB5782
Re: RFC 7540 (HTTP/2) wrt reusable connections and SNI
On Tue, Jun 9, 2015 at 11:21 AM, Stefan Eissing wrote: > > Also from RFC 7540, 9.2.1 > "A deployment of HTTP/2 over TLS 1.2 MUST disable renegotiation.“ > > (Once the h2 session is established, renegotiation may appear before that.) > > This is all a result of the „securing the web“ thinking where now HTTP and > TLS requirements get interwoven and layers are mixed. Security by mixing layers, how ironic! Surely HTTP/2 will secure those who want to share private and valuable informations (secretly), as to the web... It could have been that, though. PS: nothing personal Stefan, just about the new protocol I'm trying to digest...
Re: RFC 7540 (HTTP/2) wrt reusable connections and SNI
Btw. I have the first report from a user that gets 400 answers in browsers when mod_h2 is active because the browser reused the connection for another host. Also from RFC 7540, 9.2.1 "A deployment of HTTP/2 over TLS 1.2 MUST disable renegotiation.“ (Once the h2 session is established, renegotiation may appear before that.) This is all a result of the „securing the web“ thinking where now HTTP and TLS requirements get interwoven and layers are mixed. Which means for httpd that mod_ssl and mod_h2 need to talk to each other more. So, when a vhost allows all kinds of renegotiations / parameters, that should be fine and continue being useful when the connection talks HTTP/1. But when h2 is active, some sort of policy restriction needs to be applied (to make it fully standard compliant). Any ideas how to tackle this are appreciated. > Am 08.06.2015 um 15:56 schrieb Eric Covener : > > What's the point of SNI if it can be used to select the correct vhost > before the handshake (modulo the port...), but TLS must possibly be > renegotiated later for subsequent requests? > > In configs that use separate certificates, it gets you the correct one, and > these are n/a to the coalescing problem > > In configs that use the same certificate, I guess it gets you slightly > different TLS parameters. If you use HTTP/2, you'll have to forego these and > per-dir renegotiations. > > Maybe the latter should just be deprecated, it seems like they cause constant > problems > > bytes GmbH Hafenweg 16, 48155 Münster, Germany Phone: +49 251 2807760. Amtsgericht Münster: HRB5782
Re: RFC 7540 (HTTP/2) wrt reusable connections and SNI
> > What's the point of SNI if it can be used to select the correct vhost > before the handshake (modulo the port...), but TLS must possibly be > renegotiated later for subsequent requests? > In configs that use separate certificates, it gets you the correct one, and these are n/a to the coalescing problem In configs that use the same certificate, I guess it gets you slightly different TLS parameters. If you use HTTP/2, you'll have to forego these and per-dir renegotiations. Maybe the latter should just be deprecated, it seems like they cause constant problems