生产服务器中PS Remoting的安全性

时间:2015-12-28 09:23:28

标签: c# security powershell powershell-remoting windows-server-2012-r2

我在C#中创建了一个小型Web应用程序,以远程运行PowerShell脚本。我使用以下配置来调用PowerShell脚本。

WSManConnectionInfo connectionInfo = new WSManConnectionInfo(false, server, 5985, "/wsman", "http://schemas.microsoft.com/powershell/Microsoft.PowerShell", new PSCredential(userName, password));
connectionInfo.AuthenticationMechanism = AuthenticationMechanism.Kerberos;
connectionInfo.ProxyAuthentication = AuthenticationMechanism.Negotiate;
using (Runspace runspace = RunspaceFactory.CreateRunspace(connectionInfo))
{                
}

我必须在远程计算机中启用PowerShell远程处理才能使用该工具。这在测试和预生产环境中很好,但对于生产环境而言,这是一个关于安全性的问题。它是一个在线交易网站,拥有500多个面向客户的服务器。所有服务器都在AD域中。所以我想知道针对黑客/表面攻击者的安全威胁的可能性以及在生产服务器中启用PowerShell远程的安全性。

我在下面的博客中读到,它告诉它是启用PS远程处理的安全线程。

http://blogs.msdn.com/b/powershell/archive/2009/11/20/windows-powershell-and-the-windows-management-framework.aspx

http://blogs.technet.com/b/heyscriptingguy/archive/2010/02/18/hey-scripting-guy-february-18-2010a.aspx

但上述博客适用于PowerShell 2.0,我使用的是Windows Server 2012 R2和PowerShell 4.0。我不确定安全事件是如何改变的。我必须说服我的经理和解决方案架构师在prod服务器中启用PowerShell远程处理以使用此工具进行部署时没有安全威胁。

你能不能请任何人分享你对此的看法?

还请建议我使用C#保护远程执行PowerShell脚本还有其他可能性。

1 个答案:

答案 0 :(得分:0)

在Windows Server 2012 R2上,默认情况下启用PowerShell远程处理