我帮助我的同事编写了一个脚本,它改变了服务器的文件和结构,现在我的同事希望我添加一个链接到网站,让他从任何地方运行脚本。这对我来说听起来不是一个好主意,但我不能给他足够的细节来说服他。
我认为在网络上提供对此脚本的访问权限是完全错误的吗? 如果这不是一个坏主意,你会建议我从哪里开始?我应该注意哪种安全措施? 如果这是一个坏主意,你会如何谈论他呢? (他有点超过我,我的老板希望我帮助他)
答案 0 :(得分:3)
对我来说听起来不错。
如果您设置PowerShell Web Access,我认为您会变得更好并获得所有好处:
WindowsPowerShell®WebAccess,首先在WindowsServer®中引入 2012年,充当Windows PowerShell网关,提供基于Web的功能 面向远程计算机的Windows PowerShell控制台。它 使IT专业人员能够从中运行Windows PowerShell命令和脚本 Web浏览器中的Windows PowerShell控制台,没有Windows PowerShell,远程管理软件或浏览器插件 客户端设备上必需的安装。所有这一切都需要 运行基于Web的Windows PowerShell控制台是正确配置的 Windows PowerShell Web访问网关和客户端设备浏览器 它支持JavaScript®并接受cookie。
答案 1 :(得分:1)
请注意,如果能够在客户端看到cmd,用户可以轻松修改cmd并将错误命令发送回服务器。我想说这通常不是一个好主意。
要知道,即使通过登录等验证用户,它仍然是一个额外的风险。我想说要添加一个调用的web方法,然后触发命令运行,这样它就不能被修改,只能被激活。
答案 2 :(得分:1)
从上面的评论来看,不是不安全。身份验证很棒,但也不允许运行任何命令 - 清理输入。
如果这是Windows域(它可能是)的一部分,他无论如何也无法做多少事情 - 通过IIS执行的事情通常作为没有管理员权限的本地用户运行。
底线
这就是远程桌面和 Powershell Remoting 的用途。如果他有内部访问权限,请启用Powershell Remoting。然后,他可以从安装了Powershell的任何其他域系统在该服务器上运行Powershell。一般情况下,不要从IIS或Apache运行shell或Powershell命令。