Active Directory Tier Modeling Nedir?

Alper Ceviz
6 min readJul 26, 2022

--

Resim kaynağı: https://www.mshowto.org/windows-server-2019-active-directory-domain-services-kurulumu.html

Çoğu zaman Active Directory’de oluşturmuş olduğumuz hesaplarda yanlış kullanımlar meydana gelebiliyor. Bu sebeple problemler ortaya çıkıyor. Bu problemleri önlemek için ise çözüm: Tier Modeling.

Tier Modeling’de T0, T1 ve T2 olmak üzere üç farklı hesap kullanılır. Her hesap türü makineler üzerinde sadece sınırlı yetkilere sahiptir. Tabi, bu aynı zamanda her hesap kendi makinesi üzerinde sorumludur demektir. Örneğin T1 hesabı T2 hesabının yetkilerine erişemez, makinesini kullanamaz. Default olarak Active Directory’de Domain Admin kullanıcıları tüm sistemlerde kullanılır. Ancak, kötü niyetli kişiler tarafından Domain Admin kullanıcılarının hesapları ele geçirildiği zaman her şeyi kaybettiniz demektir. Bu yüzden artık hayatımıza TIER MODELING var.

Tier modeling’in mantığına göz atacak olursak;

T0 Hesapları: Sadece Domain Controller sunucusuna bağlanmak için kullandığımız hesaptır.

T1 Hesapları: Sunuculara bağlanırken kullanırız.

T2 Hesapları: Clientları kullanan kullanıcı hesapları yer alır.

Yani, T0 hesabı ile sunucu ve clientlara erişimimiz yoktur. T1 hesabı ile client ve domain controller sunucusuna erişemeyiz. T2 hesabı ile de sunuculara ve domain controller sunucularına erişmemiz mümkün değildir.

Yetkileri olabildiğince kısıtladık ve her kullanıcıyı kendi alanına hapsetmiş olduk. Böylelikle bir bilgisayarda kötü amaçlı yazılımlar ile hesabımız ele geçirilse dahi domain controller sunucusuna erişim yoktur. Aynı zamanda yetki yükseltme saldırısına karşı da önlemimizi büyük oranda almış olduk.

Şimdi Tier Modeling ile ilgili OU yapısını oluşturarak kullanıcı ve grupları oluşturalım ve Tier Modeling mantığını uygulamada kavramaya çalışalım.

Active Directory Tier Modeling Organizational Unit Yapısı, Kullanıcı ve Grupların Oluşturulması

Öncelikli yapmamız gereken OU yapısını oluşturmak. Servers, PC’s, Tier Modeling ve bunun altında T0, T1 ve T2 şeklinde. Daha sonrasında Tier altında bulunan OU’lara da birer hesap ve grup oluşturacağız. OU oluşturmak için Active Directory Users and Computers’I açtıktan sonra domainimiz üzerinde sağ click > New > Organizational Unit adımlarını takip etmemiz gerekir. Oluşturduğumuz OU’ların görüntüsü aşağıdaki gibidir.

Şimdi sıra T0, T1 ve T2 için bir kullanıcı ve grup oluşturmada. T0, T1 ve T2 için oluşturulan kullanıcılar aşağıdaki şekilde olmalıdır.

T0’da yer alan kullanıcı hesabı, Domain controller’a erişim yetkisine sahip olacağı için aynı zamanda Domain Admins grubunda yer almalıdır. Tabii ki T0AccountGroup security group’a da var olan kullanıcı eklenmelidir.

Tier Modeling’I OU olarak uyguladığımıza göre artık Group Policy uygulama işlemine geçebiliriz.

Tier Modeling Yapısındaki Kullanıcılara Group Policy Uygulama

Bu başlık altında T0, T1 ve T2 seviyesindeki kullanıcılara Group Policy kuralları yazarak sahip olacağı yetkileri belirleyeceğiz.

Öncelikle Server Manager’dan Tools > Group Policy Management adımlarını takip ediyoruz. Ardından T2 seviyesindeki kullanıcı için policy oluşturmaya başlıyoruz. T2 seviyesindeki kullanıcımız sadece program kurma, güncelleme gibi son kullanıcı desteği vereceği için daha önceden oluşturmuş olduğumuz PC’s OU’su altında sağ click > “Create a new GPO, link it here” seçeneğini tıklayarak Workstation Admin adında GPO oluşturuyoruz. Ardından oluşturduğumuz GPO üzerinde sağ click > Edit diyerek GPO Management Editor ekranına geliyoruz. Daha sonra Computer Configuration > Preferences > Control Panel Settings > Local Users and Groups adımlarını takip ederek Local Users and Groups kısmına geliyoruz.

Bu ekran üzerinde sağ click > New > Local Group diyoruz.

Gelen ekran üzerinde Action kısmı Update olarak kalacaktır. Group Name kısmına sağ taraftaki üç nokta (…) simgesine tıklayarak açılan pencerede Administrators (built-in) seçeneğini seçiyoruz. Ardından members kısmına gelerek Add’I seçip T2AccountGroup’u Add olarak, Domain Admins ve T1AccountGroup’u da Remove şeklinde seçip OK diyoruz. Burada yaptığımız işlemden bahsetmek gerekirse, oluşturmuş olduğumuz GPO T2 seviyesindeki kullanıcıya ait olduğundan T2 seviyesindeki kullanıcının bağlı olduğu T2AccountGroup security group’unun bu policyden etkilenmesini, Domain Admins ve T1AccountGroup security grubuna bağlı olan kullanıcıların ise etkilenmemesini istiyoruz. Bu sebeple bu seçimi gerçekleştirdik. Ardından Apply > OK diyerek T2 kullanıcısını local group’a eklemiş oluyoruz. Ancak yapacağımız işlem bitmedi. Yazdığımız GPO üzerinde T2 kullanıcının login olmasını ve son kullanıcı desteği verebilmesini, diğer kullanıcıların ise hiçbir şekilde clientlara login olamamasını, bir işlem gerçekleştirememesini istiyoruz. Bunun için yine aynı ekran üzerindeyiz. Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > User Rights Assignment adımlarını takip ediyoruz.

Burada sadece Allow log on locally ve Allow log on through Remote Desktop Services policylerini Administrators ve T2AccountGroup yönetsin şeklinde ayarlıyoruz. Deny log on as a batch job, Deny log on as a service, deny log on locally ve deny log on through Remote Desktop Services policylerini Domain Admins, T0AccountGroup ve T1AccountGroup için yapılandırıp çıkıyoruz. Workstation Admin için policyler yukarıdaki görsel gibi olmalıdır. Daha sonra bu ekranı kapatıp tekrar Group Policy Management ekranına geri dönüyoruz.

Bu sefer T1 seviyesindeki kullanıcılar için policy yazacağız. T1 seviyesindeki kullanıcıların sadece server yönetimini yapacağını belirtmiştik ve Servers adında OU oluşturmuştuk. Servers OU’sunun üzerine gelerek sağ click Create a new GPO, link it here seçeneğini seçiyoruz. Policy name’e Server Admins yazarak OK diyip policymizi oluşturuyoruz. Policy üzerinde sağ click > Edit diyerek GPO Management Editor ekranını seçiyoruz. Daha sonrasında yukarıda belirttiğim gibi aynı şekilde adımları takip ederek Local Users and Groups kısmına geliyoruz. Sağ click > New > Local Group diyerek aşağıdaki gibi yapılandırmalarımızı gerçekleştiriyoruz.

Buradaki yapılandırmamızda T1AccountGroup’u Add diyerek local group’a ekledik, Domain Admins ve T2AccountGroup’u Remove diyerek local group’a dahil etmemesini söyledik. Apply > OK diyerek bu işlemi tamamlıyoruz.

Sonrasında Server Admins GPO’su üzerinde yetkilendirme ayarlarını yapmak için Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > User Rights Assignment adımlarını takip ettikten sonra gerekli yapılandırmaları aşağıdaki gibi gerçekleştiriyoruz.

Group Policy Management Editor ekranını kapatıp Group Policy Management ekranına geri dönüş yapıyoruz.

Şimdi sırada son olarak T0 seviyesindeki kullanıcılar için policy oluşturmaya geldi. Bunun için Domain Controllers üzerinde DCEntryDeny adında policy oluşturup Edit diyerek Group Policy Management Editor ekranına eriştikten sonra Domain Controller’I yönetecek kullanıcılarımız için gerekli policy ayarlarını aşağıdaki görselde olduğu gibi düzenliyoruz ve kaydediyoruz.

Group Policy oluşturma işlemlerimizi tamamladık. Sonrasında cmd üzerine gpupdate /force komutunu çalıştırarak oluşturduğumuz GPO’ların hemen geçerli olmasını istedik. Şimdi bakalım T1 seviyesindeki kullanıcımız ile DC’mize login olabiliyor muyuz?

Login olmayı denedik ancak yukarıdaki görselde görüldüğü üzere T1 seviyesindeki kullanıcımızla DC makinemize login olmayı başaramadık. Demek ki policylerimiz doğru bir şekilde çalışıyor :)

Peki, DC makinemizin yetkili kullancısıyla VeeamServer’ımıza login olabilecek miyiz bir de onu deneyelim.

Görüldüğü gibi VeeamServer makinemdeyim. DC makinemin yetkilisi Administrator olduğu için admin olarak giriş yapmak istediğimde yine giriş yapamadığımı görmüş oldum. Bu durum T2 seviyesindeki kullanıcının VeeamServer ve DC makinesine erişememesi anlamına da gelir. Her kullanıcı kendi alanında çalışacak ve bilgisayarların kontrolünü sağlayacaktır.

Siber saldırıların ciddi anlamda arttığı bu dönemde Tier Modeling yapısını Active Directory üzerinde entegre etmek siber saldırılardan önemli ölçüde korunmamızı sağlayacaktır. Bir sonraki makalede görüşmek dileğiyle…

--

--

Alper Ceviz

I graduated from Metallurgical and Material Engineer. I’m interested in web development, system and networking.