Ayrıca, Windows 10 ve Windows Server 2016 yapısındaki geliştirilen
ve yeni eklenen Group Policy ayarlarını
inceleyeceğiz.
Bilindiği üzere Bir
User yalnızca 1
OU biriminde olabilir ve o OU birimine uygulanan User Group Policyleri
alır. Bu doğru bir bilgidir. Fakat bazı
durumlar da bunu değiştirebiliriz. Örneğimizdeki gibi bir yapınız mevcutsa
Kullanıcıların local istemci cihazlarında
User Bazlı policy’lerden etkilenmemesini fakat RDS Farmı üyesi hostlara login olduğunda sizin
belirlediğiniz yasaklayıcı User Settingsleri içeren GPO’lara tabii olmasını isteyebilirsiniz. İşte bu durumda uygulayacağımız adımları
senaryomuz da gerçekleştireceğiz.
Test yapım aşağıdaki gibidir. 5 Adet Windows Server 2016 işletim sistemli RDS Session Host sunucu ile 1 Adet Windows
Server 2016 üzerinde çalışan Remote Desktop Connection Broker ve RD Web Access
sunucum mevcut.
Domain Controller yapımız da Windows Server 2016 işletim
sistemi üzerinde çalışmaktadır. Active
Directory OU Dizaynım ise aşağıdaki gibidir. RDS farmının üyesi olan Serverlar ayrı bir OU biriminde Userlarım ise ayrı bir OU altında. RDS yapacak olan Userların üyesi olduğu bir
de Security group mevcut.
Userlarımın bulunduğu OU birimleri aşağıdaki gibidir. İlgili
Security grubuna üye olan kişiler RDS sunuculara oturum açmaya yetkili olan
kişilerdir.
Yapımızı oluşturan bileşenler ve yapımızın mimarisinden kısaca
bahsettiğimize göre işlemlerimize başlayabiliriz. Uzun bir makale olacağını
baştan söylemeliyim J
Öncelikle DC üzerinde Group Policy Management Console açarak
RDS Serverlarımın olduğu OU üzerinde yeni bir GPO oluşturuyorum. RDS
sunucularımı etkileyecek Tüm User ve
Computer ayarlarını içeren policy’leri bu GPO üzerinden
gerçekleştireceğiz. Tek GPO’da hem
user Hem Computer ayarları sunacağız J
İlgili Group policy objemizi oluşturduk. Şimdi ilk
yapacağımız ayar Computer bazlı bir ayar olacak. İsmi Group Policy Loopback
Processing. Nedir bu ayar ? dersek
yazımın başında belirttiğim gibi
Local istemci makinelerinize oturum açmış olan kullanıcılarınızın user
settingslerine müdahale etmeden RDS farm yapısındaki serverlarınızın user
settingslerini düzenleyerek onlara custom bir çalışma imkanı sunmanıza olanak tanıyan Group
Policy özelliğidir. Bu sayede fiziksel cihaz için ayrı user'la logon RDS hostlar için ayrı bir user'la logon
gereksinimi ortadan kalkmaktadır.
Oluşturduğumuz GPO üzerinde aşağıdaki alana kadar geliyoruz.
Computer Configuration >Administrative Templates
> System > Group Policy > Configure User Group Policy loopback
processing mode
Gördüğünüz üzere ilgili Gpo ayarını Enabled duruma
aldığımızda 2 seçenek var tercih etmemiz gereken. Biraz bunlardan bahsedelim.
İlk seçenek olan “Replace” ile yapacağınız User Settingslerden
etkilenmesini istediğiniz Kullanıcılarınızın fiziksel veya laptop istemcileri
üzerinde tanımlı olan user tabanlı group policy’lerini almamalarını, yalnızca RDS farmının üyesi olan
sunucularınıza özel tanımladığınız GPO
içerisindeki user settingsleri almalarını sağlar. Yani kullanıcı local istemci
cihazındaki user policy’leri devralmaz.
Logon olduğu RDS farmı üyesi sunucuya tanımladığınız User settingsleri
içeren policyleri alır.
Diğer seçenek olan “Merge” ise hem lokal desktop veya fiziksel cihazlarına
uyguladığınız user ayarlarını içeren group policy’leri alır hem de RDS farmı
üyesi serverlara tanımladığınız user ayarlarını içeren Group policy’leri
alır. Çakışma olması durumunda RDS serverlarınızın user settingslerindeki
ayarlar baskın gelir.
İlgili ayarı Enabled duruma alarak “Replace” seçimi ile
onaylıyorum.
2. yapacağımız Group Policy ayarımız ise RDS sunuculara oturum açacak olan Userları
GPO ile tanımlamamız.
İlgili GPO ayarı aşağıdaki dizinde yer almaktadır.
Computer Configuration > Policies > Windows Settings
> Security Settings > Local Polices > User Rights > Allow Log on
through Remote Desktop Services
Buraya Domain Admins
ve ilgili RDS Grubumu tanımladım. Aynı grubu RDS farmının üyesi olduğu
Collection içerisinde de yetkilendirmeyi unutmuyoruz.!
Sıradaki GPO ayarımız Server Manager’ın açılışta otomatik
açılmaması yönünde olacak.
Computer Configuration > Policies >
Administrative Templates > System > Server Manager
> Do not display Server Manager automatically at logon
Sıradaki GPO ayarımızda ise
Windows 10 ve Server 2016 da resimdeki alanlara RDS userlarının erişmesini
engelleyeceğiz.
Ekran görüntüsünü standart bir RDS user oturumundan aldım.
All Settings alanını
tıkladığınızda ayarlara erişebiliyorsunuz, Tabii ayarlar da değişiklik yapmanız
için en az Local Admin yetkisine ihtiyacınız var. Biz RDS kullanıcılarımıza böyle
bir yetki vermedik.
Fakat biz yine de bu alana
erişimi kısıtlayacağız.
GPO üzerinde User Settings içeren ilk ayarlarımızı yapmaya
başlayalım J
User Configuration\ Administrative Templates\ Control Panel\Prohibit access to Control Panel and PC
settings > İlgili ayarı Enabled duruma alalım.
Gpudate /force ile
DC sunumuzda policy tazeleme komutunu
çalıştıralım ve bir süre sonra RDS sunucularımızdan bazılarında tekrar aynı
alana gitmeyi deneyelim. Sonuç
olarak Settings alanına ve ilgili
alanlara giremediğimizi göreceğiz.
Bilgi olması açısından paylaşmak istiyorum. Windows 10 Versiyon 1703 ile birlikte
Microsoft Policy’lerde bazı değişikliklere gitti. Aşağıdaki vereceğim link
üzerinden All Settings alanının
kısıtlanması yada belirli öğelere erişimin kısıtlanmasıyla ilgili detaylı bilgi bulabilirsiniz.
sıradaki policy’miz ile
Start Run erişimini yasaklayalım.
User Configuration\ Administrative Templates\Start Menu and
taskbar\Remove Run Menu From Start Menu\ ilgili policy ayarını “Enabled” duruma
alalım.
Sıradaki GPO Ayarımız ile RDS sunucularımız da This PC altındaki Drivelara erişimi
yasaklayalım.
User Configuration > Administrative Templates >
Windows Components > File Explorer > Hide these specified drives in
My Computer\ ilgili ayarı “Enabled”
olarak ayarlayıp tüm sürücülere erişimi yasaklıyoruz. Dilerseniz
belirlediğiniz harfteki sürücülere de erişimi yasaklayabilirsiniz.
Policy’miz sonucu RDS serverlarımıza logon olan userlarımız
da sonuç aşağıdaki gibi. Policymiz çalışıyor.
Sürücülere erişimi yasakladık, fakat Taskbar da yer alan Windows Search
işimizi bozuyor J
Taskbar daki Windows Search ile sürücüye erişebiliyoruz.
Şimdi bu erişimi de kapatalım.
Computer Configuration\Windows
Settings\Security Settings\Software Restriction Policies\Additional Rules\ New
Path rule
Seçimiyle ilerleyip Path: C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy
Security Level: Disallowed olacak şekilde Additional rule oluşturmamız gerekiyor.
Bu policy tüm RDS sunucularınıza uygulandıktan sonra Windows
Search çalışmayacaktır.
Devamında, Tablet
mode vb işlemlerin kapatılması için aşağıdaki Policy ayarını düzenlememiz
gerekiyor.
Şimdiki policy ile CMD erişimini kapatalım.
User Configuration > Policies >Administrative
Templates > System > Prevent access to the Command Prompt ilgili ayarı “Enabled” duruma getirelim.
Ardından , aynı path’de bulunan registry erişim ayarını aynı
yöntemle kapatalım.
PowerShell erişimini
kapatalım şimdi de.
User Configuration” > Policies > Administrative
Templates > System > Don’t run specified Windows applications\ ilgili
Policy ayarını açıp “Show Contents” diyerek powershell.exe and
powershell_ise.exe parametrelerini yazalım.
Bu policy sonrası RDS
sunucularınız da Powershell ve
Powershell ISE çalışmayacaktır.
Şimdiki Policy ile
Server Manager ve Administrative
Tools erişimlerini yasaklayalım.
Computer configuration > Policies > Windows settings
> Security Settings > File System\ Add File seçimi ile devam edelim.
Path kısmına : %AllUsersProfile%\Microsoft\Windows\Start
Menu\Programs\Server Manager.lnk
Yazıyoruz ve OK diyoruz.
Karşımıza gelen Database Security Penceresinde ise
Users grubunu Remove ediyoruz.
İzinlerle ilgili gelen onay penceresinde seçimimizi
aşağıdaki gibi yapabiliriz.
Aynı işlemi şimdi de
Administrative Tools için yapalım.
Add File seçimi ile ilerliyoruz ve path kısmına : %AllUsersProfile%\Microsoft\Windows\Start
Menu\Programs\Administrative Tools
yazıyoruz ve devamında Database
Security penceresinde yukarıda yaptığımız işlemleri tekrarlıyoruz.
Son durum aşağıdaki gibi olmalıdır. Path isimlerini doğru
yazmamız gerektiğini hatırlatmak istiyorum.
Aynı adımları uygulayarak
vereceğim path tanımları ile
Accessories ve System Tools erişimlerini de kapatalım.
Computer configuration > Policies > Windows settings
> Security Settings > File System\ Add File seçimi ile devam edelim.
%AllUsersProfile%\Microsoft\Windows\Start
Menu\Programs\System yazalım ve
karşımıza çıkan seçenekleri yukarıda belirttiğim gibi tamamlayalım. Users
grubunu remove edelim ve izinlerle ilgili pencereleri de üstteki gibi
tamamlayalım.
Ardından %AllUsersProfile%\Microsoft\Windows\Start
Menu\Programs\Accessories yazalım ve
yukarıdaki adımları tekrarlayalım.
NOT: bu ayarların
uygulanmadığını görürseniz kontrol etmeniz ve aklınıza gelmesi gereken ilk şey
ayarları uyguladığınız userların RDS
Farm üyesi sunuculara önceden login işlemi gerçekleştirip gerçekleştirmediği
olmalıdır. Çünkü Windows bazı durumlar da permission’ları cacheinde tutabilir.
Böyle bir durumda test userı açarak o user'la farma ilk kez logon olarak sonucu
kontrol edebilirsiniz.
Sıradaki GPO ayarımız ile Task Manager erişimini yasaklayalım.
User Configuration | Administrative Templates | System |
Ctrl+Alt+Delete Options | Remove Task Manager ilgili ayarı “Enabled” duruma alabilirsiniz.
Yapınızdaki RDS Farm üyesi sunucularınıza oturum açan userlarınızın profil dosyalarını (Desktop,
Documents,Downloads vb) merkezi bir File Server üzerinde tutmak için Roaming
Profile çözümü kullanıyorsanız bu durumda
sadece o userların oturum açacağı
RDS sunucularda da yapılandırabileceğiniz bir Roaming profile Ayarı mevcut.
Not: Bildiğiniz
üzere ve aşağıdaki resimde gördüğünüz
gibi Roaming Profile ayarı ilgili User
Properties sekmesinde ve Profile tabında yer alır, fakat bu ayarı
user özellikleri üzerinden ayarlarsanız o Userın oturum açtığı tüm istemci, server vb cihazlar da Roaming Profile kullanımına
şart koşmuş olursunuz.
Bizim senaryomuzun başında da belirttiğimiz gibi
Kullanıcılarımızın Local istemci
cihazlarına müdahale etmeden yalnızca RDS farmını oluşturan sunucuların User
Settings ayarlarını düzenlememiz gerekiyor. Bu nedenle aşağıdaki Roaming
Profile Group Policy Path’i işimize
yarayacak.
Computer Configuration > Policies > Administrative
Templates > System > User Profiles\ alanına gelerek aşağıdaki “Set Roaming Profile Path for all users
logging onto this computer” ayarını Enabled duruma alarak UNC şeklinde path bilgisini giriyoruz. Bu
policy’nin amacı yalnızca bu policy kapsamındaki sunuculara veya istemcilere
oturum açan kişileri roaming profile
kullanmaya zorlamak.
Aynı lokasyon da bulunan Aşağıdaki ayarı da yapmanızı
tavsiye ederim. Ne işe yarıyor diyecek olursanız Administrator olarak User
Profile Folderlarına erişim hakkına sahip oluyorsunuz.
Windows update ile ilgili bazı Policy ayarlarını yapmanızı önereceğim.
İlgili path bilgileri ve Ekran görüntülerini aşağıda paylaşacağım.
Computer Configuration\Administrative Templates\Windows
Components\Windows Update\Allow
non-administrators to receive update notifications ayarını “Disabled”
duruma alabilirsiniz.
Sıradaki GPO ayarımız ile File, folder gibi nesnelerin Security tabına erişimi
kaldıralım.
User Configuration\Policies\Administrative Templates\Windows Components\File Explorer\ Remove Security Tab “Enabled” olarak set edebiliriz.
Güvenlik nedeniyle aşağıdaki GPO ayarını aktif edebiliriz.
Kullanıcılarımız Local Admin yetkisine sahip değiller. Dolayısıyla program veya update gibi işlemler
gerçekleştiremezler. Ama yine de ilgili policyleri aktif edebilirsiniz.
Computer Configuration\Policies\Administrative
Templates\Windows Components\Windows Installer\Prevent users from using Windows Installer to install updates and
upgrades ayarını “Enabled” olarak set edebiliriz.
Aşağıdaki GPO ayarımızı da aktif edebiliriz.
User Configuration/Policies/Administrative Templates/Windows
Components/Windows Update\ altındaki Remove access to use all Windows Update
features isimli GPO’yu enabled duruma alabilirsiniz.
Aşağıdaki GPO ile de AutoPlay özelliğini RDS
kullanıcılarımız için kapatalım.
User Configuration/Policies/Administrative Templates/Windows
Components/AutoPlay Policies\ altında Turn off Autoplay ayarını “Enabled”
olarak set edebilirsiniz.
Belli başlı RDS yapısı için gerekli yasaklayıcı policylere
değindiğimize göre son policy ayarlarımızı yapalım. Domain Admins grubunun RDS sunuculara logon
olduğunda yapmış olduğumuz User tabanlı
policylerden etkilenmemesini sağlayalım. Aksi halde RDS sunucularımızı
yönetemeyiz J
İsteğinize bağlı RDS_Admins vb isimde bir security group
oluşturup RDS sunucularınızı yönetecek kişileri buraya ekleyerek bu
kullanıcıları RDS policy’lerden exclude edebilirsiniz.
İlgili RDS Policymizi seçip Delegation tabına geçelim ve
Ardından aşağıdaki Advanced seçimini tıklayalım.
Ardından Domain admins veya yukarıda belirttiğim özel
oluşturduğunuz RDS Admins vb grubunuzu seçip
Deny kısmından Apply group policy seçeneğini işaretlemeniz yeterlidir.
Yazımızı burada noktalıyorum, elimden geldiğinde RDS
ortamları için örnek olması açısından production ortamlar da uyarladığım örnek
GPO ayarlarını yazmaya çalıştım. RDS
policylerden etkilenen userlarınızın Desktop veya laptop ortamlarına RDS için
uyarladığımız user tabanlı policy’lerin etki etmediğini tekrar belirtmek
isterim.
İyi çalışmalar.