Greetings,
the introduction it says:
while promoting a **default deny** policy with respect to unknown
extension headers, experimental extension headers, and experimental
options. If every transit router followed that advice, it would be
impossible to transmit packets containing these things across the open
Internet. It is especially egregious to dispense that advice for
unknown extension headers, since that would severely impede deployment
of any new extension headers OR any new transport protocols in the open
Internet (as the document itself notes, unknown extension headers areindistinguishable from unknown upper-layer protocol headers). This part
of the document's advice does nothing to improve the situation reported
in RFC 7872; if anything, it makes the situation worse. It certainly
will not make the Internet work better.
While I would prefer to advise operators of transit routers just to betransparent to everything other than the Hop-by-Hop extensions header,
as discussed in the trailing message thread, adapting the more nuancedadvice in Section 4.4.5 regarding the handling of unknown options tothe cases of unknown EHs and experimental EHs and options would be an
acceptable alternative. Specific text to that effect follows below.
OLD:
3.5.3. Specific Security Implications
For obvious reasons, it is impossible to determine specific security implications of unknown IPv6 EHs. However, from security standpoint, a device should discard IPv6 extension headers for which the security implications cannot be determined. We note that this policy is allowed by [RFC7045].
3.5.4. Operational and Interoperability Impact if Blocked
As noted in [RFC7045], discarding unknown IPv6 EHs may slow down the deployment of new IPv6 EHs and transport protocols. The corresponding IANA registry ([IANA-PROTOCOLS]) should be monitored such that filtering rules are updated as new IPv6 EHs are standardized. We note that since IPv6 EHs and upper-layer protocols share the same numbering space, discarding unknown IPv6 EHs may result in packets encapsulating unknown upper-layer protocols being discarded.3.5.5. Advice
Intermediate systems should discard packets containing unknown IPv6 EHs.
NEW:
3.5.3. Specific Security Implications
For obvious reasons, it is impossible to determine specific security implications of unknown IPv6 EHs.3.5.4. Operational and Interoperability Impact if Blocked
As noted in [RFC7045], discarding unknown IPv6 EHs may slow down the deployment of new IPv6 EHs and transport protocols. The corresponding IANA registry ([IANA-PROTOCOLS]) should be monitored such that filtering rules are updated as new IPv6 EHs are standardized. We note that since IPv6 EHs and upper-layer protocols share the same numbering space, discarding unknown IPv6 EHs may result in packets encapsulating unknown upper-layer protocols being discarded.3.5.5. Advice
Enterprise intermediate systems should discard packets that contain
unknown IPv6 EHs. Other intermediate systems should permit packets
that contain unknown IPv6 EHs. We note that this policy is allowed
by [RFC7045].
3.4.10.5. Advice
Intermediate systems should discard packets containing these EHs. Only in specific scenarios in which RFC3692-Style experiments are to be performed should these EHs be permitted.
NEW:
3.4.10.5. Advice
Enterprise intermediate systems should discard packets that contain these EHs except in specific environments in which RFC3692-Style are meant to be performed. Other intermediate systems should permit
permit packets with these EHs.
OLD:
4.3.18.5. Advice
Intermediate systems should discard packets that contain these options. Only in specific environments where RFC3692-style experiments are meant to be performed should these options be permitted.
NEW:
4.3.18.5. Advice
Enterprise intermediate systems should discard packets that contain these options except in specific enviromments in which RFC3692-Style are meant to be performed. Other intermediate systems should permitpermit packets with these options.
NITS: in some places the abbreviations RHT0 and RHT1 are used, while
in other places RTH0 and RTH1 are used. The usage should be consistent.
IMHO the former abbreviations seem to be more correct.
Thanks and regards,
Mike Heard
From: C. M. Heard <heard@xxxxxxxxx>
Date: Thu, Oct 5, 2017 at 9:01 PM
Subject: Re: [OPSEC] WGLC for draft-ietf-opsec-ipv6-eh-filtering-03
To: Ron Bonica <rbonica@xxxxxxxxxxx>
Cc: OPSEC <opsec@xxxxxxxx>, Joe Touch <touch@xxxxxxxxxxxxxx>, Bob Hinden <bob.hinden@xxxxxxxxx>, Brian E Carpenter <brian.e.carpenter@xxxxxxxxx>
Mike,
I think that you just struck the note that Fernando and I missed. Transit routers filter extension headers for one of the following reasons:
- To protect themselves (as in RFC 6192)
- To protect downstream devices
Therefore, the document should contain two clearly marked sections, one regarding EH filtering policies that protect the transit router and one regarding EH filtering policies that protect downstream devices.
The first section can:
- Be very short (2 pages max)
- Be guided largely by RFC 8200
- Speak with some degree of authority (while still INFORMATIONAL)
The second section should begin with a discussion of the relationship between the transit router and the downstream devices. Let’s assume that the transit router belongs to an ISP, while downstream devices fall into the following three classes:
1) Belong to the ISP
2) Belong to parties who want to be protected by the ISP (e.g., its customers)
3) Belong to other parties
Therefore, the transit router MAY discard packets that pose a threat to the first two classes of downstream device, but MUST NOT discard packets that are required by the third class of downstream device.
From this point, we formulate a policy that *might* satisfy the above mentioned requirement. We mark this policy with the following caveats:
- It is a best guess
- If the policy is too permissive, downstream devices belonging to the ISP and those who it protects will not receive all of the protection possible
- If the policy is too restrictive, downstream devices belonging to other parties will experience collateral damage
- One size doesn’t fit all
If we were to rework the document into this shape, would it address your concerns.
Ron
From: OPSEC [mailto:opsec-bounces@xxxxxxxx] On Behalf Of C. M. Heard
Sent: Wednesday, October 4, 2017 11:08 PM
To: OPSEC <opsec@xxxxxxxx>
Subject: Re: [OPSEC] WGLC for draft-ietf-opsec-ipv6-eh-filtering-03
On Thu, 5 Oct 2017 11:10:06 +1300, Brian E Carpenter wrote:
> On 05/10/2017 02:12, Joe Touch wrote:
>
>> On 9/29/2017 1:12 AM, Van De Velde, Gunter (Nokia - BE/Antwerp) wrote:
>>>
>>> This is to open a two week WGLC
>>> for https://tools.ietf.org/html/draft-ietf-opsec-ipv6-eh-filtering-03.
>>>
>>
>> I do not agree with the claims of this document. It "informationally"
>> advises against support for key IPv6 capabilities and undermines the
>> extensibility of IPv6 by making recommendations about discarding
>> currently unassigned codepoints.
>
> Here's the problem, Joe. It's a fact of life that many firewalls
> discard a lot of stuff that they shouldn't - that's why we wrote
> RFC 7045 - but in the real world, operators blunder around based
> on folklore and vendors' defaults. We can't change any of that, but
> we can try to issue sensible advice that, overall, will limit the
> resulting breakage. IMHO this document, positioned correctly as
> Informational, will do that: on balance, it makes the world a better
> place.
I am afraid that I do not agree that the document, in its present form,
will do that. It says:
The filtering policy typically depends on where in the network such
policy is enforced: when the policy is enforced in a transit network,
the policy typically follows a "black-list" approach, where only
packets with clear negative implications are dropped. On the other
hand, when the policy is enforced closer to the destination systems,
the policy typically follows a "white-list" approach, where only
traffic that is expected to be received is allowed. The advice in
this document is aimed only at transit routers that may need to
enforce a filtering policy based on the EHs and IPv6 options a packet
may contain, following a "black-list" approach, and hence is likely
to be much more permissive that a filtering policy to be employed
e.g. at the edge of an enterprise network. The advice in thisdocument is meant to improve the current situation of the dropping of
packets with IPv6 EHs in the Internet [RFC7872].
while at the same time promoting a **default deny** policy with
respect to unrecognized options and unrecognized extension headers.
That is antithetical to the mission of a **transit router**, which
is to get packets transparently from point A to point B. It is
especially egregious to dispense this advice for unrecognized
extension headers, since they are indistinguishable from unrecognized
transport protocols. If these things are blocked by **transit routers**
it becomes impossible to deploy any new options or transport protocols.
But we already know that, don't we?
If we want to give constructive advice that really will make the
world a better place, we should:
1.) Advise operators of **transit routers** to be transparent toeverything other than the Hop-by-Hop extensions header, and provide
detailed advice on what to do (based on the updates in RFC 8200)
about Hop-by-Hop options. The default should be IGNORE unless there
is an option you need to process.
2.) Reserve all the detailed filtering advicee for operators of
firewalls, enterprise routers, and other systems whose mission it
is to protect the end systems behind them (or to prevent misbehavior
by said end systems). A default deny for unrecognized stuff is not
unreasonable for such systems.
3.) Remind implementors of the following requirement from RFC 7045:
Forwarding nodes MUST be configurable to allow packets containing
unrecognised extension headers, but the default configuration MAY
drop such packets.
and add similar advice for options.
Thanks and regards,
Mike Heard