Re: [DNSOP] Multi-QTYPES (was: unsolicited HTTPSSVC responses)
Eric Orth <ericorth@google.com> Fri, 29 May 2020 18:02 UTC
Return-Path: <ericorth@google.com>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1395C3A0EED for <dnsop@ietfa.amsl.com>; Fri, 29 May 2020 11:02:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.599
X-Spam-Level:
X-Spam-Status: No, score=-17.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 l3ebvnmR5UbX for <dnsop@ietfa.amsl.com>; Fri, 29 May 2020 11:02:40 -0700 (PDT)
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 889153A0EB9 for <dnsop@ietf.org>; Fri, 29 May 2020 11:02:39 -0700 (PDT)
Received: by mail-wr1-x434.google.com with SMTP id t18so4780452wru.6 for <dnsop@ietf.org>; Fri, 29 May 2020 11:02:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=cqGaCz5+72naTHNiyi+Kucr6z+NQ2eDgVohUkHO4wHc=; b=Yvm/45WnewZwLN8pBjBQ/NJ1/Xtw60bPzNBTg6lkZ+hFMHGId6YZVurdkrNMji6iTG Yf6WZba9CaXPZfafJBm1//FXsMO/gEW0Q774nq+XZj+/9xcr6W9XHJ78Iqlq82FswkRJ 9LMSv5b0jF6a+98Fi4BQGb+jNniRXn2bw94wyunyWsQOqhdEMvunLDb8vhQv/ipd1Ukf FKckFBpGHGQnCV/oGNcHrpJrOIA1uqPdHPmWcY7GOPuS2OCF86+a4rB9TikGKIqVrGM9 kk00k+4V8hb7BrPYoGvS94QmiLIZDQWlfHZFPFRq36qnu9chZ3FFZaOUFnvks39NHNhh N+sQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=cqGaCz5+72naTHNiyi+Kucr6z+NQ2eDgVohUkHO4wHc=; b=Sqb4emNHTl/6L99XGGy1vbXNS47tWOtHIsnUr8IzEa6zU8VY6DkThazGgo2sw6hp/J spaogjqZO6u3djkZQPOR9a7a3dcVsrEvGHcTq7S2KcsHCHPKtMJlMTWPYv4MbYem6cD2 4ygeLh7BzJ5buNQZ95PbWqtbVXKZUtSXubvGFDGKOfHdQborWS1VZ4274HHswJdg3o/D UPZIh2ZXWI+T6XwwVN6YoeUZCVVodddbCEUuvXezBFosKxGN6HpKy2Mh6BYVKw81zS6G EWcOXXMdyLlfAK67SmRg1MYSycCJqYMGthFyHDMFXh2NAgiEfg3c2lL+dfR00JbymVqS M2mg==
X-Gm-Message-State: AOAM532XbxgiTopKo6kyUTPuBOfYuOkbwBGecFUUZVaCJga9w1beegnd MH+hVhUcuJFf+JorZAKPy0S0E6z1mHO1uLEFE7NaPg==
X-Google-Smtp-Source: ABdhPJzfn3MxuNoofJisC0KlWnGaz7d2mOxbW77ytaNriIHBdAlLN519CgwNOYw1AxGt3Zf/+QxTS9SNTQk3zfetm2Q=
X-Received: by 2002:adf:fdcc:: with SMTP id i12mr10371794wrs.313.1590775357570; Fri, 29 May 2020 11:02:37 -0700 (PDT)
MIME-Version: 1.0
References: <CAMOjQcHAKC6ge2te8eqPz3JFmmLrpBoTSt2yKKxFXHpQEyjLqg@mail.gmail.com> <1852098.ajqZCkXiOD@linux-9daj> <e0567177-b1b4-e9e7-d2a8-faddbbc911bc@nic.cz> <2e1faccd-bdc4-b156-c460-1bada946d1c9@bellis.me.uk> <fa89c1ec-7748-3952-0597-524d6bd8ce6d@time-travellers.org> <3e349f68-3f59-82af-d81c-bfb24f54e65e@nic.cz> <CAMOjQcH9V5jP2vQmx1QU3d8qo6MMjfq27MsL4wFa4zQzh9-mFA@mail.gmail.com> <16ef2458-8175-3311-88f4-80028a00549e@nic.cz>
In-Reply-To: <16ef2458-8175-3311-88f4-80028a00549e@nic.cz>
From: Eric Orth <ericorth@google.com>
Date: Fri, 29 May 2020 14:02:25 -0400
Message-ID: <CAMOjQcFtoZkHUzR46uy7P93mJjLNE99ducJkqvZUKYO=5r-nqQ@mail.gmail.com>
To: Petr Špaček <petr.spacek@nic.cz>
Cc: dnsop <dnsop@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000001b67b905a6cd403a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/GpdrG5r4zT3bJAKEjeV9470pwOc>
Subject: Re: [DNSOP] Multi-QTYPES (was: unsolicited HTTPSSVC responses)
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 May 2020 18:02:50 -0000
On Fri, May 29, 2020 at 3:06 AM Petr Špaček <petr.spacek@nic.cz> wrote: > > > On 28. 05. 20 21:21, Eric Orth wrote: > > I lead engineering for the stub resolver built into Chrome browser, so > while not an OS-level stub, maybe still prominent enough to count for the > "any communication" requested above. > > > > My biggest concern with an approach like this is ossification from > middleboxes (especially some old home routers) that may not be ideally > engineered for the modern web. Chrome has seen significant issues in the > past with such middleboxes creating pain (super slow responses mostly) for > a small number of our users on sending unusual queries or an increased > amount of queries. As such, we're generally afraid of sending out anything > other than basic and rate-limited requests when it comes to Classic DNS. > Attempting new things and falling back to conservative behavior on an issue > is not necessarily a reasonable approach because the middlebox pain is not > always limited to the individual queries. In some cases, probing or > experimenting with resolver capabilities can cause user pain for all > subsequent queries for a period of time on the order of minutes. > > > > Since this specific multi-query proposal encodes it in EDNS, it might be > more reasonable. I don't have any actual data to back this up, but I would > guess that unknown EDNS options are less likely to cause issues than > completely unknown queries. So it might be safe enough to at least do > super cautious experimentation around it. > > I would say it depends on sheer luck: > EDNS handling is specified in RFC 2671 from 1999, unknown type handling is > in RFC 3597 from 2003. Both should work in 2020. If they don't because > resolver vendors does not care. > Right. I'm sure we'll still hit plenty of cases where the resolver doesn't support those RFCs, and thus we may get behavior such as stripping the unrecognized EDNS records or maybe even returning an error for the entire request. But my prediction is that unknown EDNS records will be much less likely, compared to unknown question qtype or too many queries, to cause the really bad behavior where the resolver crashes and behaves poorly for subsequent "normal" requests. > > > > > Note that none of these ossification issues are really a concern with > DoH (or DoT) where we can be reasonably sure we're talking to a modern > non-ossified resolver. > > Sorry but I think you have unrealistic hopes, probably caused by largely > nonexistent auto-disovery of DoH/DoT servers. > > AFAIK "traditional router vendors" (like AVM, the vendor of FRITZ!box > router - mainstream in Germany and countries around) are adding support for > DoT and possibly also DoH. Personally I do not see any reason why their > resolver available over DoT/DoH should work any better than their > unencrypted DNS resolver, which is (at least not in case of AVM) not famous > for standards-compliance or performance. Of course vendors are going to > reuse whatever they had before, so additional TLS+HTTP layers will just add > new bugs on top of whatever bugs they had before. > > In other words, whole anti-ossification argument seems to hold at the > moment only because of missing auto-discovery protocol for encrypted > transports. Once we have auto-discovery all the problems will bounce back. > Sorry for my grim predictions! Yeah, maybe more accurate to say ossification is not an issue for Chrome's current approach. Chrome currently only does by-default upgrade for providers in a hardcoded mapping, and RFC3597 support is an explicit requirement for the mapping. For DoT/DoH in general, I would still argue that ossification is reduced (resolvers need at least one update since the invention of DoT/DoH and less involved parties when the secure connection kicks most interceptors out of the mix), but you are correct that it is not eliminated. > > > > The usefulness of combining queries is a little reduced since DoT and > DoH often use connection sharing for multiple requests anyway. But there's > still some potential value. In ECH (ESNI) discussions, it has come up a > few times that an attacker could try to force a downgrade from ECH by > identifying and blocking the larger packets containing HTTPSSVC responses > that contain ECH keys but not address resolves. Much safer if A/AAAA and > HTTPSSVC can be in the same query/response to force an attacker to block > everything or nothing. > > Hmm, shouldn't it be detected at TLS layer? It seems to me that only > explotable problem would be if client interpreted connection timeout or TLS > errors as missing ESNI RR, which does not sound like a good idea to me. > Detection might be nothing more than timeout of the HTTPSSVC response. Specifically because of this attack, the HTTPSSVC draft requires that when using DoT/DoH, if the HTTPSSVC record results in timeout, transport error, or SERVFAIL, that the client not fallback to normal behavior using A/AAAA. Without the attack and RFC guidance, I imagine most clients would respond to any issues with the HTTPSSVC by reverting to their pre-HTTPSSVC-support behavior and just using A/AAAA normally because it's not ideal to create situations where otherwise-working requests could be broken only for the clients that support the new feature, especially when, at least to begin with, the vast majority of domains will legitimately not have HTTPSSVC records. > > > > Additional possible issues with this multi-query proposal: > > *By combining A and AAAA, you might lose nice abilities to try to speed > things up using Happy Eyeballs v2 style algorithms to immediately start > using addresses as they come in, before all addresses are received. Not > currently a huge issue for Chrome DNS because we don't currently support > Happy Eyeballs v2, but we'd be hesitant to lose the ability to make that > improvement. > > Interesting... Do you have measurements which suggest that A/AAAA answers > have different timing properties? I would expect it mostly depends on > whatever is in cache, and if multi-query takes off we can expect both to be > present in cache with the same TTL. > I don't have any data on-hand, but the relevant RFC8305 does mention networks handling some address families sub-optimally as a motivation for the algorithm. > > > > *The current proposal seems to give the resolver a lot of leeway to only > sometimes include the additional results and includes a TODO note that > maybe there should be a way for clients to mark qtypes as mandatory. I > don't think the client would get as much use out of multiple qtypes unless > it had reasonable confidence that it would at least usually get all the > responses. Otherwise, the client is often going to have to make multiple > requests in parallel anyway to ensure it can get all the responses > reasonably quickly in parallel. Then again, if it's something like > requesting an extra qtype that we would be afraid to send in Classic DNS > anyway (due to the ossification issues), eg HTTPSVC, I suppose there's more > value of just adding in the additional qtype and using the response > opportunistically when received. > > I agree - making it mandatory seems like reasonable approch (within > certain limits, e.g. answer size etc.). > > Petr Špaček @ CZ.NIC > > > > > > On Thu, May 28, 2020 at 12:22 PM Vladimír Čunát < > vladimir.cunat+ietf@nic.cz <mailto:vladimir.cunat%2Bietf@nic.cz>> wrote: > > > > Hello. > > > > On 5/28/20 10:00 AM, Shane Kerr wrote: > > > As I have mentioned several times on microphone, I think this draft > > > has huge potential, potentially cutting the number of queries > handled > > > by recursive resolvers almost in half - since they could ask for A > and > > > AAAA records in a single query. > > > > I'm not sure if it would be a net benefit if we consider the added > > complexity (like the few unpleasant corner cases), the need to > implement > > on both sides, and other ways that are available. Is saving the > number > > of IP-layer packets the only significant motivation? > > > > For resolver-to-auth case I do suspect some potential. Plain UDP > will > > probably still stay popular there for some time. Though I'm afraid > this > > might _sometimes_ push the answer sizes too large to fit into one > packet > > (in signed zones), which in my eyes slightly reduces attractiveness > of > > the technique, now that we know that UDP over 1.5 kB is no good. > > > > For non-auth cases, you typically communicate with just one upstream > > resolver (or very few), so if the number of packets is a concern, > I'd go > > for a long-lived TCP or TLS connection (there's e.g. privacy > motivation, > > too). That's all standardized already, and it naturally avoids those > > extra corner cases. Sure, it's probably possible to improve > > significantly on session timers and resuming, performance, usage of > > Nagle's algorithm, etc. but ATM to me that feels a more worthwhile > > investment than any of the multi-answer proposals. One advantage is > > that many of the TCP/TLS improvements can be deployed one-sidedly > with > > some effect but multi-QTYPEs can't. > > > > --Vladimir > > _______________________________________________ > DNSOP mailing list > DNSOP@ietf.org > https://www.ietf.org/mailman/listinfo/dnsop >
- [DNSOP] unsolicited HTTPSSVC responses Eric Orth
- Re: [DNSOP] unsolicited HTTPSSVC responses Paul Vixie
- Re: [DNSOP] unsolicited HTTPSSVC responses Ben Schwartz
- Re: [DNSOP] unsolicited HTTPSSVC responses Paul Vixie
- Re: [DNSOP] unsolicited HTTPSSVC responses Petr Špaček
- Re: [DNSOP] unsolicited HTTPSSVC responses Ray Bellis
- [DNSOP] Multi-QTYPES (was: unsolicited HTTPSSVC r… Shane Kerr
- Re: [DNSOP] Multi-QTYPES (was: unsolicited HTTPSS… Petr Špaček
- Re: [DNSOP] Multi-QTYPES (was: unsolicited HTTPSS… Vladimír Čunát
- Re: [DNSOP] Multi-QTYPES (was: unsolicited HTTPSS… Joe Abley
- Re: [DNSOP] Multi-QTYPES (was: unsolicited HTTPSS… Petr Špaček
- Re: [DNSOP] Multi-QTYPES (was: unsolicited HTTPSS… Eric Orth
- Re: [DNSOP] Multi-QTYPES (was: unsolicited HTTPSS… Petr Špaček
- Re: [DNSOP] Multi-QTYPES (was: unsolicited HTTPSS… Eric Orth
- Re: [DNSOP] unsolicited HTTPSSVC responses Eric Orth
- Re: [DNSOP] unsolicited HTTPSSVC responses Ray Bellis
- Re: [DNSOP] unsolicited HTTPSSVC responses fujiwara
- Re: [DNSOP] unsolicited HTTPSSVC responses Eric Orth
- Re: [DNSOP] [Ext] unsolicited HTTPSSVC responses Paul Hoffman
- Re: [DNSOP] [Ext] unsolicited HTTPSSVC responses Eric Orth
- Re: [DNSOP] [Ext] unsolicited HTTPSSVC responses Tony Finch