Re: [v6ops] Last Call: <draft-ietf-v6ops-ra-guard-implementation-04.txt> (Implementation Advice for IPv6 Router Advertisement Guard (RA-Guard)) to Best Current Practice

Ronald Bonica <rbonica@juniper.net> Thu, 31 May 2012 15:18 UTC

Return-Path: <rbonica@juniper.net>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 10BFE21F874C for <v6ops@ietfa.amsl.com>; Thu, 31 May 2012 08:18:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.427
X-Spam-Level:
X-Spam-Status: No, score=-106.427 tagged_above=-999 required=5 tests=[AWL=0.172, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TXOjCeCVboQz for <v6ops@ietfa.amsl.com>; Thu, 31 May 2012 08:18:21 -0700 (PDT)
Received: from exprod7og114.obsmtp.com (exprod7og114.obsmtp.com [64.18.2.215]) by ietfa.amsl.com (Postfix) with ESMTP id E2ED621F8743 for <v6ops@ietf.org>; Thu, 31 May 2012 08:18:20 -0700 (PDT)
Received: from P-EMHUB02-HQ.jnpr.net ([66.129.224.36]) (using TLSv1) by exprod7ob114.postini.com ([64.18.6.12]) with SMTP ID DSNKT8eLuf0rO296ot/1TP229PuKH+zjUvsm@postini.com; Thu, 31 May 2012 08:18:20 PDT
Received: from P-CLDFE02-HQ.jnpr.net (172.24.192.60) by P-EMHUB02-HQ.jnpr.net (172.24.192.36) with Microsoft SMTP Server (TLS) id 8.3.213.0; Thu, 31 May 2012 08:17:45 -0700
Received: from p-emfe02-wf.jnpr.net (172.28.145.25) by p-cldfe02-hq.jnpr.net (172.24.192.60) with Microsoft SMTP Server (TLS) id 14.1.355.2; Thu, 31 May 2012 08:17:44 -0700
Received: from EMBX01-WF.jnpr.net ([fe80::1914:3299:33d9:e43b]) by p-emfe02-wf.jnpr.net ([fe80::c126:c633:d2dc:8090%11]) with mapi; Thu, 31 May 2012 11:16:55 -0400
From: Ronald Bonica <rbonica@juniper.net>
To: Fernando Gont <fgont@si6networks.com>
Date: Thu, 31 May 2012 11:16:54 -0400
Thread-Topic: [v6ops] Last Call: <draft-ietf-v6ops-ra-guard-implementation-04.txt> (Implementation Advice for IPv6 Router Advertisement Guard (RA-Guard)) to Best Current Practice
Thread-Index: Ac0/PWx/a3iNV5SQShq1dD1gtHDQTgAAf8uA
Message-ID: <13205C286662DE4387D9AF3AC30EF456D76C450163@EMBX01-WF.jnpr.net>
References: <7BAC243D-7B55-460E-B36C-52CA83F12B78@gmail.com> <4FC6AAD4.4090108@si6networks.com> <13205C286662DE4387D9AF3AC30EF456D76C44FF13@EMBX01-WF.jnpr.net> <4FC7864D.8000307@si6networks.com>
In-Reply-To: <4FC7864D.8000307@si6networks.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "v6ops@ietf.org" <v6ops@ietf.org>, RJ Atkinson <rja.lists@gmail.com>
Subject: Re: [v6ops] Last Call: <draft-ietf-v6ops-ra-guard-implementation-04.txt> (Implementation Advice for IPv6 Router Advertisement Guard (RA-Guard)) to Best Current Practice
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/v6ops>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 31 May 2012 15:18:22 -0000

Fernando,

If I read what you are saying correctly, our request to 6man should say:

1) Hosts MUST NOT fragment ICMPv6 Router Solicitation, Router Advertisement, Neighbor Solicitation, Neighbor Advertisement or Redirect messages.

1) Hosts MUST NOT fragment any other ICMPv6 message unless the IPv6 header, all extension headers, the ICMPv6 type, code, and checksum are included in the first fragment

3) Hosts MUST NOT fragment packets carrying any next-layer protocol unless the IPv6 header, all extension headers, the entire next-layer protocol header are included in the first fragment. TCP and UDP are examples of next-layer protocols.

Do I have this right?

                                      Ron


> -----Original Message-----
> From: Fernando Gont [mailto:fgont@si6networks.com]
> Sent: Thursday, May 31, 2012 10:55 AM
> To: Ronald Bonica
> Cc: Fernando Gont; RJ Atkinson; v6ops@ietf.org
> Subject: Re: [v6ops] Last Call: <draft-ietf-v6ops-ra-guard-
> implementation-04.txt> (Implementation Advice for IPv6 Router
> Advertisement Guard (RA-Guard)) to Best Current Practice
> 
> Hi, Ron,
> 
> On 05/31/2012 10:53 AM, Ronald Bonica wrote:
> > The problem that we are wrestling with isn't specific to RA Guard.
> 
> We're kind of discussing to different, but entangled, problems:
> 
> a) Use of fragmentation in Neighbor Discovery
> b) IPv6 header chains that span multiple fragments
> 
> 
> Regarding "a)", use of fragmentation with ND prevents feature-parity
> with IPv4: It becomes virtually impossible to e.g. perform Neighbor
> Discovery inspection (a la arpwatch or the like)
> 
> Regarding "b)", it essentially prevents stateless filtering, and also
> breaks stateless translators. And is not limited to ICMPv6, but to all
> traffic. (please see below)
> 
> 
> > Therefore, we might want to request the following from 6man:
> >
> > 1) Hosts MUST NOT send fragmented ICMPv6 packets unless the IPv6
> > header, all extension headers, the ICMPv6 type, code, and checksum
> are
> > included in the first fragment
> 
> This is a subset of "2)" below. Additionally, if you still allow
> fragmentation, ND inspection (i.e. inspection of the ND packets
> contents) is still virtually impossible -- and fragmentation is not
> needed for ND, anyway. So one can safely forbid fragmentation with ND
> (for the general case).
> 
> This is why I wrote
> <http://tools.ietf.org/id/draft-gont-6man-nd-extension-headers-02.txt>
> 
> 
> 
> > 2) Hosts MUST NOT send fragmented packets carrying any next-layer
> > protocol unless the IPv6 header, all extension headers, the entire
> > next-layer protocol header are included in the first fragment. TCP
> and
> > UDP are examples of next-layer protocols.
> 
> Fully agree. For instance, that's why we wrote:
> <http://tools.ietf.org/id/draft-gont-6man-oversized-header-chain-
> 01.txt>
> 
> My take is that these "packets with an IPv6 header chain that spans
> multiple fragments" will be unreliable in the public Internet
> (stateless firewalls and stateless translators).
> 
> Thanks,
> --
> Fernando Gont
> SI6 Networks
> e-mail: fgont@si6networks.com
> PGP Fingerprint: 6666 31C6 D484 63B2 8FB1 E3C4 AE25 0D55 1D4E 7492
> 
>