diff --git a/static/img/letsencrypt_challenge.png b/static/img/letsencrypt_challenge.png new file mode 100644 index 0000000..d0a68ce Binary files /dev/null and b/static/img/letsencrypt_challenge.png differ diff --git a/static/img/letsencrypt_chrome.png b/static/img/letsencrypt_chrome.png new file mode 100644 index 0000000..30ad0ea Binary files /dev/null and b/static/img/letsencrypt_chrome.png differ diff --git a/static/img/letsencrypt_conf.png b/static/img/letsencrypt_conf.png new file mode 100644 index 0000000..d29c8fb Binary files /dev/null and b/static/img/letsencrypt_conf.png differ diff --git a/static/img/letsencrypt_congrats.png b/static/img/letsencrypt_congrats.png new file mode 100644 index 0000000..96e21b3 Binary files /dev/null and b/static/img/letsencrypt_congrats.png differ diff --git a/static/img/letsencrypt_domain.png b/static/img/letsencrypt_domain.png new file mode 100644 index 0000000..8b277b6 Binary files /dev/null and b/static/img/letsencrypt_domain.png differ diff --git a/static/img/letsencrypt_logo.png b/static/img/letsencrypt_logo.png new file mode 100644 index 0000000..3c04d88 Binary files /dev/null and b/static/img/letsencrypt_logo.png differ diff --git a/templates/certificaten.html b/templates/certificaten.html index babb913..b35d0ef 100644 --- a/templates/certificaten.html +++ b/templates/certificaten.html @@ -87,14 +87,28 @@ +
Sometimes, the only one you can trust is yourself.+ +
Om zelf verstrekker te spelen heb je helemaal geen speciale certificaten nodig. Je kan namelijk gewoon je eigen certificaat en sleutel gebruiken die je aan het begin van de les hebt gemaakt. Vraag een medestudent om een Certificate Signing Request van zijn certificaat te geven en onderteken dat met je eigen certificaat. Zoek op internet het commando op waarmee je dat kan doen.
+ +-----BEGIN CERTIFICATE-----
)
+ {% include "points.html" with points=answers.answer_openssl_sign_other.points max="15" %}
+
+ Tip: zorg ervoor dat jouw certificaat standaard wordt geinstalleerd op alle besturingsystemen. Dan kan je goud geld verdienen met het ondertekenen van andere certificaten ;)
+Leuk die certificaten, maar laten we niet vergeten dat we er ook nog wat nuttigs mee kunnen doen. Namelijk onze internetverbindingen beveiligen. Om hiermee te oefenen hebben we een Ubuntu VM klaargezet op BlackBoard. Het wachtwoord van deze VM is sec2. We hebben een aantal dingen gewijzigd hierin:
Controleer eerst of de site http://www.security2.nl in jouw VM te bereiken is, en via https://www.security2.nl/ nog niet te bereiken is. Je gaat de site in de volgende opgaven beveiligen met SSL, om dat te doen moeten we eerst SSL aanzetten in Apache met de volgende commando's:
@@ -132,20 +146,70 @@ sudo service apache2 reloadTip: Heb je zelf een website die je wil beveiligen? Start SSL is één van de weinige bedrijven die gratis certificaten ondertekenen. Medio 2015 kan het ook via Let's Encrypt
+Sometimes, the only one you can trust is yourself.+
Sinds 2015 is er een nieuwe speler op de markt die gratis certificaten verstrekt, mits je kan bewijzen dat jouw website van jouw is natuurlijk. Dit gaat met behulp van de command-line letsencrypt
tool die automatisch certificaten maakt en ondertekend voor jouw website. Deze tool hebben we al voor je geinstalleerd in de VM.
Om zelf verstrekker te spelen heb je helemaal geen speciale certificaten nodig. Je kan namelijk gewoon je eigen certificaat en sleutel gebruiken die je aan het begin van de les hebt gemaakt. Vraag een medestudent om een Certificate Signing Request van zijn certificaat te geven en onderteken dat met je eigen certificaat. Zoek op internet het commando op waarmee je dat kan doen.
+We gaan nu sec1.aii.avans.nl beveiligen, niet deze website die je nu aan het bekijken bent, maar weer de localhost die in de VM draait. Maar nu gaan we hem met behulp van Let's Encrypt beveiligen.
+ +Tip:Je mag voor deze opdracht ook een eigen domein dat je hebt beveiligen! Let even op dat de commando's dan niet overal exact hetzelfde zijn. Zeker als je geen Apache gebruikt.
+ +Controleer eerst dat https://sec1.aii.avans.nl/ in de VM een fout geeft, dat komt omdat het certificaat van de vorige opdracht nog steeds van www.security2.nl is (als je de vorige opdracht goed hebt gedaan, anders krijg je misschien een andere fout). De browser ziet dat dat niet hetzelfde domein is en geeft terecht een error.
+ +We gaan beginnen met het aanvragen van een certificaat. Dit doen we met het volgende commando:
+
+ sudo letsencrypt certonly --manual --staging
+
+
Even een korte uitleg van dit commando:
+ +letsencrypt-auto
, certbot
of certbot-auto
zijn.--webroot
, --apache
) proberen het bestandje automatisch te plaatsen en de webserver te configureren. Dat gaat voor deze opdracht niet werken omdat de echte sec1.aii.avans.nl veilig ergens draait en van buiten niet te configureren is.Als je dit commando voor de eerste keer uitvoert wordt er gevraagd naar je e-mailadres, daar kan je invullen wat je wil. Voor het domein gaan we sec1.aii.avans.nl invullen. Als je je eigen domein wil beveiligen vul je hier uiteraard je eigen domein in.
+ +Let's Encrypt vraagt daarna om een bestandje op de server te zetten in een hele specifieke map (.well-known/acme-challenge) op de echte sec1.aii.avans.nl server. Normaliter zou dit een probleem zijn, want dat kan alleen als je toegang hebt tot de server. Maar speciaal voor jullie is er een pagina waar je de code kan kopieren en er voor zorgen dat het bestandje 10 minuten lang op onze server wordt gehost!
+ +Nadat de challenge is geslaagd zal Let's Encrypt nog een melding geven over dat de self-verification failed (in de VM wijst sec1.aii.avans.nl immers naar de localhost, en niet naar het bestandje op de echte server). Maar dat kan je negeren, als het goed is gegaan staan de certificaten nu in de map /etc/letsencrypt/live/sec1.aii.avans.nl
!.
+
+
+
+
Met dit commando kan je je nieuwe certificaat bekijken:
+ +sudo gedit /etc/letsencrypt/live/sec1.aii.avans.nl/fullchain.pem
-----BEGIN CERTIFICATE-----
)
- {% include "points.html" with points=answers.answer_openssl_sign_other.points max="10" %}
-
+ Plak de inhoud van het fullchain.pem
certificaat voor sec1.aii.avans.nl. (inclusief alle begin en einde -----BEGIN CERTIFICATE-----
)
+ {% include "points.html" with points=answers.answer_openssl_letsencrypt_fullchain.points max="10" %}
+
Tip: zorg ervoor dat jouw certificaat standaard wordt geinstalleerd op alle besturingsystemen. Dan kan je goud geld verdienen met het ondertekenen van andere certificaten ;)
+Stel het default-ssl.conf configuratie bestand van Apache nu zo in dat het de certificaten van Let's Encrypt gebruikt:
+ +Sla het bestand op, reload Apache en als het goed is heb je nu een beveiligde https://sec1.aii.avans.nl/, helemaal gratis en voor niets!
+ +Het zal je misschien opvallen dat de verstrekker Fake is, dat komt omdat we de --staging
optie hebben gebruikt. In de VM is deze toegevoegd als iets dat we kunnen vertrouwen (en dus een groen slotje oplevert), maar in de echte wereld is dat niet zo. Zorg er dus bij je eigen website zo dat je niet de --staging optie gebruikt als je voor de echie certificaten aan het maken bent