Domæner uden DNS-API
Kopiér link til siden “Domæner uden DNS-API”sslbrain har 19 indbyggede DNS-udbydere. Ligger et domæne et andet sted, er der fire veje til domænevalidering.
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 på listen over indbyggede udbydere, eller den har intet API.
- I kører jeres egen DNS-server til interne eller eksterne zoner.
- I vil ikke give sslbrain en API-nøgle, der kan ændre hele zonen.
| Situation | Vej |
|---|---|
| Alle udbydere, også uden API | CNAME viderestilling |
| Egen DNS-server, der tager imod dynamiske opdateringer med TSIG | RFC 2136 |
| Udbyder med et REST-API, sslbrain ikke kender | Egen REST-udbyder |
| Et script, der allerede ligger på appliancen | Script |
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. Derefter skal DNS for domænet ikke røres igen, og sslbrain får ingen nøgle til jeres DNS. Det kræver kun, at jeres DNS-udbyder kan oprette en CNAME-post, og at appliancen er forbundet til sslbrain Cloud.
Fremgangsmåden står i CNAME viderestilling under trin 6.
Egen DNS-server med RFC 2136
Kopiér link til afsnittet “Egen DNS-server med RFC 2136”sslbrain kan opdatere jeres egen DNS-server med RFC 2136 (dynamic update), signeret med en TSIG-nøgle. Appliancen kører selv nsupdate mod navneserveren.
Forudsætninger:
- 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 på netværket.
- CA’en slår valideringsposten op i offentlig DNS, så zonen skal kunne ses udefra.
-
Opret en DNS-API-adgang med Tilføj DNS-API adgang, som beskrevet i DNS-API. Formularen til en ny adgang kræver en indbygget udbyder. Vælg fx Hetzner DNS, og skriv en vilkårlig tekst i Hetzner DNS API Token; feltet bruges ikke, når adapteren er skiftet i trin 2. Klik på Gem.
-
Åbn adgangen igen under Adgange, og vælg native (RFC 2136 nsupdate) under Executor adapter (feltet hedder Executor adapter også på dansk).
-
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. Den erstatter teksten fra trin 1 -
Skriv zonen i Zone-bindinger (en pr linje), så adgangen bruges til navne i zonen, og gem.
Egen REST-udbyder
Kopiér link til afsnittet “Egen REST-udbyder”Har DNS-udbyderen et REST-API, som sslbrain ikke har en indbygget udbyder til, beskriver I API’et i en formular. sslbrain bruger beskrivelsen til at finde zonen, oprette valideringsposten og slette den igen. Beskrivelsen gemmes uden nøgler; 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 beskrivelsen og nøglerne mod udbyderen uden at gemme noget.
-
Klik på Gem.
En egen REST-udbyder kaldes altid direkte fra appliancen, aldrig via sslbrain Cloud-proxyen. Ændringer 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. Scriptet skal ligge som en eksekverbar fil på appliancen, fx /data/dns-scripts/<navn>.sh. Appliancens webflade kan ikke lægge en fil dertil, så filen lægges på plads fra maskinen:
- Virtuel appliance: vælg
9 Danger zoneog derefter1 Open a root shelli konsolmenuen (konsolmenuen), og læg filen i/opt/sslbrain/data/dns-scripts/. Mappen er/datainde 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.
Scriptet vælges som RFC 2136 ovenfor, men med script under Executor adapter. Felterne er Sti til operator-script og 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. Testen måler kun CNAME viderestillinger.
- Egen REST-udbyder: åbn adgangen under Adgange, og klik på Test adgang.
- RFC 2136 og script: siden har ingen Test adgang for de to. Opret reglen som i trin 8, og kontrollér panelet Domænevalidering i guiden.
- Alle fire veje: panelet Domænevalidering i reglens guide viser for hvert navn, hvilken vej der dækker det. For en DNS-API-adgang står der “Valideres via DNS API-credential” og navnet på adgangen.
Fejler udstedelsen alligevel, se Validering fejler.