我想通过互联网公开我的 SQL Server 实例。我已经为 SQL Server 编写了 asp.net 程序很长时间了,但这是我第一次自己托管 SQL Server,而不是客户端服务器。所以我想做的是将我的 SQL Server 从我家里的开发机器移动到虚拟服务器(尚未雇用)。但我当然不希望任何人进入我的 SQL Server,只允许少数人进入。所以我当时的想法是只允许少数 IP 地址进入 SQL Server 实例。
有人能告诉我如何将我的 SQL 服务器暴露给互联网并将对实例的访问限制为仅几个 IP 地址吗?嗯,如果你知道更好的保护方法,我会很高兴,因为这是我第一次这样做 :)
米歇尔
答案1
您可以使用 IPsec 或 Windows 防火墙来执行此操作。
Windows 的版本将决定您如何执行此操作。较新的版本(例如 Windows Server 2008 和 2008 R2)通过控制面板中的 Windows 防火墙公开此功能。
您需要确保 SQL Server 正在监听固定端口号,然后通过配置防火墙规则来控制对该端口的访问,以仅允许特定的 IP 地址(或子网)连接。
我对在 Windows Server 2003 上运行的 SQL 2000 集群做了类似的事情。在这种情况下,我们编写了一大堆 IPsec 规则,以允许只有特定的机器能够连接到 SQL 端口。
答案2
安装一些SSH 服务器在盒子上,然后使用油灰或任何其他 ssh 客户端,隧道 SQL 服务器端口通过 SSH 连接。将服务器的防火墙设置为仅允许 SSH 连接。
客户端将使用 SSH 隧道到达服务器。
另一种选择是使用某种 VPN,但对于少数人来说,SSH 方法更好。
答案3
您可以安装 ISA 2006 服务器,为 SQL 创建服务器发布规则,然后允许从互联网访问某些 IP。对我来说,这是最安全的方法,因为您不会将 SQL 服务器直接暴露在互联网上。相反,ISA 服务器的外部 IP 是暴露给外界的 IP。此外,ISA 还充当防火墙。我已经在我的商店中实施了此方法,一切运行正常。
尤金