Gratis TLS certificaten van Let's Encrypt (binnenkort)

NB: deze blog post is redelijk oud

We hebben sinds dit artikel een nieuwe website gekregen. Wellicht ziet dit artikel er daarom niet zo uit zoals je zou verwachten.

Als je denkt dat deze pagina erg nuttig is, en hij er niet mooi uit ziet of niet goed functioneert, neem dan contact met ons op.

Om de privacy van de bezoekers van je website te waarborgen kon je tot nu toe alleen een TLS certificaat kopen. Let's Encrypt biedt gratis certificaten aan voor het versleutelen van verbindingen met websites met behulp van Transport Layer Security (TLS), waardoor het bekende groene slotje in de URL-balk komt te staan. Groene slotje in de URL-balkIn een eerdere blogpost schreven we al vol enthousiasme over Let's Encrypt. We beloofden Let's Encrypt te gaan implementeren in ons Service Centre — Cosmos, zodra Let's Encrypt volwassen genoeg zou zijn.

Hoewel Let's Encrypt nog steeds in Beta is, zijn we begonnen met de implementatie van Let's Encrypt voor domeinnamen die gekoppeld zijn aan een hosting pakket en in het Cosmos Service Centre beheerd worden.

Wat is Let's Encrypt

Let's Encrypt werd opgericht door the Electronic Frontier Foundation (EFF), Mozilla Foundation en de University of Michigan. Let's Encrypt's mandaat is:

  • Certificaten gratis beschikbaar maken.
  • Het vereenvoudigen van het installatie proces van TLS certificaten en tegelijk te ondersteunen bij het instellen van moderne encryptie technieken.
  • Het aanjagen van TLS security 'best practices'.
  • Een transparantere Certificate Authority (CA) zijn die lijsten van uitgegeven en ingetrokken certificaten publiek maakt.
  • Open zijn; zowel de CA server software als de client zijn volledig open source.
  • Een coöperatieve organisatie zijn die beheerd wordt door de gemeenschap en onafhankelijk is van een enkel bedrijf.

Let's Encrypt logo

Het Let's Encrypt project bestaat uit 2 componenten, de CA en de officiële client, Certbot genaamd. Een CA is een instantie die controleert of je een domein in beheer hebt en indien dit het geval is een TLS certificaat uitgeeft voor het domein. Het certificaat is benodigd voor een beveiligde verbinding.

Je browser houdt een lijst bij van vertrouwde CA's. Let's Encrypt wordt vertrouwd door de meest moderne browsers en heeft ook een deal gemaakt met een andere CA die al langer wordt vertrouwd, waardoor ook oudere browsers certificaten van Let's Encrypt vertrouwen.

Wat is TLS?

TLS is een versleutelingsprotocol dat ervoor zorgt dat mensen het internetverkeer tussen bezoekers van jouw website en onze webservers niet mee kunnen lezen. Als een website dit ondersteunt, wordt dat aangegeven met het groene slotje in de adresbalk. Ook staat er dan 'https' in de URL, in plaats van 'http'. Verder zorgt TLS ervoor dat het onmogelijk wordt voor anderen om dataverkeer van en naar je website te manipuleren met een zogenaamde 'man-in-the-middle' aanval. Tot slot verzekert TLS de bezoeker ervan dat ze echt jouw website op onze server bezoeken en dus niet een nagemaakte variant. Kort samengevat biedt TLS respectievelijk vertrouwelijkheid, integriteit en authenticiteit. TLS maakt gebruik van een certificaat dat speciaal voor jouw website is aangemaakt dat wordt ondertekend door een CA die een controle uitvoert om te checken of jij het domein wel in beheer hebt.

Waarom TLS gebruiken?

Er zijn verschillende redenen te bedenken waarom je TLS zou moeten gebruiken op je website, zoals: veiligheid, privacy en een hogere ranking in zoekmachines. Sommigen kiezen ervoor om TLS niet te gebruiken, omdat het langzamer is. De impact van TLS op de snelheid van uw website is echter verwaarloosbaar en weegt niet op tegen de voordelen. In de toekomst wordt uw website waarschijnlijk zelfs sneller wanneer het TLS ondersteunt. Het kan wel zo zijn dat je website nog niet goed werkt met TLS, met name als je gebruik maakt van specifieke plugins voor WordPress. Het advies is om het uit te proberen voordat je het permanent aanzet en TLS forceert.

De voordelen op een rijtje:

  • Het verhoogt de privacy van je bezoekers. Studies tonen aan dat wanneer mensen denken dat ze mogelijk onder surveillance zijn, ze meer zelf-censuur toepassen en afzien van het zoeken naar informatie over bepaalde onderwerpen. Dit wordt het 'chilling effect' genoemd. Als je HTTPS aanzet zullen bezoekers zich meer op hun gemak voelen wanneer ze informatie lezen op je website. 1 2 3 4
  • Als je persoonlijke informatie of wachtwoorden kunt invullen op je website, is het onverantwoord — en afhankelijk van lokale wetgeving zelfs illegaal — om geen versleutelde verbinding (TLS) aan te bieden. In de nabije toekomst zullen we HTTP/2 ondersteunen, de opvolger van het decennia oude HTTP protocol. Het gaat de snelheid drastisch verbeteren. De meeste browsers gaan HTTP/2 alleen ondersteunen in combinatie met een beveiligde verbinding. 5
  • Zoekmachines, zoals Google, plaatsen je site hoger in de zoekresultaten als je TLS ondersteunt. 6
  • Verschillende browsers gaan binnenkort een waarschuwing geven als je websites zonder TLS bezoekt, mogelijk al vanaf januari 2017. In het begin zal de melding nog enigszins neutraal zijn:

    Neutrale 'Not Secure' waarschuwing - stap 1

    Maar de waarschuwing wordt op termijn dwingender (een exacte datum is nog niet bekend) en gaat er dan zo uit zien:

    Niet zo neutrale 'Not Secure' waarschuwing - stap 2

    Hiermee wordt TLS een vereiste voor een goed functionerende website.

  • Sommige toekomstige features in browsers worden alleen beschikbaar gesteld voor websites die TLS ondersteunen. 7
  • Het verbetert de beveiliging van je website, bijvoorbeeld: wanneer je inlogt in de beheeromgeving van je website, kan het wachtwoord niet onderschept worden.

Hoe kan ik gebruik maken van Let's Encrypt?

Op korte termijn kun je in het Cosmos Service Centre TLS simpelweg 'aanvinken' voor domeinen en sub-domeinen. WanneerTLS aangezet is, wordt verkeer van en naar je website versleuteld. Je ontvangt hiervoor geen rekening. Het Cosmos Service Centre doet vervolgens een aanvraag voor een certificaat bij Let's Encrypt en installeert deze voor je op het hosting pakket. Verder kunnen klanten een aantal opties configureren die ze in staat stellen om TLS te forceren op hun website.

Let's Encrypt interface in Cosmos

Je site wordt automatisch geconfigureerd om moderne encryptie-technieken te gebruiken.

Eind september willen we beginnen met een publiek beta programma, hierover lees je verderop meer. We hopen deze functionaliteit voor het einde van het jaar aan alle klanten beschikbaar te stellen.

Kost dit Greenhost omzet?

Ja, in eerste instantie zeker. Tot nu toe betalen klanten voor TLS certificaten, met Let's Encrypt worden die gratis. Dat kost ons potentieel vrij veel omzet. Echter, wij geloven dat het web al lang volledig versleuteld had moeten zijn. Gelukkig wordt steeds meer verkeer versleuteld. Toch belemmeren allerlei praktische problemen dit proces. Een aantal substantiële drempels worden door Let's Encrypt weggenomen. Zo zijn de benodigde TLS certificaten bij Let's Encrypt gratis, zijn ze eenvoudiger aan te vragen en te installeren en worden automatisch vernieuwd. En makkelijker is het zeker, want TLS aanzetten in het Cosmos Service Centre is straks te doen met één muisklik!

Het proces is binnen enkele minuten voltooid, waar het vroeger soms wel 2 dagen duurde!

Implementatie met HAProxy

Ons hosting-platform maakt onder andere gebruik van HAProxy, HAProxy is server software die met jouw browser communiceert. We doen dit om onze hosting-pakketten te voorzien van load-balancing en fail-over. Dit houdt in dat de belasting verdeeld kan worden over meerdere servers en bij uitval van een van deze servers, de andere servers het werk kunnen overnemen. Dit leidt tot een hogere uptime en snellere werking van je website, ook onder hogere belasting. Omdat de beveiligde verbinding wordt opgezet tussen de browser van de bezoeker en onze HAProxy server moeten we Let's Encrypt hier implementeren.

Certbot heeft echter geen HAProxy ondersteuning. Daarom hebben we zelf een plugin geschreven die het mogelijk maakt Let's Encrypt certificaten te installeren in een HAProxy omgeving. Deze plugin is open-source, andere webhosting bedrijven die gebruik maken van HAProxy kunnen deze plugin dus ook installeren. We hopen dat ze dit ook doen, want ons doel is zoveel mogelijk van het web te versleutelen. De broncode is hier te vinden en de release versie zal binnenkort in ieder geval via PyPi gedistribueerd worden.

Beta programma

Als je mee wilt doen aan het publieke beta programma kun je een mail sturen naar letsencryptbeta@greenhost.net, onder vermelding van de domeinnamen waar je Let's Encrypt TLS op wilt uitproberen. Als je Let's Encrypt TLS aan wilt zetten op een sub-domein, stuur dan alsjeblieft alleen het domein; je kunt TLS aanzetten op alle domeinen, sub-domeinen en domein verwijzingen. Het domein moet geregistreerd zijn bij Greenhost en gekoppeld zijn aan een Greenhost hostingpakket om in het programma te kunnen participeren.

SSL added here! ;⏌)

We zien je aanmelding graag tegemoet en hopen dat je de mogelijkheid aangrijpt om je ervaringen met ons te delen.


  1. https://theintercept.com/2016/04/28/new-study-shows-mass-surveillance-breeds-meekness-fear-and-self-censorship/ 

  2. https://motherboard.vice.com/read/chilling-effect-of-mass-surveillance-is-silencing-dissent-online-study-says 

  3. http://poseidon01.ssrn.com/delivery.php?ID=869093085017080092011010025018031124105043091018012063007122116085024118088020082119042030001020040120035093028079067119089004043061013052034024122076017002112098049029080104126099124086102087020104122088000105005028100109067111126101123072064098081 

  4. http://poseidon01.ssrn.com/delivery.php?ID=253020073123121012113081106031012028059064002079017045002024013027112067127015009078097103011016022127108107076125091121112126117039004050076086096102096065107067004080007024103118086086119003003093064090104117102109105026015103080065004123113083081 

  5. https://wiki.mozilla.org/Networking/http2 

  6. https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html 

  7. https://w3c.github.io/webappsec-secure-contexts/