]> git.donarmstrong.com Git - don.git/blob - posts/dnswl_ipv6_blocking.mdwn
add post about blocking ipv6 queries
[don.git] / posts / dnswl_ipv6_blocking.mdwn
1 [[!meta title="Blocking IPv6 DNS queries to remote servers"]] 
2
3 I've run into an "interesting" issue with DNSWL (a great
4 whitelisting/blacklisting service) recently. As part of their DNS
5 query abuse/freeloading mitigation, [DNSWL blocks DNS queries (or
6 returns results that marks all hosts as high-confidence non-spam
7 sources) for hosts which repeatedly exceed reasonable query
8 limits](https://www.dnswl.org/?p=120) to help funnel large users to
9 their subscription service.
10
11 Requests from my mail host to dnswl via IPv6 started to trigger the
12 more serious mitigation where DNSWL returns bogus results (every
13 result is high confidence that it is not spam). 
14
15 It appears that they are binning requests via IPv6 into large blocks
16 (/64 or larger). As my mail host runs in a larger hosting provider's
17 network, all of the DNS requests in that block are binned together,
18 and exceed the limits, resulting in bogus results.
19
20 Bind has an interesting feature where you can [mark certain DNS
21 servers as "bogus" to ignore query results from
22 them.](https://bind9.readthedocs.io/en/v9_16_6/reference.html#server-statement-definition-and-usage).
23 Using this feature, we can ignore the dnswl IPv6 servers which are
24 returning bad results, and only use IPv4 to contact them:
25
26 ```
27 server 2a01:7e00:e000:293::a:1000 { bogus yes; };
28 server 2607:5300:201:3100::3e79 { bogus yes; };
29 server 2600:3c01::21:1faa { bogus yes; };
30 server 2a01:4f8:c2c:52e::feed { bogus yes; };
31 server 2400:8901::f03c:91ff:fee9:a89 { bogus yes; };
32 server 2a01:4f8:1c0c:708f::53 { bogus yes; };
33 ```
34
35 Hope that helps anyone else (and future me) running into this issue.
36
37
38 [[!tag dns ipv6]]