Question about "too many records"
Petr Špaček
pspacek at isc.org
Fri Aug 2 08:30:06 UTC 2024
On 02. 08. 24 0:52, Tim Daneliuk wrote:
> On 8/1/24 17:14, John Thurston wrote:
>> After reading the CVE description, it isn't clear to me how the
>> degraded performance is manifest.
>>
>> If 300 A-records exist for the name 'foo', do we expect:
>>
>> 1. queries for A-records for 'foo' will be slower than expected
Query like that will consume more CPU time - and thus make everything
else also slower.
The limit is controlled by max-records-per-type configuration statement.
See
https://bind9.readthedocs.io/en/v9.18.28/reference.html#namedconf-statement-max-records-per-type
The more you allow the slower it will become.
>> 2. all queries for 'foo' will be slower than expected
This can happen too, when 'foo' has large number of RR _types_ on it,
like TYPE1000, TYPE1001, ..., TYPE1100.
Mitigation/limit for this is controlled by max-types-per-name
configuration statement. See
https://bind9.readthedocs.io/en/v9.18.28/reference.html#namedconf-statement-max-types-per-name
The more you allow the slower it will become.
>> 3. every query to the server will be slower than expected
... while query for 'foo' is being processed.
>> 4. something else
This is potential attack vector for resolvers: An attacker can always
create large RRset on authoritative server under attacker's control and
then query resolver for the humonguous RRset repeatedly - slowing down
everything.
> I also have a basic confusion about this general topic.
>
> I got bit by this when I updated to .28 because I had some fairly
> large round robin pools within our non-routable network.
>
> In my (admittedly brief) research, I was under the impression that
> the limitation was total number of records per type to reduce
> the risk of cache poisoning, not for performance reasons.
>
> If that's so, there needs to be a way to disable it by policy/option
> for the local horizon in a split horizon implementation where one
> might need a lot of records and the risk of cache poisoning is
> essentially zero.
>
> If someone would please help deconfuse me, I would be deeply appreciative.
This is not related to cache poisoning, see above.
--
Petr Špaček
Internet Systems Consortium
More information about the bind-users
mailing list