Ett certifikat för en webbplats bara via VPN: DNS-01 eller en privat CA?
En webbplats som bara nås via VPN kan ha ett betrott offentligt certifikat via DNS-01, eller ett internt från en privat CA. Valet beror på namnet och klienterna.
Tre villkor avgör hur en webbplats som bara nås via VPN bör skaffa sitt certifikat: om du kontrollerar en offentlig DNS-zon, om värdnamnet får förekomma i offentliga loggar och om varje klient kan få ett privat förtroendeankare. Både den offentliga och den privata vägen ger ett fungerande hänglås och de svarar på olika frågor. Att välja en utan att klargöra dessa villkor är hur en webbplats hamnar med ett offentligt certifikat den inte ville ha, eller ett internt som hälften av klienterna avvisar.
Certifikatet bevisar namnet; VPN:et och den interna DNS:en ger vägen.
Två vägar till ett betrott namn
En offentlig utfärdare med DNS-01-validering bevisar kontroll över ett namn genom en TXT-post i en zon du kontrollerar, så webbtjänsten behöver aldrig ta emot en offentlig HTTP-anslutning. En privat CA utfärdar bladcertifikat för interna namn och distribuerar sitt förtroendeankare via enhetshantering, så ingen offentlig logg får kännedom om namnet. Båda är legitima, och valet följer av de tre villkoren och inte av bekvämlighet. Ingen av vägarna levererar den rutt eller den resolverpost som en klient behöver.
Ett offentligt certifikat publicerar också värdnamnet i loggar för certifikattransparens. Om själva namnet är känsligt är den publiceringen ett designbeslut och inte en bieffekt du upptäcker senare.
DNS-01 utan att blotta tjänsten
Utmaningsposten är en TXT-post under ett reserverat prefix i zonen, och utfärdaren läser den från auktoritativ DNS. Välj en ACME-klient och en DNS-integration som kan skapa och ta bort posten, och ge uppdateringen snävt tillstånd: en avgränsad API-uppgift för zonen, eller en kontrollerad värd som bara används för validering. Att ge applikationsservern obegränsade registratoruppgifter för att förnya ett enda certifikat är långt mer befogenhet än uppgiften kräver. När flera beställningar delar ett namn, håll deras TXT-värden åtskilda så att städning av den ena inte tar bort ett värde som den andra fortfarande behöver.
Vänta på spridningen med en kontroll mot de auktoritativa servrarna i stället för en fast väntan. Spridningsbeteendet beror på leverantören, och en väntan som fungerar i dag är inget bevis för i morgon.
Hanterade klienter och medvetet privata namn
Hanterade enheter och medvetet privata namn passar bra ihop med en intern CA. Distribuera den betrodda utfärdaren via enhetshantering och utfärda sedan bladcertifikat för de avsedda namnen. Kontrollera vilket arkiv varje klient faktiskt använder, eftersom en enda import i operativsystemet inte är ett universellt påstående om varje webbläsare och program. Bladfästning är ett annat alternativ där det uttryckligen stöds, till priset av ännu en förtroendeuppdatering varje gång bladet ändras.
Distributionskanalen betyder lika mycket som nyckeln: en rot som ingen installerar skyddar ingenting.
Förnyelse är en del av designen
Vilken väg du än väljer behöver förnyelsen en ägare och en procedur. Att förnya valideringsbeviset, installera det nya materialet och ladda om lyssnaren via dess stödda mekanism är tre separata steg, och bara det första automatiseras av de flesta ACME-klienter. Ett certifikat som förnyas korrekt men aldrig laddas ger samma avbrott som ett som löpt ut.
Certifikatet installerar inte VPN-rutten och skapar inte den interna DNS-posten. Klienterna behöver fortfarande en resolver som mappar namnet till den privata adressen och en rutt för att nå den. Testa webbplatsen vid namn från en klient som har båda.
Anteckna utfärdaren, valideringsmetoden, förtroendedistributionskanalen och omladdningsmekanismen. De fyra är förnyelseplanen.