Re: [MBONED] Benjamin Kaduk's No Objection on draft-ietf-mboned-driad-amt-discovery-11: (with COMMENT)
"Holland, Jake" <jholland@akamai.com> Thu, 19 December 2019 18:54 UTC
Return-Path: <jholland@akamai.com>
X-Original-To: mboned@ietfa.amsl.com
Delivered-To: mboned@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 17E53120A7A; Thu, 19 Dec 2019 10:54:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=akamai.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 QDZEaI_XgukE; Thu, 19 Dec 2019 10:54:54 -0800 (PST)
Received: from mx0a-00190b01.pphosted.com (mx0a-00190b01.pphosted.com [IPv6:2620:100:9001:583::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 485F1120A6E; Thu, 19 Dec 2019 10:54:54 -0800 (PST)
Received: from pps.filterd (m0050093.ppops.net [127.0.0.1]) by m0050093.ppops.net-00190b01. (8.16.0.42/8.16.0.42) with SMTP id xBJIrqlp032341; Thu, 19 Dec 2019 18:54:54 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=jan2016.eng; bh=tqwIbgDPW3YrREVuNmzXUyDxOwpvZCANABcchm40zMA=; b=Z3GkzNmfTPCiZ9LLTSB6/9eVeJd5KuLmSQy2sHCrOvqQgJ0xry59CHb4ouns7zN4AhpA tuZKDFtJihWaE0ZJTrEZf/zRWVGiCJ93Ndl/BRW8/ElSAJ4Laok5c9GUPt15IzG3Miod JTIV5fg4FJAndVbigfC0Du3zjoql1lAvBuOLV8XdlDbjn6weJEIFey2yci38UnPEE8yV DEVdw9ncoxfSMMQC7HYaHV4kghshx1+PEPCXZRI3Zoil71GY3B9BswsaRrvrNBCGJ9oe XcMXcBPz8SfthHgC6lLpZbRweEb032rJKvNkQzVBjOtsJFAlaS5rfNRqVMNrBloskLyf /w==
Received: from prod-mail-ppoint7 (prod-mail-ppoint7.akamai.com [96.6.114.121] (may be forged)) by m0050093.ppops.net-00190b01. with ESMTP id 2wyyw1u7eu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 19 Dec 2019 18:54:53 +0000
Received: from pps.filterd (prod-mail-ppoint7.akamai.com [127.0.0.1]) by prod-mail-ppoint7.akamai.com (8.16.0.27/8.16.0.27) with SMTP id xBJIm9WP019146; Thu, 19 Dec 2019 13:54:52 -0500
Received: from email.msg.corp.akamai.com ([172.27.165.112]) by prod-mail-ppoint7.akamai.com with ESMTP id 2wvuy3trcq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 19 Dec 2019 13:54:51 -0500
Received: from ustx2ex-dag1mb6.msg.corp.akamai.com (172.27.165.124) by ustx2ex-dag1mb2.msg.corp.akamai.com (172.27.165.120) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 19 Dec 2019 12:54:27 -0600
Received: from ustx2ex-dag1mb6.msg.corp.akamai.com ([172.27.165.124]) by ustx2ex-dag1mb6.msg.corp.akamai.com ([172.27.165.124]) with mapi id 15.00.1473.005; Thu, 19 Dec 2019 10:54:27 -0800
From: "Holland, Jake" <jholland@akamai.com>
To: Benjamin Kaduk <kaduk@mit.edu>, The IESG <iesg@ietf.org>
CC: "draft-ietf-mboned-driad-amt-discovery@ietf.org" <draft-ietf-mboned-driad-amt-discovery@ietf.org>, "mboned-chairs@ietf.org" <mboned-chairs@ietf.org>, "mboned@ietf.org" <mboned@ietf.org>
Thread-Topic: [MBONED] Benjamin Kaduk's No Objection on draft-ietf-mboned-driad-amt-discovery-11: (with COMMENT)
Thread-Index: AQHVtjE/mHeHwQJBX0+Z016FYCSVR6fBzxUA
Date: Thu, 19 Dec 2019 18:54:27 +0000
Message-ID: <FEBA69F8-BF3B-4C88-8A37-52FA411F39B9@akamai.com>
References: <157673506508.4859.18252907968152390250.idtracker@ietfa.amsl.com>
In-Reply-To: <157673506508.4859.18252907968152390250.idtracker@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.20.0.191208
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [172.19.80.63]
Content-Type: text/plain; charset="utf-8"
Content-ID: <4F76476B78B8AE44A45DDEC4C44B1690@akamai.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-12-19_06:, , signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1911140001 definitions=main-1912190137
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,18.0.572 definitions=2019-12-19_06:2019-12-17,2019-12-19 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 lowpriorityscore=0 malwarescore=0 bulkscore=0 phishscore=0 priorityscore=1501 suspectscore=0 impostorscore=0 clxscore=1011 mlxlogscore=999 spamscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-1910280000 definitions=main-1912190138
Archived-At: <https://mailarchive.ietf.org/arch/msg/mboned/Qay2TFcy6ZydJsZXSVl3Z6SiX7k>
Subject: Re: [MBONED] Benjamin Kaduk's No Objection on draft-ietf-mboned-driad-amt-discovery-11: (with COMMENT)
X-BeenThere: mboned@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Mail List for the Mboned Working Group <mboned.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mboned>, <mailto:mboned-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mboned/>
List-Post: <mailto:mboned@ietf.org>
List-Help: <mailto:mboned-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mboned>, <mailto:mboned-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 Dec 2019 18:54:57 -0000
Hi Ben, Thanks for the review. Responses below: On 2019-12-18, 21:57, "Benjamin Kaduk via Datatracker" <noreply@ietf.org> wrote: > Section 1 > > This document updates Section 5.2.3.4 of [RFC7450] by adding a new > extension to the relay discovery procedure. > > I know that there is not a universal usage of "updates", but note that > in other protocols with similar scenarios (multiple possible discovery > methods), the core protocol document is not always in an "Updated by" > relationship with the new discovery methods. (That said, there seem to > be plenty of other ways in which this document updates RFC 7540, so this > particular instsance isn't a big deal.) Now that you mention it, this phrasing does seem a bit awkward. As Eric mentioned, this is not the only update. I think maybe this is slightly better: NEW: This document extends the relay discovery procedure described in Section 5.2.3.4 of [RFC7450]. > Section 1.2.2 > > | L flag | The "Limit" flag described in Section 5.1.1.4 of | > | | [RFC7450] | > > nit: s/5.1.1.4/5.1.4.4/ > > The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", > "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and > "OPTIONAL" in this document are to be interpreted as described in > [RFC2119] and [RFC8174] when, and only when, they appear in all > capitals, as shown here. > > nit: this is not quite the prescribed form from RFC 8174. Thanks for catching these! Fixes upcoming. > Section 2.2 > > Perhaps it's worth a brief note that the UDP unicast tunnel is over IPv6 > even though the multicast traffic being conveyed is native IPv4 in both > multicast networks? Sure, good point. Added this at the bottom of the section: NEW: Note that the address family of the AMT tunnel is independent of the address family for the multicast traffic. > Section 2.3.2 > > I don't think I understand what "connecting to Figure 6" means. Ah, sorry. You're right, this is not terribly clear. A hopefully- improved rephrasing: OLD: A related motivating example in the sending-side network is provided by considering a sender that needs to instruct the gateways on how to select between connecting to Figure 6 or Figure 7 (from Section 3.2), in order to manage load and failover scenarios in a manner that operates well with the sender's provisioning strategy for horizontal scaling of AMT relays. In this example about the sending-side network, the precedence field described in Section 4.2.1 is a critical method of control so that senders can provide the appropriate guidance to gateways during the discovery process. NEW: A related motivating example is provided by considering a sender whose traffic can be forwarded by relays in a network like Figure 6 in Section 3.2.1, and also by relays in a network like Figure 7 in Section 3.2.2, with different cost and scalability profiles for the different options. In this example about the sending-side network, the precedence field described in Section 4.2.1 is a critical method of control so that senders can provide the appropriate guidance to gateways during the discovery process, in order to manage load and failover scenarios in a manner that operates well with the sender's provisioning strategy for horizontal scaling of AMT relays. Does that work? > Among relay addresses that have an equivalent preference as described > above, a Happy Eyeballs algorithm for AMT SHOULD use use the > Destination Address Selection defined in Section 6 of [RFC6724]. > > Among relay addresses that still have an equivalent preference after > the above orderings, a gateway SHOULD make a non-deterministic choice > > side note: I think that the way RFC 6724 is written (as a series of > comparison rules), it doesn't have an "are equivalent preference" > option, just a "leave the order unchanged" one. But that's probably a > useless pedantic distinction and I can't see an actionable change that > would result from it. At least having this quoted to me made me notice the "use use" nit. I'm not sure I fully agree though; to me Section 6 of RFC 6724 phrases the rules like: " Rule 1: Prefer same address." To me, I think the advice in the driad draft falls under "If the eight rules fail to choose a single address, the tiebreaker is implementation-specific." clause from 6724, but specifies some rules for the tiebreaker. I think I agree that it's a pedantic point that doesn't need a change, but if this makes you think of any ideas that would improve the clarity, suggestions are of course welcome. I haven't made a change here yet. > Section 2.7 > > The DNS query functionality is expected to follow ordinary standards > and best practices for DNS clients. A gateway MAY use an existing > DNS client implementation that does so, and MAY rely on that client's > retry logic to determine the timeouts between retries. > > The first part of this seems to be a duplication of Section 2.4.2, but > the latter part (and following paragraph/sentences) diverges. There's > probably some room for consolidation and/or harmonization of procedures > here. That occurred to me briefly, in the form of writing a section that said something brief and referring to it. I ended up deciding it's short enough it's just better to highlight right next to the couple of key requirements, so that anybody looking at that point specifically will see it. I'm open to updating if you have strong feelings about this, but I thought the gains marginal for this case, and offset by the marginal increase in the structural complexity of the doc, such that for just the 2 cases it didn't seem worthwhile to me. > Section 4.2.4 > > (Presumably we ignore entires with unrecognized 'type'; I forget whether > this is standard DNS usage or we should mention it explicitly, though.) A fair point, I have no objection to adding some text here. NEW: RRs with an undefined value in the Type field SHOULD NOT be considered by receiving gateways for AMT relay discovery. (I got a little shy about "MUST be ignored" phrasing after seeing it quoted, right where a packet to be ignored was abandoned in the linux kernel without logging or producing any kind of error or warning dmesg output that might have saved me a day of debugging once when I tried to use a non-link-local interface address for joining an IPv6 (S,G) with MLD, IIRC.) > Section 5 > > Is there any guidance to give to the Designated Experts in addition to > the default rules from RFC 8126? Nothing occurs to me, I'd expect the default guidance to be sufficient here. I think it already sort of includes "please don't approve obviously terrible ideas", which is the only thing I really want. > Section 6 > > I like that the relay-discovery precedence rules minimize the > opportunity for an attacker to disrupt discovery and try to force a > different relay to be used (whether to afford an opportunity to tamper > with the traffic going to a target recipient or other reasons). Since > we are updating the generic AMT relay discovery procedure, we could > reasonably mention that (and the generic risks with discovery procedures > that involve attempting to contact a relay and failing over if a timely > response does not appear); RFC 7450's Section 6.2 provides only a > minimal mention. That said, most of the security considerations > relevant here seem to be ones that apply to stock AMT, and are tolerably > covered in RFC 7450. I'm a little surprised that Happy Eyeballs doesn't > cover this sort of disruption in its security considerations; I was > going to suggest referencing that as well. Not sure if you're asking for an edit here? I think I'm reading this as "it would be great if this were slightly better, but it seems adequate"? > We briefly mention active/active failover in Section 2.3.3, and such a > scheme poses some risk of (additional) traffic duplication around a > failover event, but (1) that can happen with UDP anyway, so it will > already be handled, and (2) it's a pretty tenuous hook to say that we > need to talk about the security considerations of such a situation. > > Also on the borderline of worth mentioning, an attacker might attempt to > force a gateway to repeatedly go through the relay discovery process; I > don't think this process is sufficiently resource-intensive that it > would be a usable DoS attack, though, so there's not really much there > other than the generic "disruption" that is already covered in 7450. I agree, I think. I concluded I didn't think these added enough to be worth pulling any focus away from the points that were mentioned, so I left it out. > Section 6.2 > > Even though not all of the listed mechanisms are currently specified for > recursive-to-authoritative queries, I think it's fine to list them here, > as they are expected to become defined in the future and would make > sense as options, when available. > > response from the trusted server. The connection to the trusted > server can use any secure channel, such as with a TSIG [RFC2845] or > SIG(0) [RFC2931] channel, a secure local channel on the host, DNS > over TLS [RFC7858], DNS over HTTPS [RFC8484], or some other mechanism > that provides authentication of the RR. > > I don't think that it's really "authentication" that we're providing for > the RR itself; what we want is more of "source authentication" for the > provenance of the RR (and integrity protection for its contents). I'm fine with that wording if that makes good sense to security experts: NEW: ... or some other mechanism that provides source authentication for the provenance of the RR and integrity protection for its contents. > If an AMT gateway accepts a maliciously crafted AMTRELAY record, the > result could be a Denial of Service, or receivers processing > multicast traffic from a source under the attacker's control. > > Even for an honest AMTRELAY record, isn't there a chance that the > multicast traffic's contents could also be modified or injected by the > attacker? Yes, but this is generic to AMT and is mentioned in the 2nd paragraph of Section 6.2 of RFC 7450. I guess it's a fair point that it's not clear the warning there is entirely adequate--should I try to write a section about this on the grounds that I'm updating 7450 and making it more widely deployable? > Section 8.2 > > Arguably RFC 8499 would be normative, since we defer to its definition > of FQDN, but I am not really very concerned about it. Sure, I can do that. > Appendix A > > $ ./translate.py amtrelays.example.com > 24 > 09616d7472656c617973076578616d706c6503636f6d > <CODE ENDS> > > The length and the hex string for the domain name > "amtrelays.example.com" are the outputs of this program, yielding a > length of 22 and the above hex string. > I'm having a hard time parsing this in a consistent way where the > yielded length is 22 and the literal command output is 24. Oops, I updated the program in an earlier version and didn't update the explanation properly, thanks for catching this. NEW: The length of the RData and the hex string for the domain name "amtrelays.example.com" are the outputs of this program. 22 is the length of the wire-encoded domain name, so 2 was added to that value (1 for the precedence field and 1 for the combined D-bit and relay type fields) to get the full length 24 of the RData. For the 2 octets ahead of the domain name, we encode the precedence, D-bit, and relay type fields, as described in Section 4. This results in a zone file entry like this: ...
- [MBONED] Benjamin Kaduk's No Objection on draft-i… Benjamin Kaduk via Datatracker
- Re: [MBONED] Benjamin Kaduk's No Objection on dra… Holland, Jake
- Re: [MBONED] Benjamin Kaduk's No Objection on dra… Benjamin Kaduk
- Re: [MBONED] Benjamin Kaduk's No Objection on dra… Holland, Jake
- Re: [MBONED] Benjamin Kaduk's No Objection on dra… Benjamin Kaduk