Microsoft, Windows işletim sistemi için düzenli olarak güvenlik güncellemeleri ve iyileştirmeleri yayınlamaktadır. KB5020276 güncellemesi, netjoin işlemi sırasında yapılan bazı güvenlik geliştirmelerini içermektedir.
Bu makalede, KB5020276 güncellemesi hakkında daha fazla bilgi verecek ve yapılan domain join güvenlik değişiklikleri açılayacağız.
KB5020276 güncellemesi, Windows işletim sistemi için netjoin işlemi sırasında yapılan güvenlik geliştirmelerini içerir. Netjoin, bir bilgisayarın bir etki alanına katılma işlemidir ve kullanıcıların ağ kaynaklarına erişim sağlamasını ve etki alanı politikalarına tabi olmasını sağlar.
Bu güncelleme, domain join işlemi sırasında daha sıkı güvenlik önlemlerinin uygulanmasını sağlar. Bu, bilgisayarların güvende kalmasını ve yetkisiz erişimlerden korunmasını sağlamak için tasarlanmıştır. KB5020276 güncellemesiyle birlikte aşağıdaki domain join güvenlik değişiklikleri yapılır:
Güçlü parola gerekliliği: KB5020276 güncellemesi, domain join işlemi sırasında kullanılan parolalar için daha güçlü karma algoritmalarının kullanılmasını sağlar. Bu, parolaların daha güvenli hale gelmesini ve saldırılara karşı daha dirençli olmasını sağlar.
Güncellenmiş güvenlik politikaları: Güncelleme, domain join işlemi için daha sıkı güvenlik politikalarının uygulanmasını sağlar. Bu, bilgisayarların etki alanına katılırken belirli güvenlik gereksinimlerini karşılamasını sağlar ve güvenlik açıklarının sömürülmesini zorlaştırır.
Hesap kilitleme önlemleri: KB5020276 güncellemesi, etki alanına katılma işlemi sırasında hesap kilitleme önlemlerini güçlendirir. Bu, potansiyel saldırıları ve oturum açma girişimlerini tespit etmek ve engellemek için tasarlanmıştır.
11 Ekim 2022
CVE-2022-38042 Nedir?
“Active Directory Domain Services Elevation of Privilege Vulnerability” olarak tanımlanan zafiyet, AD üzerinde yetki yükseltmeye izin veriyor. Microsoft bu sebeple domain rejoin işlemlerinde sıkılaştırmaya gitti. Bu bilgiyi bir kenara not edip yolumuza devam edelim.
11 Ekim 2022 tarihinden itibaren yayınlanan Windows güncellemeleri, CVE-2022-38042 için sunulan ek korumaları içermektedir. Bu korumalar, etki alanı join işlemlerinde mevcut bir bilgisayar hesabının kasıtlı olarak hedef etki alanında yeniden kullanılmasını engeller. Ancak, aşağıdaki durumlar hariç:
- İşlemi gerçekleştiren kullanıcı, mevcut hesabı ilk oluşturan kullanıcı olmalıdır.
- Bilgisayar, etki alanı yöneticileri tarafından oluşturulmuş olmalıdır.
- Yeniden kullanılan bilgisayar hesabının sahibi, “Domain controller: Allow computer account re-use during domain join” adlı bir Grup İlkesi ayarının bir üyesi olmalıdır. Bu ayar, 14 Mart 2023 tarihinden itibaren yayınlanan Windows güncellemelerinin TÜM üye bilgisayarlarda ve etki alanı denetleyicilerinde yüklenmesini gerektirir.
- 14 Mart 2023 tarihinden itibaren yayınlanacak güncellemeler, etkilenen müşteriler için Windows Server 2012 R2 ve sonraki sürümler ile desteklenen tüm istemciler için ek seçenekler sunacaktır.
Not:
11 Ekim 2022 veya sonraki Windows toplu güncelleştirmelerini yükledikten sonra, bilgisayar hesabının yeniden kullanımıyla etki alanına katılma, aşağıdaki hatayla kasıtlı olarak başarısız olabilir ve aşağıdaki hata ile karşılaşabilirsiniz.
“Error 0xaac (2732): NERR_AccountReuseBlockedByPolicy: “An account with the same name exists in Active Directory. Re-using the account was blocked by security policy.”
“Olay Kimliği 4101, yukarıdaki hata oluştuğunda tetiklenecek ve sorun c:\windows\debug\netsetup.log’da günlüğe kaydedilecek.”
14 Mart 2023
- 14 Mart 2023 tarihinde veya sonrasında yayınlanan Windows güncellemelerinde, güvenlik sıkılaştırmasında bazı değişiklikler yapıldı. Bu değişiklikler, 11 Ekim 2022’de yaptığımız tüm değişiklikleri içermektedir.
- İlk olarak, bu sıkılaştırmadan muaf tutulan grupların kapsamını genişletildi. Artık Domain Administrators, Enterprise Administrators ve Built-in Administrators groups da sahiplik kontrolünden muaf tutulmakta.
- İkinci olarak, yeni bir Grup İlkesi ayarı uygulandı.. Yöneticiler, güvenilen bilgisayar hesabı sahiplerinin bir izin listesini belirlemek için bunu kullanabilir. Bilgisayar hesabı, aşağıdaki durumlardan biri doğruysa güvenlik kontrolünü atlayacaktır:
- Bir kullanıcı, “Domain controller: Allow computer account re-use during domain join” Grup İlkesinde güvenilen bir sahip olarak belirtilmişse.
- Bir kullanıcı, “Domain controller: Allow computer account re-use during domain join” Grup İlkesinde güvenilen bir sahip olarak belirtilen bir gruba üye ise.
- Bu yeni Grup İlkesini kullanmak için, etki alanı denetleyicisi ve üye bilgisayarın tutarlı bir şekilde 14 Mart 2023 veya sonraki bir güncellemeyi yüklemiş olması gerekmektedir. Bazı durumlarında otomatik bilgisayar hesabı oluştururken kullandığınız belirli hesaplarınız olabilir. Bu hesaplar kötüye kullanıma karşı güvende ise ve bilgisayar hesaplarını oluşturma konusunda güveniyorsanız, onları muaf tutabilirsiniz.
Not: Hala, 11 Ekim 2022 tarihli Windows güncellemeleri tarafından hafifletilen orijinal zayıflıklara karşı güvende olacaksınız.
Microsoft ayrıca, NetJoinLegacyAccountReuse kaydını gelecekteki bir Windows güncellemesinde kaldırmayı planlıyor. Bu kaldırma işlemi şu anda 9 Eylül 2023 tarihli güncelleme için geçici olarak planlanmıştır. Yayın tarihleri değişebilir.
Yapılması Gereken Adımlar!!
Eylül 2023’ten önce mümkün olan en kısa sürede, yeni izin listesi politikasını etki alanı denetleyicisi üzerindeki Grup İlkesi’nde yapılandırın ve tüm eski clientar tarafından geçici çözümü kaldırın.
Ardından aşağıdaki adımları gerçekleştirin:
- Tüm üye bilgisayarlara ve etki alanı denetleyicilerine 14 Mart 2023 güncellemelerini yüklemelisiniz.
- Tüm etki alanı denetleyicilerine uygulanan yeni veya mevcut bir grup ilkesinde, aşağıdaki adımlarda belirtilen ayarları yapılandırın.
- “Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Option” seçenekleri altındaki “Domain controller: Allow computer account re-use during domain join” çift tıklayın.
- “Define this policy setting and <Edit Security…>” seçin.
- Nesne seçiciyi kullanarak, uzun vermek istediğiz kullanıc ve gruplara izin ver iznine ekleyin. (En iyi uygulama olarak, izinler için grupları kullanmanızı şiddetle öneririz.) Etki alanı katılımını gerçekleştiren kullanıcı hesabını eklemeyin.
- Uyarı: İlkeye üyelikleri güvenilen kullanıcılara ve hizmet hesaplarına sınırlayın. Bu ilkeye kimlik doğrulanan kullanıcılar, herkes veya diğer büyük gruplar eklemeyin. Bunun yerine, belirli güvenilen kullanıcıları ve hizmet hesaplarını gruplara ekleyin ve bu grupları ilkeye ekleyin.
- Grup İlkesi yenileme aralığını bekleyin veya tüm etki alanı denetleyicilerinde gpupdate /force komutunu çalıştırın.
- HKLM\System\CCS\Control\SAM yolunda “ComputerAccountReuseAllowList” kaydının istenen SDDL ile doldurulduğunu doğrulayın. Kaydı manuel olarak düzenlemeyin.
- 14 Mart 2023 veya sonraki bir güncelleme yüklenmiş bir bilgisayarı etki alanına join etmeye çalışın. İlgili ilkedeki hesaplardan birinin bilgisayar hesabına sahip olduğundan ve kayıt defterinin NetJoinLegacyAccountReuse anahtarının etkin olmadığından (1 olarak ayarlanmadığından) emin olun. Eğer etki alanına katılma başarısız olursa, c:\windows\debug\netsetup.log dosyasını kontrol edin.
Hala başka bir geçici çözüme ihtiyacınız varsa, tüm adımları dikkatlice kontrol edin ve aşağıdaki adımları takip edin
- Hedef etki alanında bilgisayar hesabını oluşturan aynı hesap kullanılarak katılım işlemini gerçekleştirin.
- Mevcut hesap kullanılmıyorsa, tekrar etki alanına katılmadan önce hesabı silin.
- Bilgisayarı yeniden adlandırın ve zaten var olan bir hesap kullanmadan katılım gerçekleştirin.
- Mevcut hesap, güvenilir bir güvenlik asalı tarafından sahipleniliyorsa ve bir yönetici hesabı hesabı yeniden kullanmak istiyorsa, Mart 2023 Windows güncellemesini yüklemek ve bir izin listesi yapılandırmak için Harekete Geçme bölümündeki yönergeleri izleyin.
- NetJoinLegacyAccountReuse kaydını kullanma hakkında önemli yönlendirmelerDikkat: Bu korumaları atlatmak için bu anahtarı ayarlamayı seçerseniz, CVE-2022-38042 zafiyetine karşı savunmasız bırakırsınız.
Yeni Grup İlkesi nedeniyle artık NetJoinLegacyAccountReuse kaydını kullanmamalısınız. Eğer senaryonuzda yeni GPO’yu yapılandıramıyorsanız,
Aşağıdaki register kaydını kullanabilirsiniz.
Microsoft, NetJoinLegacyAccountReuse kaydı için desteği gelecekteki bir Windows güncellemesinde kaldıracaktır. Bu kaldırma işlemi şu anda 9 Eylül 2023 tarihli güncelleme için geçici olarak planlanmıştır. Yayın tarihleri değişebilir.
Yapılamaması Gerekenler
Etki alanı denetleyicilerinde ve ortamdaki istemcilerde 14 Mart 2023 veya sonraki güncellemeleri yükledikten sonra NetJoinLegacyAccountReuse kaydını kullanmayın. Bunun yerine, “Yapılması Gereken Adımlar” bölümündeki adımları izleyin.
- Hizmet hesaplarını veya provisioning hesaplarını Domain Admins grubuna eklemeyin.
- Bilgisayar hesaplarının sahipliğini yeniden tanımlamak amacıyla güvenlik tanımlayıcısını manuel olarak düzenlemeyin. Sahibi düzenlemek, yeni denetimlerin başarılı olmasını sağlayabilir, ancak bilgisayar hesabı, açıkça gözden geçirilip kaldırılmadığı sürece, orijinal sahip için aynı potansiyel riskli, istenmeyen izinlere sahip olabilir.
- NetJoinLegacyAccountReuse kaydını temel işletim sistemine (OS) imajlarına eklemeyin, çünkü bu kayıt sadece geçici olarak eklenmeli ve ardından etki alanı katılımı tamamlandıktan hemen sonra doğrudan kaldırılmalıdır.
Yeni Event Id’leri ve uyarıları
|Event log||SYSTEM|
|Event Source||Netjoin|
|Event ID||4100|
|Event Type||Informational|
|Event Text||“During domain join, the domain controller contacted found an existing computer account in Active Directory with the same name.An attempt to re-use this account was permitted.Domain controller searched: <domain controller name>Existing computer account DN: <DN path of computer account>. See https://go.microsoft.com/fwlink/?linkid=2202145 for more information.|
|Event log||SYSTEM|
|Event Source||Netjoin|
|Event ID||4101|
|Event Type||Error|
|Event Text||“During domain join, the domain controller contacted found an existing computer account in Active Directory with the same name. An attempt to re-use this account was prevented for security reasons. Domain controller searched: Existing computer account DN: The error code was <error code>. See https://go.microsoft.com/fwlink/?linkid=2202145 for more information.”|
Debug logging is available by default (no need to enable any verbose logging) in C:\Windows\Debug\netsetup.log on all client computers.
Example of the debug logging generated when the reuse of the account is prevented for security reasons:
NetpGetComputerObjectDn: Crack results: (Account already exists) DN = CN=Computer2,CN=Computers,DC=contoso,DC=com NetpGetADObjectOwnerAttributes: Looking up attributes for machine account: CN=Computer2,CN=Computers,DC=contoso,DC=com NetpCheckIfAccountShouldBeReused: Account was created through joinpriv and does not belong to this user. Blocking re-use of account. NetpCheckIfAccountShouldBeReused:fReuseAllowed: FALSE, NetStatus:0x0 NetpModifyComputerObjectInDs: Account exists and re-use is blocked by policy. Error: 0xaac NetpProvisionComputerAccount: LDAP creation failed: 0xaac ldap_unbind status: 0x0 NetpJoinCreatePackagePart: status:0xaac. NetpJoinDomainOnDs: Function exits with status of: 0xaac NetpJoinDomainOnDs: status of disconnecting from '\\DC1.contoso.com': 0x0 NetpResetIDNEncoding: DnsDisableIdnEncoding(RESETALL) on 'contoso.com' returned 0x0 NetpJoinDomainOnDs: NetpResetIDNEncoding on 'contoso.com': 0x0 NetpDoDomainJoin: status: 0xaac
This update adds four (4) new events in the SYSTEM log on the domain controller as follows:
|Event Level||Informational|
|Event Id||16995|
|Log||SYSTEM|
|Event Source||Directory-Services-SAM|
|Event Text||The security account manager is using the specified security descriptor for validation of computer account re-use attempts during domain join.SDDL Value: <SDDL String>This allow list is configured through group policy in Active Directory.For more information please see http://go.microsoft.com/fwlink/?LinkId=2202145.|
|Event Level||Error|
|Event Id||16996|
|Log||SYSTEM|
|Event Source||Directory-Services-SAM|
|Event Text||The security descriptor that contains the computer account re-use allow list being used to validate client requests domain join is malformed.SDDL Value: <SDDL String>This allow list is configured through group policy in Active Directory.To correct this problem an administrator will need to update the policy to set this value to a valid security descriptor or disable it.For more information please see http://go.microsoft.com/fwlink/?LinkId=2202145.|
|Event Level||Error|
|Event Id||16997|
|Log||SYSTEM|
|Event Source||Directory-Services-SAM|
|Event Text||The security account manager found a computer account that appears to be orphaned and does not have an existing owner.Computer Account: S-1-5-xxxComputer Account Owner: S-1-5-xxxFor more information please see http://go.microsoft.com/fwlink/?LinkId=2202145.|
|Event Level||Warning|
|Event Id||16998|
|Log||SYSTEM|
|Event Source||Directory-Services-SAM|
|Event Text||The security account manager rejected a client request to re-use a computer account during domain join.The computer account and the client identity did not meet the security validation checks.Client Account: S-1-5-xxxComputer Account: S-1-5-xxxComputer Account Owner: S-1-5-xxxCheck the record data of this event for the NT Error code.For more information please see http://go.microsoft.com/fwlink/?LinkId=2202145|
If needed, the netsetup.log can give more information. See the example below from a working machine.
NetpReadAccountReuseModeFromAD: Searching '<WKGUID=AB1D30F3768811D1ADED00C04FD8D5CD,DC=contoso,DC=com>' for '(&(ObjectClass=ServiceConnectionPoint)(KeyWords=NetJoin*))'. NetpReadAccountReuseModeFromAD: Got 0 Entries. Returning NetStatus: 0, ADReuseMode: 0 IsLegacyAccountReuseSetInRegistry: RegQueryValueEx for 'NetJoinLegacyAccountReuse' returned Status: 0x2. IsLegacyAccountReuseSetInRegistry returning: 'FALSE''. NetpDsValidateComputerAccountReuseAttempt: returning NtStatus: 0, NetStatus: 0 NetpDsValidateComputerAccountReuseAttempt: returning Result: TRUE NetpCheckIfAccountShouldBeReused: Active Directory Policy check returned NetStatus:0x0. NetpCheckIfAccountShouldBeReused: Account re-use attempt was permitted by Active Directory Policy. NetpCheckIfAccountShouldBeReused:fReuseAllowed: TRUE, NetStatus:0x0
If only the client has the March 14, 2023 or later update, the Active Directory policy check will return 0x32 STATUS_NOT_SUPPORTED. Previous checks that were implemented in the November hotfixes will apply as shown below.
NetpGetADObjectOwnerAttributes: Looking up attributes for machine account: CN=LT-NIClientBA,CN=Computers,DC=contoso,DC=com NetpGetADObjectOwnerAttributes: Ms-Ds-CreatorSid is empty. NetpGetNCData: Reading NC data NetpReadAccountReuseModeFromAD: Searching '<WKGUID=AB1D30F3768811D1ADED00C04FD8D5CD,DC=LT2k16dom,DC=com>' for '(&(ObjectClass=ServiceConnectionPoint)(KeyWords=NetJoin*))'. NetpReadAccountReuseModeFromAD: Got 0 Entries. Returning NetStatus: 0, ADReuseMode: 0 IsLegacyAccountReuseSetInRegistry: RegQueryValueEx for 'NetJoinLegacyAccountReuse' returned Status: 0x2. IsLegacyAccountReuseSetInRegistry returning: 'FALSE''. NetpDsValidateComputerAccountReuseAttempt: returning NtStatus: c00000bb, NetStatus: 32 NetpDsValidateComputerAccountReuseAttempt: returning Result: FALSE NetpCheckIfAccountShouldBeReused: Active Directory Policy check returned NetStatus:0x32. NetpCheckIfAccountShouldBeReused:fReuseAllowed: FALSE, NetStatus:0x0 NetpModifyComputerObjectInDs: Account exists and re-use is blocked by policy. Error: 0xaac NetpProvisionComputerAccount: LDAP creation failed: 0xaac