PKI in the Enterprise
Voorbeeld van een implementatie van PKI in een middelgrote tot grote omgeving
In deze posting wil ik een soort best-practice configuratie beschrijven van een Microsoft Enterprise CA voor de volgende doelen:
Technisch gezien kunnen we ook gebruik maken van een Standard Edition van MS Windows Server 2003, maar de Enterprise Edition geeft ons net wat meer mogelijkheden als het gaat om Certificate Templates
Installatie
We zullen de Microsoft Certificate Services moeten installeren indien deze nog niet geinstalleerd staan. Tijdens de installatie kunnen we kiezen voor een 4tal verschillende opties:
Er is een mogelijkheid om te kiezen of je gebruik wilt maken van de geavanceerde opties. Kies voor de geavanceerde opties. Nu kun je kiezen welke Certificate Store je wilt gebruiken, maar vooral hoe groot je Root CA Sleutel moet worden. Standaard is dit 1024 bytes. Zet deze op 2048 of 4096. 4096 bytes maakt de sleutelset groter, en dus moeilijker te kraken. (Als hij al te kraken is
)
Geef een nette "Common Name" op voor de Root CA en definieer een geldigheidsperiode van ten minste 5 jaar.
De Certificate Services worden nu geinstalleerd.
Wanneer de installatie afgerond is, starten we de Certificate Authority Management Console via de Admninistrative Tools.
Security Groups
Omdat we niet zomaar iedereen de mogelijkheid willen geven om gebruik te maken van de verschillende certificaten, dienen we enkele Security Groepen te creeren in de Active Directory.
Ik laat een ieder de keuze over de naamgeving, maar voor hen die geen fantasie hebben
Automatisch uitrollen van Certificaten
Voordat we verder gaan, moeten we 1 belangrijke instelling zetten.
Klap de boomstructuur open en open het mapje "Certificate Templates".
Na een standaard installatie van de Microsoft Certificate Services staan er verschillende Certificate Templates gedefinieerd die gebruikt kunnen worden tijdens een aanvraag. Dit zijn echter de standaard Microsoft Templates, en die willen we juist niet hebben
Selecteer al deze templates, en verwijder deze door met de rechtermuisknop er op te klikken en de kiezen voor "Delete".
Nu hebben we de uitgangssituatie die we willen hebben.
Voor elk van de bovenstaande doelen gaan we een eigen template maken. Hiervoor moeten we de "Certificates Template" MMC plugin hebben welke te starten is via de rechtermuisknop in het - nu lege - vak van de
Certificate Templates, en te kiezen voor "Manage"
In de Certificate Templates Management Console staan alle beschikbare Templates die aangezet kunnen worden om uit te rollen.
In deze lijst staat een Template met de naam "Smartcard Logon". Deze Template gaan we gebruiken om ons eigen SmartCard Logon Template te bouwen. Let er op dat je niet gebruik maakt van de bestaande Template "SmartCard User" want deze willen we niet gebruiken. Deze bevat namelijk ook een optie voor "Secure E-Mail", en in dit voorbeeld wil ik dit uit elkaar houden.
Selecteer de Template en klik er op met de rechtermuisknop. Kies uit het context-menu de optie "Duplicate Template"
Selecteer de Template en klik er op met de rechtermuisknop. Kies uit het context-menu de optie "Duplicate Template"
Selecteer de "User" Template en klik er op met de rechtermuisknop. Kies uit het context-menu de optie "Duplicate Template"
Certificaten "enablen" voor uitgifte
Sluit het Certificate Templates Mangement Console, en breng de Certificate Authority Management Console naar voren. Klap - indien deze niet open staat - de map Certificate Templates open.
We hebben nu geen enkel Certificate Template in onze lijst staan.
Hier gaan we de door ons gemaakte Templates in plaatsen, door met de rechtermuisknop in het lege veld te klikken, en te kiezen voor: New -> Certificate Template to issue.
Kies uit de lijst de door ons gemaakte Templates (Je kan er meerdere selecteren door de Ctrl toets ingedrukt te houden) en klik op "OK"
N.B. Kom je nu tot de ontdekking dat je de door ons gemaakte Certificaten niet kan vinden, dan moet ik je telerustelen. Je hebt naar alle waarschijnlijkheid geen Windows Server 2003 Enterprise Edition. Je kan alleen de bestaande Templates selecteren. Dit werkt nog steeds, echter kan je wat lastiger een scheiding maken tussen de verschillende toepassingen..
Auto-Enroll aanzetten
We gaan nu ervoor zorgen dat voor de gebruikers uit de Security Group G_CERT_SECUREMAIL & G_CERT_EFS de certificaten automatisch uitgerold worden. Dit doen we met een Group Policy Object.
Let erop dat je dit niet meteen voor alle gebruikers aanzet, maar eerst een aantal testgebruikers. Hou de Security Group dus klein.
Maak een aparte GPO aan, waarin je op User Configuration >> Windows Settings >> Security Settings >> Publik Key Policies: Autoenrollment Settings de volgende settings definieerd:
Enroll Certificates Automatically
x Renew expired Certificates
x Update Certificates that use Certificate Templates
Wanneer de gebruiker deze settings toegapast krijgt zal er een 2 tal certificaten uitgerold worden.
Testen
Log aan op een werkstation en een gebruikers die de GPO die we eerder hebben gedefinieerd toegepast krijgen, waarvan het gebruikersaccount lid is van de groep G_CERT_SECUREMAIL en G_CERT_EFS.
Open een MMC console, en voeg de Snap-in "Certificates" toe. Selecteer de certificaten van het Gebruikersaccount, en klik op OK.
Klap de Certificate tree uit, en open de map "Personal"
Hierin zouden nu 2 certificaten moeten staan. De "Issued To" naam zou de Common Name van de gebruiker moeten zijn, en ze moeten allebei "Issued By" zijn door je eigen gedefinieerde Root CA.
Als het goed is gegaan, kan je deze 2 certificaten nu ook vinden in de Active Directory, in het tabblad "Published Certificates" (Je moet hiervoor wel de Advanced Features aangezet hebben in het Menu View )
In een volgende posting zal ik laten zien wat je met deze certificaten kan doen, en probeer ik de procedure van de SmartCard te voltooien. Maar dat is voor een andere keer.
Ideeën, kritiek etc zijn nog steeds welkom
En ohja, piccies volgen nog..
In deze posting wil ik een soort best-practice configuratie beschrijven van een Microsoft Enterprise CA voor de volgende doelen:
- Smartcard Logon
- Secure E-Mail
- EFS
Technisch gezien kunnen we ook gebruik maken van een Standard Edition van MS Windows Server 2003, maar de Enterprise Edition geeft ons net wat meer mogelijkheden als het gaat om Certificate Templates
Installatie
We zullen de Microsoft Certificate Services moeten installeren indien deze nog niet geinstalleerd staan. Tijdens de installatie kunnen we kiezen voor een 4tal verschillende opties:
- Stand Alone Root CA
- Stand Alone Sub-ordinate CA
- Enterprise Root CA
- Enterprise Sub-ordinate CA
Er is een mogelijkheid om te kiezen of je gebruik wilt maken van de geavanceerde opties. Kies voor de geavanceerde opties. Nu kun je kiezen welke Certificate Store je wilt gebruiken, maar vooral hoe groot je Root CA Sleutel moet worden. Standaard is dit 1024 bytes. Zet deze op 2048 of 4096. 4096 bytes maakt de sleutelset groter, en dus moeilijker te kraken. (Als hij al te kraken is
Geef een nette "Common Name" op voor de Root CA en definieer een geldigheidsperiode van ten minste 5 jaar.
De Certificate Services worden nu geinstalleerd.
Wanneer de installatie afgerond is, starten we de Certificate Authority Management Console via de Admninistrative Tools.
Security Groups
Omdat we niet zomaar iedereen de mogelijkheid willen geven om gebruik te maken van de verschillende certificaten, dienen we enkele Security Groepen te creeren in de Active Directory.
Ik laat een ieder de keuze over de naamgeving, maar voor hen die geen fantasie hebben
- G_CERT_SMARTCARD
- G_CERT_SECUREMAIL
- G_CERT_EFS
Automatisch uitrollen van Certificaten
Voordat we verder gaan, moeten we 1 belangrijke instelling zetten.
- Klik met de rechtermuisknop op de Naam van de Root CA in de Certificate Authority Management Console en klik op "Properties"
- Selecteer het tabblad "Policy Module"
- Klik op "Properties"
- Selecteer de onderste optie (Automatically issue the certificate)
- Klik 2 keer op "OK"
Klap de boomstructuur open en open het mapje "Certificate Templates".
Na een standaard installatie van de Microsoft Certificate Services staan er verschillende Certificate Templates gedefinieerd die gebruikt kunnen worden tijdens een aanvraag. Dit zijn echter de standaard Microsoft Templates, en die willen we juist niet hebben
Selecteer al deze templates, en verwijder deze door met de rechtermuisknop er op te klikken en de kiezen voor "Delete".
Nu hebben we de uitgangssituatie die we willen hebben.
Voor elk van de bovenstaande doelen gaan we een eigen template maken. Hiervoor moeten we de "Certificates Template" MMC plugin hebben welke te starten is via de rechtermuisknop in het - nu lege - vak van de
Certificate Templates, en te kiezen voor "Manage"
In de Certificate Templates Management Console staan alle beschikbare Templates die aangezet kunnen worden om uit te rollen.
In deze lijst staat een Template met de naam "Smartcard Logon". Deze Template gaan we gebruiken om ons eigen SmartCard Logon Template te bouwen. Let er op dat je niet gebruik maakt van de bestaande Template "SmartCard User" want deze willen we niet gebruiken. Deze bevat namelijk ook een optie voor "Secure E-Mail", en in dit voorbeeld wil ik dit uit elkaar houden.
Selecteer de Template en klik er op met de rechtermuisknop. Kies uit het context-menu de optie "Duplicate Template"
- Verander de Template Display Name Naar iets herkenbaars. Wederom, voor diegene zonder fantasie: "<BEDRIJFSNAAM> Smartcard Logon"
- Ga naar het Tabblad "Request Handling"
- Verander de Purpose naar "Signature & Smartcard Logon"
- Verander de minimum Key Size naar "2048"
- Ga naar het Tabblad "Security"
- Verwijder de group "Authenticated Users"
- Voeg de Security groep toe die we eerder gemaakt hebben. (G_CERT_SMARTCARD)
- Geef deze groep de rechten: Read, Enroll rechten.
- Klik op "OK"
Selecteer de Template en klik er op met de rechtermuisknop. Kies uit het context-menu de optie "Duplicate Template"
- Verander de Template Display Name Naar iets herkenbaars. Wederom, voor hen VB: "<BEDRIJFSNAAM> Secure E-Mail"
- Ga naar het Tabblad "Request Handling"
- Verander de minimum Key Size naar "2048"
- Ga naar het Tabblad "Subject Name"
- Verander het Subject Name Format naar "Common Name"
- Ga naar het Tabblad "Extensions"
- Selecteer "Application Policies"
- Klik op de knop "Edit"
- Verwijder alles behalve "Secure E-Mail"
- Ga naar het Tabblad "Security"
- Verwijder de group "Authenticated Users"
- Voeg de Security groep toe die we eerder gemaakt hebben. (G_CERT_SECUREMAIL)
- Geef deze groep de rechten: Read, Enroll, Auto-Enroll rechten.
- Klik op "OK"
Selecteer de "User" Template en klik er op met de rechtermuisknop. Kies uit het context-menu de optie "Duplicate Template"
- Verander de Template Display Name Naar iets herkenbaars. Wederom, voor diegene zonder fantasie: "<BEDRIJFSNAAM> EFS"
- Ga naar het Tabblad "Request Handling"
- Verander de minimum Key Size naar "2048"
- Ga naar het Tabblad "Subject Name"
- Verander het Subject Name Format naar "Common Name"
- Ga naar het Tabblad "Extensions"
- Selecteer "Application Policies"
- Klik op de knop "Edit"
- Verwijder alles behalve "Encrypted File System"
- Ga naar het Tabblad "Security"
- Verwijder de group "Authenticated Users"
- Voeg de Security groep toe die we eerder gemaakt hebben. (G_CERT_EFS)
- Geef deze groep de rechten: Read, Enroll, Auto-Enroll rechten.
- Klik op "OK"
Certificaten "enablen" voor uitgifte
Sluit het Certificate Templates Mangement Console, en breng de Certificate Authority Management Console naar voren. Klap - indien deze niet open staat - de map Certificate Templates open.
We hebben nu geen enkel Certificate Template in onze lijst staan.
Hier gaan we de door ons gemaakte Templates in plaatsen, door met de rechtermuisknop in het lege veld te klikken, en te kiezen voor: New -> Certificate Template to issue.
Kies uit de lijst de door ons gemaakte Templates (Je kan er meerdere selecteren door de Ctrl toets ingedrukt te houden) en klik op "OK"
N.B. Kom je nu tot de ontdekking dat je de door ons gemaakte Certificaten niet kan vinden, dan moet ik je telerustelen. Je hebt naar alle waarschijnlijkheid geen Windows Server 2003 Enterprise Edition. Je kan alleen de bestaande Templates selecteren. Dit werkt nog steeds, echter kan je wat lastiger een scheiding maken tussen de verschillende toepassingen..
Auto-Enroll aanzetten
We gaan nu ervoor zorgen dat voor de gebruikers uit de Security Group G_CERT_SECUREMAIL & G_CERT_EFS de certificaten automatisch uitgerold worden. Dit doen we met een Group Policy Object.
Let erop dat je dit niet meteen voor alle gebruikers aanzet, maar eerst een aantal testgebruikers. Hou de Security Group dus klein.
Maak een aparte GPO aan, waarin je op User Configuration >> Windows Settings >> Security Settings >> Publik Key Policies: Autoenrollment Settings de volgende settings definieerd:
Enroll Certificates Automatically
x Renew expired Certificates
x Update Certificates that use Certificate Templates
Wanneer de gebruiker deze settings toegapast krijgt zal er een 2 tal certificaten uitgerold worden.
Testen
Log aan op een werkstation en een gebruikers die de GPO die we eerder hebben gedefinieerd toegepast krijgen, waarvan het gebruikersaccount lid is van de groep G_CERT_SECUREMAIL en G_CERT_EFS.
Open een MMC console, en voeg de Snap-in "Certificates" toe. Selecteer de certificaten van het Gebruikersaccount, en klik op OK.
Klap de Certificate tree uit, en open de map "Personal"
Hierin zouden nu 2 certificaten moeten staan. De "Issued To" naam zou de Common Name van de gebruiker moeten zijn, en ze moeten allebei "Issued By" zijn door je eigen gedefinieerde Root CA.
Als het goed is gegaan, kan je deze 2 certificaten nu ook vinden in de Active Directory, in het tabblad "Published Certificates" (Je moet hiervoor wel de Advanced Features aangezet hebben in het Menu View )
In een volgende posting zal ik laten zien wat je met deze certificaten kan doen, en probeer ik de procedure van de SmartCard te voltooien. Maar dat is voor een andere keer.
Ideeën, kritiek etc zijn nog steeds welkom
|
|
Ik ben verslaafd |
|
|
PKI (Deel 2) |