Windows Server

Local Admin Parolalarının Group Policy ve Active Directory Kullanarak Merkezi Olarak Yönetimi

Group Policy yardımıyla domain ortamımıza dahil olan bilgisayar ve sunucuları rahatlıkla yönetebilmekteyiz. Yakın zamana kadar Group Policy içerisinde bulunan özellik sayesinde (Computer Configuration–> Preferences–> Control Panel Settings altında bulunan Local Users and Groups) bilgisayarların local administrator (ya da başka bir kullanıcı) parolalarını değiştirebilmekteydik. Ancak her ne kadar ayarı yaparken yazdığımız parola görüntülenmese de yayınlanan Group Policy içerisinden parolaya ulaşmak mümkün oluyordu. Microsoft bu güvenlik açığını KB2962486 numaralı güncelleme ile kapattı. İlgili KB sayfasınahttps://support.microsoft.com/kb/2962486 adresinen ulaşabilirsiniz. Dolayısıyla artık bu özellik kullanılamaz durumda. Bunun üzerine ne yapılabilir şeklinde yaptığım araştırmada cevap yine Microsoft tarafından geldi. Çözüm ile ilgili sayfaya http://code.msdn.microsoft.com/windowsdesktop/Solution-for-management-of-ae44e789 adresinden ulaşabilirsiniz. Bu makalemde sizlere yukarıda ki linkte ki yapının kurulumunu anlatmaya çalışacağım.

Kuracağımız bu yapının faydalarını şöyle sıralayabiliriz,

·         Her bilgisayarın local admin parolasının farklı olmasının sağlanması.

·         Her bilgisayarın local admin parolasının sadece yetkili kullanıcı ya da grup tarafından görüntülenmesinin sağlanması.

·         Her bilgisayarın local admin parolasının Active Directory üzerinde gizli bir alanda tutulması nedeniyle yüksek güvenlik sağlanması.

Yapı temel olarak sunucu tarafı ve son kullanıcı tarafı olmak üzere iki bölümden oluşmakta. Bu makale kapsamında Active Directory ve Group Policy tarafında yapacağımız düzenlemelerin yanı sıra yapının düzgün çalışabilmesi için son kullanıcı bilgisayarına yüklenen bir bileşene ihtiyaç duyulmakta. Temel olarak bu bileşen bilgisayarın parolasının son değiştirilme tarihini kontrol etmekte ve zamanı geldiğinde yeni parolayı oluşturarak Active Directory sunucusunda saklanmasını sağlamaktadır. Yapı Active Directory ve Group Policy bileşenlerini kullandığı için local administrator parolalarının yönetilmesi istenen bilgisayarların etki alanına katılmış olması gerekmektedir.

Parolalar Active Directory üzerinde gizli öznitelikler (attributes) içerisinde tutulmakta ve normal ACL (Access Control List) ler ile bu alan okunamamaktadır. Makalenin ilerleyen bölümlerinde bu alan için yapılan yetkilendirme çalışmasını görebilirsiniz. Parolalar Active Directory sunucusuna kerberos protokolü kullanılarak kriptolu bir şekilde iletildiğinden network sniffer tarzı uygulamalar ile network trafiğinin dinlemek fayda sağlamayacaktır. Bilgisayarların parolayı active directory üzerine sadece yazma yetkisi bulunmaktadır. Bu nedenle bilgisayar kötü niyetli bir kişi tarafından ele geçirilse dahi active directory üzerinde ki parolaları okuyamayacaktır. Parolalar Active Directory üzerinde her bir bilgisayarın ms-MCS-AdmPwd özniteliğinde (attribute) cleartext olarak saklanmaktadır. Ancak sadece yetkili kişiler tarafından burada ki veri okunabildiği ve active directory güvenli bir ortam sağladığı için uygulamayı geliştirenler ek bir kriptolama gereği görmemişler.

Yapı sayesinde bilgisayarlarda ki local administrator parolaları ya da daha önceden oluşturulmuş olan farklı bir kullanıcı adının parolası yönetilebilmektedir. Bilgisayarlar üzerinde varsayılan olarak gelen administrator kullanıcısının adı değiştirilmiş dahi olsa sistem değiştirilen yeni kullanıcı adına ihtiyaç duymadan çalışabilmektedir.

Öncelikle sayfaya girdiğimizde aşağıda ki ekran görüntüsünde ki kırmızı kutu içerisinde olan Documentation.zip ve Installers.zip dosyalarını bilgisayarımıza indirelim.

clip_image002

Not: Bu makale kapsamında yapılacak işlemler içerisinde Active Directory şemasının Extend edilmesi gerekmektedir. Active Directory şema extend işlemi geri alınamayacağı için adımlara başlamadan önce Active Directory sunucusunda Bare Metal Recovery (BMR) yedeğinin alınmasını öneriyorum.

Not: Active Directory Schema Extend işleminde kullanılacak kullanıcının Schema Admins grubuna üye olması gerekmektedir.

Not: Sunucu ve client tarafına kurulacak olan uygulama .Net Framwork 4.0 üzerinde derlendiği için uygulamanın kurulacağı sistemler üzerinde .Net Framework 4.0 kurulu olmalıdır.

Uyarılarımızı yaptıktan ve gerekli olanları belirttikten sonra işlemlerimize başlayabiliriz.

Az önce indirmiş olduğumuz Installers.zip dosyasını açalım ve içerisinde bulunan AdmPwd_Adv.Setup.x64 isimli dosyayı Active Directory sunucumuza kopyalayıp çalıştıralım. Karşımıza çıkan welcome ekranını next ile geçelim. Bir sonraki ekran da sunucumuza Group Policy eklentilerinin yüklenmesi için AdmPwd GPO Extension seçeneğini, Active Directory Schema extend işlemi, Group Policy şablonu ve powershell komut eklentilerini yüklenmesi için Management Tools ve altında ki seçenekleri seçerek kuruluma hazır hale getirelim.

clip_image003

Yukarıda ki ekranda önce Next ardından karşımıza gelen ekranda da Install seçeneğine tıklayarak kurulumu tamamlayalım. Kurulumun tamamlanmasının ardından Active Directory sunucumuz üzerinde taskbar da bulunan Powershell ikonuna sağ tıklayıp Import system modules seçeneği ile çalıştıralım.

Not: Active Directory Schema extend işlemini yapabilmek için işlemin yapılacağı kullanıcının Schema Admins grubuna üye olması gerekmektedir.

Not: Eğer Powershell komut satırını Import system modules seçeneği ile açarken,

Import-Module : Could not load file or assembly ‘file:///C:\Windows\system32\WindowsPowerShell\v1.0\Modules\AdmPwd.ps\AdmPwd.PS.dll‘ or one of its dependencies. This assembly is built by a runtime newer then the currently loaded.

şeklinde bir hata alıyorsanız C:\Windows\System32\WindowsPowerShell\v1.0 içerisinde powershell.exe.config isimli bir metin dosyası oluşturalım ve içerisine aşağıda ki satırları yazıp kayıt edelim.

<?xml version=”1.0″?>

<configuration>

<startup useLegacyV2RuntimeActivationPolicy=”true”>

<supportedRuntime version=”v4.0.30319″/>

<supportedRuntime version=”v2.0.50727″/>

</startup>

</configuration>

Tekrar Powershell komut satırını Import system modules seçeneği ile açtığımızda yukarıda ki hata ile karşılaşmayacağız.

Active Directory Schema Extend işlemi için Poweshell komut satırında Update-AdmPwdADSchema komutunu çalıştıralım. Ekran çıktısı aşağıda ki gibi olacaktır.

clip_image004

Active Directory şemasını extend işlemini tamamladıktan sonra yeni oluşturulan attribute ların özelliklerinde düzenleme yapmamız gerekmekte. Bu işlem için Active Directory sunucumuz üzerinde ADSI Edit Tool u açalım ve açılan konsolda ADSI Edit ifadesine sağ tıklayıp açılan menüden Connect to… seçeneğini seçelim. Açılan Connection Settings ekranında Connection Point bölümüne gelelim ve “Select well known Naming Context” seçeneğine tıklayıp açılan menüden “Default naming context” ifadesini seçelim ve ardından OK diyerek bağlantıyı oluşturalım.

clip_image005,

Karşımıza gelen Default naming context bölümünde bilgisayar hesaplarımızın bulunduğu OU ya (benim sistemimde Managed Computers) sağ tıklayıp Properties diyoruz ve açılan ekranda Security sekmesine geçip bu sekmede Advanced a tıklayalım.

clip_image006

Not: Burada hem Windows Server 2012 hem de Windows Server 2008 R2 ortamları için ekran görüntülerini bulabilirsiniz.

Windows Server 2012 için

Açılan advanced penceresinde Group or user names bölümünde SYSTEM ifadesine tıklayalım ve ardından Edit e tıklayalım açılan pencere “All extended rights” ifadesinde ki işareti kaldıralım.

clip_image007

Benzer şekilde aynı işlemi Domain Admins için tekrarlayalım.

clip_image008

Son olarak açık olan tüm pencereleri OK e tıklayarak kapatalım.

Windows Server 2008 R2 için

clip_image009

clip_image010

Bu işlemlerin ardından ilgili OU üzerinde (Benim yapımda Managed Computers) ms-MCS-AdmPwdExpriationTime ve ms-MCS-AdmPwd attribute larına SELF için write izni vermemiz gerekmekte. Bunun için daha önce Import System Modules seçeneği ile açmış olduğumuz Powershell komut satırında Set-AdmPwdComputerSelfPermission -OrgUnit ” Bilgisayarların bulunduğu OU adı” komutunu çalıştıralım. Ekran görüntüsü aşağıda ki gibi olacaktır.

clip_image011

Yukarıda ki işlemin ardından sıra ms-MCS-AdmPwd attribute u üzerinde CONTROL_ACCESS yetkisi olacak olan (ki bu kullanıcı ya da grup client ların local administrator parolalarını görüntüleyebilme yetkisi sahip olacaklar) kullanıcı ya da grubu yetkilendirmeye geldi. Benim tavsiyem burada grup kullanmanız. Böylece parolaları okumasını istediğiniz ya da istemediğiniz kullanıcıları gruba ekleyip çıkararak erişim denetimini çok daha rahat sağlayabilirsiniz. Bu işlem için Powershell komut satırında Set-AdmPwdReadPasswordPermission -OrgUnit “bilgisayar hesaplarının bulunduğu OU nun adı” -AllowedPrincipals GrubunAdı komutunu çalıştırmamız yeterli olacaktır. Ekran görüntüsü aşağıda ki gibidir.

clip_image012

Yetkilendirme işlemlerinde son olarak ms-MCS-AdmPwdExpritaionTime attribute na parolaları resetleme yetkisi olacak olan kullanıcı ya da grubu belirlememiz gerekiyor. Bunun için Powershell komut satırında  Set-AdmPwdResetPasswordPermission -OrgUnit “bilgisayar hesaplarının bulunduğu OU nun adı” -AllowedPrincipals GrubunAdı komutunu çalıştırmamız yeterli olacaktır. Ekran görüntüsü aşağıda ki gibidir.

clip_image013

Yetkilendirme işlemlerinin ardından bilgisayar hesaplarının parolalarını değiştirebilmek için Managed Computers OU su üzerinde “Local Admin Password” isimli bir group policy oluşturalım. Oluşturduğumuz group policy yi edit diyerek açalım ve Computer Configuration–> Policies–> Administrative Templates–> AdmPwd bölümüne gelelim. Sağ tarafta bulunan iki ayardan Password Settings seçeneğini çift tıklayarak açalım. Bu bölümde local admin parolalarının Password Complexity , Password Length ve Password Age ayarlarını yapabiliriz. Ben kendi ortamımda Password Complexity bölümünü “Large letters + small letters + numbers + specials” olarak bıraktım. Password Length bölümü varsayılan olarak 12 ile gelmekte ve daha azı ayarlanamamakta. Bu bölümü 12 olarak bıraktım. Son olarak Password Age bölümünü de 30 gün olarak belirleyip Ok diyerek ayar penceresini kapatalım. Ekran görüntüsü aşağıda ki gibidir.

clip_image014

Diğer bir ayar olan Administrator account name seçeneğini de çift tıklayarak açalım ve Enable ettikten sonra “Administrator account name” bölümüne bilgisayarlarda kullanılan local admin hesabının adını yazalım. Ben bu bölümü Administrator olarak belirledim ancak sizin sistemlerinizde farklı bir local admin hesabı mevcut ise onun ismini kullanabilirsiniz. Ekran görüntüsü aşağıda ki gibidir.

Not: Eğer local administrator kullanıcısının adı değiştirilmiş ise burada yeni adın girilmesine gerek yoktur. Sistem kendisi kullanıcıyı tespit edecektir.

clip_image015

Group Policy öğemizi oluşturduktan sonra bu öğenin client tarafında ki uygulamayı tetiklemesi için register işleminin yapılması gerekmekte aksi halde parola oluşturduğumuz group policy çalışmayacaktır. Bu işlem için Powershell komut satırında Register-AdmPwdWithGPO -GPOIdentity:GPO nun adı komutunu yazıp çalıştırmamız yeterli olacaktır. Ekran görüntüsü aşağıda ki gibidir.

clip_image016

Son olarak kullanıcı bilgisayarlarında ki local admin parolalarına kim erişmiş kayıtlarını tutmak için auditing in açılması faydalı olacaktır. Bunun için Powershell komut satırında Set-AdmPwdAuditing -OrgUnit:”Auditing yapılacak OU nun adı” -AuditedPrincipals:”Audit edilecek kullanıcı ya da grup” komutunu çalıştırmamız yeterli olacaktır. Ekran görüntüsü aşağıdadır.

clip_image017

Sunucu tarafında ki işlemi bitirdikten sonra son kullanıcı bilgisayarı tarafında ilgili group policy nin çalışabilmesi için gerekli olan ve işletim sistemi yapısına göre değişen  AdmPwd_Adv_Setup.x86.msi ya daAdmPwd_Adv_Setup.x64.msi uygulamalarının sadece AdmPwd GPO Extensions seçeneği ile kurulması gerekmektedir. Kurulum elle yapılabileceği gibi ortamınızda var ise SCCM üzerinden de uygulama dağıtılabilir. Kurulum sırasında ki ekran görüntüsü aşağıda ki gibi olacaktır.

clip_image018

Benzer şekilde bilgisayar parolalarını görecek kullanıcıların bilgisayarlarına da tam kurulum yapmamız gerekmektedir. İlgili ekran görüntüsü aşağıda ki gibidir.

clip_image019

Kurulumun ardından bir bilgisayarın local admin parolasını görüntülemek için tam kurulum yapılmış bir bilgisayarda “Admin Password Management UI” uygulamasını açalım ve Computername bölümüne local administrator parolasını öğrenmek istediğimiz bilgisayarın adını yazıp Search seçeneğine tıklayalım. Bu işlemin ardından Password  bölümünde ilgili bilgisayarın local administrator parolasını ve Password expiresbölümünde ise parolanın süresinin ne zaman dolacağını ve değiştirileceği tarihi görebiliriz. Eğer bilgisayarın local administrator parolasının hemen değiştirilmesini istiyorsak New expiration bölümünü BOŞ bırakıp Setseçeneğine tıklamamız yeterli olacaktır. Bir sonra ki group policy güncellemesinde bilgisayarın local administrator parolası değiştirilecek ve yenisi Active Directory üzerine kayıt edilecektir. Ekran görüntüsü aşağıda ki gibidir.

clip_image020

Herhangi bir bilgisayar hesabı için sorgu yapıldığında Active Directory sunucusu üzerinde Security Event leri arasına bu erişimin kaydı Directory Service Access kategorisi altında kayıt edilecektir. Böylece hangi kullanıcının hangi bilgisayarın local administrator parolası için sorgu yaptığı kayıt altında tutulabilir. Ekran görüntüsü aşağıda ki gibidir.

clip_image021

Eğer uygulamayı kullanan kullanıcı kurulum sırasında belirlenmiş olan gruba üye değil ise uygulamayı çalıştırıp herhangi bir bilgisayar adını kullanarak search işlemini gerçekleştirdiğinde Password bölümü boş gelecektir. Ekran görüntüsü aşağıda ki gibidir.

clip_image022

Bu makalemde sizlere Local administrator parolalarının group policy ve active directory kullanarak merkezi olarak yönetilmesini anlatmaya çalıştım.

Faydalı olması dileğimle…

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu