Domæner uden DNS-API
Kopiér link til siden “Domæner uden DNS-API”Ligger et domæne hos en DNS-udbyder, sslbrain ikke har indbygget, er der fire veje til domænevalidering. Brug CNAME viderestilling, når DNS-udbyderen kan oprette en CNAME-post.
Hvornår har I brug for det her
Kopiér link til afsnittet “Hvornår har I brug for det her”- Jeres DNS-udbyder står ikke blandt de indbyggede udbydere, eller den har intet API.
- I kører jeres egen DNS-server.
- I vil ikke give sslbrain en API-nøgle, der kan ændre hele zonen.
Vejene:
- CNAME viderestilling: alle DNS-udbydere, også uden API.
- RFC 2136: jeres egen DNS-server med TSIG.
- Egen REST-udbyder: et REST-API, sslbrain ikke kender.
- Script: et script på appliancen.
CNAME viderestilling
Kopiér link til afsnittet “CNAME viderestilling”I opretter én gang en CNAME-post fra _acme-challenge.<domæne> til appliancens CNAME-mål. sslbrain får ingen nøgle til jeres DNS. Appliancen skal være forbundet til sslbrain Cloud.
Fremgangsmåden står i CNAME viderestilling i trin 6.
Egen DNS-server med RFC 2136
Kopiér link til afsnittet “Egen DNS-server med RFC 2136”Appliancen opdaterer jeres DNS-server med nsupdate efter RFC 2136, signeret med en TSIG-nøgle. Det kræver:
- Navneserveren er autoritativ for zonen og tager imod opdateringer signeret med TSIG, fx BIND.
- TSIG-nøglen må oprette og slette TXT- og CNAME-poster under
_acme-challengei zonen. - Appliancen kan nå navneserveren.
- Zonen kan ses udefra. CA’en slår valideringsposten op i offentlig DNS.
-
Klik på Tilføj DNS-API adgang (DNS-API). Formularen kræver en indbygget udbyder. Vælg fx Hetzner DNS, skriv en vilkårlig tekst i Hetzner DNS API Token, og klik på Gem. Teksten bruges ikke.
-
Åbn adgangen igen under Adgange, og vælg native (RFC 2136 nsupdate) under Executor adapter.
-
Udfyld felterne:
Felt Værdi Nameserver (server) Navneserverens navn eller adresse, fx ns1.internal.example.comZone Zonen, fx example.comTSIG algoritme hmac-sha256(standard),hmac-sha384,hmac-sha512,hmac-sha224ellerhmac-sha1TTL (sekunder) 5 til 86400, standard 60 Brugernavn TSIG-nøglens navn Kodeord / Nøgle TSIG-nøglens hemmelighed i base64 -
Skriv zonen i Zone-bindinger (en pr linje), og gem.
Egen REST-udbyder
Kopiér link til afsnittet “Egen REST-udbyder”Har DNS-udbyderen et REST-API, som sslbrain ikke har indbygget, beskriver I API’et i en formular. sslbrain bruger beskrivelsen til at finde zonen, oprette valideringsposten og slette den igen. Nøglerne ligger krypteret i vaulten på adgangen.
-
Klik på Tilføj DNS-API adgang, og vælg Ny custom REST DNS-udbyder… under DNS-udbyder.
-
Beskriv udbyderen:
Afsnit Felter Udbyderen Navn på udbyderen, Beskrivelse (valgfri), Base-URL (kun HTTPS på en offentlig adresse) Login Auth-type: Bearer token, Basic auth (brugernavn og adgangskode), Navngivet header, Nøgle og secret i én header eller Query-parameter. Derefter Header-navn, Header-format eller Query-parameter efter typen Zoner Sti til zone-listen (GET), JSON-path til listen, JSON-path til zone-id, JSON-path til zone-navn Opret record Metode (POST, PUT eller PATCH), Sti, Body-template (JSON), TTL (sekunder) Slet record Sletning: Single-call (oprettelsen returnerer record-id, og sletning er én DELETE) eller To-trins (list records, find id via JSON-path, derefter DELETE), med stierne og JSON-paths til dem Stier og body kan bruge
{zone_id},{zone},{name}(relativt til zonen),{fqdn},{type},{value}og{ttl}. Stien til sletning kan også bruge{record_id}. En JSON-path skrives med punktum, fxdata.recordsellerresult. -
Udfyld nøglerne, og klik på Test adgang. Testen kører mod udbyderen uden at gemme noget.
-
Klik på Gem.
Udbyderen kaldes altid direkte fra appliancen, aldrig via sslbrain Cloud-proxyen. En ændring i beskrivelsen gælder alle adgange, der bruger udbyderen.
Script på appliancen
Kopiér link til afsnittet “Script på appliancen”En DNS-API-adgang kan køre et script på appliancen i stedet for at kalde en udbyder. Webfladen kan ikke lægge filen på appliancen, så den lægges på plads sådan:
- Virtuel appliance: vælg
9 Danger zoneog1 Open a root shelli konsolmenuen. Root-shellen åbnes med et svar fra sslbrain Cloud. Læg filen i/opt/sslbrain/data/dns-scripts/, som er/data/dns-scripts/inde i appliancen. - Docker: læg filen i mappen
dns-scriptspå den volumen, der er monteret som/data.
Gør filen eksekverbar med chmod 755. Kan I ikke komme til appliancens filsystem, så brug RFC 2136 eller en egen REST-udbyder.
Opret adgangen som til RFC 2136, men vælg script under Executor adapter. Udfyld Sti til operator-script, fx /data/dns-scripts/<navn>.sh, og eventuelt Script timeout (sekunder) (5 til 300, standard 60).
Scriptet får disse miljøvariabler:
| Variabel | Indhold |
|---|---|
SSLBRAIN_DNS_ACTION | create eller remove |
SSLBRAIN_DNS_RECORD_NAME | Postens navn |
SSLBRAIN_DNS_RECORD_TYPE | Postens type |
SSLBRAIN_DNS_RECORD_VALUE | Postens værdi |
SSLBRAIN_DNS_FQDN | Det navn, der valideres |
SSLBRAIN_DNS_AUTODNS_TARGET | Appliancens CNAME-mål |
SSLBRAIN_DNS_REQUIREMENT_ID | Valideringens id, når der er et |
SSLBRAIN_DNS_USERNAME | Brugernavn fra adgangen |
SSLBRAIN_DNS_SECRET_FILE | Sti til en fil med rettighederne 0600, der indeholder Kodeord / Nøgle. Hemmeligheden står aldrig på kommandolinjen |
Exit-kode 0 betyder udført, 2 betyder udført med advarsel, og alle andre koder betyder fejl.
Kontrollér, at det virker
Kopiér link til afsnittet “Kontrollér, at det virker”- CNAME viderestilling: skriv et navn i zonen under Test et domæne på Domænevalidering, og klik på Tjek domæne.
- Egen REST-udbyder: åbn adgangen under Adgange, og klik på Test adgang.
- RFC 2136 og script: der er ingen Test adgang. Opret reglen som i trin 8. Panelet Domænevalidering i guiden skal vise “Valideres via DNS API-credential” og navnet på adgangen.
Fejler udstedelsen alligevel, så se Validering fejler.