Yönettiğiniz IT Altyapısında Microsoft Remote Desktop Services ürünü konumluysa ve bu ürünün yönetimini de siz yapıyorsanız bazı güvenlik ayarlarını yapmanız gerekmektedir. Örneğimiz gerçek bir Production ortam senaryosundan alınmış ve test ortamına uyarlanmıştır. Yazımıza konu topoloji de kullanıcılar kendi kullanıcıları ile önce Fiziksel veya Laptop şirket bilgisayarlarına logon olup ardından aynı kullanıcı ile şirket uygulamalarını Host Eden RDS server FARM yapısına bağlanmaktadırlar. Buradaki ince ayar logon oldukları laptop veya desktop makinedeki aynı kullanıcı ismi ile RDS Farm’ına logon olmaları. Uygulayacağımız senaryo da ise kullanıcı lokal makinelerine müdahale etmeden RDS Farmını oluşturan hostlardaki Computer ve User ayarlarını düzenleyeceğiz.
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.
Resim-1
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.
Resim-2
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.
Resim-3
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
Resim-4
İ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 yarayan Group Policy özelliğidir. Bu sayede fiziksel cihaz için ayrı userla logon RDS hostlar için ayrı bir userla 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
Resim-5
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
Resim-6
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.
Resim-7
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
Resim-8
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.
Resim-9
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ızaböyle bir yetki vermedik.
Fakat biz yine de bu alana erişimi kısıtlayacağız.
Resim-11
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 PCsettings
İlgili ayarı Enabled duruma alalım.
Resim-12
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.
Resim-13
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.
Resim-14
Sıradaki GPO Ayarımız ile RDS sunucularımızda 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.
Resim-15
Policy’miz sonucu RDS serverlarımıza logon olan userlarımız da sonuç aşağıdaki gibi. Policymiz çalışıyor.
Resim-16
Sürücülere erişimi yasakladık, fakat Taskbar da yer alan Windows Search işimizi bozuyor J
Resim-17
Resim-18
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 ilerleyipPath: C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy Security Level: Disallowed olacak şekilde Additional rule oluşturmamız gerekiyor.
Resim-19
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.
Resim-20
Resim-21
Ş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.
Resim-22
Ardından, aynı path’de bulunan registry erişim ayarını aynı yöntemle kapatalım.
Resim-23
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.
Resim-24
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.
Resim-25
Path kısmına : %AllUsersProfile%\Microsoft\Windows\Start Menu\Programs\Server Manager.lnk
Yazıyoruz ve OK diyoruz.
Resim-26
Karşımıza gelen Database Security Penceresinde ise Users grubunu Remove ediyoruz.
Resim-27
İzinlerle ilgili gelen onay penceresinde seçimimizi aşağıdaki gibi yapabiliriz.
Resim-28
Aynı işlemi şimdide Administrative Tools için yapalım.
Add File seçimi ile ilerliyoruz ve path kısmına : %AllUsersProfile%\Microsoft\Windows\StartMenu\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.
Resim-29
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\StartMenu\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\StartMenu\Programs\Accessories yazalım ve yukarıdaki adımları tekrarlayalım.
Resim-30
Resim-31
Resim-32
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 userla 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.
Resim-33
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.
Resim-34
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.
Resim-35
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.
Resim-36
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 notificationsayarını “Disabled” duruma alabilirsiniz.
Resim-37
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.
Resim-38
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.
Resim-39
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.
Resim-40
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.
Resim-41
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.
Resim-42
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.
Resim-43
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.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
www.mshowto.org
TAGs: remote desktop, remote desktop servisi, remote desktop GPO ayarları, remote desktop group policy ayarları
Çok güzel anlatım olmuş. Emeğinize sağlık. Teşekkür ederim.