From b8baac40c9b9c45069b271f1271152738caf1247 Mon Sep 17 00:00:00 2001 From: Paul Wagener Date: Fri, 29 May 2015 21:24:39 +0200 Subject: [PATCH] Certificaten --- static/css/style.css | 18 ++++++++++++++ static/img/slotje_certificaat_vm.png | Bin 0 -> 50776 bytes templates/base.html | 2 +- templates/certificaten.html | 34 +++++++++++++++++++-------- templates/oauth.html | 19 --------------- 5 files changed, 43 insertions(+), 30 deletions(-) create mode 100644 static/img/slotje_certificaat_vm.png diff --git a/static/css/style.css b/static/css/style.css index cea5384..137e22e 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -1,3 +1,21 @@ +.url { + color: #000088; + font-family: Courier; +} +figcaption { + text-align: center; +} + +figure img { + margin-left: auto; + margin-right: auto; +} +.screenshot { + box-shadow: 0 0 10px #888; + border: 1px solid #aaa; + border-radius: 7px; +} + body { background-color: #e8eef7; padding: 2em; diff --git a/static/img/slotje_certificaat_vm.png b/static/img/slotje_certificaat_vm.png new file mode 100644 index 0000000000000000000000000000000000000000..9f5645c66589bea8eee4ac7cfa44533e213db7b2 GIT binary patch literal 50776 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 Bz+C_U literal 0 HcmV?d00001 diff --git a/templates/base.html b/templates/base.html index 12a53d5..253787d 100644 --- a/templates/base.html +++ b/templates/base.html @@ -27,7 +27,7 @@
Security 2
  • OAuth
  • -
  • Certificaten (under construction)
  • +
  • Certificaten
  • Encryptie (under construction)
diff --git a/templates/certificaten.html b/templates/certificaten.html index 9297aed..5f2001b 100644 --- a/templates/certificaten.html +++ b/templates/certificaten.html @@ -44,7 +44,7 @@

- Hoeveel basis verstrekkers vertrouwt jouw systeem? (je mag ook ongeveer een antwoord als het lastig tellen is) + Hoeveel basis verstrekkers vertrouwt jouw systeem? (je mag ook ongeveer een antwoord geven als het lastig tellen is)
5 punten
@@ -85,12 +85,12 @@

Websites beveiligen

-

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 met een paar wijzigingen:

+

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:

    -
  • We hebben deze verstrekker als vertrouwd toegevoegd aan het systeem
  • Er is een default Apache installatie aanwezig.
  • www.security2.nl wijst naar de geïnstalleerde Apache op localhost.
  • +
  • We hebben deze verstrekker als vertrouwd toegevoegd aan het systeem

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:

@@ -98,35 +98,49 @@ sudo a2enmod ssl
sudo a2ensite default-ssl
-

Voer vervolgens de volgende stappen uit:

+

Hint: Commando's vul je in in het programma 'Terminal'

+ +

De site is nu ook via https:// bereikbaar, maar Apache heeft een ongeldig dummy certificaat gebruikt om de site te beveiligen. Om het werkend te krijgen moeten we eerst de volgende stappen uitvoeren:

    -
  1. Maak een geheel nieuw certificaat aan met het commando bovenaan de pagina. Je mag alles invullen zoals je wil, behalve de Common Name / Server FQDN. Die moet www.security2.nl zijn.
  2. +
  3. Maak een geheel nieuwe certificaat/sleutel combo aan met het commando bovenaan de pagina. Je mag alles invullen zoals je wil, behalve de Common Name / Server FQDN. Die moet www.security2.nl zijn.
  4. Laat het certificaat hier weer ondertekenen
  5. -
  6. Kopieer het sleutel bestand en het ondertekende certificaat naar de server
  7. +
  8. Kopieer het sleutel bestand en het ondertekende certificaat naar de VM
  9. Voer het volgende commando uit: sudo gedit /etc/apache2/sites-available/default-ssl.conf om de standaard SSL configuratie aan te passen.
  10. -
  11. Verander in dit bestand de SSLCertificateFile en SSLCertificateKeyFile zodat ze naar jouw bestanden wijzen
  12. +
  13. Verander in dit bestand de SSLCertificateFile en SSLCertificateKeyFile zodat ze naar jouw certificaat en sleutel bestand wijzen
  14. Maak je wijzigingen actief door de configuratie opnieuw in te laden: sudo service apache2 reload

Als je alles goed hebt gedaan is de site nu met SSL beveiligd! Controleer of je de site in de VM nu kan bereiken via https://www.security2.nl/ . Als je een groen slotje krijgt mag je de volgende vraag beantwoorden:

- Plak de inhoud van het .crt bestand dat je hebt gebruikt om de website te beveiligen. (inclusief begin en einde -----BEGIN CERTIFICATE-----) + Plak de inhoud van het .crt bestand dat je hebt gebruikt om de website te beveiligen met een groen slotje. (inclusief begin en einde -----BEGIN CERTIFICATE-----)
15 punten
+
+ Maak een screenshot van het groene slotje en de details van het certificaat en upload die naar imgur. Plak de URL naar die screenshot als antwoord. +
10 punten
+ +
+ + + +

Tip: Heb je zelf een website die je wil beveiligen? Start SSL is één van de weinige bedrijven die gratis certificaten ondertekenen. Later dit jaar kan het ook via Let's Encrypt

+

Zelf verstrekken

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 om andere certificaten te ondertekenen. 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.

+

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.

- Plak de inhoud van een certificaat waar je zelf verstrekker van het certificaat van een medestudent. (inclusief begin en einde -----BEGIN CERTIFICATE-----) + Plak de inhoud van het certificaat van een medestudent, waar je zelf verstrekker van bent. (inclusief begin en einde -----BEGIN CERTIFICATE-----)
10 punten
+

Tip: zorg ervoor dat jouw certificaat standaard wordt geinstalleerd op alle besturingsystemen. Dan kan je goud geld verdienen met het ondertekenen van andere certificaten ;)

+ {% endblock %} \ No newline at end of file diff --git a/templates/oauth.html b/templates/oauth.html index 5f9b451..ce394d5 100644 --- a/templates/oauth.html +++ b/templates/oauth.html @@ -1,25 +1,6 @@ {% extends "base.html" %} {% block content %} -

OAuth