Een eigen domein naar ZAD laten wijzen

Van je eigen domeinnaam naar een applicatie op ZAD: welk DNS-record je zet, wat het platform daarna zelf regelt, en welke twee punten bij je eigen organisatie blijven.

De naam waar je heen wijst

Dat is router.rijksapp.nl, de ingang van dit cluster. Elke applicatie op ZAD heeft zijn eigen naam en die wijst hierheen; jouw domein doet straks hetzelfde. Kwam je hier doordat je deze naam in een DNS-record tegenkwam, dan is dit precies wat je zocht.

1. Het DNS-record

Aan te vragen bij de DNS-beheerder van je eigen domein. Kies CNAME, of ALIAS/ANAME, of A en AAAA samen.

Type Waarde CNAME router.rijksapp.nl. ALIAS of ANAME router.rijksapp.nl. A 147.181.48.71 AAAA 2a04:9a00:1007:4000:0:2:0:8
  • Op een kaal domein is geen CNAME toegestaan; daar geldt ALIAS/ANAME of A + AAAA.
  • Bij A en AAAA moeten beide records gezet worden, anders vervalt de IPv6-bereikbaarheid.
  • Bij CNAME en ALIAS/ANAME volgt een wijziging van onze IP-adressen automatisch. Bij A en AAAA is dat handwerk bij jouw DNS-beheerder.
  • Voor elk subdomein is een eigen record nodig.

De records op een rij

Voorbeeld met een fictieve naam. Vervang die door je eigen domein.

a       digitaledienst.example.com.   147.181.48.71
aaaa    digitaledienst.example.com.   2a04:9a00:1007:4000:0:2:0:8
mx      digitaledienst.example.com.   0 .
txt     digitaledienst.example.com.   v=spf1 -all
caa     digitaledienst.example.com.   0 issue "letsencrypt.org"
caa     digitaledienst.example.com.   0 issuewild ";"

# in plaats van a + aaaa kan ook:
cname   digitaledienst.example.com.   router.rijksapp.nl.
aname   digitaledienst.example.com.   router.rijksapp.nl.

De MX- en TXT-regel zeggen dat deze naam geen mail verstuurt en geen mail aanneemt. Ze zijn niet nodig om je applicatie te laten werken, maar de mailtoets van internet.nl vraagt erom, ook op een naam waar nooit mail vandaan komt.

2. Het project in ZAD

Maak een project aan of wijzig een bestaand project, kies bij het webadres je eigen domein en vul het subdomein expliciet in. Domein en subdomein worden vastgelegd als aanvraag en door ZAD-beheer goedgekeurd. Daarna accepteert het platform verkeer voor die hostnaam.

3. Het certificaat

Standaard vraagt het platform een Let's Encrypt-certificaat aan en verlengt dat automatisch. Daarvoor gelden twee voorwaarden:

  • de DNS staat al en werkt, vóórdat de deployment wordt uitgerold;
  • een CAA-record op je eigen naam staat letsencrypt.org toe. Staat er geen CAA-record, dan is er niets aan de hand: dan mag iedereen uitgeven en dus ook Let's Encrypt.

Een eigen certificaat kan ook: aangeleverd in ZAD en aangeboden op de ingress, of doorgelaten tot in de pod. De aanvraag daarvan, bijvoorbeeld PKIoverheid, ligt bij je eigen organisatie, want zo'n certificaat staat op jouw organisatiegegevens en ZAD kan het niet namens een ander aanvragen. Voor internet.nl is PKIoverheid niet vereist: een Let's Encrypt-certificaat scoort daar volledig.

Wat internet.nl betreft

Het platform levert: doorverwijzing van HTTP naar HTTPS, HSTS (een jaar, includeSubDomains, preload), uitsluitend TLS 1.3, een publiek vertrouwd certificaat, IPv6 op deze naam en RPKI-geldige prefixes (147.181.48.0/22 en 2a04:9a00:1007::/48, AS202553).

Twee aandachtspunten blijven bij je eigen organisatie:

DNSSEC. Als je zone ondertekend is, is een record daarin gedekt. Delegeer je naar een eigen nameserver, dan moet die subzone zelf ondertekend zijn en hoort er een DS-record bij de delegatie.

Security headers in je applicatie. De router zet alleen HSTS. X-Content-Type-Options, X-Frame-Options of frame-ancestors, Referrer-Policy, Content-Security-Policy en Permissions-Policy moet je applicatie zelf meesturen. Dit is meestal het laatste punt dat nog aandacht vraagt voordat een dienst volledig scoort, dus loop het na voordat je toetst.

Platform