Verify your domain in AYAsec using Hetzner
Before AYAsec scans a domain, you need to prove you control it. In Hetzner that is one TXT record, usually live within a minute or two.
Why we ask. Verification is what stops AYAsec from being pointed at infrastructure you do not own. A scanner that will check any domain on request is a reconnaissance tool for whoever asks, which is why the source of an asset list matters. Requiring proof of ownership is what separates a security product from a reconnaissance service.
You verify each asset once. Verifying an apex domain automatically verifies its subdomains, so verifying example.com covers api.example.com, www.example.com and the rest. New subdomains added later do not need their own record. Re-verify only if you edit the hostname or delete and re-add the asset, because the new asset has a new UUID token.
After successful verification, you can remove the record. AYAsec checks it once and does not read it again. You can leave it in place if you prefer, but re-verification after recreating the asset requires the new token AYAsec gives you.
Start in the right console
Hetzner runs more than one control panel, and DNS is not where most people look first.
DNS zones live in the Hetzner DNS Console at dns.hetzner.com. That is a separate product from Hetzner Cloud, where your servers are. If you are looking at a list of servers and cannot find DNS, you are in the wrong place - nothing is broken, the zones are simply somewhere else.
Log in at dns.hetzner.com with your Hetzner account before continuing.
Before you start
- Access to the Hetzner account holding the DNS zone
- Your verification token from AYAsec
- The Analyst role or higher in your AYAsec workspace
If someone else manages your DNS, skip to Don't have access? - there is a message you can forward.
Step 1 · Copy your token from AYAsec
Open Assets Discovery in AYAsec and open the Assets tab, or open the asset's detail page. Start verification from the Not verified pill, Verify now in the card menu, or Verify domain in the asset context menu. In the dialog titled Verify asset - <host>, select DNS Record. Copy the two values shown:
- Record name:
_ayasec-verified.yourdomain.com - Record value:
ayasec-verified-<asset UUID>
Keep the tab open.
Verifying a whole asset group? Open Assets Discovery > Asset Groups and then open the group. Use Verify domain for a group with a source apex or Verify unverified for one without. The dialog is titledVerify domain - <apex>and saysVerifying <apex> covers all N targets in this group; its action is Verify now. Useayasec-verified-group-<group UUID>as a separate TXT record at the same name - do not replace an existing asset token.
Step 2 · Add the record
- In the Hetzner DNS Console, select your zone.
- Add a record:
| Field | What to enter |
|---|---|
| Type | TXT |
| Name | _ayasec-verified - the console appends your zone |
| Value | Your token |
| TTL | Leave the default |
- Save.
Step 3 · Verify in AYAsec
Go back to AYAsec and click Verify Now. It shows Verifying… while the check runs. Hetzner usually serves a new record within a minute or two. If the first attempt fails, wait briefly and retry before changing anything.
Check the record yourself
dig TXT _ayasec-verified.yourdomain.com +shortOn Windows:
nslookup -type=TXT _ayasec-verified.yourdomain.comYour token should appear. Nothing returned means the record has not saved or has not propagated.
If verification fails
| What you see | What it usually means | Fix |
|---|---|---|
| Record not found | Record added in a zone that is not authoritative, or the name is wrong | Check the domain's nameservers point at Hetzner, then check the name reads _ayasec-verified |
| Token doesn't match | Extra characters in the value | Re-copy from AYAsec. Check for a trailing space |
| Domain unreachable | DNS is not resolving | Confirm the domain resolves before looking at the record |
| Timed out | Temporary lookup problem | Wait a minute and retry |
If you registered the domain elsewhere and only host with Hetzner, the zone that matters may still be at your registrar. The nameservers on the domain tell you which one the internet is reading.
Don't have access?
Most people verifying a domain do not administer its DNS. Forward this:
Hi - I'm setting up AYAsec to monitor our external attack surface, and it needs proof that we control the domain before it will scan anything.
Could you add one DNS record? It's in the Hetzner DNS Console at dns.hetzner.com, not in Hetzner Cloud.
Type: TXT
Name:_ayasec-verified
Value:ayasec-verified-<paste token>
TTL: default
It's read-only proof of ownership - it doesn't change how the domain behaves and doesn't affect mail or the website. It can be removed after AYAsec verifies it - AYAsec checks it once and does not read it again. You can leave it in place if you prefer, but re-verification after recreating the asset requires the new token AYAsec gives you. Thanks.
Other ways to verify
If you cannot edit DNS, AYAsec accepts two alternatives:
- File upload - a text file containing your token at
https://yourdomain.com/.well-known/ayasec-verified.txt - Meta tag -
<meta name="ayasec-verified" content="your-token">on your homepage
Both prove the same thing. If you can deploy to the website but not to DNS, the meta tag is usually quickest.
Using a different DNS provider?
The record is identical everywhere; only the interface changes. See the guides for Cloudflare, AWS Route 53, Azure DNS, Google Cloud DNS, DigitalOcean, GoDaddy and Contabo.
Once the domain is verified, Discovery and the first scan take a few minutes.