我正在寻找有关 WinRM 的具体反馈。有 ::still:: 关于在没有 VPN 的情况下公开 RDP 是否是一个好主意的争论——没有关于公开 SSH 是否是一个好主意的争论,只要它已设置正确...
WinRM 在这一点上适合什么:与 VPN 一起使用、无 VPN 等?
我正在寻找有关 WinRM 的具体反馈。有 ::still:: 关于在没有 VPN 的情况下公开 RDP 是否是一个好主意的争论——没有关于公开 SSH 是否是一个好主意的争论,只要它已设置正确...
WinRM 在这一点上适合什么:与 VPN 一起使用、无 VPN 等?
不是 Windows 人,所以我不能对 WinRM 的细节说太多。
不过,底线是任何远程访问服务,如 ssh 或 winrm,都有风险和好处。据我所知,它们提供了大致类似的功能。如果它们提供相似级别的 AAA,那么您可能会在安全状态中对它们进行类似处理。例如,如果 WinRM 使用 https 证书进行身份验证,但 openssh 允许通过网络发送密码(一种可能的配置),那么 WinRM 的 AAA 可能会更好。
每项服务的权限是否受到限制?例如,在 Linux 上,您可能会运行 selinux,以便入站 ssh 连接只能执行某些操作。
您还应该考虑您对不同供应商/实施的信任程度。您是否希望在 openssh 和 *nix 中看到比在 Windows 中更多或更少的远程可利用漏洞?试图这样说以免成为巨魔 - 这显然是一个加载的问题。但这个问题非常现实。
至于具体的安全状态应该是什么......有些人在端口 22 上打开 ssh,有些人需要 VPN 才能连接。有些人通过默默无闻使用安全性并将 ssh 放在端口 222 而不是端口 22 上。
有些人有一个允许连接哪些 IP 的白名单。您可以在 sshd 或 iptables 中加入白名单。在 windows 上,在 windows 防火墙中,或者可能在 winrm 本身中?有很多可能性。
我曾在某些情况下使用 WinRM 来公开指标——不使用 VPN 等。但是有一些安全方面的考虑:
winrm get winrm/config
以查看当前的配置情况。Personal
商店Local Computer
(是的 - 奇怪的命名法)winrm quickconfig -transport:https
一旦传输安全,您需要启用客户端证书身份验证并禁用其他所有内容:
winrm set winrm/config/client/auth @{Digest="false"}
。winrm set winrm/config/client/auth @{Certificate="true"}
winrm set winrm/config/client/auth '@{CredSSP="true"}
让事情正常工作 - 凭证委托可能需要它。这很好用,如果您信任 Windows HTTP 传输、Windows PKI 基础结构,并且您有一个防火墙可以过滤掉明显的恶意,那么这是一个很好的选择。如果您需要以编程方式收集东西,那就太好了。
现在,另一件事是:您能否通过 WinRM 获得所需的所有信息?这并不容易回答。我发现有很多事情比你想象的更难做到。我想要 RAID 控制器等的状态,但这充其量是困难的。在 SSH 上使用 RDP(只是为了确定)仍然是我最喜欢的方式,因为您可以获得更多的多功能性。
总之,是的——你可以在没有 VPN 等的情况下使用 WinRM,但你应该考虑它最终是否能得到你想要的。
编辑:将 WinRM 与 SSH 的使用进行比较可能并不完全有用——至少从功能包的角度来看。使用 SSH,如果您准备编写一些东西来收集您想要的信息,那么您可以获得任何东西。从这个意义上说,WinRM 的通用性较差。但是,在安全方面,恕我直言,如果您正确锁定事物,这两者都很好,这是完全可能的。
WinRM 能够使用 HTTPS 传输,如果您的计算机在域中并且已经有您的企业证书,那么它应该可以正常工作。