Enable DNSSEC on a cPanel Server
Enable DNSSEC from cPanel or WHM to sign your DNS zones and protect against DNS spoofing. Covers shared hosting and server admin paths.
7 min read
DNSSEC (Domain Name System Security Extensions) signs your DNS records so resolvers can check that answers really came from your nameservers and weren’t forged on the way. Without it, an attacker who can tamper with DNS responses can send your visitors to the wrong server.
Setting it up takes two steps: you sign the domain’s DNS zone on the server, then you publish a DS record at your domain registrar. DNSSEC only works once both are in place.
Which Path to Follow
The steps depend on the access you have: cPanel on a shared plan, or WHM as a server admin.
| You have… | Follow this section |
|---|---|
| cPanel access (shared hosting account) | Enable DNSSEC from cPanel |
| WHM access (VPS, dedicated, or reseller) | Enable DNSSEC from WHM |
If you’re on a GoZen Host shared hosting plan and just want DNSSEC on your domain, the cPanel path is all you need.
Enable DNSSEC from cPanel
This is the simpler path. If your hosting provider has enabled DNSSEC for your account, you can turn it on yourself from cPanel.
What You’ll Need First
- A cPanel hosting account with GoZen Host (or any host running cPanel 98+)
- Your domain must use the server’s nameservers (not Cloudflare or an external DNS provider)
Step 1 - Generate DNSSEC Keys in cPanel
- Log into your cPanel account.
- Go to Domains → Zone Editor.
- Find your domain in the list.
- Click the DNSSEC button next to it (it’s in the same row as the A Record, CNAME, MX, and Manage buttons).
- Click Create Key, then click Create in the confirmation popup.
cPanel generates the signing keys and signs your DNS zone. After creation, the DS Records screen shows the values you’ll need:
Key Tag: 12345
Algorithm: 13 (ECDSAP256SHA256)
Digest Type: 2 (SHA-256)
Digest: A1B2C3D4E5F6...
Copy these values somewhere safe for the next step.
Not seeing the DNSSEC button? The DNSSEC option only appears in Zone Editor when the server runs PowerDNS and the hosting provider has enabled the “Manage DNSSEC” feature for your account. If you’re with GoZen Host, contact support and they’ll confirm it’s available for your server. With other providers, ask their support to check both PowerDNS and Feature Manager settings.
Step 2 - Add the DS Record at Your Registrar
The DS (Delegation Signer) record tells the parent zone (such as .com) which key signs your zone, which links your zone into the chain of trust. You add it at your domain registrar, not in cPanel.
If your domain is registered with GoZen Host:
- Log into the GoZen Host Client Area
- Go to Domains → My Domains
- Click the domain name
- Look for DNSSEC Management or DS Records
- Enter the Key Tag, Algorithm, Digest Type, and Digest from Step 1.
- Save
If your domain is at another registrar (Namecheap, GoDaddy, Porkbun, etc.):
Log into your registrar’s dashboard, find the DNSSEC or DS record settings for your domain, and enter the same four values. The field names are nearly always the same; only the screens differ.
Step 3 - Verify It Works
Wait 15-30 minutes, then scan your domain with the GoZen DNS Inspector. It checks your DNS records and DNSSEC status in one scan and shows whether DNSSEC is active.
For a deeper look at the chain of trust:
- DNSSEC Analyzer (Verisign) - visual chain-of-trust validator
- DNSViz - detailed graphical map of the trust chain
Don’t skip the DS record. A signed zone without a DS record at the registrar isn’t validated by anyone, so it gives no protection.
Enable DNSSEC from WHM
This part is for server administrators with root or reseller access to WHM, usually on a VPS, dedicated server, or reseller plan.
What You’ll Need First
- Root or reseller access to WHM
- PowerDNS as your nameserver (DNSSEC is not supported with BIND in cPanel)
- Your domain must use the server’s own nameservers (not Cloudflare, not your registrar’s DNS)
- Access to the domain registrar’s control panel (to add the DS record)
Check your nameserver first. DNSSEC in cPanel only works with PowerDNS. If you’re still on BIND, switch to PowerDNS under WHM → Service Configuration → Nameserver Selection before continuing.
Step 1 - Make Sure DNSSEC Is Available
Before generating keys, confirm that DNSSEC is enabled for your cPanel users:
- Log into WHM as root.
- Go to Packages → Feature Manager.
- Edit the feature list assigned to your hosting packages.
- Make sure Manage DNSSEC is checked, then save.
This lets cPanel users manage DNSSEC from their own Zone Editor. If you skip it, only WHM admins can manage DNSSEC.
Step 2 - Generate DNSSEC Keys
- In WHM, go to DNS Functions → DNS Zone Manager.
- Find the domain you want to sign.
- Click the DNSSEC button next to it.
- Click Create Key.
Once the keys are created, click View DS Records to see the values you’ll need:
Key Tag: 12345
Algorithm: 13 (ECDSAP256SHA256)
Digest Type: 2 (SHA-256)
Digest: A1B2C3D4E5F6...
Copy the Key Tag, Algorithm, Digest Type, and Digest values for the next step.
Step 3 - Add the DS Record at Your Registrar
Add the Key Tag, Algorithm, Digest Type, and Digest from WHM at your registrar, as described in Step 2 under the cPanel instructions above. Until the DS record is published, the signed zone isn’t validated.
Some registrars ask for the DNSKEY record instead of a DS record. If yours does, go back to DNS Zone Manager → DNSSEC for the domain and copy the DNSKEY value from there.
Step 4 - Verify DNSSEC Is Working
Wait 15-30 minutes, then check the domain with the GoZen DNS Inspector.
From the command line:
dig +dnssec yourdomain.com A
Look for the ad flag (Authenticated Data) in the response header. It means the resolver validated the answer. For more detailed trust-chain checks, use the DNSSEC Analyzer (Verisign) or DNSViz.
Managing DNSSEC Keys
Key Rotation
cPanel doesn’t rotate DNSSEC keys automatically, and most sites never need to. If you do rotate a key:
- Create the new key in WHM (or cPanel Zone Editor).
- Publish the new DS record at your registrar.
- Wait for the old DS record’s TTL to pass (24-48 hours is safe).
- Only then, remove the old key.
Don’t remove the old key until the new DS record has fully propagated. If you do, the chain of trust breaks and validating resolvers such as Google Public DNS and Cloudflare DNS stop resolving your domain.
Disabling DNSSEC
To turn DNSSEC off safely (for example, before moving to a new DNS provider), whether you set it up from cPanel or WHM:
- First, remove the DS record at your registrar.
- Wait 24-48 hours for the old DS record to expire from DNS caches.
- Then, remove the DNSSEC keys in cPanel or WHM.
Order matters. If you delete the keys while the DS record is still active at the registrar, the chain of trust breaks and your domain stops resolving for anyone using a DNSSEC-validating resolver (Google DNS, Cloudflare DNS, Quad9 and others).
Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
| Domain stops resolving after enabling DNSSEC | DS record doesn’t match the key in cPanel/WHM | Double-check Key Tag, Algorithm, Digest Type, and Digest values at your registrar |
SERVFAIL on dig queries | Broken chain of trust | Run a scan at GoZen DNS Inspector or DNSSEC Debugger to find where the chain breaks |
No ad flag in dig output | Your resolver doesn’t validate DNSSEC, or DS record hasn’t propagated | Test with dig @8.8.8.8 +dnssec yourdomain.com A to use Google’s resolver, or check via GoZen DNS Inspector |
| DNSSEC tab missing in cPanel Zone Editor | Feature not enabled, or provider hasn’t turned on DNSSEC | Server admin: check WHM → Packages → Feature Manager and enable “Manage DNSSEC”. On GoZen shared hosting, contact support |
| No DNSSEC option anywhere in WHM or cPanel | Server is using BIND instead of PowerDNS | BIND does not support DNSSEC in cPanel. Switch to PowerDNS under WHM → Service Configuration → Nameserver Selection |
| DNSSEC works but breaks after migration | Keys changed but DS record at registrar still has old values | Update or remove the DS record at the registrar before migrating |
What’s Next?
- Managing DNS Records - understand the records DNSSEC is protecting
- DNS Propagation Explained - how long changes take to go live
- SSL Certificates - encrypting the traffic once visitors reach your server
Last updated 21 Oct 2026, 00:00 +0300.