Windows Server 2003 üzerinde Smart Card logon sorunu

Smart card kimlik doğrulama ve/veya oturum açma işlemlerinde güvenlik arttırmak için kullanılan bir teknolojidir. Ancak bu teknolojinin bize sağladığı konfor ve güven beklenmedik hatalarda karşımıza bir kabus olarak da çıkabiliyor. Örnek vermek gerekirse smart card ile korunan bir domain controller veya domain üyesi herhangi bir server üzerinde oturum açmak için kullandığınız smart card kayıp veya kırıldı ve acil olarak oturum açmanız gerekiyor. Sistem üzerinde mevcut smart card logon ile ilgili policy yi değiştirmeye yetkili bir başka hesap da yok. Mevcut senaryoya bakınca gerçekten zor bir durum. Bunun gibi veya benzer senaryoları çeşitlendirebiliriz.

Ben yazımda domain controller üzerinden smart card policy’ lerini değiştirerek smart card kullanmadan tekrar domain controller üzerinde nasıl oturum açabileceğimizi anlatmaya çalışacağım.

Default Domain Policy’ yi editlemek için Active Directory Users and Computer penceresini açıyorum.

Şekil-1: Uygulamak istediğim policy’ den tüm domain’ in etkilenmesini istiyorum. Domain adına sağ tıklayarak özellikler’ i tıklıyorum.

Şekil-2: Açılan pencereden Group Policy sekmesine gelip “edit” e tıklıyorum.

Şekil-3: Group Policy Object Editor penceresinde ilk önce Default Domain Policy\Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options altında bulunan “Interactive logon:Require smart card” a çift tıklıyorum.

Şekil-4: Açılan pencerede “Define this policy setting” i işaretleyip “enabled” i seçiyorum ve “OK” ile seçimi onaylıyorum.

Şekil-5: Daha sonra Group Policy Object Editor penceresinde yine Default Domain Policy\Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options altında bulunan “Interactive logon: Smart card removal behaviour” a çift tıklıyorum.

Şekil-6: Açılan pencerede “Define this policy setting” i işaretleyip “Lock Workstation” ı seçiyorum “OK” ile seçimi onaylıyorum.

Şekil-7: Group Policy sekmesini kapatmadan önce “Properties” i tıklıyorum.

Şekil-8: Uygulamaya çalıştığım policy’ nin “Unique name” i not alıyorum. {31B2F340-016D-11D2-945F-00C04FB984F9}

Şekil-9: Üzerinde çalıştığım Domain Controller’ ın policy’ yi alması için “gpupdate /force” komutunu çalıştırıyorum. Böylece policy ile belirlediğimiz değişikliklerin registry’ ye yazılmasını sağlıyorum.

Şekil-10: Domain controller üzerinde logoff olup tekrar logon olmaya çalıştığımda şekildeki beklediğim hatayı alıyorum.

Şekil-11: ERD Commander CD’ sini takıp domain conrtoller’ ı CD’ den boot ediyorum. C:\WINDOWS\SYSVOL\sysvol\deneme.com\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdit Klasörü altında bulunan GptTmpl.inf dosyasını açıyorum. Not: C:\WINDOWS\SYSVOL\sysvol\deneme.com\Policies\ altında bulunan {31B2F340-016D-11D2-945F-00C04FB984F9} klasörü aynı zamanda benim değiştirdiğim policy’ nin “Unique name” i.

Şekil-12: Daha sonra ERD Commander’ ın run satırına “erdregedit” yazarak registry editorü açıyorum.

Şekil-13: Öncelikli olarak domain altında bulunan tek makina olan domain controller’ ın registry’ sine policy ile yazılan değerleri kaldırmakla işe başlıyorum HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersiyon\Winlogon altında bulunan scremoveoption değerini siliyorum. Bu “Interactive logon: Smart card removal behaviour” policy ayarının registry’ ye yazdığı değer.

Şekil-14: Daha sonra “Interactive logon:Require smart card” policy ile registry’ ye yazdığımız değer olan HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system altında bulunan scforceoption değerini “0” (sıfır) olarak değiştiriyoruz.

Şekil-15: Son olarak C:\WINDOWS\SYSVOL\sysvol\deneme.com\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Microsoft\Windows NT\SecEdit altında bulunan GptTmpl.inf dosyamıza dönüyoruz. [Registry Values] değeri altında bulunan MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ScRemoveOption=1,”1″ satırını siliyoruz.

Şekil-16: Ve dosya içeriği bu şekli alıyor.

Şekil-17: Yine GptTmpl.inf dosyası içinde [Registry Values] altında bulunan “MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ScforceOption=4,1” satırının sonunda bulunan 1 değerini 0 (sıfır) ile değiştiriyoruz ve dosyamız son halini alıyor. Dosyamızı kaydedip çıkıyoruz. Bu dosya içerğini değiştirerek registry üzerinde smart card ile ilgili yaptığımız değişikliklerin policy nin tekrar uygulanarak registry değerlerinde smart card logon’ un enable olmaması için yapıyoruz.

Şekil-18: ERD Commander’ ın Start>Log off adımlarını izliyoruz.

Şekil-19: Açılan pencerede Restart’ ı seçiyoruz ve restart ile birlikte ERD CD’ sini CD-ROM ‘ dan çıkartıyoruz.

Şekil-20: Karşımıza Windows Server 2003 logon ekranı geliyor. Domain controller üzerinde ilk logoff olduğumuzda smart card hatası vermişti. Şifremizi yazıp devam ediyoruz.

Şekil-21: Karşılama olarak “Shutdown Event Tracker” ı görüyoruz. Logon ekranında kalmıştık ve server’ düzgün kapatmamıştık.

Şekil-22: Vee sonunda oturumumuz açılıyor.,

Şekil-23: Masaüstü karşımızda.

Yaptığımız işlemleri 2 ana bölümde toplayabiliriz.

İlk bölüm olarak policy uygulanan makinanın local ayarlarına yani registry ye dışarıdan müdahale ederek policy ile yapılan değişiklikleri geri almak.

İkinci bölüm olarak ise makinaya uygulanan policy’ de sadece smart card ile ilgili olan bölümü değiştirerek registry’ de yaptığımız değişikliklerin kalıcı olmasını sağlamak. Makinaya uygulanan tüm policy’ yi tamamen sıfırlamak yerine bize logon’ da sorun çıkaran smart card bölümünü değiştirmiş olduk.

One thought on “Windows Server 2003 üzerinde Smart Card logon sorunu

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.