在面向 Internet 的机器上启用 WinRM / PSRemoting 有多安全?

Leo*_*iet 6 networking security powershell

从 Internet 访问生产服务器的远程 Powershell(又名 PSRemoting)端点有多安全?
我们不是银行或其他任何东西,但服务器确实保存敏感的公司数据。

我打算通过以下方式保护它:

  • 使用 IP 过滤仅接受来自我们自己的公共 IP 范围的连接,以便我们可以从我们网络的另一部分对其进行管理。
  • 让端点只接受 SSL 连接
  • 仅允许来自具有复杂密码(~150 位熵)的有限用户集的连接
  • 使用LanguageMode设置为的 PSSessionConfiguration NoLanguage,以便只能执行脚本
  • 要求所有以这种方式执行的 Powershell 脚本都经过签名 ( Set-ExecutionPolicy RemoteSigned)

另一方面:

  • 远程脚本将在本地管理员帐户下执行
  • 对它可以调用的 Cmdlets/模块没有限制。
  • 我怀疑 WinRM 服务(使 PSRemoting 成为可能)足够安全,可以暴露在互联网上(Azure VM 默认有这个),但我没有证据证明这一点。

所以,我想我的问题是:这是“安全的”,还是我在这里遗漏了攻击媒介?

顺便说一下,我的大部分信息都来自Powershell remoting的免费电子书Secrets

Kel*_*ari 4

一般来说,您永远不应该开放从互联网到生产服务器的任何内容,除非它是您希望公众使用的服务。如果机器是网络服务器,则只应开放端口 80。如果防火墙没有向其开放其他端口,那么攻击者就无法进入。

VPN 将是最好的解决方案,要求用户进行身份验证,然后只能从内部访问生产系统。VPN 比任何其他方法都更加灵活和安全。