0

我帮助我的同事编写了一个脚本,该脚本对服务器的文件和结构进行了更改,现在我的同事希望我添加一个指向该网站的链接,让他可以从任何地方运行该脚本。这对我来说听起来不是一个好主意,但我真的不能给他足够的细节来说服他放弃它。

我是否完全错误地认为在 Web 前端访问此脚本是个坏主意?如果这不是一个坏主意,你会建议我从哪里开始?我应该注意哪些安全措施?如果这是一个坏主意,你会如何说服他放弃呢?(他的地位比我高一点,我的老板希望我帮助他)

4

3 回答 3

3

对我来说听起来是个坏主意。

如果您改为设置 PowerShell Web 访问,我认为您会更好并获得所有好处:

Windows PowerShell® Web Access 首次在 Windows Server® 2012 中引入,充当 Windows PowerShell 网关,提供面向远程计算机的基于 Web 的 Windows PowerShell 控制台。它使 IT 专业人员能够在 Web 浏览器中从 Windows PowerShell 控制台运行 Windows PowerShell 命令和脚本,而无需在客户端设备上安装 Windows PowerShell、远程管理软件或浏览器插件。运行基于 Web 的 Windows PowerShell 控制台只需要一个正确配置的 Windows PowerShell Web 访问网关,以及一个支持 JavaScript® 并接受 cookie 的客户端设备浏览器。

http://technet.microsoft.com/en-us/library/hh831611.aspx

于 2013-10-04T20:17:19.713 回答
1

从上面的评论来看,不,这不安全。身份验证很棒,但也不允许运行任何命令 - 清理您的输入。

如果这是 Windows 域的一部分(它可能是),他无论如何也做不了太多 - 通过 IIS 执行的事情通常以没有管理员权限的本地用户身份运行。

底线

这就是远程桌面和Powershell 远程处理的目的。如果他有内部访问权限,请打开 Powershell Remoting。然后,他可以从安装了 Powershell 的任何其他域系统在该服务器上运行 Powershell。一般不要从 IIS 或 Apache 运行 shell 或 Powershell 命令。

于 2013-10-04T19:43:06.713 回答
1

只要知道,如果 cmd 能够被客户端看到,用户可以轻松地修改 cmd 并将错误的命令发送回服务器。我会说这通常不是一个好主意。

只要知道,即使通过登录等验证用户,它仍然是一个额外的风险。我会说添加一个调用的Web方法,然后触发命令运行,使其无法修改,只能激活。

于 2013-10-04T19:40:45.767 回答