Smarta kort med windows server 2008 och windows 7

Jag skriver mest om webbrelaterad säkerhet på denna blogg, men nyligen satt jag och labbade med att försöka logga in på windows med smarta kort. Jag tyckte det var onödigt komplicerat, så för andra som vill prova detta vill jag dela med mig av hur jag gjorde för att komma igång.

Innan man kan börja behöver man en del hårdvara. Jag valde att köpa kort och kortläsare från gemalto och då deras gemalto .net-kort. De går att köpa exempelvis från smartjac.

När jag kopplade in kortläsaren i min windows 7-maskin så hittade den drivrutiner direkt. Men den hittade inga drivrutiner till kortet. För att hitta rätt drivrutiner lät jag bara kortet sitta i, gå till windows update och där tipsade den om drivrutiner till mitt kort. När klienten nu är klar är det dags att ge sig på servern.

Inställningar för smartcardusers-gruppenFör att få lite struktur så skapar jag först en grupp (SmartCardUsers) i active directory som skall kunna logga in med smart card. Det gör att det är väldigt enkelt att bara stoppa in nya användare efterhand.

För att få smarta kort att fungera måste man ha en tjänst som kan utfärda certifikat. I windows server 2008 heter den rollen active directory certificate services (ADCS) och det är alltså den du måste installera.

Man styr hur smarta kort skall hanteras genom GPO (adminstrative tools -> group policy management). De ändringar man behöver göra för att komma igång är att först och främst konfigurera så att GPOn endast appliceras på den nyskapade gruppen SmartCardUsers. Det gör man genom Security Filtering och lägga dit gruppen och ta bort de andra.

GPO-inställningar för smartcardusers

Jag vill att alla användare som finns i gruppen automatiskt skall få sitt certifikat efter att de loggar in. En guide startar som kopierar certifikatet till kortet. För att aktivera det gick jag in i Group Policy Management och inställningen User configuration -> Policies -> Windows settings -> Security settings -> Public key policies -> certificate services client – auto-enrollment. Jag aktiverar den och kryssar i ”renew expired certificates” och ”update certificates”.
Certificate services client - auto-enrollment properties

För att administrera ADCS som vi installerade tidigare använder man administrative tools -> certification authority. Där väljer jag att högerklicka på certificate templates och manage. Letar upp smartcard user och tar duplicate. Jag visar skärmdumpar på de ändringar jag har gjort, i övrigt är det standard. Observera att dessa inställningar gäller för gemalto.net, om du har ett annat kort kan du behöva göra vissa ändringar.

CryptographyIssuance requirementsSubject nameRequest handlingGeneral smard card settings

SecurityDen sista inställningen vi behöver göra på mallen är att bestämma vilka användare/grupper som skall kunna göra vad. I mitt exempel har jag konfigurerat gruppen gruppen SmartCardUsers att de får läsa mallen, samt använda den för enroll och autoenroll. Vilket då betyder att det kan rullas ut automatiskt till klienten.

Nu återstår det bara att aktivera mallen genom att högerklicka på certificate templates -> new -> certificate template to issue och sedan välja den nya mallen.

Certificate template to issue

Du kan nu välja att uppdatera GPO-inställningarna hos klienten genom att köra ”gpupdate /force” på klienten. Vid nästa inloggning bör en wizard starta som skriver certifikatet till kortet. Om den inte startar kan du prova att starta om certificate authority-tjänsten.

När allt nu är igång och fungerar så finns det mängder av inställningar att göra, exempelvis att användarna endast skall kunna logga in med smarta kort och inte via exempelvis lösenord. Det kan också vara bra att ställa in så att användarna blir utloggade om de plockar ut sitt smarta kort ur kortläsaren.

Om du vill gå in lite mer på djupet och kanske implementera smarta kort på allvar kan jag tipsa om ett bra dokument från microsoft.

3 kommentarer

  1. Johan said

    Hej,

    Bra artikel. Satt just och tänkte försöka sätta mig in i EXAKT det du beskriver här. Funderar även på att försöka få till det med DirectAccess m.m.

    En fundering bara. Jag lever kanske kvar i en gammal era från satellit-piratkort där man behövde en speciell ”kort programmerare” för att bränna korten. En sådan kortskrivare är alltså inte nödvändig i detta fall? det räcker med en vanlig ”läsare” från Gemalto?

    Vilken läsare körde du på?

    Tack på förhand.

    • patrik said

      Hej, ja det räcker med en kortläsare.

      För att sätta pinkod / admin key och likande på kortet finns lite olika verktyg.
      Bland annat:
      https://www.netsolutions.gemalto.com/utilities.aspx
      http://www.versasec.com/cms.keytool.web.advanced.html

      Jag köpte tre olika kortläsare från gemalto. Dels deras vanliga standardläsare i två utföranden, en något enklare och en lite mer robust. Utöver det köpte jag en kortläsare som är ett usb-minne som man sätter i ett smart-card i. Det fungerar då på samma sätt som ett simkort för mobiltelefoner, där chip:et är utsansat och därför går att plocka bort från det större kortet. Då får man ett usb-minne plus ett smart-card.

      • Johan said

        Okej, Låter ju sketbra.

        Jag förmodar att alla kortläsare du köpte fungerade bra, bara det att de va i olika utföranden?

        Jag slår nog till på ett par smart cards plus en enkel typ av läsare för mina expriment.

        Bockar och bugar för hjälpen.

RSS feed for comments on this post

Kommentarer inaktiverade.

%d bloggare gillar detta: