Maak een Let's Encrypt wildcard-certificaat
Een Let’s Encrypt Wildcard-certificaat is handig als meerdere subdomeinen moeten worden beveiligd met een gemeenschappelijk certificaat, bijvoorbeeld app.example.com, vpn.example.com en portal.example.com. Dit kan handig zijn voor Sophos ZTNA, reverse proxies, testomgevingen of meerdere interne webservices.
Wat belangrijk is, is de verwachting: Let’s Encrypt-certificaten zijn van korte duur. Het voordeel ligt niet in de lange termijn, maar in de vrije uitgifte en automatisering. Als het certificaat handmatig wordt aangemaakt met behulp van een DNS TXT-invoer, moet de daaropvolgende verlenging bewust worden gepland.
Als het certificaat rechtstreeks op een Sophos Firewall voor WAF, WebAdmin of portals moet worden aangemaakt, is de ingebouwde firewallmethode meestal beter: Stel Sophos Firewall Let’s Encrypt-certificaten in. Dit artikel beschrijft de externe wildcardroute met Certbot.
Wanneer een wildcard-certificaat zinvol is
Een wildcardcertificaat dekt één niveau onder een domein. Dus *.example.com past voor portal.example.com, maar niet automatisch voor example.com zelf en ook niet voor a.b.example.com.
- Veel subdomeinen onder dezelfde zone: Wildcard-certificaat kan het beheer vereenvoudigen.
- Slechts één publieke dienst: één FQDN-certificaat is vaak schoner.
- Certificaat moet op meerdere systemen worden gebruikt: Wildcard-certificaat kan praktisch zijn, maar controleert strikt de sleuteldistributie.
- Volledig automatische verlenging vereist: Schema DNS-provider met Certbot-plug-in of andere ACME-client.
- Sophos Firewall is alleen bedoeld om WAF/WebAdmin/Portals: te beveiligen Ingebouwde firewall Let’s Encrypt-controle.
Een wildcardcertificaat is op zichzelf geen veiligheidswinst. Als dezelfde privésleutel zich op meerdere systemen bevindt, neemt de impact van een sleutelverlies zelfs toe. Daarom moet worden gedocumenteerd waar het certificaat is geïmporteerd en wie de privésleutel beheert.
Vereisten
Voor een wildcardcertificaat heeft u nodig:
- uw eigen domein of subdomeinzone
- Toegang tot DNS TXT-records van het domein
- een Linux-server of beheerderscomputer met Certbot
- Toestemming om Certbot uit te voeren met rootrechten
- een plan voor verlenging, import en sleutelopslag
- Toegang tot het doelsysteem, bijvoorbeeld Sophos Central ZTNA, reverse proxy of firewall
Wildcard-certificaten worden gevalideerd via de DNS-01 Challenge. Er is een TXT-record ingesteld onder _acme-challenge.example.com. Let’s Encrypt controleert deze DNS-invoer en geeft vervolgens het certificaat uit. Let’s Encrypt beschrijft de basistypen uitdagingen in de Documentatie over uitdagingstypen.
Certbot installeren
De Certbot-projectpagina raadt voor veel Linux-omgevingen aan om via Snap te installeren. Op een geschikt Linux-systeem ziet het basisproces er als volgt uit:
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot
Indien Certbot al is geïnstalleerd via apt, dnf of een ander pakket, dient u vooraf te controleren welke Certbot daadwerkelijk wordt gebruikt. Anders leiden meerdere parallelle installatiepaden snel tot onjuiste versies of onverwachte verlengingstaken.
Maak handmatig een wildcard-certificaat
Voor handmatige DNS-validatie kan Certbot worden gestart met --manual en --preferred-challenges dns. In het voorbeeld moet het certificaat van toepassing zijn op zowel example.com als *.example.com:
sudo certbot certonly --manual --preferred-challenges dns -d example.com -d '*.example.com'
Certbot toont vervolgens een of meer TXT-waarden. Als example.com en *.example.com tegelijk worden aangevraagd, maakt Certbot twee afzonderlijke DNS-01 challenges aan. Beide TXT-waarden moeten als aparte TXT-records onder _acme-challenge.example.com worden toegevoegd. Voeg de tweede record dus extra toe en overschrijf de eerste niet.
Pas als alle DNS-records wereldwijd zichtbaar zijn, moet men in Certbot bevestigen en doorgaan met de validatie.
Praktische controle:
dig TXT _acme-challenge.example.com @1.1.1.1
- zeker: Een certificaat aanvragen of verlengen zonder het te installeren.
--manual: DNS-waarde wordt handmatig ingesteld.--preferred-challenges dns: Gebruik DNS-01 Challenge.-d example.com: Extra hoofddomein toevoegen.-d '*.example.com': Inclusief wildcard-domein.
Het hoofddomein en het wildcarddomein zijn afzonderlijke namen. Als alleen *.example.com wordt aangevraagd, wordt example.com zelf niet automatisch opgenomen.
Als beide namen tegelijk worden aangevraagd, kunnen meerdere TXT-records met dezelfde naam nodig zijn. Dat is toegestaan in DNS en precies hier mislukken validaties vaak, omdat een bestaande TXT-waarde per ongeluk wordt vervangen.
Vind certificaatbestanden
Na succesvolle uitgifte bevinden de bestanden zich doorgaans op:
/etc/letsencrypt/live/example.com/
Belangrijke bestanden:
fullchain.pem: Certificaat inclusief tussencertificaten.cert.pem: alleen het servercertificaat.privkey.pem: privésleutel.chain.pem: Tussencertificaten.
Veel doelsystemen vereisen fullchain.pem en privkey.pem. Bij sommige importmaskers is het certificaat en de sleutel apart nodig, bij andere is ook de ketting nodig. Voordat u importeert, moet het duidelijk zijn welk formaat het doelsysteem verwacht.
⚠️
privkey.pemis de privésleutel. Dit bestand mag niet in tickets, chats, e-mails of onveilige opslag terechtkomen. Iedereen die over de privésleutel beschikt, kan het certificaat misbruiken.
Planverlenging
De handmatige --manual-methode is eenvoudig voor tests en individuele acties, maar is slechts gedeeltelijk geschikt voor productieve certificaten. Zonder automatisering moet er telkens wanneer deze wordt vernieuwd een nieuw DNS TXT-record worden ingesteld.
Voor productief gebruik zijn er drie schone varianten:
- DNS-plug-in voor de DNS-provider: of Certbot DNS-records mag instellen via API.
- een andere ACME-client met DNS-automatisering: of de aanbieder of het platform beter ondersteund wordt.
- handmatige verlenging met kalender en eigenaar: alleen voor tests of zelden gebruikte certificaten.
Wanneer DNS API-toegang wordt gebruikt, zijn API-referenties bijzonder cruciaal. Een DNS-token mag alleen de noodzakelijke zone en, indien mogelijk, alleen de noodzakelijke recordtypen wijzigen. Brede domeinbeheerderstoegang hoort niet onbeschermd op een webserver thuis.
Een verlengingstest wordt meestal als volgt gecontroleerd met Certbot:
sudo certbot renew --dry-run
Voor handmatig aangemaakte DNS-certificaten heeft deze test alleen zin als ook het DNS-proces geautomatiseerd is of als de handmatige hooks goed werken.
Importeer in Sophos-omgevingen
Als het certificaat wordt gebruikt voor Sophos ZTNA, een firewall, een reverse proxy of een ander Sophos-gerelateerd systeem, controleer dan deze punten voordat u importeert:
- Komt de certificaatnaam overeen met de openbare hostnaam?
- Is het hoofddomein vereist naast het jokerteken?
- Verwacht het doelsysteem
fullchain.pemof afzonderlijke certificaatcomponenten? - Wordt de private sleutel geaccepteerd of moet deze worden omgezet naar een ander formaat?
- Is er een gedocumenteerd proces voor de volgende verlenging?
- Is duidelijk op welke systemen hetzelfde certificaat is geïmporteerd?
Als het alleen om WAF, WebAdmin of portalen op Sophos Firewall gaat, is het ingebouwde firewallproces vaak eenvoudiger omdat het aanmaken en vernieuwen direct op de firewall plaatsvindt. De externe Certbot- of ACME-route blijft echter relevant voor echte wildcard-certificaten.
Typische fouten
- Validatie mislukt: TXT-record nog niet zichtbaar, onjuiste DNS-zonenaam of een van meerdere TXT-waarden werd overschreven.
dig TXT _acme-challenge.example.com @1.1.1.1controleren. - Certificaat is niet van toepassing op
example.com: alleen*.example.comaangevraagd. Voeg bovendien het hoofddomein toe met-d example.com. - Certificaat is niet van toepassing op
a.b.example.com: Wildcard dekt slechts één subdomeinniveau. plan uw eigen certificaat of geschikte wildcard voor een diepere zone. - Verlengen werkt niet automatisch: handmatige DNS-manier zonder automatisering. Controleer DNS-plug-in of andere ACME-client.
- Importeren mislukt: verkeerd bestand of formaat.
fullchain.pem,cert.pem,privkey.pemen vergelijk ketenverzoek. - Veiligheidsrisico door sleutelkopieën: privésleutel bevindt zich op meerdere systemen. Documentopslag, toegang en importlocaties.
Controlelijst
- Domein- en subdomeinniveau ingesteld.
- Hoofddomein en wildcard zijn bewust geselecteerd.
- DNS-toegang en TXT-recordtoestemming beschikbaar.
- Certbot netjes geïnstalleerd.
- DNS-01 Challenge succesvol gecontroleerd.
- Certificaatbestanden en privésleutel veilig opgeslagen.
- Doelsysteem en vereist importformaat bekend.
- Verlenging gepland met Eigenaar, Agenda of DNS-automatisering.
- Oude certificaten en sleutels worden na succesvolle conversie gecontroleerd verwijderd.
Veelgestelde vragen
Is een wildcardcertificaat van toepassing op het rootdomein?
*.example.com is niet automatisch van toepassing op example.com. Als beide vereist zijn, moeten beide namen in het certificaat worden opgenomen.Waarom heeft een wildcard-certificaat DNS-validatie nodig?
Kunt u een handmatig wildcardcertificaat automatisch verlengen?
Welke bestanden heb je nodig voor de import?
fullchain.pem en privkey.pem zijn vaak vereist. Afhankelijk van het doelsysteem kan cert.pem of chain.pem ook relevant zijn.