Re: [OPSEC] Asking for a review of draft-ietf-opsec-v6-08

"Fred Baker (fred)" <fred@cisco.com> Wed, 15 June 2016 20:05 UTC

Return-Path: <fred@cisco.com>
X-Original-To: opsec@ietfa.amsl.com
Delivered-To: opsec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 07D9D12DB3C; Wed, 15 Jun 2016 13:05:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -115.947
X-Spam-Level:
X-Spam-Status: No, score=-115.947 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_WHITELIST=-100] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nsjwlYn4ldi2; Wed, 15 Jun 2016 13:05:15 -0700 (PDT)
Received: from alln-iport-5.cisco.com (alln-iport-5.cisco.com [173.37.142.92]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 52EAF12D922; Wed, 15 Jun 2016 13:05:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=15152; q=dns/txt; s=iport; t=1466021115; x=1467230715; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=y7RmyWGMb23pXL0RVueLuX8bN+IZNhguOk3MQaCHJDs=; b=gIyNjnrHe4vi6WuPmXsOGq8AwToo8IEDQS0EYcmAFReJ/oVAMyPBE73a i19ps8hTbTYu9FLyo/luSzEsiYWyxENYHmJGhq/9vedly+W2x8GGetnWb M42L+T1GAPyuZlHDvIpyjq3BhmhqkEtMWz2oit+SZXvBMCCFDFpaQrWE7 M=;
X-Files: signature.asc : 833
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0D2AQAMtGFX/4cNJK1TCoM+Vm4PBrpmgXkegkKDNwKBNDgUAQEBAQEBAWUnhEwBAQMBeQULAgEIEjQyFwENAgQOE4gaCL84AQEBAQEBAQEBAQEBAQEBAQEBARAOiB6BU4EDhBIGCwFagm6CLwWNcYp4AYMtgWmJEo8ij3MBHjaCBxyBTG6IRA8XBBt/AQEB
X-IronPort-AV: E=Sophos;i="5.26,477,1459814400"; d="asc'?scan'208";a="284222330"
Received: from alln-core-2.cisco.com ([173.36.13.135]) by alln-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 15 Jun 2016 20:05:14 +0000
Received: from XCH-ALN-011.cisco.com (xch-aln-011.cisco.com [173.36.7.21]) by alln-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id u5FK5Equ024447 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 15 Jun 2016 20:05:14 GMT
Received: from xch-rcd-013.cisco.com (173.37.102.23) by XCH-ALN-011.cisco.com (173.36.7.21) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Wed, 15 Jun 2016 15:05:13 -0500
Received: from xch-rcd-013.cisco.com ([173.37.102.23]) by XCH-RCD-013.cisco.com ([173.37.102.23]) with mapi id 15.00.1104.009; Wed, 15 Jun 2016 15:05:13 -0500
From: "Fred Baker (fred)" <fred@cisco.com>
To: "Eric Vyncke (evyncke)" <evyncke@cisco.com>
Thread-Topic: Asking for a review of draft-ietf-opsec-v6-08
Thread-Index: AQHRx0E6+A92vAUQaEOO/MuVxVmKUg==
Date: Wed, 15 Jun 2016 20:05:13 +0000
Message-ID: <BED28C4D-3F36-43E7-8D3E-70CB885C9543@cisco.com>
References: <D386FF93.75916%evyncke@cisco.com>
In-Reply-To: <D386FF93.75916%evyncke@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3124)
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.19.64.125]
Content-Type: multipart/signed; boundary="Apple-Mail=_9FE73915-5E47-47FC-8171-36F0DAC137C2"; protocol="application/pgp-signature"; micalg="pgp-sha1"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/opsec/nWV8xxyXiHKQe7E2k8BT7WmGFzc>
Cc: "Howard, Lee" <lee.howard@twcable.com>, "fgont@si6networks.com" <fgont@si6networks.com>, "opsec@ietf.org" <opsec@ietf.org>, "draft-ietf-opsec-v6@ietf.org" <draft-ietf-opsec-v6@ietf.org>, "linkedin@xn--debrn-nva.de" <linkedin@xn--debrn-nva.de>
Subject: Re: [OPSEC] Asking for a review of draft-ietf-opsec-v6-08
X-BeenThere: opsec@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: opsec wg mailing list <opsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/opsec>, <mailto:opsec-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/opsec/>
List-Post: <mailto:opsec@ietf.org>
List-Help: <mailto:opsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/opsec>, <mailto:opsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Jun 2016 20:05:17 -0000

One thing I wondered about as reading this - many and perhaps most sections gave a fairly informative comment, and then made one or two recommendations. I wonder (this is a question) whether it would be worthwhile capitalizing "RECOMMEND", both in the sense of defining the term (RFC 2119) and highlighting it in the text. I also wonder if it would make sense to pull together a list of recommendations made in a table somewhere, perhaps in an appendix. I could imagine someone wanting a list of them without wading through the text.

> 1.  Introduction
> 
>    Running an IPv6 network is new for most operators not only because
>    they are not yet used to large scale IPv6 networks but also because
>    there are subtle differences between IPv4 and IPv6 especially with
>    respect to security.  For example, all layer-2 interactions are now
>    done by Neighbor Discovery Protocol [RFC4861] rather than by Address

s/by/using/, twice. As worded, it sounds like NDP and ARP doing this by themselves, as *actors*; no, the *system* does them using NDP and ARP as its *language*.

>    Resolution Protocol [RFC0826].  Also, there are subtle differences
>    between NAT44 and NPTv6 [RFC6296] which are explicitly pointed out in
>    the latter's security considerations section.

For NAT44, I might also point to RFC 2993 and maybe 4864.

>    IPv6 networks are deployed using a variety of techniques, each of
>    which have their own specific security concerns.


> 2.  Generic Security Considerations
> 
> 2.1.  Addressing Architecture
> 
>    IPv6 address allocations and overall architecture are an important
>    part of securing IPv6.  Typically what you initially design for will
>    be what you use for a very long time.

This sentence is in the second person ("you"), and most of the document is third person ("it"). Reword as "Initial designs, even if intended to be temporary, tend to last much longer than expected"?

> Although initially IPv6 was
>    thought to make renumbering easy, in practice, it would be extremely
>    difficult to renumber.

I would temper the statement. As we said in RFC 4192, the problems with renumbering tends to be the places where a number is written into a static configuration rather than managed using a database or whatever, and the places where people cut corners ("its address will never change, so I don't need to worry about its name and DNS"). I would find myself saying that good OSS trumps static configurations, and in IPv6, systems change at least their IIDs from time to time (RFC 7721). It's not that IPv6 (or IPv4) is hard to renumber, it's that the required operational support is often not there or not workable due to poor practice.

>    Once an address allocation has been assigned, there should be some
>    thought given to an overall address allocation plan.  With the
>    abundance of address space available, an address allocation may be
>    structured around services along with geographic locations, which

"topology"? Topology is often structured geographically, yes, but if A provides services to B and C and is a logical gateway to them, A, B, and C can be grouped for management purposes even if they are not in the same geographic location.

>    then can be a basis for more structured security policies to permit
>    or deny services between geographic regions.
> 
>    A common question is whether companies should use PI vs PA space
>    [RFC7381] but from a security perspective there is little difference.

comma after "[RFC7381]".

>    However, one aspect to keep in mind is who has ownership of the
>    address space and who is responsible if/when Law Enforcement may need
>    to enforce restrictions on routability of the space due to malicious
>    criminal activity.

Pregnant statement. I find myself wondering about the implications of "ownership" and "law enforcement restrictions on routability". In "ownership", are you pointing to issues when you change providers and therefore need to change PA addresses? If not, something else? In "LEA issues", are you talking about law enforcement blocking the address space, turning BGP announcements off, etc?



> 2.1.1.  Statically Configured Addresses
> 
>    When considering how to assign statically configured addresses it is
>    necessary to take into consideration the effectiveness of perimeter
>    security in a given environment.  There is a trade-off between ease
>    of operational deployment where some portions of the IPv6 address
>    could be easily recognizable for operational debugging and
>    troubleshooting versus the risk of scanning; [SCANNING] shows that
>    there are scientifically based mechanisms that make scanning for IPv6
>    reachable nodes more realizable than expected.  The use of common
>    multicast groups which are defined for important networked devices
>    and the use of commonly repeated addresses could make it easy to
>    figure out which devices are name servers, routers or other critical
>    devices.
> 
>    While in some environments the perimeter security is so poor that
>    obfuscating addresses is considered a benefit; it is a better
>    practice to ensure that perimeter rules are actively checked and
>    enforced and that statically configured addresses follow some logical
>    allocation scheme for ease of operation.

I find myself on both sides of the prophylactic security discussion. I compare and network and its defenses to the human immune system, and perimeter security to the skin. I favor having a working perimeter security system much like I favor a functional skin, and for the same immunologic reasons. That said, the body provides the defense, reducing the rate at which it needs to bring other systems into play, and then assumes it has been breached; a person whose only immunologic defense is their skin is an AIDS patient, and doesn't have a good prognosis. My fundamental problem with most network security systems is that they over-emphasize perimeter security.

I say that because this paragraph seems to over-emphasize perimeter security - "in some environments the perimeter security is so poor...". I think I would say that "security is so poor". I would be tempted to go beyond to talk about the ways a remote network can be mapped, such as by observing email envelopes and addresses found in WWW logs etc, and the value of temporary random addresses (as opposed to permanent addresses, whether DHCP -assigned or MAC/SLAAC).

But I agree with the recommendation.

> 2.1.2.  Use of ULAs
> 
>    ULAs are intended for scenarios where IP addresses will not have
>    global scope.  The implicit expectation from the RFC is that all ULAs
>    will be randomly created as /48s.  Any use of ULAs that are not
>    created as a /48 violates RFC4193 [RFC4193].

Mention also that they are expected to not be announced, and if announced not accepted, in BGP?

>    ULAs could be useful for infrastructure hiding as described in
>    RFC4864 [RFC4864];

I believe that at least one cable operator uses them for cable modem addresses, which need no GUA and want to be hidden. Personally, I think that's a better use of a ULA - for something does doesn't actually need a global address. The paragraph here seems to assume that the only valid use of a ULA is as a counterpart to RFC 1918, and with NAT.

I'd really wish that we could talk about infrastructure (count the addresses in the envelope of this email; they are mostly infrastructure addresses) and internal-only services (wwwin-SERVICE.cisco.com names being a classic Cisco example, to my mind) when we start a paragraph with a comment on "infrastructure hiding", rather than proceeding directly to NAT.

> 2.1.4.  Temporary Addresses - Privacy Extensions for SLAAC
> ...
>    As privacy extension addresses could also be used to obfuscate some
>    malevolent activities (whether on purpose or not), it is advised in
>    scenarios where user attribution is important to disable SLAAC and
>    rely only on DHCPv6.  However, in scenarios where anonymity is a
>    strong desire since protecting user privacy is more important than
>    user attribution, privacy extension addresses should be used

No mention of IEEE 802.1X?

>    Using privacy extension addresses prevents the operator from building
>    a priori host specific access control lists (ACLs).  It must be noted
>    that recent versions of Windows do not use the MAC address anymore to
>    build the stable address but use a mechanism similar to the one
>    described in [RFC7217], this also means that such an ACL cannot be
>    configured based solely on the MAC address of the nodes, diminishing
>    the value of such ACL.  On the other hand, different VLANs are often
>    used to segregate users, then ACL can rely on a /64 prefix per VLAN
>    rather than a per host ACL entry.

"then ACL"? Either I don't understand the sentence, or you meant "the".


> 2.1.6.  DHCP/DNS Considerations
> 
>    Many environments use DHCPv6 to allocate addresses to ensure
>    audibility and traceability (but see Section 2.6.1.5).  A main

audit-ability

>    security concern is the ability to detect and mitigate against rogue
>    DHCP servers (Section 2.3.2).

I think you want to say "counteract" rather than "mitigate against".

> 2.3.5.  3GPP Link-Layer Security
> 
>    The 3GPP link is a point-to-point like link that has no link-layer
>    address.  This implies there can only be an end host (the mobile
>    hand-set) and the first-hop router (i.e., a GPRS Gatewat Support Node

Gateway

> 2.4.  Control Plane Security
> 
>    RFC6192 [RFC6192] defines the router control plane and this
>    definition is repeated here for the reader's convenience.

Run-on sentence. Replace "and" with a period and capitalize the next word.

>    Modern router architecture design maintains a strict separation of
>    forwarding and router control plane hardware and software.  The
>    router control plane supports routing and management functions.  It
>    is generally described as the router architecture hardware and
>    software components for handling packets destined to the device
>    itself as well as building and sending packets originated locally on
>    the device.

I'm having trouble parsing the above sentence...

> The forwarding plane is typically described as the
>    router architecture hardware and software components responsible for
> 
> 
> 
> Chittimaneni, et al.   Expires September 22, 2016              [Page 11]
> Internet-Draft                 OPsec IPV6                     March 2016
> 
> 
>    receiving a packet on an incoming interface, performing a lookup to
>    identify the packet's IP next hop and determine the best outgoing
>    interface towards the destination, and forwarding the packet out
>    through the appropriate outgoing interface.

I'm having trouble parsing the above as well. I'd suggest breaking it into 2-3 sentences.

> 2.4.3.  Packet Exceptions
> 
>    This class covers multiple cases where a data plane packet is punted
>    to the route processor because it requires specific processing:
> ...
>    o  processing of the hop-by-hop extension header;

May I suggest the authors comment on draft-ietf-6man-hbh-header-handling as it progresses? Let's not let that and this conflict.

> 2.6.1.1.  Logs of Applications
> ...
>    #!/usr/bin/perl ?w

Should that be "-w"?

>    use strict ;
>    use warnings ;
>    use Socket ;
>    use Socket6 ;
> 
>    my (@words, $word, $binary_address) ;
> 
>    ## go through the file one line at a time
>    while (my $line = <STDIN>) {
>      chomp $line;
>      foreach my $word (split /[ \n]/, $line) {

replace "[ \n]" with "\s+". \s includes any white space character, including a space, a tab, \n, \r, and a couple of others. The "+" specifies strings of one or more in length.

>        $binary_address = inet_pton AF_INET6, $word ;
>        if ($binary_address) {
>          print inet_ntop AF_INET6, $binary_address ;
>        } else {
>          print $word ;
>        }
>        print " " ;
>      }
>      print "\n" ;
>    }


> 2.7.1.  Dual Stack
> 
>    Dual stack has established itself as the preferred deployment choice
>    for most network operators without a MPLS core where 6PE RFC4798

without *an* MPLS core...

> 2.7.3.2.  NAT64/DNS64
> 
>    Stateful NAT64 translation [RFC6146] allows IPv6-only clients to
>    contact IPv4 servers using unicast UDP, TCP, or ICMP.  It can be used
>    in conjunction with DNS64 [RFC6147], a mechanism which synthesizes
>    AAAA records from existing A records.
> 
>    The Security Consideration sections of [RFC6146] and [RFC6147] list
>    the comprehensive issues.  A specific issue with the use of NAT64 is
>    that it will interfere with most IPsec deployments unless UDP
>    encapsulation is used.  DNS64 has an incidence on DNSSEC see section
>    3.1 of [RFC7050].

You might want to mention 6145, draft-bao-v6ops-rfc6145bis, and SIIT-DC.

> 3.1.  External Security Considerations:

You mention having a firewall that only permits inbound traffic that corresponds to an active session. Would RFC 6092 be worth mentioning in that context?

> 5.  Residential Users Security Considerations

Would RFC 6092 be worth mentioning in this context?