<div dir="ltr"><div dir="ltr">On Tue, Jul 18, 2023 at 3:29 PM Viktor Dukhovni <<a href="mailto:ietf-dane@dukhovni.org">ietf-dane@dukhovni.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Tue, Jul 18, 2023 at 08:54:04PM +0200, Ondřej Surý wrote:<br>
<br>
> With my implementor’s hat on, I think this is wrong approach. It<br>
> (again) adds a complexity to the resolvers and yet again based<br>
> (mostly) on isolated incident. I really don’t want yet another<br>
> “serve-stale” in the resolvers. I have to yet see an evidence that<br>
> serve-stale has helped anything since the original incident, but now<br>
> every resolver has to have it because people want it.<br>
<br>
How is this akin to "serve stale"?  We're talking about retrying<br>
response that fail to validate, just one might/would retry a response<br>
that is "REFUSED", "SERVFAIL", has TC=1 over UDP, contains garbage, ...<br>
<br>
The "serve stale" situation is quite different, here substantial new<br>
logic is required, whereas with invalid responses, it is just a matter<br>
of trying the next server up to some reasonable work limit.<br>
<br>
Retries to reach a better authoritative server are core element of DNS<br>
resilience in the face if inevitable partial degradation of service.<br></blockquote><div><br></div><div>Yes, I agree. A resolver can't really tell that a response with an expired signature wasn't an attacker trying to replay old data. For robustness against attacks, it must re-query other available other servers if they exist.</div><div><br></div><div>Also, I was under the impression that most resolvers already had this robust behavior. Since Unbound was mentioned, I just tested an unbound resolver against a test DNS record that I have provisioned with an intentionally expired DNSSEC signature - it sent queries to all 4 servers for the zone before giving up and returning SERVFAIL.</div><div><br></div><div>Shumon.</div><div><br></div></div></div>