<div dir="ltr"><div dir="ltr"><div>The OP mentions it's only one "domain" being queried with random subdomains, being easier to match the possible queries like described here:</div><div><br></div><div><a href="https://stackoverflow.com/questions/14096966/can-iptables-allow-dns-queries-only-for-a-certain-domain-name">https://stackoverflow.com/questions/14096966/can-iptables-allow-dns-queries-only-for-a-certain-domain-name</a></div><div><br></div><div>I think this is effective to prevent this attack right now if it's affecting the OP, it should not be used for long, just until the attack comes to a halt. It's important to use a LOG flag before, to know when the attack stops because the CPU hit can be heavy if the kernel table gets too inflated. <br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 30, 2019 at 11:22 AM Brian Candler <<a href="mailto:b.candler@pobox.com">b.candler@pobox.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 30/04/2019 14:57, Filipe Cifali wrote:<br>
> Other than that you can put a DNS cache in front of the authoritative <br>
> to hold off those aggressive queries and give it a nice slab of RAM.<br>
<br>
pdns has its own packetcache layer which works very well, but if every <br>
query is a different <randomstring>.<yourdomain> then any cache would be <br>
forced to pass the query through.<br>
<br>
There might be some ways to deal with this.  e.g. if <randomstring> is <br>
always more than a certain number of characters, dnsdist could filter <br>
them out (whilst explicitly whitelisting any other valid names which <br>
happen to be the same length)<br>
<br>
The trouble is, you do still want to return NXDOMAIN normally to regular <br>
typos.<br>
<br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature">[ ]'s<br><br>Filipe Cifali Stangler<br></div>