Some suggestions for draft-ietf-v6ops-cpe-simple-security-03

Mark Smith <ipng@69706e6720323030352d30312d31340a.nosense.org> Sun, 24 August 2008 11:37 UTC

Return-Path: <owner-v6ops@ops.ietf.org>
X-Original-To: ietfarch-v6ops-archive@core3.amsl.com
Delivered-To: ietfarch-v6ops-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7926D3A6805 for <ietfarch-v6ops-archive@core3.amsl.com>; Sun, 24 Aug 2008 04:37:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.677
X-Spam-Level:
X-Spam-Status: No, score=-0.677 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_EQ_AU=0.377, RCVD_IN_DNSWL_LOW=-1, RDNS_NONE=0.1, RELAY_IS_203=0.994]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uMChqC-iUzwY for <ietfarch-v6ops-archive@core3.amsl.com>; Sun, 24 Aug 2008 04:37:47 -0700 (PDT)
Received: from psg.com (psg.com [IPv6:2001:418:1::62]) by core3.amsl.com (Postfix) with ESMTP id 766AB3A65A5 for <v6ops-archive@lists.ietf.org>; Sun, 24 Aug 2008 04:37:47 -0700 (PDT)
Received: from majordom by psg.com with local (Exim 4.69 (FreeBSD)) (envelope-from <owner-v6ops@ops.ietf.org>) id 1KXDtP-000CRM-NM for v6ops-data@psg.com; Sun, 24 Aug 2008 11:36:23 +0000
Received: from [203.6.132.90] (helo=mistral.mail.adnap.net.au) by psg.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.69 (FreeBSD)) (envelope-from <ipng@69706e6720323030352d30312d31340a.nosense.org>) id 1KXDtL-000CQp-SV for v6ops@ops.ietf.org; Sun, 24 Aug 2008 11:36:21 +0000
Received: from 219-90-160-185.ip.adam.com.au ([219.90.160.185] helo=mail.nosense.org) by mistral.mail.adnap.net.au with esmtp (Exim 4.69 (FreeBSD)) (envelope-from <ipng@69706e6720323030352d30312d31340a.nosense.org>) id 1KXE05-000EtU-6k; Sun, 24 Aug 2008 21:13:17 +0930
Received: from ubu.nosense.org (localhost.localdomain [127.0.0.1]) by mail.nosense.org (Postfix) with SMTP id 6D61BC34B; Sun, 24 Aug 2008 21:06:15 +0930 (CST)
Date: Sun, 24 Aug 2008 20:45:53 +0930
From: Mark Smith <ipng@69706e6720323030352d30312d31340a.nosense.org>
To: jhw@apple.com, v6ops-residential-cpe-design-team@external.cisco.com
Message-Id: <20080824204553.08131c65.ipng@69706e6720323030352d30312d31340a.nosense.org>
X-Mailer: Sylpheed 2.5.0 (GTK+ 2.12.11; i686-pc-linux-gnu)
X-Location: Lower Mitcham, South Australia, 5062
Mime-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
Subject: Some suggestions for draft-ietf-v6ops-cpe-simple-security-03
Sender: owner-v6ops@ops.ietf.org
Precedence: bulk
List-ID: <v6ops.ops.ietf.org>

Hi,

I've finally found a bit of time to start having a read through the 03
version of this draft. I haven't read through all of it yet, however
here are some starting suggestions:

2.  Overview

Change "requires" to "provides", just to continue to emphasise a bit
that the statefulness of NAT wasn't specifically designed into it:

"Only the perceived security benefits associated with stateful packet
filtering, which NAT (requires|*provides*) as a side effect, are
thought relevant in the IPv6 residential usage scenario."


2.2.  Internet Layer Protocols

"Therefore, this document recommends the DEFAULT operating mode for
residential IPv6 simple security is to permit all virtual private
networking tunnel protocols to pass through the stateful filtering
function.  These include IPsec transport and tunnel modes as well as
other IP-in-IP protocols."

Would it be better to restrict this to authenticated tunnelling
protocols? Wrapping a malicious packet inside a GRE or IP packet and
having the CPE blindly forward it would seem to me to be a really
simple and easy way to bypass all the security mechanisms that this
draft is defining.

Authenticated protocols could still expose hosts to probing e.g.
probing a non-IPsec enabled host via IKE, which the CPE would
forward unrestricted, could generate an ICMPv6 Port Unreachable,
indicating a host's presence. Maybe the residential CPE should drop
these ICMPv6 messages in the outbound direction, hiding hosts that don't
support the tunnelling method being requested from these sorts of
probes?

A few thoughts related to general tunnel security. Is it appropriate for
this draft to document that traffic arriving encapsulated should not
automatically be trusted, and therefore should also have firewalling
applied to it by the receiving host, after decapsulation? If the end
user has chosen to use a clear text tunnel encapsulation method e.g.
GRE, would there be any value in specifying that the CPE MAY inspect the
interior traffic carried within the tunnel? Limiting the number of
encapsulation headers on a packet would also probably be something to
define in this case. IOW, if the CPE can inspect traffic, even though
it is encapsulated inside a tunnel, can we recommend that it should?

"R2: Packets bearing in their outer IPv6 headers multicast destination
   addresses of equal or narrower scope that the configured scope
   boundary level of the gateway MUST NOT be forwarded in any
direction." 
suggest to insert:

", excepting when the Residential Gateway is also acting as a VPN
tunnel end-point. In this case, traffic must not be forwarded toward
multicast destinations that are not known to be at the remote end of
the pre-established or prior-configured on-demand tunnel(s)."

"R4: Outbound packets MUST NOT be forwarded if the source address in
    their outer IPv6 header does not have a unicast prefix assigned for
    use by globally reachable nodes on the interior network."

similar to above, suggest to insert:

", excepting when the Residential Gateway is also acting as a VPN
tunnel end-point. In this case, traffic must not be forwarded to
unicast destinations that are not known to be at the remote end of the
pre-established or prior-configured on-demand tunnel(s)."

  "R4: Inbound packets MUST NOT be forwarded if the source address in
    their outer IPv6 header has a global unicast prefix assigned for use
    by globally reachable nodes on the interior network."

suggest to add tunnel end-point text as per above.


"R5: Packets MAY be discarded if the source and/or destination address
    in the outer IPv6 header is a unique local address.  By DEFAULT,
    gateways SHOULD NOT forward packets across unique local address
scope boundaries."

suggest to add tunnel end-point text as per above.


That's it for the moment, I'll continue reading through it over the
next few days.

Regards,
Mark.