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 kâbus 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ıldığında gerçekten zor bir durum olduğu görülmektedir. 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 PolicyComputer ConfigurationWindows SettingsSecurity SettingsLocal PoliciesSecurity 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 PolicyComputer ConfigurationWindows SettingsSecurity SettingsLocal PoliciesSecurity 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:WINDOWSSYSVOLsysvoldeneme.comPolicies{31B2F340-016D-11D2-945F-00C04FB984F9}MACHINEMicrosoftWindows NTSecEdit
Klasörü altında bulunan GptTmpl.inf dosyasını açıyorum.
Not: C:WINDOWSSYSVOLsysvoldeneme.comPolicies 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_MACHINESOFTWAREMicrosoftWindows NTCurrentVersiyonWinlogon 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_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpoliciessystem altında bulunan scforceoption değerini “0” (sıfır) olarak değiştiriyoruz.
Şekil–15: Son olarak C:WINDOWSSYSVOLsysvoldeneme.comPolicies{31B2F340-016D-11D2-945F-00C04FB984F9}MACHINEMicrosoftWindows NTSecEdit altında bulunan GptTmpl.inf dosyamıza dönüyoruz. [Registry Values] değeri altında bulunan MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogonScRemoveOption=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 “MACHINESoftwareMicrosoftWindowsCurrentVersionPoliciesSystemScforceOption=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: Ve 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 makineye 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. Makineye 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.