Aktif Dizin Nesnelerine Ait Denetimler İçin Temel Kontroller – 2: Bilgisayar Hesapları

0
625
views
Etki alanı kurumlar için oldukça kritiktir, bu sebeple güvenliğinin korunması için bazı önlemlerin alınması gereklidir. Bir yazı dizisinin ikincisi olan bu yazıda, Aktif Dizin üzerindeki bilgisayar hesabı nesnelerinin güvenliği için gerekli kontrol maddeleri incelenecektir.

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

 

A) Bilgisayar Hesabı Yönetimi İle İlgili Temel Zorluklar

Kurumlarda bilgisayar hesaplarının yönetimi karmaşık bir konu olabilmektedir. Başlıca zorluklar aşağıdaki gibi sıralanabilir.

  • Bir bilgisayar oluşturulduğunda varsayılan olarak “Computers” adlı verilen konteynır altında oluşmaktadır. Bir konteynır içerisindeki nesnelere varsayılan grup ilkeleri uygulandığı için “Computers” altında bilgisayar hesabının bulunması kontrol eksiliğine sebep olmaktadır. Etki alanına yeni eklenen bilgisayar hesapları üzerindeki denetimleri arttırmak için ve etki alanına eklenen ancak henüz faal olmayan nesneleri daha iyi takip edebilmek için; bu hesapların sıkılaştırılmış bir OU altında oluşturulması tavsiye edilmektedir. Bu amaçla “redircmp” aracı da kullanılabilir. Bilgisayar hesabı ile işlem yapıldıktan ve grup ilkesi alındıktan sonra ilgili OU altına eklenmesi güvenliği arttırmaktadır.
  • Uzun süredir oturum açılmayan bilgisayar hesapları bulunabilmektedir.
  • Devre dışı unutulmuş bilgisayar hesapları bulunabilmektedir.
  • Personellere verilen istemci bilgisayarlar ortak olarak kullanılabilmektedir.
  • Domain Controller haricindeki bilgisayarlarda kritik kullanıcılar oturum açabilmektedir.
  • Yetki devri verilmiş bigisayar nesnelerinin saldırıya uğraması diğer sistemlerin de saldırıya uğramasına sebebiyet verebilir.

 

B) Bilgisayar Hesabı Yönetimi İle İlgili Denetim Maddeleri

Aktif Dizin içerisindeki bilgisayar hesaplarının güvenliği için denetlenebilecek temel kontrol maddeleri aşağıdaki gibi sıralanabilir.

 

B.1) Bilgisayar Hesabı Yönetimi

Tehdit: “Computers” konteynırında bulunan bilgisayar hesapları, etki alanında varsayılan olarak yetkilendirilmiş olur.

Öneri: Belirtilen kontrol maddesi için, temel öneriler aşağıdaki gibi sıralanabilir.

  • “Computers” konteynırında bulunan bilgisayar hesaplarının listelenmesi için gerekli Powershell sorguları aşağıdaki gibi gerçekleştirilebilir:

Get-ADUser -Filter * -SearchBase “OU=Users,DC=DomainName,DC=local” | Select-object DistinguishedName,Name,UserPrincipalName

Get-ADComputer -Filter * -SearchBase “OU=Computers,DC=DomainName,DC=local” | Select-object DistinguishedName,DNSHostName,Name

  • “redircmp” kullanımını doğrulayabilmek için gerekli Powershell sorguları aşağıdaki gibi gerçekleştirilebilir:

(((Get-ADObject -Identity (Get-ADRootDSE).defaultNamingContext -Properties wellKnownObjects).wellKnownObjects | ? {$_ -like “B:32:AA312825768811D1ADED00C04FD8D5CD:*”}) -split ‘:’)[3]

 

Tehdit: Bilgisayar hesaplarının belli standartlara göre yönetilmemesi operasyonel zorluklara sebep olur.

Öneri: Belirtilen kontrol maddesi için, temel öneriler aşağıdaki gibi sıralanabilir.

  • Kurum tarafından oluşturulmuş olan isimlendirme standardına göre bilgisayarlara isim verilmelidir.
  • Kurum politikası ile belirlenmiş tanımlamalar her bilgisayar hesabında bulunmalı, standart tanımları bulunmayan bilgisayarlar hesapları tespit edilmelidir.
  • Bilgisayar hesaplarından gereksiz (bilgi ifşasına sebep olabilecek) bilgiler silinmelidir.

 

B.2) Bilgisayar Hesaplarının Durumları

Tehdit: Kurum içerisinde uzun bir süre oturum açılmayan (etkin olmayan) bilgisayar hesapları kontrol eksikliğine sebep olur.

Öneri: Belirtilen kontrol maddesi için, temel öneriler aşağıdaki gibi sıralanabilir.

  • Uzun süredir (2 ay gibi) oturum açılmamış olan bilgisayar hesaplarının listelenmesi için gerekli Powershell ve batch sorguları aşağıdaki gibi gerçekleştirilebilir:

Get-ADComputer -Filter {LastLogonTimeStamp -lt (Get-Date).Adddays(-60)} -ResultPageSize 2000 -resultSetSize $null -Properties Name, OperatingSystem, SamAccountName, DistinguishedName

dsquery computer -inactive 8

Get-ADComputer -filter * -Properties * | where{$_.lastlogondate -lt (get-date).adddays(-60)} | Format-Table -property name, lastlogondate, whenCreated, DistinguishedName, OperatingSystem –AutoSize

 

Tehdit: Devre dışı olan (disabled) bilgisayar hesapları kontrol eksikliğine sebep olur.

Öneri: Belirtilen kontrol maddesi için, temel öneriler aşağıdaki gibi sıralanabilir.

  • Bu hesaplar üzerinde yapılan işlemler ve bu hesaplar ile yapılan işlemler izlenmelidir.
  • Devre dışı olan bilgisayar hesaplarının listelenmesi için gerekli Powershell sorguları aşağıdaki gibi gerçekleştirilebilir:

Get-ADComputer -Filter {(Enabled -eq $False)} -ResultPageSize 2000 -ResultSetSize $null -Properties Name, OperatingSystem

 

B.3) Bilgisayar Hesapları ve Yetkilendirmeler

Tehdit: Kurum içerisinde ortak olarak kullanılan (özellikle istemci) bilgisayar hesapları kontrol eksikliğine sebep olur.

Öneri: Belirtilen kontrol maddesi için, temel öneriler aşağıdaki gibi sıralanabilir.

  • Her kullanıcı için ayrı bilgisayar tahsis edilmelidir. İlgili bilgisayarda oturum açabilecek kullanıcılar sınırlandırılmalıdır. Bu amaçla “Domain Users” grubu, bilgisayarlardaki “Users” ve “Remote Desktop Users” gibi gruplarından kaldırılmalıdır.
  • Ortak kullanıma açık bilgisayarlarda, oturum yetkisi olan herkesin erişebildiği dizinlere (D: diski gibi) genele açık bilgi haricinde bir veri saklanmamalıdır.
  • Kritik hesaplar ile sadece belli bilfisayarlarda oturum açılabilmelidir. Production harici sunucular ve istemci bilgisayarlar başta olmak üzere, kritik hesaplar ile oturum açılmamalıdır.

 

Tehdit: Kritik bilgisayar hesaplarının yönetimi için gereksiz yetkilendirme yapılması bilgi güvenliği temel prensiplerine aykırıdır.

Öneri: Belirtilen kontrol maddesi için, temel öneriler aşağıdaki gibi sıralanabilir.

  • Kritik bilgisayar nesneleri için yetki devirleri incelenmelidir. Örneğin kritik bilgisayarların yerel yönetici üyelerine ekleme/çıkarma yetkisi verilen kişiler,… incelenmelidir.

 

Tehdit: Etki alanı üzerinde yetki devri için tüm ortamda güvenilir olarak tanımlanan bilgisayar hesaplarının güvenilir olarak yönetilmemesi durumunda bu hesabın TGT verisi iletilmez ve Unconstrained Delegation saldırısına maruz kalınabilir.

Öneri: Belirtilen kontrol maddesi için, temel öneriler aşağıdaki gibi sıralanabilir.

  • Tüm ortamda yetki devri için güvenilecek olarak tanımlanan bilgisayar hesaplarının listelenmesi için gerekli Powershell ve batch sorguları aşağıdaki gibi gerçekleştirilebilir:

Get-ADComputer -Filter {(TrustedForDelegation -eq $True) -and (PrimaryGroupID -eq 515)} -Properties * | FT -Property * | select Name, ServicePrincipalName, Description, DistinguishedName, msds_AllowedToDelegateTo

Get-ADComputer -Filter ‘useraccountcontrol -band 524288’ -Properties useraccountcontrol | FT Name

Get-ADComputer -Filter {(msDS-AllowedToDelegateTo -ne “{}”)} -Properties TrustedForDelegation,ServicePrincipalName,Description,msDS-AllowedToDelegateTo

Get-ADObject -filter { (UserAccountControl -BAND 0x0080000) -OR (msDS-AllowedToDelegateTo -like ‘*’) } -Properties Name, ObjectClass, PrimaryGroupID, UserAccountControl, ServicePrincipalName, msDS-AllowedToDelegateTo

  • Bu bilgisayarlar üzerinde yerel yönetici kullanıcısı yetkisine sahip kullanıcılar kısıtlanmalıdır.
  • Bu bilgisayarlar üzerinden internete erişilememeli ve internet üzerinden erişim sağlanmamalıdır.
  • Bu bilgisayarlar ortamdan izole olmalıdır.

 

Tehdit: Etki alanı üzerinde yetki devri için kısıtlı ortamda güvenilir olarak tanımlanan bilgisayar hesaplarının güvenilir olarak yönetilmemesi durumunda bu hesabın TGT verisi iletilmez ve Constrained Delegation saldırısına maruz kalınabilir.

Öneri: Belirtilen kontrol maddesi için, temel öneriler aşağıdaki gibi sıralanabilir.

  • Kısıtlı ortamda yetki devri için güvenilecek olarak tanımlanan bilgisayar hesaplarının listelenmesi için gerekli Powershell sorguları aşağıdaki gibi gerçekleştirilebilir:

Get-ADComputer -Filter {(TrustedtoAuthforDelegation -eq $True) -and (PrimaryGroupID -eq 515)} -Properties * | FT -Property * | select Name, ServicePrincipalName, Description, DistinguishedName, msds_AllowedToDelegateTo

Get-ADComputer -Filter ‘useraccountcontrol -band 16777216’ -Properties useraccountcontrol | FT Name

Get-ADComputer -Filter {(msDS-AllowedToDelegateTo -ne “{}”)} -Properties TrustedForDelegation,TrustedToAuthForDelegation,ServicePrincipalName,Description,msDS-AllowedToDelegateTo

Get-ADObject -filter { (UserAccountControl -BAND 0x0010000) -OR (msDS-AllowedToDelegateTo -like ‘*’) } -Properties Name, ObjectClass, PrimaryGroupID, UserAccountControl, ServicePrincipalName, msDS-AllowedToDelegateTo

  • Bu bilgisayarlar üzerinde yerel yönetici kullanıcısı yetkisine sahip kullanıcılar kısıtlanmalıdır.
  • Bu bilgisayarlar üzerinden internete erişilememeli ve internet üzerinden erişim sağlanmamalıdır.

 

Tehdit: DC rolündeki bilgisayarlar üzerinde ”GenericAll” (”ms-DS-Allowed-To-Act-On-Behalf-Of-OtherIdentity”) veya benzeri bir yetki verilmesi DC’yi ve tüm etki alanını riske atabilecek saldırılara (Resource Based Constrained Delegation) zemin hazırlayabilir.

Öneri: Belirtilen kontrol maddesi için, temel öneriler aşağıdaki gibi sıralanabilir.

  • DC üzerinde yetki devri için güvenilecek olarak tanımlanan bilgisayar hesaplarının listelenmesi için gerekli Powershell sorguları aşağıdaki gibi gerçekleştirilebilir:

Get-ADComputer DC1 -Properties * | Select-Object -ExpandProperty msDS-AllowedToActOnBehalfOfOtherIdentity |Format-List

 

 

B.4) Kimlik Güvenliği

Tehdit: Varsayılan olarak 30 günde bir değişen bilgisayar hesabı parolaları etki alanı ortamını riske atar.

Öneri: Belirtilen kontrol maddesi için, gerçekleştirilebilecek önlemler aşağıdaki gibi sıralanabilir.

  • Uzun süredir (en az 1 ay) parolası değişmeyen bilgisayar hesaplarının listelenmesi için gerekli Powershell sorguları aşağıdaki gibi gerçekleştirilebilir:

Get-ADComputer -Filter ‘PasswordLastSet -le (get-date).adddays(-31)’ -SearchBase “OU=ComputersContainer,DC=DomainName,DC=local” -properties PasswordLastSet

  • Bilgisayar parolasının süresini ayarlamak için gerekli ayarlar Kayıt Defteri ile aşağıda belirtildiği gibi gerçekleştirilebilir:
    • HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Netlogon \ Parameters
      • DisablePasswordChange (REG_DWORD) –> 0
      • MaximumPasswordAge (REG_DWORD) –> 30 (veya daha az)

 

Tehdit: Parolası olmayan bilgisayar hesapları etki alanı ortamını riske atar.

Öneri: Belirtilen kontrol maddesi için, gerçekleştirilebilecek önlemler aşağıdaki gibi sıralanabilir.

  • Parolası olmayan bilgisayar hesaplarının listelenmesi için gerekli Powershell sorguları aşağıdaki gibi gerçekleştirilebilir:

Get-ADComputer -Filter * -Properties PasswordNotRequired | Where-Object {$_.PasswordNotRequired -eq $true}

 

Tehdit: Bilet bilgisi güvenilir olarak saklanmayan hesaplar kontrol eksikliğine sebep olur.

Öneri: Belirtilen kontrol maddesi için, temel öneriler aşağıdaki gibi sıralanabilir.

  • (Bilgisayar hesaplarının parola bilgisi çok karmaşık olsa da) TGT verisi RC4 ile şifrelenmiş bilgisayar hesaplarının listelenmesi için gerekli Powershell sorguları aşağıdaki gibi gerçekleştirilebilir:

Get-ADComputer -Filter { KerberosEncryptionType -like ‘*RC4*’ } -Properties KerberosEncryptionType | Select-Object Name, OperatingSystem, KerberosEncryptionType

Get-ADComputer -Filter ‘msDS-SupportedEncryptionTypes -band 4’ -Properties Name, OperatingSystem, msDS-SupportedEncryptionTypes

 

B.5) Diğerleri

Tehdit: Kerberos ile kimlik doğrulamada AS-REP adımı zorunlu olmayan (“Do Not Require Kerberos Pre-authentication” olarak belirlenen) bilgisayar hesapları kimlik doğrulaması olmadan servis bileti alınmasına sebep olur.

Öneri: Belirtilen kontrol maddesi için, temel öneriler aşağıdaki gibi sıralanabilir.

  • DoesNotRequirePreAuth ayarı etkin (Kerberos PreAuthentication devre dışı) olan bilgisayar hesaplarının listelenmesi için gerekli Powershell sorguları aşağıdaki gibi gerçekleştirilebilir:

Get-ADComputer -filter * -properties DoesNotRequirePreAuth | Where-Object {$_.DoesNotRequirePreAuth -eq $true}

 

Tehdit: Parola bilgisi güvenilir olarak saklanmayan bilgisayarlar için açık metin parola elde edilebilir.

Öneri: Belirtilen kontrol maddesi için, temel öneriler aşağıdaki gibi sıralanabilir.

  • Parolası tersine çevrilebilir şekilde ayarlanan (ENCRYPTED_TEXT_PWD_ALLOWED) bilgisayar hesaplarının listelenmesi için gerekli Powershell sorguları aşağıdaki gibi gerçekleştirilebilir:

Get-ADObject -ldapfilter “(userAccountControl:1.2.840.113556.1.4.803:=128)” | Where-Object {$_.ObjectClass -eq “computer”}

 

 

Sonuç

Kurum etki alanının (ve dolayısıyla kurumun) güvenliği için sunucu ve istemci sıkılaştırmalarına [1-6] ek olarak, saldırı yüzeyini daraltmak için belli aralıklarla risk analizleri ve kontroller gerçekleştirilmelidir. Bu yazıda Aktif Dizin sıkılaştırması için gerekli olan temel kontrol maddeleri üzerinde durulmuştur. Bu yazıda bahsi geçen kontrol maddeleri kurum tarafından belli periyotlarla gözden geçirilmesi, ek kontrol maddeleri ile desteklenmesi, otomatikleştirilmesi için betikler (Powershell gibi bir betik dili kullanılarak) hazırlanması veya otomatik olarak bu işlemleri gerçekleştirebilen araçlarla denetimlerin gerçekleştirilmesi, denetim raporu sonucuna göre gerekli iyileştirmelerin kurum politikasına uygun olarak gerçekleştirilmesi, gerçekleştirilen işlemlerin dokümante edilmesi tavsiye edilmektedir.

 

Kaynaklar:

[0] https://www.siberportal.org/red-team/microsoft-domain-environment-penetration-tests/kurumsal-aglarda-etki-alani-sizma-testi-metodolojisi/
[1] https://www.siberportal.org/blue-team/securing-windows-operating-system/windows-isletim-sistemi-sikilastirmalarina-yonelik-temel-kontrol-maddeleri-1/
[2] https://www.siberportal.org/blue-team/securing-windows-operating-system/windows-isletim-sistemi-sikilastirmalarina-yonelik-temel-kontrol-maddeleri-2/
[3] https://www.siberportal.org/blue-team/securing-windows-operating-system/windows-isletim-sistemi-sikilastirmalarina-yonelik-temel-kontrol-maddeleri-3/
[4] https://www.siberportal.org/blue-team/securing-windows-operating-system/windows-isletim-sistemi-sikilastirmalarina-yonelik-temel-kontrol-maddeleri-4/
[5] https://www.siberportal.org/blue-team/securing-windows-operating-system/windows-isletim-sistemi-sikilastirmalarina-yonelik-temel-kontrol-maddeleri-5/
[6] https://www.siberportal.org/blue-team/securing-windows-operating-system/windows-isletim-sistemi-sikilastirmalarina-yonelik-temel-kontrol-maddeleri-6/

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.