Bei Let’s Encrypt (letsencrypt.org) han­delt es sich um eine neue Cer­ti­fi­cate Aut­ho­rity (CA), wel­che eine radi­kale Ver­ein­fa­chung der Ver­schlüs­se­lung von Web­sei­ten­kom­mu­ni­ka­tion zum Ziel hat. Let’s Encrypt bie­tet auto­ma­ti­sche Domain Vali­da­tion (DV) an. Sie gibt also SSL-Zer­ti­fi­kate gestützt auf die Tat­sa­che aus, dass sich der Eigen­tü­mer des Ser­vers resp. der Domain rein auf Basis von Tech­nik iden­ti­fi­ziert. Der genauere Ablauf die­ser DV lässt sich hier nach­le­sen: how-it-works. Weder Bestä­ti­gungs­mails noch das Vor­zei­gen eines Aus­wei­ses ist notwendig.

Let’s Encrypt bie­tet im Moment nur DV an, also keine Orga­niza­tion Vali­da­tion (OV) oder eine Exten­det Vali­da­tion (EV). Viel­leicht wird das Ange­bot in Zukunft noch aus­ge­baut. Ich würde das sehr begrüssen.

Eben­falls wer­den im Moment keine Wild­card Cer­ti­fi­ca­tes ange­bo­ten (z.B. *.143bis.ch), damit würde das­selbe Zer­ti­fi­kat auch feh­ler­frei für Sub­do­mains wie “www.143bis.ch” oder “hallowelt.143bis.ch” funk­tio­nie­ren. Der Cli­ent von Let’s Encrypt bie­tet jedoch genau sol­che Wild­card Cer­ti­fi­ca­tes zur Aus­wahl an, wenn man ihn aus­führt. Dabei han­delt es sich um einen Bug (offene Tickets auf git­hub). Diese Wild­cards müs­sen abge­wählt wer­den, sonst bricht der Cli­ent mit fol­gen­der Feh­ler­mel­dung ab: “An unex­pec­ted error occur­red: The request mes­sage was mal­for­med :: Error crea­ting new authz :: Inva­lid cha­rac­ter in DNS name”.

Klei­ner Crash-Kurs

Die Anzeige des Let’s Encrypt Cli­ents basiert auf cur­ses (cur­ses-Biblio­thek von Python). Sie sehen die Anzeige gleich nach­fol­gend; das ist eine typi­sche curses-Darstellung:

curses Oberfläche des Let's Encrypt-Clients (./letsencrypt-auto)

cur­ses Ober­flä­che des Let’s Encrypt-Cli­ents (./let­sen­crypt-auto) mit aus­ge­wähl­ter Wildcard-Option

Der erste Ein­trag ent­hält zwei Sterne (*). Der erste Stern ist weiss und in ecki­gen Klam­mern ([*]). Er zeigt an, dass die Option aus­ge­wählt wurde. Um die Option zu deak­ti­vie­ren, drü­cken Sie ein­fach die Leer­taste und die Option wird abge­wählt. Der Stern in den ecki­gen Klam­mern ver­schwin­det. Beim zwei­ten roten Stern in “*.143bis.ch” han­delt es sich sodann um eine sog. Wild­card, wel­che zur besag­ten Feh­ler­mel­dung führt, wenn sie nicht abge­wählt wird. Wird der Wild­card-Ein­trag abge­wählt, sieht die Anzeige wie­folgt aus:

letsencrypt-curses-deactivated

Nach einer Bestä­ti­gung des OK-Schal­ters mit Enter wird Ihnen die Frage gestellt, ob Sie stan­dard­mäs­sig nur noch ver­schlüs­selt kom­mu­ni­zie­ren wol­len oder bei­des anbie­ten wol­len (also unge­si­cher­tes http und gesi­cher­tes https). Ich emp­fehle Ihnen unab­hän­gig von der Ver­trau­lich­keit des Web­sei­ten­in­halts immer ver­schlüs­selt zu kom­mu­ni­zie­ren. Es gibt kei­nen Grund, auf Ver­schlüs­se­lung zu verzichten.

Auswahlmöglichkeit, im Let's Encrypt-Client entweder nur sichere (https) oder nebst sicherer auch unverschlüsselte (http) Kommunikation anzubieten.

Aus­wahl­mög­lich­keit, im Let’s Encrypt-Cli­ent ent­we­der nur sichere (https) oder nebst siche­rer auch unver­schlüs­selte (http) Kom­mu­ni­ka­tion anzubieten.

Das ist im Übri­gen schon alles, was Sie beim Let’s Encrypt-Cli­ent tun müs­sen. Danach kom­mu­ni­ziert Ihre Web­site auto­ma­tisch ver­schlüs­selt. Ein­fa­cher geht es kaum! Das Kon­zept von Let’s Encrypt wird mass­ge­bende Aus­wir­kung auf die Inter­net­si­cher­heit haben. 143bis.ch pro­mo­tet Let’s Encrypt des­halb bis auf Wei­te­res mit einem Ban­ner in der rech­ten Seitennavigation.

Ein Man­gel besteht zur Zeit noch: Die Auto­ma­ti­sie­rung exis­tiert noch nicht. Alle drei Monate ist der vor­her beschrie­bene Vor­gang zu wie­der­ho­len. Andern­falls läuft das Zer­ti­fi­kat aus und die Besu­cher Ihrer Web­site sehen eine War­nung, das Zer­ti­fi­kat sei abgelaufen.

Nicht ver­ges­sen: Steht Ihr Web­ser­ver hin­ter einer Fire­wall, so müs­sen Sie ihm neben Port 80 (für http) nun neu auch Port 443 (für https) öffnen.