Victor Kropp

Take DNS under control with DNSSEC

In the first part I’ve shown the simple way to manage DNS with dnscontrol. However, I started the migration not only to consolidate all domain configs in one place, but also to apply best practices in their management.

CAA record

DNS was developed quite long ago. It was designed to be distributed, but without security in mind. It just wasn’t an issue back then.

The same with HTTP. Only in recent years, websites have become HTTPS by default. HTTPS requires a valid certificate issued by some trusted Certificate Authority. To prevent unauthorized CA from issuing certificate for a domain, one may use a CAA DNS record specifying allowed authorities.

DNSSEC

However, unless the DNS records themselves are verified, it doesn’t prevent malicious actors from forging them, including the CAA record. Here comes DNSSEC.

The main idea behind it is to sign DNS records, so that any client may verify that they are not changed as a part of MITM attack.

Not every DNS provider supports DNSSEC, unfortunately. That was one of the reasons for me to change the DNS provider in the first place.

deSEC

I chose deSEC – a free DNS provider built with security in mind to promote DNSSEC. Since it is fully supported by dnscontrol migration there was a breeze.

deSEC is hosted in Germany and supported by non-commercial organization. If you decide to use their services, please consider donating. These donations are tax-deductible in Germany.

Signing keys publication needed to be done manually, but that was not a big issue for me. However, I wish dnscontrol would be able to handle it.

Verification

To verify the security of your zone, you may use DNSSEC Analyzer. Here, for example, is a report for kropp.name.

And with that, I consider my DNS setup complete and future-proof.



This is post 12 of #100DaysToOffload

dns100DaysToOffload

Subscribe to all blog posts via RSS