保护 Windows Server 2012 的 Windows 防火墙连接

保护 Windows Server 2012 的 Windows 防火墙连接

我在非域环境中的 Amazon EC2 上拥有 Windows Server 2012。

我需要远程桌面进入它并连接到其上运行的 Microsoft SQL 服务器实例。

除了在 Windows 防火墙中打开这些端口外,我还想使其更安全。我无法将连接限制到特定 IP,因为我有来自 ISP 的动态 IP 地址。

我考虑的是使用客户端计算机和服务器上都存在的东西作为连接的必要条件。也许是某种 SSL 证书?

我在 Windows Server 2003 中发现了这一点:http://www.alkia.net/index.php/faqs/106-how-to-secure-remote-desktop-connections-using-tls-ssl-based-authentication这似乎与我所寻找的类似,但它假设正在使用活动域环境,并且仅涵盖远程桌面,而不是通过防火墙的任何连接。此外,Windows Server 2012 上甚至不存在用于终端服务配置的 GUI。

我看到 Windows Server 2012 中任何防火墙规则的“常规”选项卡上都有一个选项“如果连接安全则允许”,可以启用并进一步配置。在“高级安全 Windows 防火墙”下还有“连接安全规则”文件夹。我怀疑我正在寻找的内容与这两个选项有关,但我不确定它们如何协同工作。

我试图实现的目标在非域环境中是否可行?是否有关于如何为 Windows Server 2012 进行设置的分步指南?

答案1

恕我直言,迄今为止最快捷、最简单的解决方案是使用仅使用传输模式和基于证书的身份验证的 IPSec 设置。

这将允许您仅从特定的笔记本电脑(或安装自定义证书的任何地方)连接到服务器的公共 IP。

VPN 很棒,但如果您需要的只是传输模式,那么它就太过分了 - 大多数 VPN 指南都假设需要设置隧道,而这对于您的使用情况来说是太过分了。

如果我要这么做:

  1. 在服务器和工作站上创建本地自签名证书。
  2. 在服务器上导入工作站证书,反之亦然。它们需要位于受信任的根存储中。
  3. 使用证书身份验证,为端点 1 创建连接安全规则,设置“任何远程 IP”和为端点 2 创建“您的服务器 IP”。这将允许服务器选择性地使用 IPSec。您的工作站上也需要设置相同的规则。
  4. 使用“如果连接安全则允许”选项在服务器上创建 Windows 防火墙规则。我会从单一协议(例如远程桌面)开始。您可以稍后扩展它。

笔记可能有几个 AWS 特定步骤(例如需要打开的端口)我还没有介绍。您可能需要启动一个测试实例来尝试一下。

答案2

您所指出的文章不一定仅适用于域环境。如最后所述:

本文介绍的步骤假设您在 Active Directory 域环境中运行终端服务,并且还运行您自己的基于 Microsoft 的 PKI。但需要注意的是,这并不是要求,只要您关注计算机需要信任 CA 层次结构时的安全性即可。

但是,正如您所说,它只会保护您的 RDP 连接。

我猜 VPN 是一个显而易见的解决方案,但既然你没有提到它,我猜这不是你想要的。你可以使用以下一个或多个方法来减少攻击面:

  • 港口敲门。这是一个很好的资源。
  • 询问您的 ISP 他们拥有的地址块,仅将这些地址添加到防火墙规则中的源地址将大大减少试图攻击您服务器的脚本小子的数量。他们可能不会向您提供此信息,在这种情况下,您必须自己确定范围。
  • 更改公开服务的默认端口。这也能减少很多自动攻击。

尽管其中一些选项只是通过隐蔽性来实现安全性,但它们仍然比没有要好,并且当一起使用时可以形成一层很好的防御层。

相关内容