Waarom een certificaatIedere keer als je naar een "beveiligde" website gaat met een zogenaamde https, dan wordt een beveiligde verbinding gemaakt. Hierbij wordt ervoor gezorgt dat de site ook de site is die hij claimt te zijn en wordt het verkeer versleuteld om ervoor te zorgen dat anderen niet mee kunnen kijken naar de data.Om de identiteit te waarborgen, worden certificaten ondertekend met behulp van een zogenaamd root certificaat. Je kunt certificaten die ondertekend zijn voor jou domeinnaam kopen (kijk eens op ev1servers.net). Het voordeel hiervan is, dat je certificaten door de browsers van je clients automatisch herkend worden. Je kunt echter ook je eigen rootcertificaat aanmaken, waarna gebruikers door het downloaden en installeren van dit certificaat, ook beveiligd kunnen inloggen. Hoe het e.e.a. in zijn werk gaat, wordt in de volgende paragraven besproken. Het installeren van de softwareOpenssl wordt tegenwoordig op de meeste distributies, en ook op Debian, standaard geinstalleerd. Binnen de rest van dit verhaal ga ik uit, van de configuratie op een Debian systeem.Controleer met "dpkg -l openssl" of openssl geinstalleerd is. Pas vervolgens de file /etc/ssl/openssl.cnf aan. Hierdoor kun je je eigen defaults instellen, zodat je ze niet keer op keer hoeft in te voeren. Maak de directory /etc/ssl/made-certs aan, waar de gegenereerde certificaten in terecht komen. Het installeren van het root certificaat.Voer eerst een proefinstallatie van een certificaat met de onderstaande commando's om gewend te raken aan de gebruikers interface. Maak vervolgens de index file leeg en zet in de serial file het nummer 01. Maak vervolgens een root certificaat met het volgende commando:openssl req -config /etc/ssl/openssl.cnf -new -x509 -keyout private/cakey.pem \ -out cacert.pem -days 3650Onthoudt het wachtwoord goed, want je hebt het iedere keer nodig als je een certificaat aanmaakt. maak een kopie van de file cacert.pem en plaats hem ergens op je webserver met de extentie .crt. Als het certificaat door een client wordt gedownload (zo werkt het in ieder geval bij firefox), wordt het automatisch geinstalleerd als root certificaat (kijk een op www.easyaccounting.nl/certificaat.html voor een voorbeeld). Het genereren van een client certificaat voor de webserver. Kopieer het volgende script make-cert.sh naar de directory /etc/ssl/made-certs.#!/bin/sh ACTION=$1 OPTION1=$2 CONFFILE=/etc/ssl/openssl.cnf if [ "$ACTION" = "generate" ]; then openssl req -config $CONFFILE -new -keyout crt-$OPTION1-priv.pem -out crt-$OPTION1-priv.pem -days 732 openssl ca -config $CONFFILE -policy policy_anything -out crt-pub-$OPTION1.pem -infiles crt-$OPTION1-priv.pem else echo "$0 <param> <option> generate <servername>" fiVervolgens kun je een certificaat genereren met het commando ./make-cert.sh generate www.mijnserver.nlLet er bij een webserver op dat je de volledige domeinnaam bij de CommonName invult. Kopieer vervolgens de certificaten naar je webserver, en je bent klaar. Eventueel kun je het wachtwoord van het certificaat halen met het commando openssl rsa -in crt-www.mijnserver.nl-priv.pwd -out crt-www.mijnserver.nl-priv.pem Kijk voor het installeren van het certificaat op de webserver onder het kopje Apache. Informatie
|
|