Domäner utan DNS-API
Kopiera länk till sidan “Domäner utan DNS-API”sslbrain har 19 inbyggda DNS-leverantörer. Ligger en domän någon annanstans finns det fyra vägar till domänvalidering.
När behöver ni det här
Kopiera länk till avsnittet “När behöver ni det här”- Er DNS-leverantör finns inte med bland de inbyggda leverantörerna, eller den har inget API.
- Ni kör en egen DNS-server för interna eller externa zoner.
- Ni vill inte ge sslbrain en API-nyckel som kan ändra hela zonen.
| Situation | Väg |
|---|---|
| Alla leverantörer, även utan API | CNAME-vidarebefordran |
| Egen DNS-server som tar emot dynamiska uppdateringar med TSIG | RFC 2136 |
| Leverantör med ett REST-API som sslbrain inte känner till | Egen REST-leverantör |
| Ett skript som redan ligger på appliancen | Skript |
CNAME-vidarebefordran
Kopiera länk till avsnittet “CNAME-vidarebefordran”Ni skapar en gång en CNAME-post från _acme-challenge.<domän> till appliancens CNAME-mål. Därefter behöver DNS för domänen inte röras igen, och sslbrain får ingen nyckel till er DNS. Det enda som krävs är att er DNS-leverantör kan skapa en CNAME-post och att appliancen är ansluten till sslbrain Cloud.
Tillvägagångssättet beskrivs under CNAME-vidarebefordran i steg 6.
Egen DNS-server med RFC 2136
Kopiera länk till avsnittet “Egen DNS-server med RFC 2136”sslbrain kan uppdatera er egen DNS-server med RFC 2136 (dynamic update), signerat med en TSIG-nyckel. Appliancen kör själv nsupdate mot namnservern.
Förutsättningar:
- Namnservern är auktoritativ för zonen och tar emot uppdateringar signerade med TSIG, till exempel BIND.
- TSIG-nyckeln får skapa och ta bort TXT- och CNAME-poster under
_acme-challengei zonen. - Appliancen når namnservern över nätverket.
- CA:n slår upp valideringsposten i publik DNS, så zonen måste synas utifrån.
-
Skapa en DNS-API-uppgift med Lägg till DNS-API-uppgift enligt DNS-API. Formuläret för en ny uppgift kräver en inbyggd leverantör. Välj till exempel Hetzner DNS och skriv valfri text i Hetzner DNS API Token; fältet används inte när adaptern har bytts i steg 2. Klicka på Spara.
-
Öppna uppgiften igen under Åtkomstuppgifter och välj native (RFC 2136 nsupdate) under Executor adapter (fältet heter så även i det svenska gränssnittet).
-
Fyll i fälten. De visas på danska:
Fält Värde Nameserver (server) Namnserverns namn eller adress, till exempel ns1.internal.example.comZone Zonen, till exempel example.comTSIG algoritme hmac-sha256(standard),hmac-sha384,hmac-sha512,hmac-sha224ellerhmac-sha1TTL (sekunder) 5 till 86400, standard 60 Användarnamn TSIG-nyckelns namn Lösenord / Nyckel TSIG-nyckelns hemlighet i base64. Den ersätter texten från steg 1 -
Skriv zonen i Zone-bindinger (en pr linje), så att uppgiften används för namn i zonen, och spara.
Egen REST-leverantör
Kopiera länk till avsnittet “Egen REST-leverantör”Har DNS-leverantören ett REST-API som sslbrain saknar en inbyggd leverantör för, beskriver ni API:et i ett formulär. sslbrain använder beskrivningen för att hitta zonen, skapa valideringsposten och ta bort den igen. Beskrivningen sparas utan nycklar; nycklarna ligger krypterade i vaulten på uppgiften.
-
Klicka på Lägg till DNS-API-uppgift och välj Ny anpassad REST DNS-leverantör… under DNS-udbyder.
-
Beskriv leverantören:
Avsnitt Fält Leverantören Leverantörens namn, Beskrivning (valfri), Bas-URL (bara HTTPS på en publik adress) Inloggning Auth-typ: Bearer token, Basic auth (användarnamn och lösenord), namngiven header, nyckel och secret i en header, eller query-parameter. Alternativen visas på danska. Därefter Header-namn, Header-format eller Query-parameter beroende på typen Zoner Sökväg till zonlistan (GET), JSON-path till listan, JSON-path till zon-id, JSON-path till zonnamn Skapa record Metod (POST, PUT eller PATCH), Sökväg, Body-template (JSON), TTL (sekunder) Radera record Radering: Single-call (skapandet returnerar record-id, och radering är en DELETE) eller Tvåsteg (lista records, hitta id via JSON-path, sedan DELETE), med sökvägarna och JSON-paths till dem Sökvägar och body kan använda
{zone_id},{zone},{name}(relativt till zonen),{fqdn},{type},{value}och{ttl}. Sökvägen för radering kan också använda{record_id}. En JSON-path skrivs med punkt, till exempeldata.recordsellerresult. -
Fyll i nycklarna och klicka på Testa åtkomst. Testet kör beskrivningen och nycklarna mot leverantören utan att spara något.
-
Klicka på Spara.
En egen REST-leverantör anropas alltid direkt från appliancen, aldrig via sslbrain Cloud-proxyn. Ändringar i beskrivningen gäller alla uppgifter som använder leverantören.
Skript på appliancen
Kopiera länk till avsnittet “Skript på appliancen”En DNS-API-uppgift kan köra ett skript på appliancen i stället för att anropa en leverantör. Skriptet måste ligga som en körbar fil på appliancen, till exempel /data/dns-scripts/<namn>.sh. Appliancens webbgränssnitt kan inte lägga en fil där, så filen läggs på plats från maskinen:
- Virtuell appliance: välj
9 Danger zoneoch sedan1 Open a root shelli konsolmenyn (konsolmenyn) och lägg filen i/opt/sslbrain/data/dns-scripts/. Katalogen är/datainne i appliancen. - Docker: lägg filen i katalogen
dns-scriptspå den volym som är monterad som/data.
Gör filen körbar med chmod 755. Kommer ni inte åt appliancens filsystem, använd RFC 2136 eller en egen REST-leverantör.
Skriptet väljs som för RFC 2136 ovan, men med script under Executor adapter. Fälten är Sti til operator-script och Script timeout (sekunder) (5 till 300, standard 60). De visas på danska.
Skriptet får de här miljövariablerna:
| Variabel | Innehåll |
|---|---|
SSLBRAIN_DNS_ACTION | create eller remove |
SSLBRAIN_DNS_RECORD_NAME | Postens namn |
SSLBRAIN_DNS_RECORD_TYPE | Postens typ |
SSLBRAIN_DNS_RECORD_VALUE | Postens värde |
SSLBRAIN_DNS_FQDN | Namnet som valideras |
SSLBRAIN_DNS_AUTODNS_TARGET | Appliancens CNAME-mål |
SSLBRAIN_DNS_REQUIREMENT_ID | Valideringens id, när det finns ett |
SSLBRAIN_DNS_USERNAME | Användarnamn från uppgiften |
SSLBRAIN_DNS_SECRET_FILE | Sökväg till en fil med behörigheterna 0600 som innehåller Lösenord / Nyckel. Hemligheten står aldrig på kommandoraden |
Exit-kod 0 betyder utfört, 2 betyder utfört med varning, och alla andra koder betyder fel.
Kontrollera att det fungerar
Kopiera länk till avsnittet “Kontrollera att det fungerar”- CNAME-vidarebefordran: skriv ett namn i zonen under Testa en domän på Domänvalidering och klicka på Kontrollera domän. Testet kontrollerar bara CNAME-omdirigeringar.
- Egen REST-leverantör: öppna uppgiften under Åtkomstuppgifter och klicka på Testa åtkomst.
- RFC 2136 och skript: sidan har ingen Testa åtkomst för de två. Skapa regeln enligt steg 8 och kontrollera panelen Domänvalidering i guiden.
- Alla fyra vägarna: panelen Domänvalidering i regelns guide visar för varje namn vilken väg som täcker det. För en DNS-API-uppgift står det “Valideras via DNS API-credential” och uppgiftens namn.
Misslyckas utfärdandet ändå, se Valideringen misslyckas.