Güvenlik

SMART CARD UYGULAMALARI – I

Güvenliğin günümüzde bir “extra” olmaktan çıkıp zorunluluk haline gelmiş olması bizleri birçok uygulamayı kullanmada zorunlu hale getirmektedir. Bunlardan en önemlisi ise authentication uygulamalarıdır. Yıllar öncesinin windows NT’lerine, Novell Netware sunucularına oturum açıp logon olsaydık düşünürdük authentication’ın da uygulaması mı olur diye.. veya halen sorabiliriz insanların Smartcard diye tabir edilen kartları sadece banka ATM’lerine logon olurken kullandıkları birer hesap kartı veya kredi kartı olmaktan öteye gidebileceğini.

Fakat işletim sistemleri günümüzde bizlere bu imkanları sunmanın yanısıra, sınırlarımızı zorlayabileceğimiz uygulamalara ev sahipliği yapacak kadar cömert bulunuyorlar. Örnek olarak Windows 2000 ile gelen Certification Authority sayesinde sistemlerimizi birer erişim yönetim merkezi haline getirebilmekteyiz. Veya kurumumuza ait kişiselleştirilebilir sertifika yaratarak , daha önceden var olmayan bir sertifika modelini hazırlayıp sunarak çeşitliliği arttırabilmekteyiz.

Belirttiğimiz gibi, geleneksel login/logout ile sistemlere erişim günümüzde Multifactor Authentication ile zenginleştirilmiş olup SmartCard, Biometrik aygıtlar (retina okuyucu,voice,parmak izi okuyucu) veya donanımsal şifreleme cihazları ile en üst seviyede güvenliği sunmaktadırlar. Fakat bunlardan birçoğu halen uygulama zorluğu,maliyet vb.nedenlerle tercih edilme oranı düşük bulunmaktadır. SmartCardlar ise bizi bu geleneksellikten bir üst safhaya taşıyacak en yakın araçlardır.

1000000354_image001

Şekil 1: IBM ile ünlü Smartcard üreticisi Gemplus’ın müşterek ürettiği Smartcard Security Kit

Uygulama alanlarına gelecek olursak; uzaktan erişim (vpn örneği) , Terminal server erişimi, E-mail client erişimleri, software kod imzalama, web browser erişimleri ve domain logon şeklinde sıralayabiliriz.

Biz bu yazı dizimizde ilk etapta windows Server 2003 ailesinde smart card kullanımı için altyapıyı hazırlayacak ve domain logon olabilmemiz için gerekli smart card uygulamasını gerçekleştireceğiz, diğer makalede ise smart card’ın şirketimize uzak bir bölgeden erişim ihtiyacımız halinde bize PPTP VPN tüneli ile EAP protokolünü kullanarak sertifika tabanlı erişimi sağlayacağı uygulamayı ve son makalede ise Smart card’ın bir Exchange mail sunucuya bağlanıp mail alıp verirken authentication’ı nasıl sağladığına ilişkin bir uygulama yapacağız.

…………

SmartCard / Domain Logon

Bu uygulama için Domain yapımızda ihtiyacımız duyacağımız Certification Authority bulunmalıdır. Elbette bunu söylerken sıradan bir servis’in gelişigüzel yüklenip start edilmesinden bahsedemeyiz. Certification Authority, planlama yapılması gereken ve şirketin gelecekte ihtiyaç duyacağı tüm security uygulamalarına evsahipliği yapacağından dolayı iyi bir şekilde projelendirilmesi ve hizmete sunulması gereken bir servistir. Diğer ihtiyacımız ise elbette bir Smartcard security kit olacaktır. Bu yazı dizisini hazırlarken kullandığımız smartcard ise Gemplus’ın Gempctwin ürünüdür.

1000000354_image002

Şekil 2: Yeni nesil Usb arayüze sahip Cell-storage Smart Card ve Okuyucusu

Aşağıda kurulum tüm basamakları ile ele alınmaya çalışılmıştır, fakat sertifika yoluyla smartcard authentication yapabilmemiz için gereken hazır sertifikalar yerine kendi oluşturacağımız ve nitelikleri farklı olan sertifikalar da kullanılabilir, konunun çok uzun ve detaylı olmasından dolayı burada değinme imkanımız bulunmamaktadır. Yine diğer bir husus olarak, Certification Authority’nin kurulumunu makalemizde Enterprise Root olarak ele almış bulunmaktayız, fakat gerçek hayatta kullandığımız CA yapısının dizaynında çok ince ayarlar kullanmamız gerekecektir.(ör: Offline-root/policy CA/Issuing CA yöntemiyle)

Certification Authority’nin domain’imizde kurulması ile ilk başlangıcı yapıyoruz. CA’dan önce Internet Information Service’in yüklenmiş ve start edilmiş olduğuna emin olmalıyız. Çünkü sertifika dağıtımlarını Online yapabileceğimiz gibi web üzerinden de yapabilmek için bu gerekli.

1000000354_image003

Şekil 3:

CA’nın hangi tipte kurulacağını belirlememiz gerekiyor, yukarda bahsettiğimiz gibi bu örnek uygulamada Enterprise ROOT CA yapısını kullandık. Fakat sistemimizdeki güvenlik topolojisine göre diğer tipleri de kullanabiliriz.

1000000354_image004

Şekil 4:

Certificate Authority’mizin Active Directory yapısında yayınlanacağı ismi girmemiz gerekiyor, ardından CA sertifikasının geçerlilik süresini belirteceğiz. Bu süre default olarak 5 yıldır.

1000000354_image005

Şekil 5:

CA’nın kullanacağı veritabanının ve log dosyasının lokasyonu. İstersek farklı bir bölgeye de taşıyabiliriz. Burada şayet sunucumuzda array yapısı kullanıyorsak güvenli olan RAID arraylarine bu dizinleri yol olarak gösterebiliriz.

1000000354_image006

Şekil 6:

CA’nın tamamlanması için bizden IIS’in stop edilmesini sormaktadır, şayet yukarıda belirttiğimiz gibi IISin kurulumunu unuttuysak ve Domain’imizde CA’in kurulumu bu noktaya kadar geldiyse, artık daha sonradan IIS’i kurmamız halinde bile gerekli sanal dizinler oluşturulamayacaktır. ve elbette web desteğimiz de bulunmayacaktır.

Fakat manuel olarak vereceğimiz bir komut sayesinde unuttuğumuz IIS kurulumundan sonra sanal dizinleri yeniden getirebilmemiz mümkümdür.

1000000354_image007

Şekil 7:

Şekil 8’de IISin olmadığı bir sunucuya CA yapısını kurup, daha sonradan da IIS’i kurduktan sonraki Default Web site’ın durumunu görüyoruz. İçinde gerekli sanal dizinlerin olmadığını görürüz.

Bu noktada command console’da certutil –vroot komutunu kullanıp bu dizinlerin yaratılmasını sağlarız. Elbette normal şartlarda IIS hazır olan bir Server’a kurulan CA , bize hata vermeden IIS’i de konfigüre edecektir.

1000000354_image008

Şekil 8:

Şekil 9’da ise ilgili komutumuzu çalıştırdıktan sonra IIS’deki default web Site’ın durumunu görüyoruz. Olması gereken sanal dizinler yerini almıştır.

1000000354_image009

Şekil 9:

Şimdiki sırada ise , CA manager’ı çalıştırarak SmartCard uygulaması için gereken iki sertifikanın yayınlanması var. Bu sertifikalar ;

  • Smartcard Logon (veya Smartcard User)
  • Enrollment Agent

sertifikalarıdır.

Smartcard logon sertifikası ile kullanıcılarımıza vereceğimiz smartcard’ların içine public ve private key’leri (key pair) yükleyeceğiz ve bununla birlikte public key certificate’leri içerisinde barındıracaktır. Bu sertifikayı smartcard’ları hazırlayacağımız ve smartcard okuyucusunun bağlı bulunduğu Pc’ye almamız gerekecek.

Enrollment Agent sertifikası da smartcard’ları hazırlayacağımız PC’de bulunacak ve kullanıcıların smartcard’larına onlar adına yetkili bir kişi gibi davranıp CA’den sertifikalarını alıp kartlara yükleyecek kişinin sertifikası olacaktır.

Yukarıda anlatılan bu iki durum da aşağıdaki basamaklarda adım adım uygulanmaktadır.

Şekil 10’da CA manager’dan Certificate Templateleri seçtiğimizde sağdaki panelde yayınlanmakta olan sertifikaları görüyoruz ve default olarak yukarıda bahsedilen iki sertifika da bulunmamaktadır, biz bunları ISSUE ederek yayınlamış olacağız ve smartcard’ları hazırlayacak olan PC’ye bu sertifikaları yükleyeceğiz.

“New Certificate Template to Issue “ seçeneği ile sertifikamızı publish ediyoruz.

1000000354_image010

Şekil 10:

Enrollment Agent sertifikasını seçerek publish ediyoruz.

1000000354_image011

Şekil 11:

Yine “New Certificate Template to Issue “ seçeneği ile Smartcard logon sertifikasını seçerek publish ediyoruz. Burada smartcard user sertifikasını da kullanabiliriz, aralarındaki fark ise , smartcard user sertifikasında ilave olarak Secure mail gönderirken kullanılabilecek uygulama da mevcuttur.

1000000354_image012

Şekil 12:

Her iki sertifika da şu anda publish edilmiş durumda listede yerini almış bulunmaktadır.

1000000354_image013

Şekil 13:

Gerekli CA yapısının kurulumu ve sertifikaların yayınlanması tamamlandı. Şu andan itibaren Smartcard’ları hazırlayacak olan workstation’ın üzerindeki konfigürasyona değineceğiz.

Örneğimizde kullandığımız Gemplus Smartcard’ın driver’ını yükleyerek sisteme tanıtıyoruz.

1000000354_image014

Şekil 14:

Hemen ardından bu karta ait library dosyalarını yüklememiz gerekiyor. Burada belirtmek istediğim birşey var, piyasalarda smartcard okuyucuları nereden bulacağız sorusuna tek cevabı Gemplus vermektedir. Bir ekran kartı veya bir monitör gibi çeşitlilik arz eden bir çevre birimi olmaktan öte, dünyanın en büyük smartcard üreticisi Gemplus’ı kullanmak burada ciddi ve kurumsal uygulamalarda bizim başımızı ağrıtmayacaktır. (http://www.gemplus.com/) Türkiye pazarında bulunan diğer tek ürün ise Omnikey’in smart card ve okuyucusudur.

1000000354_image015

Şekil 15:

Library dosyaları kurulup restart ettikten sonra smartcard okuyucumuz kullanıma hazır hale gelmiştir. Gemplus’ın kendi sertifika yönetimi ve diagnose işlemleri için kullanımımıza sunduğu iki uygulama var, smartdiag ve Gemsafe Toolbox .

Smartdiag ile kart okuyucumuzu ve üzerine taktığımız smart card’ı kontrol ederek çalışır durumda olduğu bilgisini vermektedir.

1000000354_image016

Şekil 16:

Gemsafe toolbox ise kart üzerinde yüklü sertifikalar, kart özellikleri vb. enformatik bilgileri sunar ve aynı zamanda kart üzerindeki tüm administrative fonksiyonları yönetmemize olanak tanır.

1000000354_image017

Şekil 17:

Şekil 18’de microsoft CA ile yüklemiş olduğumuz user sertifikasının ardından Gemsafe Toolbox ile kartımızın durumunu inceleyebiliyoruz.

1000000354_image018

Şekil 18:

Donanımsal ayarlamalardan sonra, sıra geldi enrollment Station’a gerekli sertifikaları çekmeye.. burada iki yöntem kullanılabilir, online olarak Request yöntemi veya web üzerinden CA sunucumuza bağlanıp oradan isteğimizi gerçekleştirebiliriz. Bu uygulamada ilk yöntemi kullanacağız.

MMC’yi açarak ekleyeceğimiz snap-in (certificates) ile , veya komut satırında certmgr.msc komutuyla ilgili sertifika konsolunu açıyoruz,

1000000354_image019

Şekil 19:

Yeni bir sertifika talebinde bulunmak icin “Request new certificate” komutunu kullanıyoruz.

1000000354_image020

Şekil 20:

Yeni sertifika sihirbazı ile ilk olarak Enrollment Agent sertifikasını alacağız.

1000000354_image021

Şekil 21:

Burada görünen iki sertifika da (enrollment agent ve smartcard logon) CA’dan publish ettiğimiz için ilave edilen sertifikalardır.

1000000354_image022

Şekil 22:

Enrollment Agent sertifikasını seçerek devam ediyoruz. “Friendly name” sordugunda hatırlatıcı bir isim verebiliriz.

1000000354_image023

Şekil 23:

Başarılı bir şekilde yüklediğimiz ilk sertifikanın ardından sırada smartcard logon sertifikasının talebi var.

1000000354_image024

Şekil 24:

Yine aynı şekilde Smartcard Logon sertifikasını seçerek devam ediyoruz

1000000354_image025

Şekil 25:

Bu noktada şayet smartcard okuyucumuza kartımızı taktıysak bizden pin numarasını soracaktır. Belirtmek gerekir ki, smartcard’lar çift güvenlik seviyesi maksadıyla her türlü işlemde bize PIN numarası sormaktadır.

1000000354_image026

Şekil 26:

Evet, şu anda iki sertifikamız da hazır bulunmaktadır. Geriye kalan tek işlem ise , kullanıcılarımızın username’leri adına sertifikaları CA’dan almak ve smartcard’lara yüklemek olacaktır.

1000000354_image027

Şekil 27:

Burada baştan belirtmek gerekir ki , CA’a web üzerinden bağlanıldığında çalıştırılacak olan ActiveX scriplerine izin vermek ve aynı zamanda sorun çıkarmadan çalışmalarını sağlamak adına aşağıdaki işlemi yapmamız gerekiyor.

Enrollment Station’da şimdiki uygulanacak adım ise; http://sunucuadi/certsrv yazıp sertifika sunucumuza bağlanmak olacaktır. “ Request a Certificate “ seçerek devam ediyoruz ;

1000000354_image028

Şekil 28:

Burada “advanced certificate request” seçerek diğer kullanıcılarımız adına smartcard sertifikalarını almak üzere devam ediyoruz ;

1000000354_image029

Şekil 29:

En alttaki seçenek olan “ request a certificate for a smart card on behalf of….” diyerek devam ediyoruz. Bunun için ihtiyaç duyulan Enrollment Agent sertifikamız halihazırda makinada bulunduğundan dolayı herhangi bir sorun yaşamayacağız.

1000000354_image030

Şekil 30:

Şu anda ise gerekli enrollment bilgilerinin doğru bir şekilde görüntülenmesinden sonra, hangi kullanıcıya smart card sertifikası yükleyeceğimizi belirtip son aşamayı da tamamlamış olacağız. Doğru bir şekilde görüntülenmesi diyerek şunu kast etmekteyiz ki, ActiveX’in yüklenip çalıştırılması için gerekli yetkiyi vermediysek yahut smartcard logon veya enrollment agent sertifikalarından birisinin düzgün bir şekilde issue edilmediği durumlarda , enrollment bilgilerimiz görüntülenemeyecek ve devam etmemiz olanaksız hale gelecektir. Böyle bir sorun yaşayacak olursak, yukarda bahsedilen noktalara yeniden bir gözatmamız gerekecektir.

Şekil 31’de karşımıza çıkan ActiveX download’ına izin vererek install ediyoruz.

1000000354_image031

Şekil 31:

Şimdiki aşamada ise User to Enroll bölümünden “select user” ile devam ediyoruz. Bu arada kontrol edeceğimiz bir nokta , “certificate template” bölümünde hangi sertifikayı seçeceğimizi belirtiyor, biz burayı olduğu gibi bıraktık çünkü yükleyeceğimiz tek sertifika smartcard logon sertifikasıdır. Şayet farklı bir amaç için farklı bir sertifika var ise (ör smartcard user veya kendi dizayn ettiğimiz başka amaçlarla yaratılmış olan bir sertifika) işte bu durumda gerekli seçimi yapmamız gerekecektir.

1000000354_image032

Şekil 32:

Sertifikayı yükleyeceğimiz kullanıcıyı seçiyoruz ve kart okuyucumuza kullanıcımız için tahsis ettiğimiz kartı yerleştiriyoruz, geriye kalan tek aşama olarak “Enroll” komutu ile sertifikayı yazmak kalıyor.

1000000354_image033

Şekil 33:

Kullanacağımız smart card okuyucu cihaz sisteme doğru bir şekilde tanıtılmadıysa, “Enroll” aşamasında hata verecektir. Çünkü bu noktada smartcard okuyucu ile direkt iletişime geçilmektedir.

1000000354_image034

Şekil 34:

Daha önceden yapılan bir başka uygulamada kart üzerinde başka bir sertifika yüklü olduğundan dolayı bize mevcut olanı silip silmeyeceğimizi sormaktadır. Kartı temizleyerek sadece bu sertifikanın yüklü olmasını istiyorsak burada gerekli onayı veriyoruz.

1000000354_image035

Şekil 35:

Her zaman olduğu gibi şimdi de PIN kodunu teyid etmemiz gerekiyor ;

1000000354_image036

Şekil 36:

Başarılı bir enrollment sonucu aşağıdaki mesajı alıyoruz ,

1000000354_image037

Şekil 37:

ve istersek yüklediğimiz sertifikayı Smartcard’ımızdan okutarak görüntüleyebiliyoruz. Bu noktada , birden çok kullanıcıya smart card dağıtma durumuda “New user” ‘ı seçerek başka kullanıcılar için de aynı işlemi tekrarlıyoruz.

1000000354_image038

Şekil 38:

Test etmek amacıyla sisteme oturum açtığımızda , Multifactor Authentication sayesinde karşımıza çıkan Interactive logon ekranında CTRL+ALT+DEL yaptığımızda smart card’ımızın PIN konudu sorarak onaylamamızın ardından sisteme direk oturum açılıyor. Herhangi bir username/password girişi yerine kartımızdaki sertifikamız bizi sisteme dahil ediyor.

1000000354_image039

Şekil 39:

1000000354_image040

Şekil 40:

Şayet active Directory yapımızda tüm kullanıcılarımıza “mutlaka smart card ile oturum aç” ilkesini uygulamak istiyorsak domain Security Policy’den ;

  • Interactive Logon : Require Smartcard

kuralını aktif hale getiriyoruz. Ve bununla birlikte kullanıcılarımızın oturumlarını Lock etmek istediklerinde CTRL+ALT+DEL yerine smartcard’larını okuyucudan çıkartarak yanlarına alıp oturumlarını kilitlemek istediklerinde de ;

  • Interactive logon : SmartCard removal Behavior

kuralını aktif hale getirip ilgili seçimi yapıyoruz. Hatta group policy ile terminal server kullanıcılarının smartcard ile oturumlara katılıp bu kullanımı sağlamaları için gerekli policyler de mevcut.

1000000354_image041

Şekil 41:

Devam eden makalelerde ise Smartcard ile email uygulaması ve Radius bulunan bir ortamda VPN sunucuya PPTP-EAP ile Sertifikalı bağlanmanın Smart Card kullanarak nasıl yapıldığına ilişkin çalışmamız olacaktır.

Kaynak:

GemPlus

2823 Microsoft Official Curriculum

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu