- From: Amos Jeffries <squid3@treenet.co.nz>
- Date: Thu, 23 Jun 2011 18:40:11 +1200
- To: ietf-http-wg@w3.org
On 23/06/11 05:03, Karl Dubost wrote: > Hi Andreas, > > Le 7 avr. 2011 à 05:32, Andreas Petersson a écrit : >> I recently submitted a draft for standardizing a replacement for the >> X-Forwarded-For header field. > > Did you have time for a second version? > > For the group > http://tools.ietf.org/html/draft-petersson-forwarded-for-00 > Sticking my head out as the person who formalized the Squid X-Forwarded-For security model. (I read some rumours that XFF was created by my predecessors here in Squid years back. I have not been able to verify that. If you of your experts knows better please educate me.) Nit: Reminder to the authors that the BNF for IPv6 permits localhost port 80 to be written "::1:80". Requiring IPv6 wrapped in [] is fine since this is a new header name. I dislike port being present but not strongly enough to object loudly. Nit: As currently written the draft omits two of the current practice use cases for the X-Forwarded-For header. The XFF handling cases in Squid today are: 1) MAY erase the header entirely 2) MAY omit adding the header 3) MAY pass the header through unchanged IF trust of the received content is warranted. 4) otherwise MUST add the direct client IP address or the obfuscation text "unknown" when a valid IP cannot be determined. The draft currently omits points (2) and (3) but hints at them under security considerations section 7. Nit: I like "hidden", but am not sure of its potential uptake. Anonymity people have a history of choosing full erasure even when "unknown" was offered. Most point out websites such as whatismyip indicating "you are using a proxy at IP a.b.c.d" when it finds "unknown,a.b.c.d" in the header. Also it overlaps with section 5.4 obfuscated node. Why not define example obfsnode tokens "_hidden" and "_unknown"? or even just "_" by itself. Nit: I'm not sure if its appropriate. But if possible can you add a MUST to the security considerations of section 7.1. If an agent does choose to verify and whitelist the chain and is unable to verify trust of any given token it MUST ignore the entire set of earlier (left-wise) tokens. This is necessary to avoid the most blatant security problems created by forgery and the section 5.4 obfsnode tokens. AYJ
Received on Thursday, 23 June 2011 06:40:56 UTC