Add dnstap import support
The dnstap wire-transfer and logging format for DNS traffic is the best supported and integrated option for our use case. The format started for logging purposes and is supported inside the DNS servers with minimal impact on primary function performance and with no need for external traffic capture tools.
The current dnscap-based solution should be replaced with dnstap, which has several advantages:
- should be easier to parse (much more simple than on-wire DNS, no special cases),
- offloads complicated problems such as L3/L4 fragmentation to network stack and bailiwick problem to DNS server (mitigates spoofing attacks on PassiveDNS),
- should be easier for capture, with less tooling, lighter performance-wise on servers.
There are also disadvantages: - No more information on malformed traffic and so oblivious to some kinds of attacks (which we are not detecting currently, just takes away the possibility).
- There may be differences to structure and semantics of presented information (we are no longer seeing all and only outgoing communication with DNS infrastructure, but internal representation of state on the recursive DNS server itself).
Yet, the advantages seem to outweigh.