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

Fernando Gont <fernando@gont.com.ar> Tue, 05 June 2012 02:51 UTC

Return-Path: <fernando.gont.netbook.win@gmail.com>
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 B534021F8647 for <v6ops@ietfa.amsl.com>; Mon, 4 Jun 2012 19:51:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
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 ilVZxb8Ln4Wc for <v6ops@ietfa.amsl.com>; Mon, 4 Jun 2012 19:51:54 -0700 (PDT)
Received: from mail-yw0-f44.google.com (mail-yw0-f44.google.com [209.85.213.44]) by ietfa.amsl.com (Postfix) with ESMTP id 645F121F8642 for <v6ops@ietf.org>; Mon, 4 Jun 2012 19:51:51 -0700 (PDT)
Received: by yhq56 with SMTP id 56so3911826yhq.31 for <v6ops@ietf.org>; Mon, 04 Jun 2012 19:51:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; bh=Xy+MsaTb+0MOJ21oV7104mCV3LcUJQ1x95LsOYABCvw=; b=K8mAAH3/751OsPBW/LH7lUh0E/tWdQrbeNOUzXC0a2SgNEA8kAv1SkPR2FQ4Rlbxjg V0AUufIJy3Wdh3uRFrjfSgUI3Ghzy+uUhMbK+IXyhyYJkSmUFeMDnu8+AC7lzAu91CiA nyBhi7EuEOwcyis5OJokFNuQYhe7stugWTv8YrW5sR7hPxjIhjBwRn+l8R15ZpjLWxKH SQvsF1mTr3vudGTZvw8y5/rdRtD8xy3oMp3ETmF35iqchIs34/CgeeVH9rweccMJZRqa VVbqee4TbHbF4uFYyrlGX/HluWCPo8F5RUepbvkZEOSMCdo91VybQAh72Z7SHpauFOd3 5PuA==
Received: by 10.236.156.69 with SMTP id l45mr9484256yhk.123.1338864710599; Mon, 04 Jun 2012 19:51:50 -0700 (PDT)
Received: from [192.168.0.170] (61-128-17-190.fibertel.com.ar. [190.17.128.61]) by mx.google.com with ESMTPS id v61sm998085yhi.17.2012.06.04.19.51.27 (version=SSLv3 cipher=OTHER); Mon, 04 Jun 2012 19:51:49 -0700 (PDT)
Sender: Fernando Gont <fernando.gont.netbook.win@gmail.com>
Message-ID: <4FCD622C.2080503@gont.com.ar>
Date: Mon, 04 Jun 2012 22:34:36 -0300
From: Fernando Gont <fernando@gont.com.ar>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: RJ Atkinson <rja.lists@gmail.com>
References: <7BAC243D-7B55-460E-B36C-52CA83F12B78@gmail.com> <4FC6AAD4.4090108@si6networks.com> <13205C286662DE4387D9AF3AC30EF456D76C44FF13@EMBX01-WF.jnpr.net> <4FC7864D.8000307@si6networks.com> <13205C286662DE4387D9AF3AC30EF456D76C450163@EMBX01-WF.jnpr.net> <4FC7934B.4010205@si6networks.com> <49E46AEE-9BB2-4A08-8069-29D692B21B6B@gmail.com> <4FC7BE00.10403@si6networks.com> <67981392-14C0-46D6-B8E4-D50BEDF7D5FE@gmail.com> <4FC81786.10207@gont.com.ar> <F6D9E3C8-9360-4EB1-BB05-1F29ED42D21D@gmail.com>
In-Reply-To: <F6D9E3C8-9360-4EB1-BB05-1F29ED42D21D@gmail.com>
X-Enigmail-Version: 1.5pre
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Cc: 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
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: Tue, 05 Jun 2012 02:51:54 -0000

Hi, Ran,

On 06/01/2012 09:44 AM, RJ Atkinson wrote:
> On 31  May 2012, at 21:14 , Fernando Gont wrote:
>> But it was argued (in 6man) that of parsing the entire IPv6 header
>> chain at a layer-2 device was easily doable, and hence there was no need
>> to limit possible extensions of ND (based on ext headers).
> 
> If the RA Guard built into the Layer-2 device is built using
> software on an off the shelf CPU/NP, then the device likely 
> can't parse the entire IPv6 header chain at wire speed -- 
> thereby creating a new easily exploited DOS attack vector
> on the RA Guard device.  This seems like a cure worse than
> the disease -- as the Ethernet switch connecting everything dies.

FWIW, this is the discussion I was referring to:
<http://www.ietf.org/mail-archive/web/ipv6/current/msg14284.html>.

My understanding is that we ended up converging on banning *only* the
Fragmentation Header (in draft-gont-6man-nd-extension-headers) based on
the outcome of that discussion (i.e., parsing the IPv6 header chain at
wire speed being doable).

If RA-Guard were to be implemented as you describe, I agree that in
*that* case the cure could be worse than the disease.


>> In any case, if anything, this would be an argument to the extent to
>> which ra-guard is simple/possible to implement, rather than about
>> whether we should leave rule #4 in or out.
> 
> No.  It is a reality-check.  Absent custom silicon (FPGA/ASIC),
> it isn't going to be practical to parse deeply into the packet
> at interesting fractions of wire-speed. 

Should I add some text about this in the Security Considerations section?



>> My take is that those packets will not survive the public IPv6 Internet.
>> Stateless firewalls will block those packets when the
>> implementation-specific limit is hit.
> 
> A state-less firewall is much more likely to use a store-and-decide
> architecture than a Layer-2 switch, precisely because their main purpose
> is Deep Packet Inspection.

Agreed. However, my point is that if your packets lack the entire IPv6
header chain, they are likely to be dropped (whether by a stateless
translator, a stateless firewall, or anything else), and hence should
probably not be relied upon.



> Rule 4 ought not to allow an uninformed drop.  If the RA Guard parses
> the whole packet and confirms that the full header chain isn't present 
> in a 1st fragment packet, then dropping that packet is OK.  
> 
> However, if the RA Guard can't decide -- which will only be due to some
> implementation limitation within that RA Guard -- then the packet 
> should be sent along.

Ok, this seems reasonable -- since I've not yet gone through the
messages that you've posted on the subject, I will go through them first
(since this is probably discussed in more detail in those). Otherwise I
will come back to you on this one in a standalone e-mail.

Thanks!

Best regards,
-- 
Fernando Gont
e-mail: fernando@gont.com.ar || fgont@si6networks.com
PGP Fingerprint: 7809 84F5 322E 45C7 F1C9 3945 96EE A9EF D076 FFF1