Re: New Version Notification for draft-nottingham-site-wide-headers-01.txt

Mark Nottingham <mnot@mnot.net> Thu, 24 November 2016 05:45 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 229071294FB for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 23 Nov 2016 21:45:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.398
X-Spam-Level:
X-Spam-Status: No, score=-8.398 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.497, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GE3zE_5azhrm for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 23 Nov 2016 21:45:13 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3B0821294AE for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 23 Nov 2016 21:45:13 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1c9mmK-0007qu-Sa for ietf-http-wg-dist@listhub.w3.org; Thu, 24 Nov 2016 05:41:00 +0000
Resent-Date: Thu, 24 Nov 2016 05:41:00 +0000
Resent-Message-Id: <E1c9mmK-0007qu-Sa@frink.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by frink.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <mnot@mnot.net>) id 1c9mmA-0007pf-Ey for ietf-http-wg@listhub.w3.org; Thu, 24 Nov 2016 05:40:50 +0000
Received: from mxout-07.mxes.net ([216.86.168.182]) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <mnot@mnot.net>) id 1c9mm4-0001dT-81 for ietf-http-wg@w3.org; Thu, 24 Nov 2016 05:40:45 +0000
Received: from [192.168.4.130] (unknown [124.189.98.244]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id 6ABE922E255; Thu, 24 Nov 2016 00:40:20 -0500 (EST)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 10.1 \(3251\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <CABkgnnU6HrfkmqZhLFGMdKwLh2gcddH7eHbv--Tt_Vu8K+jnfw@mail.gmail.com>
Date: Thu, 24 Nov 2016 16:40:15 +1100
Cc: HTTP Working Group <ietf-http-wg@w3.org>, Mike West <mkwst@google.com>, "Emily Stark (Dunn)" <estark@google.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <C7052629-D5C8-4B03-B2DE-DF82F44F6F5F@mnot.net>
References: <147995400666.32746.15867339667353417986.idtracker@ietfa.amsl.com> <FCDFC352-5D68-456F-AFF4-39E9E1697AF2@mnot.net> <CABkgnnU6HrfkmqZhLFGMdKwLh2gcddH7eHbv--Tt_Vu8K+jnfw@mail.gmail.com>
To: Martin Thomson <martin.thomson@gmail.com>
X-Mailer: Apple Mail (2.3251)
Received-SPF: pass client-ip=216.86.168.182; envelope-from=mnot@mnot.net; helo=mxout-07.mxes.net
X-W3C-Hub-Spam-Status: No, score=-8.2
X-W3C-Hub-Spam-Report: AWL=1.425, BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1c9mm4-0001dT-81 0c83be37ca7ff0ab701b04eb308d8145
X-Original-To: ietf-http-wg@w3.org
Subject: Re: New Version Notification for draft-nottingham-site-wide-headers-01.txt
Archived-At: <http://www.w3.org/mid/C7052629-D5C8-4B03-B2DE-DF82F44F6F5F@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32988
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

> On 24 Nov. 2016, at 3:14 pm, Martin Thomson <martin.thomson@gmail.com> wrote:
> 
> On 24 November 2016 at 13:28, Mark Nottingham <mnot@mnot.net> wrote:
>> Biggest change in this revision is restricting site-wide headers to a
>> whitelist + a prefix ("site-"). Feedback appreciated.
> 
> So the intent is to signal to the client that the header field is
> valid for inclusion in the site-wide headers?  Doesn't that make it
> odd when you have a header field (like CSP) that is perfectly valid on
> a per-resource basis?  Isn't a blacklist easier to work with?  I
> realize that doesn't give any potential HTTP overlords the ability to
> control what appears, but nonsensical responses will be created with
> or without blessing from upon high.

No, but interesting guess. 

I sketched in a whitelist because site-wide headers are the exception, not the rule, and the designer of the header should really opt into it. Requiring a known prefix and whitelisting existing headers gives you that.

Happy to talk about other approaches, of course, but hopefully with better motivation than you've described.


> You don't describe the consequences if someone puts a Date header
> field in a site-wide resource.  You only say not to.

Where do I say not to?


> The example of CSP is particularly enlightening: it has very strict
> combining rules:
> https://w3c.github.io/webappsec-csp/2/#enforcing-multiple-policies
> These rules mean that a site-wide CSP can be deployed, but it would
> have to be permissive enough to permit the union of all valid policies
> for every resource on the origin.  That's certainly possible, but
> potentially inconvenient.  Deploying CSP is already a nightmare.

Yes. I've never liked that aspect of CSP, but apparently it's necessary for security. IIRC Mike has been working on a default / base CSP policy spec, but I couldn't find it in a quick search of the usual places; Mike? If that gets traction, maybe it should be here instead of CSP.


> Text describing how site-wide and local header fields are combined
> might help point in the right direction.

It says append. I suppose I could monkey-patch Fetch, if there's interest. Although in many ways, this kind of happens at a layer "below" Fetch.

> You say that site-wide headers are appended, but the natural thing to
> do when you hit HS is to insert.

Mmm, dunno. I think it depends a lot on your implementation. I'm not against that approach, but append seems more... stable (and thus easier to debug?).


> P3P lives!

Unfortunately. <https://www.w3.org/TR/P3P/#Appendix_Working>. You're welcome. 


--
Mark Nottingham   https://www.mnot.net/