Certifikat för interna domäner från Letsencrypt

Permalänk
Hedersmedlem

Certifikat för interna domäner från Letsencrypt

Jag har ett antal registrerade domäner registrerade hos Egensajt Hosting och deras DNS. Jag kan kontrollera deras DNS antingen via UI, men också via ett RESTAPI. API'et verkar vara någon standard, för jag ser andra tjänster använda samma, tex Dynu, men jag vet inte mer om det än vad som står på denna sidan. Jag använder det framgångsrikt för domänder som är tillgängliga externt.
https://www.egensajt.se/knowledgebase/25/EgenSajt-DdnsorDynDN...

Nu skulle jag dock vilja snygga till accessen till diverse tjänster som jag kör internt, och då har jag förstått att jag behöver använda en så kallad DNS Challenge med Letsencrypt. I korthet innebär en DNS-challenge att man får en nyckel som man lägger in i sin DNS för att visa att man har kontroll på domänen. När Letsencrypt ser nyckeln så utfärdar den certifikatet även om den inte kan nå domänen i fråga. Jag använder programmet Certbot för att uppdatera mina certifikat, och Certbot har en räcka med färdiga plugins, som dock verkar vara kopplade till specifika domänleverantörer. Men kan också uppdatera manuellt, men det vill jag helst slippa.

Frågan är nu om någon vet...
1. Har Certbot någon mer generell plugin som kan användas med Egensajt's DNS?
2. Någon som kan tipsa om bra resurs som förklarar hur man skriver en egen plugin? I och med att Dynu stöds och de använder samma API-parametrar så borde det ju inte vara raketforskning att modifiera den. Problemet är att jag inte lyckas hitta någon bra dokumentation.

Visa signatur

Använd gilla för att markera nyttiga inlägg!

Permalänk
Medlem

För att kunna använda DNS-01 challenge med ACME/Certbot så krävs att du kan skapa TXT-records på din DNS. Ett TXT-record är ungefär som en "kommentar" där man kan skriva valfri information.

Artikeln https://www.egensajt.se/kunskapsbank/25/EgenSajt-DdnsorDynDNS... beskriver att egensajt.se stödjer Dynamic DNS Update API.

Tyvärr så stödjer Dynamic DNS Update API endast att ändra IPv4 och IPv6 adresser. Dvs att editera A (IPv4) eller AAAA (IPv6)-records.

Jag hittar ingen dokumentation på att egensajt.se har stöd för något annat API. Detta till skillnad från andra hosting-tjänster som antingen hittar på ett helt eget protokoll, eller försöker köra på ett standardiserat. Till exempel har hostup.se ett egentpåhittat (?) API för att editera DNS-records.

Permalänk
Hedersmedlem
Skrivet av uvry:

För att kunna använda DNS-01 challenge med ACME/Certbot så krävs att du kan skapa TXT-records på din DNS. Ett TXT-record är ungefär som en "kommentar" där man kan skriva valfri information.

Artikeln https://www.egensajt.se/kunskapsbank/25/EgenSajt-DdnsorDynDNS... beskriver att egensajt.se stödjer Dynamic DNS Update API.

Tyvärr så stödjer Dynamic DNS Update API endast att ändra IPv4 och IPv6 adresser. Dvs att editera A (IPv4) eller AAAA (IPv6)-records.

Jag hittar ingen dokumentation på att egensajt.se har stöd för något annat API. Detta till skillnad från andra hosting-tjänster som antingen hittar på ett helt eget protokoll, eller försöker köra på ett standardiserat. Till exempel har hostup.se ett egentpåhittat (?) API för att editera DNS-records.

Japp. Jag förstår hur DNS-01 funkar.
Jag tolkar det dock som att det finns stöd för att uppdatera ett TXT-record via parametern mytxt.

Citat:

mytxt - det txt som du vill uppdatera till ( T.ex. för DNS-01 challenge ).

Visa signatur

Använd gilla för att markera nyttiga inlägg!

Permalänk
Medlem

Om du kör någorlunda kompetenta och inte totalt nerlåsta enheter så är det väl enklare att bara vara sin egen CA och installera sitt rotcert på alla enheter där det behövs? Då kan man utfärda vilka cert man vill, direkt från kommandorad, utan dumma begränsningar i giltighetstid.

man openssl

Cert signerade av extern part behövs bara om det är opraktiskt att fixa ”trust”.

Permalänk
Medlem

Har inget bra svar på dina frågor men en idé skulle kanske annars vara att koppla dina domäner mot cloudflare istället för egensajt? så kan du använda dig av det dns challenge plugin som redan finns mot cloudflare.
https://developers.cloudflare.com/dns/troubleshooting/faq/

Permalänk
Hedersmedlem
Skrivet av uvry:

För att kunna använda DNS-01 challenge med ACME/Certbot så krävs att du kan skapa TXT-records på din DNS. Ett TXT-record är ungefär som en "kommentar" där man kan skriva valfri information.

Artikeln https://www.egensajt.se/kunskapsbank/25/EgenSajt-DdnsorDynDNS... beskriver att egensajt.se stödjer Dynamic DNS Update API.

Tyvärr så stödjer Dynamic DNS Update API endast att ändra IPv4 och IPv6 adresser. Dvs att editera A (IPv4) eller AAAA (IPv6)-records.

Jag hittar ingen dokumentation på att egensajt.se har stöd för något annat API. Detta till skillnad från andra hosting-tjänster som antingen hittar på ett helt eget protokoll, eller försöker köra på ett standardiserat. Till exempel har hostup.se ett egentpåhittat (?) API för att editera DNS-records.

Jag lyckades uppdatera ett TXT record genom att anropa https://www.egensajt.se/dyndns.php
Jag gjorde det med ett shell-script och curl. Samma script som jag använder för att dagligen refresha IP för mina domäner. Det intressanta är att jag följt dokumentationen för curl på Egensajts sida, och där står det att sökvägen ska vara https://dyndns.egensajt.se/nic/update vilket inte fungerar med mytxt.

Skrivet av Kopen:

Har inget bra svar på dina frågor men en idé skulle kanske annars vara att koppla dina domäner mot cloudflare istället för egensajt? så kan du använda dig av det dns challenge plugin som redan finns mot cloudflare.
https://developers.cloudflare.com/dns/troubleshooting/faq/

Ja, det är en idé jag får överväga. Eller så får man helt enkelt skaffa sig en ny domän och lägga den hos en annan leverantör som har stöd.

Visa signatur

Använd gilla för att markera nyttiga inlägg!

Permalänk
Medlem

Jag misade mytxt! Då har nog egensajt.se hittat på en egen "extension". Jag undrar hur man gör för att radera ett TXT record? Skickar man in tomma strängen?

Att skriva en egen plugin för certbot går nog att göra (beroende på kunskap). Jag kollade i listan på https://eff-certbot.readthedocs.io/en/stable/using.html#third... och klickade slumpmässigt på https://gitlab.com/charlyhong/certbot-dns-solidserver. Det är ca 200 rader Pythonkod som man kan behöva anpassa för egensajt.se (jag vet inte om någon av de andra i listan är bättre att utgå ifrån).

Permalänk
Medlem
Skrivet av giplet:

Ja, det är en idé jag får överväga. Eller så får man helt enkelt skaffa sig en ny domän och lägga den hos en annan leverantör som har stöd.

Personligen tycker jag att Cloudflare har den bästa DNS-tjänsten, oavsett om man jämför de som kostar pengar eller de som är gratis. Bäst infrastruktur, vettigt API och snabbast stöd för nya record-typer. Kan definitivt rekommendera deras gratistjänst.

Du kan ju sannolikt enkelt peka om namnservrarna för din domän till de du får av Cloudflare. I vissa fall blir det också billigare, om ens tidigare leverantör tar betalt för DNS-tjänsten.

Visa signatur

Antec P280 | FSP Hydro Ti Pro 1000W | MSI X670E Carbon | Ryzen 7 9800X3D | Kingston Fury Beast 6000MT/s CL30 2x32GB | Nvidia RTX 4090 FE | 2x Samsung 990 Pro 4TB | Kingston KC3000 4TB | Samsung 970 Pro 1TB | 2x Samsung PM863a 3.84TB | 2x ASUS PG279Q

Permalänk

För utmaningen DNS-01 behöver du bevisa att du besitter kontroll över underdomänen "_acme-challenge" till de domäner du vill ska ingå i certifikatet. Om din DNS-leverantör inte stöds av certbot kan du delegera DNS-hanteringen för underdomänen "_acme-challenge" till en annan DNS-leverantör som stöds.

Du behöver en domän hos den andra DNS-leverantören och delegerar hanteringen med en CNAME-post. Posten vidarebefordrar med fördel de domäner som ska ingå i certifikatet till en specifik underdomän, avsedd för certifikathantering. Exempelvis:

CNAME _acme-challenge.domain-in-cert.tld => domain-in-cert.domain-with-dns-api.tld

Permalänk
Hedersmedlem
Skrivet av genomelak:

För utmaningen DNS-01 behöver du bevisa att du besitter kontroll över underdomänen "_acme-challenge" till de domäner du vill ska ingå i certifikatet. Om din DNS-leverantör inte stöds av certbot kan du delegera DNS-hanteringen för underdomänen "_acme-challenge" till en annan DNS-leverantör som stöds.

Du behöver en domän hos den andra DNS-leverantören och delegerar hanteringen med en CNAME-post. Posten vidarebefordrar med fördel de domäner som ska ingå i certifikatet till en specifik underdomän, avsedd för certifikathantering. Exempelvis:

CNAME _acme-challenge.domain-in-cert.tld => domain-in-cert.domain-with-dns-api.tld

Slutade med att jag gjorde på detta sättet för att slippa flytta mina nuvarande domäner. Tack så mycket allihop för att ha pekat mig i rätt riktning. Känns mycket smidigare.

Visa signatur

Använd gilla för att markera nyttiga inlägg!