Let's Encrypt is een onafhankelijke, gratis en geautomatiseerde (SSL) Certificaat Autoriteit (CA) die ontwikkeld is door de Internet Security Research Group (ISRG).
Met behulp van Let's Encrypt kun je gratis SSL-certificaten genereren vanaf een computer of server om bijvoorbeeld je website, e-mail of SFTP-server met SSL/TLS te beveiligen.
Welke type certificaten biedt Let's Encrypt?
Met Let's Encrypt kun je twee type certificaten genereren: Domeinvalidatie & Wildcard.
-
Domeinvalidatie: Hiermee beveilig je één domeinnaam of subdomein naar keuze. Na de installatie van het SSL-certificaat zie je een slotje terug in de adresbalk van je browser.
Een domeinvalidatie-certificaat biedt technische gezien dezelfde mate van beveiliging als wildcard-certificaten. -
Wildcard: Deze certificaten beveiligen je een domeinnaam (bijv. transip.nl) en alle daaronder vallende subdomeinen (bijv. subdomein.transip.nl).
Sub-subdomeinen (bijvoorbeeld voorbeeld.subdomein.transip.nl) vallen hier niet onder. Je zou wel in dit voorbeeld voor subdomein.transip.nl een wildcard-certificaat kunnen afnemen en daarmee alle sub-subdomeinen van subdomein.transip.nl kunnen beveiligen.
Een wildcard-certificaat biedt technische gezien dezelfde mate van beveiliging als domeinvalidatie-certificaten.
Uitgebreide Validatie (EV) certificaten, worden niet ondersteund door Let's Encrypt. Dit komt doordat het uitgeven van EV-certificaten niet geautomatiseerd kan worden door Let's Encrypt.
Hoe werkt Let's Encrypt?
Voor het beheren of genereren van certificaten, gebruikt Let's Encrypt een 'certificate management agent' (i.e. een softwareprogramma) die vanaf je server / computer wordt uitgevoerd en twee dingen doet:
- Domeinvalidatie: De agent bewijst aan Let's Encrypt dat het domein waarvoor je een certificaat beheert/genereert inderdaad door de server beheerd wordt.
- Certificaatbeheer: De agent kan na de domein validatie certificaten aanvragen, vernieuwen of intrekken voor het specificieke domein.
Voor de domeinvalidatie en het certificaatbeheer gebruikt Let's Encrypt het Automatic Certificate Management Environtment (ACME) protocol, dat specifiek voor deze doeleinden is ontwikkeld.
Klik hieronder op een van de elementen voor meer informatie over de bettreffende functie van de Let's Encrypt agent.
Domeinvalidatie
De domeinvalidatie wordt voltooid in vier stappen:
Stap 1
Wanneer de agent software verbindt met de systemen van Let's Encrypt, doet het eerst twee dingen:
- De software genereert een key pair (een private key en een public key) en identificeert zichzelf bij Let's Encrypt via de public key.
- De software vraagt aan Let's Encrypt wat er nodig is om te bewijzen dat de server waarvandaan de aanvraag wordt gedaan controle heeft over een specifiek domein.
Stap 2
Let's Encrypt zal hiervoor een of meer 'challenges' geven voor het domein waar je een aanvraag voor doet. Deze challenges staan bekend als 'ACME challenges'. Er zijn verschillende manieren waarop de software kan bewijzen dat je server controle heeft over het domein, bijvoorbeeld door:
- Een specifiek DNS-record aan te maken voor je domein
- Een HTTP-bron onder een 'well-known URI' voor je domein, oftewel: een bestand met een specifieke/unieke naam moet aangemaakt worden op een specifieke subdirectorie van je domein.
Daarnaast stuurt Let's Encrypt een nonce (een getal- of bit-reeks die eenmalig gebruikt wordt in cryptografische communicatie) die de agent ondertekent met de private key om te bewijzen dat het de key pair controleert.
Stap 3
De agent software voltooid de challenge, bijvoorbeeld de DNS-controle en ondertekent de nonce met zijn private key.
Stap 4
Let's Cncrypt controleert dat de challenge geslaagd is en de ondertekening van de nonce. Gebruik je de HTTP-bron dan zal hiervoor Let's Encrypt het bestand downloaden vanaf de webserver en de inhoud controleren.
Na deze stap mag de agent certificaatbeheer uitoefenen voor het betreffend domein. De key pair die gebruikt is wordt een 'authorized key pair' voor dit domein.
Certificaat uitgifte en intrekken
Na het doorlopen van de domeinvalidatie mag de software agent certificaten aanvragen, vernieuwen, of intrekken voor het domein.
Hiervoor stuurt de agent een verzoek dat het ondertekent met de geautoriseerde key pair. Voor het verkrijgen van een certificaat, stelt de agent een Certificate Signing Request (CSR) op die Let's encrypt waarin het vraagt om een certificaat voor een specifiek domein met een specifieke public key. De CSR bevat een ondertekening door de private key die bij de public key hoort. Vervolgens ondertekent de agent de gehele CSR nog eens met de authorized key (uit de domeinvalidatie) van het domein.
Let's Encrypt controleert vervolgens beide ondertekeningen (de private key en de authorized key). Wanneer die controle slaagt, geeft Let's Encrypt een certificaat af voor je domein.
Het intrekken van een certificaat werkt vergelijkbaar: de agent stuurt een intrekverzoek met de authorized key pair voor het domein. Let's Encrypt controleert die en trekt vervolgens het certificaat in. Het intrekken wordt aan je agent teruggekoppeld en aan instanties die derde partijen (e.g. browsers) laten weten dat het certificaat niet meer geldig is.
Let's Encrypt, of een betaald certificaat?
Let's Encrypt vraagt geen geld voor certificaten, waardoor je je misschien afvraagt of ze wel dezelfde kwaliteit bieden als een betaalde CA voor domein- en wildcard-certificaten, en zo ja, waarom zou je er dan nog voor betalen?
Let's Encrypt is een non-profit organisatie die het moet hebben van donaties en subsidies. De kernwaarde van Let's Encrypt is een veiliger en privacy-respecterend internet door HTTPS-gebruik te stimuleren. De veiligheid van Let's Encrypt doet niet onder voor die van een andere CA.
Of je wel of geen Let's Encrypt gebruikt, hangt vooral van je use case af en de garanties die je zoekt:
- Let's Encrypt certificaten verlopen na 90 dagen (en vernieuwen automatisch). Er zijn echter situaties denkbaar waarbij auto-renew niet wenselijk of mogelijk is, bijvoorbeeld op een server op een private network waarbij de publieke verbinding is uitgezet.
- In theorie heb je meer garantie bij een betaalde CA: Als een betaalde CA (bijvoorbeeld Sectigo) faalt in het correct valideren van de informatie in een certificaat en de eindgebruiker hierdoor geld verliest, kun je mogelijk aanspraak maken op garantie bij de betreffende CA. Bij een EV-certificaat ligt dat bedrag overigens een stuk hoger dan bij een domeinvalidatie- of wildcard-certificaat.
Let wel dat het zeer lastig is om aanspraak te kunnen maken op die garantie en vaak enkel mogelijk is in situaties die zo ernstig zijn dat een ernstiger gevolg zoals een faillisement van de CA niet onwaarschijnlijk is.
Let's Encrypt voor webhostingpakketten
Op onze webhostingpakketten kun je Let's Encrypt (wildcard) naar wens inschakelen. Hoe dit werkt lees je terug in ons artikel 'Let's Encrypt voor webhosting'.
Let's Encrypt voor je VPS
Op je VPS kun je uiteraard Let's Encrypt installeren. In de volgende artikelen leggen wij uit hoe je Let's Encrypt installeert op jouw VPS:
Let's Encrypt voor HA-IP
Op HA-IP en HA-IP Pro kun je ook gebruik maken van (wildcard) Let's Encrypt certificaten. In onze handleiding 'Een SSL-certificaat voor HA-IP installeren' leggen wij uit hoe dit werkt.
Mocht je aan de hand van deze handleiding nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.