我在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远程处理的安全线程。
但上述博客适用于PowerShell 2.0,我使用的是Windows Server 2012 R2和PowerShell 4.0。我不确定安全事件是如何改变的。我必须说服我的经理和解决方案架构师在prod服务器中启用PowerShell远程处理以使用此工具进行部署时没有安全威胁。
你能不能请任何人分享你对此的看法?
还请建议我使用C#保护远程执行PowerShell脚本还有其他可能性。
答案 0 :(得分:0)
在Windows Server 2012 R2上,默认情况下启用PowerShell远程处理