WinRM公开发布

我正在寻找WinRM的具体反馈。 还有一些关于是否在没有VPN的情况下公开发布RDP的争论就是一个好主意 – 没有关于是否公开提供SSH的争论是一个好主意,只要它被设置正确…

WinRM在这里适合什么地方:使用VPN,没有VPN等?

我曾经在某些场合使用过WinRM来暴露指标,而不使用VPN等等。 但是有一些安全考虑:

  1. 尝试运行winrm get winrm/config来查看当前的configuration情况。
  2. 确保WinRM使用有一个证书安装HTTPS的目的。 这必须进入Local Computer上的Personal存储(是 – 奇数命名)
  3. 通过执行winrm quickconfig -transport:https启用HTTPS

一旦传输得到保护,您需要启用客户端证书身份validation并禁用其他所有内容:

  1. 禁用的东西是这样做winrm set winrm/config/client/auth @{Digest="false"}
  2. 禁用Kerberos,摘要和其他任何东西。
  3. 使用winrm set winrm/config/client/auth @{Certificate="true"}启用证书authenticationwinrm set winrm/config/client/auth @{Certificate="true"}
  4. 我不记得是否需要winrm set winrm/config/client/auth '@{CredSSP="true"}才能正常工作 – 这可能是证书委派需要的。

这个效果很好,如果你信任Windows HTTP传输,Windows PKI基础设施和你有一个防火墙,可以让你过滤出明显的缺陷,这是一个很好的select。 如果你需要以编程方式收集东西,这是相当不错的。

现在,另一件事是:你能通过WinRM获得你想要的所有信息吗? 这并不容易回答。 我发现很多事情比你想象的要难得多。 我想在RAID控制器等地位,但这是很难的。 通过SSH使用RDP(只是可以肯定)仍然是我喜欢的方式,因为你增加了多function性。

总而言之,是的 – 你可以使用WinRM而不需要VPN等,但是你应该考虑一下,如果最终你得到了你想要的。

编辑:比较使用WinRM与SSH可能不完全有用 – 至less从function包的angular度来看。 使用SSH,你可以得到任何东西,如果你准备写东西,收集你想要的信息。 从这个意义上说,WinRM不那么灵活。 安全方面,但是,如果你正确地locking的东西,这是完全可能的,恕我直言。

不是Windows的家伙,所以我不能说太多的WinRM细节。

但底线是,像ssh或winrm这样的任何远程访问服务都有风险和收益。 从我可以告诉他们提供大致类似的function。 如果他们提供类似的AAA级别,那么你可以在你的安全态势中同样对待他们。 例如,如果WinRM使用https证书进行身份validation,但是openssh允许通过线路发送密码(一种可能的configuration),WinRM的AAA可能更好。

每项服务的特权是否有限? 例如,在Linux上,你可以运行selinux,这样入站的ssh连接只能执行某些操作。

你还应该考虑你对不同的供应商/实现有多信任。 你期望在openssh&* nix中看到可远程利用的错误比在Windows中多或less? 试图说出来,以免成为一个巨魔 – 这显然是一个加载的问题。 但是这个问题是非常现实的。

至于安全的具体情况应该是什么……有些人在22端口公开使用ssh,有些人需要一个VPN才能连接。 有些人通过默默无闻的方式使用安全性,将ssh放在222端口而不是22端口。

有些人拥有允许连接哪些IP的白名单。 您可以在sshd或iptables中进行白名单。 在Windows上,在Windows防火墙,或可能在WinRM本身? 有很多的可能性。

WinRM能够使用HTTPS传输,并且如果您的机器已经在域中并且已经拥有企业证书 ,那么它应该是正常工作。