Ontwikkelaars en IT-beheerders hebben ongetwijfeld de behoefte om een website via HTTPS te implementeren met een SSL-certificaat. Hoewel dit proces vrij eenvoudig is voor een productiesite, kan het voor ontwikkelings- en testdoeleinden nodig zijn om hier ook een SSL-certificaat te gebruiken.
Als alternatief voor het kopen en verlengen van een jaarlijks certificaat, kunt u gebruikmaken van de mogelijkheid van uw Windows Server om een zelfondertekend certificaat te genereren dat handig en gemakkelijk is en perfect zou moeten voldoen aan dit soort behoeften.
Een zelfondertekend certificaat maken op IIS
Hoewel er verschillende manieren zijn om de taak van het maken van een zelfondertekend certificaat te volbrengen, zullen we het SelfSSL-hulpprogramma van Microsoft gebruiken. Helaas wordt dit niet geleverd met IIS, maar het is gratis beschikbaar als onderdeel van de IIS 6.0 Resource Toolkit (link onder aan dit artikel). Ondanks de naam "IIS 6.0" werkt dit hulpprogramma prima in IIS 7.
Het enige dat nodig is, is het uitpakken van de IIS6RT om het hulpprogramma selfssl.exe te krijgen. Vanaf hier kunt u het naar uw Windows-directory of een netwerkpad / USB-station kopiëren voor toekomstig gebruik op een andere machine (u hoeft dus niet de volledige IIS6RT te downloaden en uit te pakken).
Zodra u het SelfSSL-hulpprogramma heeft geïnstalleerd, voert u de volgende opdracht uit (als de beheerder) en vervangt u de waarden in <> indien van toepassing:
selfssl / N: CN = <uw.domein.com> / V: <aantal geldige dagen>
Het onderstaande voorbeeld produceert een zelfondertekend jokertekencertificaat voor "mijndomein.com" en stelt dit in op 9.999 dagen. Bovendien wordt dit certificaat automatisch geconfigureerd om te binden aan poort 443 binnen de standaardwebsite van IIS door ja te antwoorden op de prompt.
Hoewel het certificaat nu klaar is voor gebruik, wordt het alleen opgeslagen in het persoonlijke certificaatarchief op de server. Het is een best practice om dit certificaat ook in de vertrouwde root in te stellen.
Ga naar Start> Uitvoeren (of Windows-toets + R) en voer "mmc" in. Mogelijk ontvangt u een UAC-prompt, accepteert u deze en wordt een lege beheerconsole geopend.
Ga in de console naar Bestand> Module toevoegen / verwijderen.
Voeg certificaten toe vanaf de linkerkant.
Selecteer Computeraccount.
Selecteer Lokale computer.
Klik op OK om het lokale certificaatarchief te openen.
Navigeer naar Persoonlijk> Certificaten en zoek het certificaat dat u instelt met het hulpprogramma SelfSSL. Klik met de rechtermuisknop op het certificaat en selecteer Kopiëren.
Navigeer naar Vertrouwde basiscertificeringsinstanties> Certificaten. Klik met de rechtermuisknop op de map Certificaten en selecteer Plakken.
Een vermelding voor het SSL-certificaat zou in de lijst moeten verschijnen.
Op dit punt zou uw server geen problemen moeten hebben met het werken met het zelfondertekende certificaat.
Exporteren van het certificaat
Als u een site gaat bezoeken die het zelfondertekende SSL-certificaat op een clientcomputer gebruikt (dwz elke computer die niet de server is), moet het zelfondertekende certificaat worden geïnstalleerd om een mogelijke aanval van certificaatfouten en waarschuwingen te voorkomen. op elk van de clientmachines (die we hieronder in detail zullen bespreken). Om dit te doen, moeten we eerst het respectieve certificaat exporteren, zodat het op de clients kan worden geïnstalleerd.
Navigeer in de console met het certificaatbeheer geladen naar Trusted Root Certification Authorities> Certificates. Zoek het certificaat, klik met de rechtermuisknop en selecteer Alle taken> Exporteren.
Selecteer Ja wanneer u wordt gevraagd om de persoonlijke sleutel te exporteren. Klik volgende.
Laat de standaardselecties voor het bestandsformaat staan en klik op Volgende.
Vul een wachtwoord in. Dit wordt gebruikt om het certificaat te beschermen en gebruikers kunnen het niet lokaal importeren zonder dit wachtwoord in te voeren.
Voer een locatie in om het certificaatbestand te exporteren. Het zal in PFX-formaat zijn.
Bevestig uw instellingen en klik op Voltooien.
Het resulterende PFX-bestand wordt op uw clientcomputers geïnstalleerd om hen te vertellen dat uw zelfondertekende certificaat van een betrouwbare bron is.
Implementeren op clientmachines
Zodra u het certificaat aan de serverzijde heeft aangemaakt en alles werkt, merkt u misschien dat wanneer een clientcomputer verbinding maakt met de respectieve URL, er een certificaatwaarschuwing wordt weergegeven. Dit gebeurt omdat de certificeringsinstantie (uw server) geen vertrouwde bron is voor SSL-certificaten op de client.
U kunt door de waarschuwingen klikken en toegang krijgen tot de site, maar het kan zijn dat u herhaalde meldingen krijgt in de vorm van een gemarkeerde URL-balk of herhalende certificaatwaarschuwingen. Om deze ergernis te voorkomen, hoeft u alleen maar het aangepaste SSL-beveiligingscertificaat op de clientcomputer te installeren.
Afhankelijk van de browser die u gebruikt, kan dit proces variëren. IE en Chrome lezen beide uit het Windows-certificaatarchief, maar Firefox heeft een aangepaste methode om beveiligingscertificaten af te handelen.
Belangrijke notitie: Je zou moeten nooit installeer een beveiligingscertificaat van een onbekende bron. In de praktijk zou u een certificaat alleen lokaal moeten installeren als u het heeft gegenereerd. Geen enkele legitieme website vereist dat u deze stappen uitvoert.
Internet Explorer en Google Chrome - Het certificaat lokaal installeren
Opmerking: hoewel Firefox het oorspronkelijke Windows-certificaatarchief niet gebruikt, is dit toch een aanbevolen stap.
Kopieer het certificaat dat werd geëxporteerd van de server (het PFX-bestand) naar de clientcomputer of zorg ervoor dat het beschikbaar is in een netwerkpad.
Open het beheer van het lokale certificaatarchief op de clientcomputer met exact dezelfde stappen als hierboven. Je komt uiteindelijk op een scherm zoals hieronder.
Vouw aan de linkerkant Certificaten> Vertrouwde basiscertificeringsinstanties uit. Klik met de rechtermuisknop op de map Certificaten en selecteer Alle taken> Importeren.
Selecteer het certificaat dat lokaal naar uw machine is gekopieerd.
Voer het beveiligingswachtwoord in dat is toegewezen toen het certificaat werd geëxporteerd vanaf de server.
De winkel "Trusted Root Certification Authorities" moet vooraf worden ingevuld als de bestemming. Klik volgende.
Bekijk de instellingen en klik op Voltooien.
U zou een succesbericht moeten zien.
Vernieuw uw weergave van de map Trusted Root Certification Authorities> Certificates en u zou het zelfondertekende certificaat van de server in de winkel moeten zien.
Als u dit eenmaal hebt gedaan, zou u naar een HTTPS-site moeten kunnen bladeren die deze certificaten gebruikt en geen waarschuwingen of prompts ontvangt.
Firefox - Uitzonderingen toestaan
Firefox behandelt dit proces een beetje anders omdat het geen certificaatinformatie uit de Windows Store leest. In plaats van certificaten (per se) te installeren, kunt u uitzonderingen definiëren voor SSL-certificaten op bepaalde sites.
Wanneer u een site bezoekt met een certificaatfout, krijgt u een waarschuwing zoals hieronder. Het blauwe gebied zal de respectieve URL noemen die u probeert te openen. Om een uitzondering te maken om deze waarschuwing op de respectieve URL te omzeilen, klikt u op de knop Uitzondering toevoegen.
Klik in het dialoogvenster Beveiligingsuitzondering toevoegen op Beveiligingsuitzondering bevestigen om deze uitzondering lokaal te configureren.
Houd er rekening mee dat als een bepaalde site van binnenuit naar subdomeinen verwijst, u meerdere beveiligingswaarschuwingen kunt krijgen (waarbij de URL elke keer iets anders is). Voeg uitzonderingen toe voor die URL's met dezelfde stappen als hierboven.
Gevolgtrekking
Het is de moeite waard om de bovenstaande mededeling te herhalen die u zou moeten doen nooit installeer een beveiligingscertificaat van een onbekende bron. In de praktijk zou u een certificaat alleen lokaal moeten installeren als u het heeft gegenereerd. Geen enkele legitieme website vereist dat u deze stappen uitvoert.
Links
Download IIS 6.0 Resource Toolkit (inclusief SelfSSL-hulpprogramma) van Microsoft