Turnkey DNSSEC setup: protecting DNS from spoofing

DNS response spoofing redirects visitors to someone else's resource and breaks email — usually this is noticed by a drop in traffic. We set up DNSSEC turnkey: check the zone, sign it, and hand over a working configuration with documentation. Work proceeds without downtime, and migration takes from a few hours.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1365
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1330
  • B2B Advance company logo design
    B2B Advance company logo design
    776
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1077
  • AIDER company logo development
    AIDER company logo development
    1022
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1113

DNSSEC setup: where the chain of trust breaks

DNSSEC answers one narrow question: whether the response came from the zone itself or from an intermediary.

Without it, a caching resolver swallows a spoofed response, the client lands on someone else's address, and externally this is indistinguishable from normal service operation—until credentials start being harvested at that address.

Validation of DNS response authenticity relies on the zone's chain of trust. The parent stores a DS record with the fingerprint of the child zone's signing key; the resolver verifies the received signature against it and carries trust down the hierarchy to the domain itself. A break at any link—and the response is considered unverified, even if all the data is present.

The most common break is a mismatch between signing keys at the registrar and in the zone. Keys are changed, but the DS record is published with a delay or with the previous fingerprint, and you have to wait exactly as long as the record lives in the parent's cache.

A separate cause is an expired signature: the zone is signed in advance with a margin, and if re-signing stops, validation breaks without a single change to the configuration.

Diagnostics are complicated by the fact that not everyone sees a name resolution failure. Validating resolvers respond with failure and do not serve the zone at all, while non-validating ones continue to serve it from cache—some clients and some monitoring remain green. Public resolvers check more strictly than home ones, so problems show up there first.

Next, we break down how this is closed: from the order of DS publication when changing keys to checks that catch a broken chain before a user sees it.

What a signed zone provides: effect in measurable terms

A signed zone moves verification of response authenticity to the validation moment: the resolver compares the record signature with the chain of trust and returns a failure instead of forged data.

The share of false responses that reach the user drops to zero—spoofing on the path between the cache and the root zone no longer works. The root zone is signed by ICANN, so the chain of trust does not break at any level of the domain.

Incident investigation time is reduced many times over, because the fact of spoofing stops being a matter of guesswork.

Previously, responses from different points and different providers had to be compared just to prove the fact; now it is enough to see a signature mismatch—and it is immediately clear where the cause is: an expired signature, key desynchronization at the registrar, or a stale zone copy. The analysis fits into minutes, not hours of correspondence with several parties.

A separate class of failures like "the site sometimes opens, sometimes not" goes away: a poisoned record in an intermediate cache cannot be served as valid.

What remains are explicit validation failures—they are visible in logs and resolved by code, instead of silent redirection to someone else's address or a spoofed mail record.

Name resolution stability moves from complaints into a metric: the share of successful validations stays level and does not drop during peak hours.

Measurements are taken before and after enabling signing at the same points: the share of responses rejected by the validator, the number of "does not open" requests, the time from first signal to incident closure. This is an effect visible in a report, not only in the standard's description.

Protection connection options: comparison of modes

DNSSEC enablement schemes differ in where the keys live and who publishes the DS record in the parent zone. This determines both the labor intensity of the work and which failures remain outside our control.

Scheme When it fits Limitations
Signing at the registrar the domain is already managed in its panel, records change rarely only the offered parameters are available: the algorithm, key lifetime, and rotation procedure are set by the platform; DS is published by its tools
Local zone signing own servers, automatic record issuance, key storage requirements keys, their backups, and monitoring fall on us; an incorrect DS record at the registrar makes the zone unresolvable
Phased enablement by subdomains large zones and many services, migration without stopping operations signing of the parent zone does not protect child zones until they are signed themselves; the transition period stretches out

Key rotation is a separate procedure in any scheme: the new key is published in advance, the record lifetime is allowed to pass, then the binding at the registrar is changed, and only after that the old key is withdrawn from circulation.

If the steps are reordered, some resolvers will continue to require the previous key and will stop seeing the zone.

For a zone without its own DNS infrastructure, signing at the registrar is rational. If there are many records and they are issued automatically, local signing with phased enablement by subdomains gives control over keys and a predictable transition.

Implementation procedure: from zone audit to handover

DNSSEC is not a single setting but a chain: if the order is wrong, the zone stops resolving for some clients, and this is not noticeable immediately.

Therefore, work proceeds in stages, where each step is confirmed by a check, and enabling zone signing and publishing the key at the parent are separated in time. Moving to the next stage only after the previous one stably returns correct responses.

Stages

  1. DNS zone audit. We inventory all records and delegated subzones, compare zone copies on different servers, and find conflicts that would make the signature invalid.
  2. Delegation scheme and chain of trust. We determine who transfers the zone to the parent, where keys are published, and how their relationship is confirmed—without this, external resolvers will not accept the signature.
  3. Enabling zone signing. We generate signing keys, set their rotation periods and signature lifetimes in cache, and synchronize the zone across all servers.
  4. Test mode. The zone is already served with signatures, but the key has not been transferred to the parent: it is visible that responses are formed correctly, while clients are unaffected.
  5. Publication at the parent. After test confirmation, we publish the key—from this moment the zone is considered signed, and rollback is possible only by coordinated action.
  6. Checking from different resolvers. We query public, local, and distributed resolvers: responses are confirmed, there are no failures, and behavior is the same for all.
  7. Handover of the procedure. We provide a document with the key rotation procedure, actions for signature failure, and monitoring points, and train the team on real scenarios.

Policies, keys, and documentation: what remains with you

We do not leave DNSSEC a black box: the logic of zone signing, key rotation, and checks is recorded in artifacts that your team or another contractor can use to continue work without deciphering someone else's configuration. After commissioning, you retain a set sufficient for independent maintenance.

  • Map of zones and subdomains — a list of zones, their delegation points, and correspondence to records at the registrar: it is clear where your responsibility ends and the provider's zone begins.
  • Chain of trust diagram — from the root zone to signed records, indicating where parent and child keys are stored and how they are related.
  • Key rotation policy — lifetimes of signing keys and key-signing keys, the procedure for publishing a new record at the registrar, who initiates scheduled rotation, and what to do in case of compromise.
  • Separation of zone access roles — who changes keys, who only changes records, who has read access; a separate account for emergency work.
  • Check procedure — what we verify and how often: signature validity, key lifetimes, and matching data at the registrar and in the zone itself.
  • DNS infrastructure documentation — server addresses, redundancy scheme, key storage locations, and restore-from-backup procedure.
  • Incident instruction — step-by-step removal of signing from the zone during an emergency and return to a working state without domain downtime.

Each item closes a specific class of failures: without a zone map, scheduled key rotation turns into unnoticed domain downtime, and without a check procedure, an expired signature is discovered only from client complaints.

Case: migrating a zone to signing without traffic loss

Initial state

A live zone came into the work: a primary domain, several dozen subdomains for mail, API, and internal services, record lifetimes from a couple of minutes to a day.

The zone was not signed, so any intermediate resolver could spoof the response, and from the owner's side this was not detectable at all.

A separate risk was the domain's first DS in the parent zone: an error in the chain of trust disables the entire domain, not just one record.

Therefore, before publication, we took baseline measurements: response time of authoritative servers, distribution of queries by type, and the share of traffic from validating resolvers.

Measurements and checks on resolvers

The signed version of the zone was assembled on a separate staging environment and run through external chain checks, including Google Public DNS. The DS at the registrar was published only after a clean pass—the step is irreversible for a period equal to the delegation lifetime.

After enablement, the share of responses with validation errors remained zero, the increase in response time stayed within single-digit percentages, and the number of "does not open for everyone" requests did not grow.

Key rotation is configured with preliminary publication: the new key appears in the zone before it starts signing, so rotation and rollback proceed without downtime.

We repeat the control resolver sweep and chain check on schedule: trust breaks quietly, and without regular checking, it is discovered only from clients.

DNSSEC setup when changing registrars: what to consider

Yes, changing registrars with DNSSEC enabled proceeds without downtime—provided the sequence of actions is strictly followed.

The DS record lives in the parent zone and points to a specific signing key, so while it references the old key and the servers return the new one, validating resolvers return SERVFAIL—for clients this looks like complete domain failure.

The sequence is: reduce TTL in advance and wait out the old interval, transfer the zone together with the private part of the KSK/ZSK keys (or deliberately generate new ones), bring up the new platform and make sure it serves DNSKEY and RRSIG, then change DS through the new registrar, and only after the parent zone updates, shut down the old one.

The registry interface through which DS is published is determined by ICANN, but the timeframes for applying changes differ by registry—they are clarified before work begins.

Option When it fits Limitations
Transferring existing keys The algorithm and key length match on both platforms The private key is transmitted over a secure channel and stored with restricted access
Generating new keys The algorithm changes or the provider does not accept foreign keys The DS at the registry is updated again; the desynchronization window is kept minimal
Temporary disabling of DNSSEC When migration speed matters more Spoofing protection is removed for the entire period, and enablement goes through all steps again

Typical transition errors are removing DS before publishing the new key, transferring only the public part, not touching TTL and signature lifetime, forgetting to remove old NS from delegation: some resolvers will continue to query the platform without signing.

Technical doubts: analysis of common situations

Doubts usually surface not at the moment of zone signing, but a week into operation: some queries stop passing validation, someone among the neighbors delegates a subdomain, mail starts behaving strangely. Below is an analysis of situations our engineers encounter most often when configuring DNSSEC.

Some queries fail validation, while others work—why?

A partial failure almost always means a mismatch in the chain of trust, not a problem in the zone itself.

Typical causes: the DS digest at the registrar does not match the current KSK, an old signature remains in the intermediate resolver's cache, or the zone returns too large a response and some resolvers do not switch to TCP.

We diagnose top-down: check DS on the parent side, query the record with validation required, inspect signature validity periods and the presence of NSEC/NSEC3, and only then analyze the server configuration. In most cases, fixing one DS record removes the symptom.

A subdomain is delegated to another team—what happens with validation?

When delegated, the child zone's signing lives separately: its own key pair and its own DS on the parent side. If no one has signed the child zone, validation for its names simply is not performed—the rest of the zone continues to work normally, and there will be no failure.

That is why at the start we assemble a delegation map and decide for each subdomain: sign it ourselves, agree with the owner, or leave it as is. This is recorded in the documentation so that a change of responsible person six months later does not turn into an outage.

Compatibility with mail and third-party services

Mail records are signed together with the zone, and this does not affect MX operation—what usually breaks is not mail, but resolvers that cannot parse oversized responses.

Procedure: enable NSEC3 with a minimal number of hash iterations, monitor response size during name enumeration, check TCP delivery, and separately test external services that pull the entire zone.

If a contractor service does not support signature validation, the problem is solved by a signed intermediate zone, not by abandoning DNSSEC.

How to check the chain of trust before going live?

We run a control scenario on a test copy of the zone: root—parent zone—our zone, verifying at each step the DS digest against the key and the signature validity period.

Then we take a sample from external resolvers and the organization's internal servers—they are often configured differently.

Additionally, we set monitoring on signature expiration and on the share of responses without validation confirmation, so that key expiration does not become a surprise.

Let's discuss your zone and return with an assessment and plan

A DNSSEC assessment depends almost entirely on two things: how many zones you have and how tangled the delegation is between the registrar and your name servers.

If you send this in advance, the first analysis takes one conversation and ends with a plan, not a list of clarifying questions. Here is what to prepare.

  • A complete list of zones and subdomains, including those delegated to other servers or maintained by contractors: a missed zone will remain unsigned, and its traffic will continue to travel unprotected.
  • Delegation scheme: who holds the parent zone, where key records are published, whether there are intermediate links and stub zones on the registrar side.
  • Access needed for the work: registrar panel for publishing key records, servers with DNS service, configuration repository, monitoring system.
  • Current state: whether DNSSEC is enabled on some zones, how keys are stored, how often they are rotated, who is responsible for renewal.
  • A list of external services and resolvers tied to your domains—some of them may not support signature validation, and this is discovered before enablement, not after.

During the analysis, we go through the zones top-down: mark where enablement affects the parent zone, where a manual operation in the registrar panel is needed, and where there is a risk of a brief name resolution interruption.

As a result, you receive a delegation scheme with marked control points, an enablement procedure, and a rollback point at each step.

Describe your task and attach what you already have on hand—we will return with an assessment and work plan.