Domény .cz na Cloudflare: DNSSEC, KEYSET u Forpsi a e-mail info@ zdarma

Pět domén .cz jsem převedl z DNS registrátora na Cloudflare, aby weby mohly běžet za jeho proxy. Přitom jsem vyřešil dvě věci, o kterých se v českých návodech píše málo: DNSSEC u domén .cz s vlastními nameservery a provoz e-mailových adres bez poštovního serveru.

Převod DNS na Cloudflare

  1. V Cloudflare jsem přidal doménu. Cloudflare naimportoval stávající záznamy.
  2. Importované záznamy jsem porovnal s původními u registrátora: A, CNAME, MX a SPF.
  3. Všechny záznamy jsem nejdřív nechal v režimu DNS only (šedý mráček). Weby tak zatím běžely beze změny na původním serveru.
  4. U registrátora jsem změnil nameservery na dvojici od Cloudflare.
  5. Po zveřejnění změny v registru .cz Cloudflare označil domény jako Active.

U domén .cz se nameservery nemění přímo, ale přes objekt NSSET v registru CZ.NIC. U Forpsi se zakládá ve formuláři pro změnu DNS serverů. Jeho ID musí být jedinečné v celém registru. Obecný název jako „NSS-CLOUDFLARE-1“ už má někdo jiný a formulář vrátí chybu „Objekt existuje“. Jeden NSSET pak stačí použít pro všechny domény.

Past jménem DNSSEC

DNSSEC digitálně podepisuje odpovědi DNS a chrání před jejich podvržením. Registr .cz zveřejňuje otisk klíče (záznam DS), kterým se podpisy domény ověřují. Když se změní nameservery a registr drží stále starý klíč, nové podpisy nesedí. Ověřující resolvery (Google, Cloudflare i většina českých poskytovatelů) pak doménu odmítnou a web i pošta přestanou fungovat.

Správné pořadí:

  1. U registrátora vypnout DNSSEC.
  2. Počkat, až záznam DS z registru zmizí (ověříte třeba na dnsviz.net).
  3. Změnit nameservery.
  4. Po aktivaci domény v Cloudflare zapnout DNSSEC znovu, tentokrát s klíčem od Cloudflare.

DNSSEC znovu: u .cz se zadává KEYSET, ne DS

Cloudflare po zapnutí DNSSEC zobrazí záznam DS a doporučí ho zadat u registrátora. Registr .cz ale nepřijímá DS, chce objekt KEYSET s veřejným klíčem (DNSKEY). Záznam DS si z něj vytvoří sám. Z okna Cloudflare se proto používají tyto hodnoty:

Pole v KEYSETuHodnota z Cloudflare
Flags257 (klíč pro podpis klíčů, KSK)
Protokol3
Algoritmus13 (ECDSA P-256 se SHA-256)
Veřejný klíčpole Public Key

Hodnoty Digest a Key Tag se pro .cz nepoužívají. U Forpsi má doména s vlastními nameservery tlačítko DNSSEC v detailu nefunkční. KEYSET se zakládá v samostatném objednávkovém formuláři a k doméně se připojuje formulářem pro změnu domény. Změnu je potřeba potvrdit heslem domény (AuthInfo), které si necháte poslat e-mailem. Každá doména má v Cloudflare vlastní klíč, proto každá dostala vlastní KEYSET. Služba je zdarma.

Ověření: na dnsviz.net je řetěz důvěry od kořene přes .cz až k doméně bez chyb. Veřejné resolvery vracejí odpovědi s příznakem AD (ověřeno) a Cloudflare hlásí „Success! … is protected with DNSSEC“.

E-mail info@ bez poštovního serveru

Vlastní poštovní server doma za CGNAT provozovat nejde a ani to nechci. Adresy info@ mají jen přijímat zprávy a odpovídat na ně. Stačí na to bezplatné služby.

Příchozí pošta: Cloudflare Email Routing. Zprávy pro info@ každé domény přeposílá do jedné schránky v Gmailu. Cloudflare sám přidá záznamy MX, DKIM a SPF. Aktivace ale selže, pokud v DNS zůstal starý záznam MX nebo starý SPF. Ty je potřeba nejdřív smazat.

Odchozí pošta z webů: Gmail SMTP. Kontaktní formuláře odesílají oznámení přes Gmail s heslem pro aplikace. Drupal 10.3 a novější to umí bez dalšího modulu, stačí pár řádků v settings.php:

$config['system.mail']['interface']['default'] = 'symfony_mailer';
$config['system.mail']['mailer_dsn'] = [
  'scheme' => 'smtp',
  'host' => 'smtp.gmail.com',
  'user' => 'VAS_GMAIL_UCET',
  'password' => 'HESLO_PRO_APLIKACE',
  'port' => 587,
  'options' => [],
];

Odpovědi z adresy info@: aliasy v Gmailu. V nastavení Gmailu (Účty a import, Odesílat poštu jako) je každá adresa info@ přidaná jako alias. Gmail pak odpovídá automaticky z adresy, na kterou zpráva přišla. Pozor: Gmail si SMTP server odhadne podle MX domény a nabídne server Cloudflare. Ten poštu jen přijímá. Správně je to smtp.gmail.com, port 587, TLS a vlastní účet Gmail s heslem pro aplikace.

Doručitelnost: SPF povoluje odesílání přes Cloudflare i Google a záznam DMARC je zatím v mírném režimu p=none.

v=spf1 include:_spf.mx.cloudflare.net include:_spf.google.com ~all
v=DMARC1; p=none;

Shrnutí

  • DNSSEC vypnout před změnou nameserverů a zapnout až po aktivaci u nového poskytovatele DNS.
  • U .cz domén se klíč zadává jako KEYSET (flags, protokol, algoritmus, veřejný klíč), ne jako DS.
  • E-mailové adresy na vlastní doméně jdou provozovat zdarma: Cloudflare Email Routing pro příjem, Gmail pro odesílání.

Zpět na přehled celého projektu: Migrace pěti webů z VPS na vlastní server.