Kısıtlanmış Uç Noktaları Kullanarak Güvenli PowerShell Uzaktan İletişimi
PowerShell Uzaktan İletişim, Windows Server 2012'de (ve sonrasında) kullanıma hazır olarak etkinleştirilmiştir ve birçok BT mağazası bunu potansiyel bir güvenlik riski olarak görse de, PowerShell aslında en iyi uygulamalar yerine getirilirse sunucuları yönetmenin en güvenli yollarından biridir. takip etti. Bu yazıda Windows Server 2012 R2'nin belirli bir kullanıcı grubundan uzak PowerShell bağlantılarını kabul edecek şekilde nasıl yapılandırılacağını ve çalıştırılabilecek cmdlet'lerin nasıl kısıtlanacağını göstereceğim.
Kısıtlanmış Uç Noktalar Nelerdir?
Uzak uç noktalar, PowerShell Remoting ile bir cihaza bağlanabilecek kullanıcıları ve kimlik doğrulaması yapıldıktan sonra neler yapabileceklerini belirler. Varsayılan PowerShell uç noktası, yerleşik Yöneticiler ve Uzaktan Yönetim Kullanıcıları grubunun üyesi olan kullanıcıların uzaktan bağlanmasına olanak tanır ve cihazdaki tüm mevcut cmdlet'leri ve işlevleri ortaya çıkarır.
İyi haber şu ki, kendi kısıtlı uç noktalarınızı oluşturabilir ve kullanıcıların yapabileceklerini kısıtlayabilirsiniz; böylece yönetim amacıyla PowerShell Uzaktan İletişime izin verme risklerini en aza indirebilirsiniz.
Windows Server 2012 R2'de Kısıtlanmış Uç Noktalar Oluşturun
Windows Server 2012 R2'de kendi kısıtlı uç noktamızı oluşturalım. Yerel yönetici ayrıcalıklarıyla oturum açın ve masaüstü görev çubuğundaki mavi PowerShell simgesine tıklayın.
- Sunucudaki mevcut uç noktaları görmek için PowerShell istemine Get-PSSessionConfiguration yazın ve ENTER tuşuna basın.
- PowerShell konsolunda dört varsayılan uç noktayı görmelisiniz.
Bir kullanıcının kısıtlı uç noktaya bağlandığında yürütebileceği cmdlet'leri ve işlevleri kısıtlamak için bir yapılandırma dosyası oluşturmamız gerekir. PowerShell konsolunda aşağıda gösterilen cmdlet'i yazın ve ENTER tuşuna basın. New-PSSessionConfigurationFile, PrintAdmin.pssc adında yeni bir yapılandırma dosyası oluşturur ve uzak kullanıcıları PrintManagement PowerShell modülünün parçası olan işlevlerle sınırlandırmak da dahil olmak üzere kısıtlamalar belirler. .
Yeni-PSSessionConfigurationFile - Yol PrintAdmin.pssc - SessionType RestrictedRemoteServer -LanguageMode NoLanguage - ExecutionPolicy Restricted - ModulesToImport PrintManagement -VisibleFunctions Get-Printer
NoLanguage, kullanıcıları yalnızca cmdlet'leri ve işlevleri çalıştırmayla sınırlar; yani hiçbir komut dosyası bloğu, değişken veya işleç kullanılamaz. -SessionType değeri RestrictedRemoteServer , kullanıcıları şu proxy işlevleriyle sınırlar: Exit-PSSession, Get-Command, <Get-FormatData, Get-Help, Measure-Object, Out-Default ve Select-Object . -ExecutionPolicy parametresinin Restricted değeri de komut dosyalarının çalışmasını engeller. İçe aktarmak istediğiniz modüller cmdlet'ler içeriyorsa kullanılabilecek bir -VisibleCmdlets parametresinin de bulunduğunu unutmayın.
Artık bir yapılandırma dosyamız olduğuna göre Yardım Masası adında yeni bir uç nokta kaydedebiliriz:
Register-PSSessionConfiguration -Ad Yardım Masası -Yol PrintAdmin.pssc -ShowSecurityDescriptorUI
Yeni uç noktayı yapılandırmak, WinRM hizmetini yeniden başlatmak ve uç noktaya erişim izinlerini yapılandırmak istediğinizi onaylamanız istenecektir. Bu örnekte Yardım Masası adlı bir gruba yeni uç nokta üzerinde ‘Yürütme (Çağırma)’ izni vereceğim. Yardım Masası grubuna uzak aygıttaki yazıcıları yönetme izni vermeyi unutmayın, aksi takdirde get-printer başarısız olur.
Get-PSSessionConfiguration'ı tekrar çalıştırırsanız, yeni uç noktanın listelendiğini görebileceksiniz.
Kısıtlanmış Bir Uç Noktaya Bağlanma
Şimdi uzak bir makineden uç noktaya bağlanın. Yardım Masası grubunun veya uç noktada izin atadığınız grubun üyesi olan bir kullanıcıyla Windows 8'de oturum açın. Bir PowerShell istemi açın ve contososrv1 kısmını uzak sunucunun adıyla değiştirerek aşağıdaki komutu çalıştırın:
Enter-PSSession -BilgisayarAdı contososrv1 -ConfigurationName Yardım Masası
Uzak sunucuya bağlanıldığında istem, uzak bir cihazla çalıştığınızı gösterecek şekilde değişecektir. get-command yazın ve ENTER tuşuna basın; mevcut işlevlerin ve cmdlet'lerin listesinin uç nokta tarafından kısıtlandığını göreceksiniz. Bu örnekte, RestrictedRemoteServer oturum türünün izin verdiği 7 proxy işlevi ve uç nokta yapılandırma dosyasında belirtilen get-printer işlevi kaldı.

