DNS, DHCP & IP Address Management appliances
For Microsoft DNS & DHCP servers
For open source DNS & DHCP servers
Cloud-based visualization of analytics across DDI architecture
Manage multi-vendor cloud DNS servers centrally
RIR Declaration Management and Automation
Automated network device configuration and management
Centralized visibility over all your clouds
A single source of truth for your network automation
Why DDI is an Obvious Starting Point
DNS Threat Intelligence for proactive defense
Intelligence Insights for Threat Detection and Investigation
Adaptive DNS security for service continuity and data protection
Improve Application Access Control to prevent spread of attacks
Protect users and block DNS-based malware activity
Carrier-grade DNS DDoS attack protection
Optimize application delivery performance from the edge
for Proactive Network Security
Visibility, analytics and micro segmentation for effective Zero Trust strategy
Enable work from anywhere by controlling access, security and data privacy
Simplify management and control costs across AWS, Azure and GCP environments
Policy enforcement, risk management, and automation for simplifying compliance
Risk-free migration to reduce DDI complexity and cost
Move risk-free to improve performance, security and costs
Automate management, unify control and strengthen security of connected devices
Protect your network against all DNS attacks, data exfiltration and ransomware
Enable zero touch operations for network management and security
Improve resiliency, deployment velocity and user experience for SD-WAN projects
Integrated DNS, DHCP, IPAM services to simplify, automate and secure your network.
Simplify design, deployment and management of critical DDI services for telcos
Optimize administration and security of critical DDI services for healthcare
Simplify and automate management of critical DDI services for finance
Simplify and automate management of critical DDI services for higher education
Simplify and automate management of critical DDI services for retail
Simplify Management and Automation for Network Operations Teams
Elevate SecOps Efficiency by Simplifying Threat Response
Enable DevOps practices to deliver consistent network operations.
Open architecture for DDI integration
Technology partnerships for network security & management ecosystems
Extend security perimeters and strengthen network defenses
Submit requests for temporary licenses
Submit access requests for EfficientIP knowledge platforms
Submit membership requests for EfficientIP Community
Strengthen your network security with insights from the Forrester 2025 Study on DNS Security.
Customer-centric DDI project delivery and training
Acquire the skills needed to manage EfficientIP SOLIDserver™
Identify vulnerabilities with an assessment of your DNS traffic
Test your protection against data breaches via DNS
Dedicated representation for your organization inside EfficientIP
Explore content which helps manage and automate your network and cloud operations
Read content which strengthens protection of your network, apps, users and data
Learn how to enhance your app delivery performance to improve resilience and UX
See all your assets in one place
This enterprise-grade cloud platform allows you to improve visibility, enhance operational efficiency, and optimize network performance effortlessly.
Who we are and what we do
Meet the team of leaders guiding our global growth
Technology partnerships for network security and management ecosystems
Make your cloud projects successful with insights from the 2025 EMA Hybrid Multi-cloud Report.
Discover the benefits of the SmartPartner global channel program
Become a part of the innovation
The latest updates, release information, and global events
To use DNS resolver logs for AI governance, start by aggregating logs from a short time window to identify devices requesting known AI services. Ensure devices use your resolvers, set graduated access rules and keep audit logs. DNS shows requests, not exchanged data.
November 10, 2026 | Written by: Howard Holton | DNS Security, Uncategorized
Summary
Tags
Client Query FilteringComplianceDNSDNS FilteringDNS SecurityNetwork ManagementObservability
Most organizations trying to govern AI adoption start by buying something that discovers AI usage. It’s a reasonable instinct and usually a wasted quarter, because the discovery data already exists. It’s in the resolver logs, it covers every device on the network, and in most enterprises nobody has run a query against it.That’s the argument, and it’s made in full in the companion piece, DNS for AI Governance: Your AI Program Isn’t Stuck on Technology. The short version: identity governance can only govern principals it already knows about, and the entire shadow AI problem consists of things nobody enrolled. DNS is the one control that is both pervasive and pre-connection, because everything resolves before it connects, including what you’ve never heard of.This piece is the sequence for acting on that. Five steps, in the order I’d do them, with the costs stated honestly, including the one that is larger than most pitches admit.One framing note before the steps. Nothing here makes DNS a replacement for anything. It is a broad, cheap, early, incomplete signal covering a population your other tools cannot see. The limits are set out near the end and they are worth reading before you build on any of it.
Five steps, in the order I’d do them.Two prerequisites first, because the whole sequence assumes them and it’s dishonest to pretend otherwise.You need client-attributed resolver logs. Not every deployment keeps them. Plenty log queries without preserving which client made them. If you don’t have client attribution today, step 1 produces a list of destinations with nobody attached to it, which is interesting and not actionable. Fixing that comes before everything below.You do not need ninety days of raw logs, and you should not go and buy them. I had a longer window in an earlier draft and Alexandre Chauvin-Hameau, EfficientIP’s Product Management Director, put real numbers to it, which I’m glad he did. One resolver at 1,000 queries per second is roughly 86 million queries a day. At about 150 bytes a line that’s some 13GB daily, so ninety days of raw retention on a single resolver runs near a terabyte. Ten resolvers and you’re looking at ten. That is not a configuration change. That is a storage project with a budget and a procurement cycle, and anyone telling you discovery is free has not costed it.The good news is that discovery doesn’t want raw logs. It wants the set of distinct client-and-name pairs, which compresses to a rounding error against the query volume that produced it, because a client resolving the same name four hundred times collapses to one row. So roll up at the source, discard the high-volume traffic you already know is legitimate before it leaves the resolver, and keep aggregates rather than lines. And start with seven days, not ninety. A week surfaces most of what a quarter will, because an AI tool in real use gets reached for more than once a week. Extend the window when you have a reason, not by default.Long retention is a genuine requirement, but it belongs to step 4, where it’s an audit decision made deliberately with that storage cost in view. Don’t let it block discovery.You need a starting list of AI destinations. You cannot filter for a category you haven’t defined. Begin with a seed list: the model providers, inference endpoints, and AI-enabled SaaS you already know about, twenty or thirty names you can write from memory in ten minutes, then expand it from what the first query surfaces alongside them. The list is an input to discovery and an output of it, iteratively. It is not something the query hands you from nothing.
Before any purchase or architecture discussion: every unique domain resolved in the last 90 days, grouped by client, matched against your seed list and its near neighbours. Model provider APIs, inference endpoints, AI-enabled SaaS, agent frameworks, MCP registries.How long this takes depends entirely on what you already have. With logs in a SIEM that already retains 90 days with client attribution, it is genuinely an afternoon. Without that, if retention is short, if attribution was never preserved, if the logs exist but nothing indexes them, it is a project, and the first phase of that project is the plumbing rather than the query.Two things come out, and both are useful.The first is scale, and it’s your budget justification. Executive surveys consistently show leadership believing they have a clear picture of AI usage; employee surveys consistently show they don’t, and the delta is not small. Resolver logs settle that argument with evidence instead of opinion.The second is shape, and here you have to be careful about what the data actually supports.Resolution count is not call count. Client-side caching, connection reuse, and HTTP keep-alive all sit between the two. An agent hammering a model provider over one persistent connection may resolve the name once an hour and make ten thousand calls behind it. Treat resolution counts as a floor, never a measure. Anyone who tells you DNS quantifies AI usage is overselling it.What degrades least is presence, timing, breadth, first-seen activity, and changes in behavior, and these are signals rather than proof. A lookup logged at 3am was logged at 3am regardless of TTL.Distinct clients per service is the sturdiest number you get. How many clients in your estate resolved a given AI service is barely affected by caching, because each one has to ask at least once. That alone answers more of the governance question than most people expect.TTL also bounds the cache problem more than I first credited. Published TTLs on AI services tend to be short, often a few minutes, so a client in sustained use has to re-resolve repeatedly across a working session. That still won’t give you call volume. It does give you a floor on engagement windows, and reading resolution counts against a known TTL tells you something about how long a client was actually in a service rather than merely that it touched one.Regularly spaced lookups can indicate a cache entry expiring and being refreshed on a schedule, which human browsing tends not to produce.One thing I had wrong in an earlier draft and will state correctly here: whether “first seen” means anything depends on your resolver. Working only from logs, it means the first appearance in the lines you still have, which is a fact about retention rather than history. Resolvers that track newly observed domains at the engine level know genuine first observation regardless of how long you keep logs. Find out which of those you have before you trust the field.NIST SP 800-81r3 is worth reading on caching behavior before anyone builds detection logic on lookup timing.So none of this finds you an agent. It finds you a candidate worth confirming with something that can confirm it.Scope boundary, and it’s narrower than I first described it. This works because AI tools are overwhelmingly SaaS-hosted and have to resolve something to function. A locally-run model resolves nothing. A stdio MCP call between an agent and a server on the same machine resolves nothing either, so that hop is invisible to you.But the hop is rarely the interesting part. Ask instead what the MCP server itself reaches for. If it connects onward to a data source addressed by name, a SaaS API, a hosted database, a web service, then that connection does resolve and you do see it. The question worth asking is not is this transport local but does this tool reach a named data source, and for most tools worth governing the answer is yes. The genuinely dark case is a local model talking to a local store, and that is a smaller population than the phrase “local MCP” suggests.
The common failure: a beautiful DNS policy enforced on 70% of endpoints, because the rest aren’t using the enterprise resolver and nobody checked.DNS enforcement is worth exactly your resolver coverage. CISA’s encrypted DNS guidance is direct. Encrypted DNS costs defenders visibility and enforcement, and the fix is permitting only authorized internal resolvers to reach authorized external ones. Four paths to close:
The goal isn’t forbidding encrypted DNS. It’s ensuring your resolver does the encrypting. Support DoH internally, and block every other encrypted resolver.Be realistic about that last clause, because it’s where this gets expensive. Blocking DoT or DoQ by port is straightforward. Blocking DoH to an arbitrary provider on 443 is not, because it needs either a firewall that can inspect inside a TLS session or a maintained IP blocklist of known providers. Neither is free, and a plan that assumes port blocking covers DoH will quietly leave the largest hole open.NIST SP 800-81r3, final in March 2026 and the first revision since 2013, covers the rest: DNSSEC validation, hardened recursive and authoritative infrastructure, minimizing information leakage in queries and responses. Read the document, not a vendor summary of it.
Allow/deny fails at AI governance for an organizational reason: the honest answer to most AI destination questions is neither. It’s “yes, but log it, rate-limit it, and tell me who.” Give a team only permit-or-forbid and they will permit, because forbidding breaks the business, and you’ll have deployed enforcement with the enforcement switched off.One prerequisite before the model, because it’s the part that decides whether any of this is practical: your resolver has to be able to apply policy per client. A stock resolver generally cannot. It answers queries; it doesn’t know that this subnet is finance and that tag is an agent host, and it has no way to vary the answer accordingly. Conditioning policy on client identity rather than on the name alone is a specific capability, usually sold as client query filtering or something named like it, and if you don’t have it then what follows is a design you can’t yet implement. Establish that first, because it changes the conversation from configuration to procurement.
Three inputs, more than two outputs:Client identity. IP, subnet, MAC, or better, a tag: finance, contractor, dev-workstation, unmanaged, agent-host. Tags survive re-IPing and scale past a spreadsheet.Destination category. The AI taxonomy from step 1, maintained as a living list. Most threat feeds don’t give you this yet; you may curate it yourself initially. Do it anyway.Action. Allow, allow-with-logging, rate-limit, redirect, quarantine, deny.Redirect is the one people forget, and for AI governance it’s frequently the best answer available. Rather than denying a client’s lookup for an unsanctioned AI service and generating a support ticket and a workaround, resolve it to your own approved equivalent: the enterprise tenant, the internal gateway, the sanctioned API endpoint. The employee reaches a working tool instead of a block page. You get the governance and they get the job done, which is the only version of this that survives contact with people who have deadlines. Blocking teaches employees to route around you. Redirecting teaches them the sanctioned path is the easy one.That gets you the policies you actually want. Sanctioned provider: allow all, log everything. Unsanctioned: allow for the AI evaluation team, deny for finance, quarantine and alert for unmanaged devices. Newly registered domain resolved by a production agent host: quarantine, always.That last one is where AI governance and threat defense turn out to be the same control. EfficientIP’s threat intelligence tracked one campaign through 2025 that generated roughly 580,000 potential command-and-control domains, the large majority registered and left dormant, waiting. Attackers provision infrastructure the way cloud teams do: in bulk, ahead of need. Newly registered and newly observed domains account for roughly a fifth of matched malicious DNS traffic; phishing another 30%.Domains you’ve never seen are the highest-signal, lowest-cost thing to be suspicious about, and an agent resolving one is a materially different event than a human doing it. The human might have clicked a link. The agent is following a plan, and something put that name in its path.
Resolution logs are the only record covering attempts rather than enrollments, including by things nobody registered. Piped to your SIEM, they’re a defensible timeline of AI activity across the estate.Two things to get right. Retention. Match your longest audit window, not your default log policy; DNS logs are high-volume and get aged out by teams who see them as operational noise. Attribution. Someone resolved this is worthless; this tagged client resolved this at this time is evidence. Make sure client attribution survives into what you forward.
A recap, because this step rests on an argument made in Part 1 rather than here. AI compressed the distance from kickoff to MVP and did nothing to day 1 and after, so organizations now ship far more applications against flat operations headcount. “We deployed seventy-three applications this month, you need to support them all” has no honest answer without usage data, and AI-accelerated applications are the least likely to have been instrumented, because instrumentation is a phase-two concern and phase two often never arrives. DNS doesn’t need the application’s cooperation to answer it.Same telemetry, different query, different customer. Instead of grouping by client and filtering to AI destinations, group by internal application hostname and count distinct clients over time.What you want per application: distinct clients over the full window and over the last 30 days, and the distribution of activity across time so you can separate a quarterly burst from a daily grind.The most useful figure is the gap between those first two numbers: how many clients reached for a name early and stopped. I’d avoid calling that an abandonment rate, because it isn’t measuring abandonment; a lookup is not a use, and its absence is not proof of disuse. A client can reach an application by address, through a proxy that resolves on its behalf, or from a record still held in a cache. What the gap gives you is a fall-off signal: a ranked list of names that look dormant, to be confirmed with the owners before anyone acts on it.That’s the honest frame for the whole step. It is a prioritization hypothesis, not a usage metric, and it is worth having precisely because the alternative on offer is nothing.One prerequisite, and it has to be set at deploy time: one application, one name. This works cleanly when each app gets its own FQDN. It degrades badly under path-based routing on a shared ingress, where apps.company.com/thing-73 produces the same single resolution as everything else behind that hostname. If your platform team is deploying at volume, per-app naming costs essentially nothing and should be policy, not for tidiness, but because it’s what turns your resolver into a portfolio instrument for free. Get this into the deployment template now; you cannot retrofit it onto names that were never issued.On tooling, as of this writing: this is not a standard report in the DNS platforms I’m aware of, from any vendor. Where something like it surfaces at all, it tends to be a point-in-time assessment rather than continuous reporting. So assume for now that this is a query you or your vendor’s services team run against the log store, not a dashboard you switch on. Plan the effort accordingly, and ask any vendor telling you otherwise to show it running in a customer environment today.Hand the output to whoever owns the application portfolio. It answers a question they have been asking for two years and have never been able to source.
The same caveats I’d want from anyone selling you something, unprompted.DNS shows a requested name and, if your resolver logs it, the client that asked. Not content, not intent, not proof that anything followed. A lookup for a model provider’s API is identical whether an employee is drafting an email, an agent is walking a customer database out the door, or a link preview fired and nothing happened. A resolution is a request for an address, not evidence of a connection, a transfer, or a human. Pair this with DLP and egress inspection; it replaces neither.Local agent traffic is invisible here. Stdio MCP calls never traverse the network. Anyone claiming DNS gives you complete agent visibility is selling you something.This is not your AI governance program. It’s the substrate underneath it. You still need policy, ownership, and an answer for what happens when someone violates it.What DNS uniquely provides is pervasive, pre-connection coverage of things nothing has onboarded yet, precisely the population your identity layer is structurally blind to. Bounded claim. Enough to make it the first move rather than the fourth.
Most of this is configuration and query work against infrastructure you already own rather than new licence spend. That is not the same as free: it is engineering time, and steps 0 and 8 in particular can mean real capacity or storage cost if your logging pipeline was never built to carry this. Budget the effort honestly. The argument doesn’t need it to be countless, only cheaper than the alternative.Your competitors are hitting the same gates you are. You will be asked what your AI is touching, repeatedly, by customers and auditors and your own risk committee. You will also be asked which of last month’s applications deserve an operations budget, and by whom, and how often. Neither question is going away, and both are answered by the same logs.The only variable is whether answering takes an afternoon or a quarter, compounded across every initiative in your portfolio, for the next three years.That’s not a security outcome. It’s your speed.
TO SECURITY ARCHITECTS: Run step 0 today. Not the query, the prerequisite check. Find out whether your resolver logs preserve client attribution and how long they’re kept. Everything in this piece is worthless if the answer is wrong, and most people have never looked.TO NETWORK AND INFRASTRUCTURE LEADS: You own the bypass surface, and it’s the part nobody else can fix. Hardcoded resolvers, DoH on 443, DoT, DoQ on 853. Enforcement is worth exactly your coverage, and coverage is worth exactly what you’ve measured. Measure it.TO PLATFORM TEAMS: One application, one name, in the deployment template. It costs nothing this quarter and it cannot be retrofitted onto names you never issued. This is the single highest-leverage thing on the list and it takes an hour.TO APPLICATION AND PORTFOLIO OWNERS: Ask your network team for distinct clients by hostname over ninety days. They can probably produce it and have never been asked. Treat what comes back as a list of questions rather than a verdict, then go and confirm it with the people whose applications are on it.TO ANYONE ABOUT TO BUY SOMETHING FOR THIS: Run the query first. You may find you already own the answer, and you will certainly negotiate better knowing what your own data looks like.
Howard Holton is Founder and Chief Analyst of Phronia Counsel. This piece was produced in connection with a sponsored engagement with EfficientIP. EfficientIP had no editorial control and reviewed the draft only for factual accuracy regarding its own products.
Not precisely. A DNS lookup is not equivalent to an API request or application session because caching and persistent connections affect resolution frequency. Resolver logs are better used for signals such as presence, timing, breadth, first-seen activity, and changes in behavior.
DNS cannot see the content or intent of an AI interaction, and local AI activity may generate no network DNS request at all. DNS should therefore complement identity, DLP, endpoint, application, and egress controls rather than replace them.
Discovery shows who is reaching for what. See how Client Query Filtering helps turn that context into policy, without treating every client the same.
Talk to an expert
Summarize
Networks
Explore content highlighting the value EfficientIP solutions bring to your network