I was investigating a bunch of spam domains, and none of them have an SOA record. I have never seen this before -- I didn't even know it was possible.
How can DNS work without an SOA record? If it isn't strictly necessary, what are the implications of omitting it?
I don't particularly want to add links to spam sites but an example domain is "vance miller kitchens uk dot co dot uk".
There is in fact a
SOA
record, it's just not where you're expecting it. Let's take a look at the AUTHORITY section...keep in mind thatns1.nservers.co.uk.
is not in any way affiliated with thenic.uk.
nameservers, which are authoritative forco.uk.
.This betrays their actual configuration: they have a single
co.uk
zone defined. This simplifies their configuration as they only have to maintain one file. The reason you don't get an answer section for theSOA
request is because that isn't the true top of the zone. Keep in mind that this is a terrible configuration: you should never pretend to be authoritative for domains that you're not. Don't emulate this.SOA
records are mandatory. You have to stuff something in that AUTHORITY section where it is required by RFC if you expect the rest of the internet to play nicely with you. Obviously they aren't really authoritative forco.uk
, but this at least tells other nameservers what the negative TTL should be.SOA
record at apex of every zone on the child nameservers is mandatory per DNS specification, see §6.1 of RFC 2181:A zone not having a SOA is then not DNS-conforming. Nameservers will reject it at load time:
Maybe you can find a setup where it works, but why risking it?
Besides being mandatory per specification, there are at least 3 items in the SOA record that are needed by clients (all the other items are mostly useful only to the nameservers administrator if its set of nameservers use AXFR/IXFR/DNS Updates to update themselves):
the
RNAME
is normally the email address of the person responsible for the zone, that you can contact in case of problems; unfortunately nowadays you may not get an answer there or it may not even be a valid existing mailbox anyway, so theoretically useful, in practice not surethe
MNAME
, per §4.3 of RFC 2616 is needed for DNS Updates:MINIMUM
has been redefined over the year to now be the "negative TTL", the amount of time a cache can keep theNXDOMAIN
reply it got (since anNXDOMAIN
reply would return no records in the answer section per definition, there won't be there any TTL to find). See §5 of RFC 2308:Proper caching of
NXDOMAIN
replies is important for performances, as outlined in RFC 8020 "NXDOMAIN: There Really Is Nothing Underneath": if a name triggers anNXDOMAIN
reply then the recursive nameserver can, during the time the entry is cached, reply immediately for all names "below" the one queried, as it knows that no name can exist below, per the DNS design of having all names in a tree.Also, multiple registries test the configuration before allowing to do the delegation. It is not the case for UK, but it is the case for DENIC (.DE) for example. See §2.1.4 in https://www.denic.de/fileadmin/public/documentation/DENIC-23p_EN.pdf that outlines the test on SOA.
Various tools check for it also. See Zonemaster at https://zonemaster.net/ and the explanation of its test on SOA at https://github.com/zonemaster/zonemaster/blob/master/docs/specifications/tests/Delegation-TP/delegation06.md
SOA records pretty much regulate the identity and the update frequency of your DNS servers. If your DNS server is the only authorative DNS server for a domain (Or you control all the authoraties and have a fancy for manual actions), you can omit the SOA record with little to no impact. The only impact might be that some response caching will not happen.
In summary: DNS can work just fine without SOA, SOA just regulates updates to secondary servers, and caching. So it's a really bad idea to not have a SOA record.