前言
我是一名开发人员,因此网络安全实际上不是我的职责。但是,解决问题是我的职责,而且我有一个问题需要帮助。
另外,如果我对任何技术术语有误,请原谅我。我可以很好地谈论开发,但我不能很好地谈论网络安全。
当前解决方案
我的公司使用运行 Windows Server 2012 R2 Datacenter 的 Azure VM。该服务器同时运行 SQL Server 和 Oracle 的实例(不确定版本号)。
目前,如果我想连接到其中任何一个数据库实例,我需要通过 RDP 进入 Windows 服务器,打开SSMS
或SQL Developer
,然后连接到本地主机。
期望的解决方案
我希望能够通过安装在本地机器上的数据库客户端连接到数据库服务器。
我不想使用 RDP,因为这意味着我们必须共享一个 RDP 插槽。
注意事项
我认为我们使用 RDP 解决方案的原因是,设置服务器的人不知道如何配置防火墙以允许我们做我们需要做的事情。
该服务器并未完全与互联网隔绝。显然,RDP 端口是开放的,而且我们可以通过 Visual Studio 将 Web 应用程序发布到该服务器上。它上面确实有面向互联网的网站。这些似乎是大量很好的攻击媒介。
问题
将 SQL Server 和 Oracle 端口开放到互联网有多糟糕?
- 它们是否比 RDP 和 HTTP 更容易受到攻击?
我们应该如何配置服务器以允许开发人员通过本地机器连接到数据库?
VPN 是一个好的解决方案吗?我不想走这条路,因为我曾经使用过的每个 VPN 客户端都很麻烦。我也不想给我的开发人员同事带来不必要的麻烦。
我们是否可以配置服务器的防火墙以将从办公室 IP 移植的 DB 上的入站连接列入白名单?
- 这样就可以排除在家工作的人连接到服务器,但他们始终可以通过 VPN 进入办公室网络(此时必要之恶)。
答案1
How bad is it to have SQL Server and Oracle ports open to the Internet?
- 好吧,这主要基于个人观点,但足以说明您将有两个额外的攻击媒介需要担心。您对 SQL Server 和 Oracle 的安全保护有多了解?
How should we configure the server to allow developers to connect to the databases via their local machines?
- 如果必须这样做,则需要配置 Azure NSG(网络安全组)以允许连接到 SQL Server 和 Oracle仅有的来自您的特定 IP 地址或 IP 地址,即仅来自您办公室流量来源的公共 IP 地址。这将有效地将对 SQL Server 和 Oracle 的访问限制为仅来自您办公室的连接。
答案2
我们应该如何配置服务器以允许开发人员通过本地机器连接到数据库?
Vms 是否在 VNET 上?我猜是的,如果是这种情况,但您不想使用站点到站点 VPN,您是否考虑过从开发人员 PC 配置点到站点 VPN 连接?点到站点连接很容易设置。Microsoft 甚至允许您下载已配置的 VPN 客户端,这样您就不必费心设置这方面的东西了。它还有一个额外的好处,就是您不需要打开 SQL 端口到互联网。
您可以在这里找到详细信息:
或者在这里观看精彩视频:
https://www.youtube.com/watch?v=g8m2MAhO_I8
我们是否可以配置服务器的防火墙以将从办公室 IP 移植的 DB 上的入站连接列入白名单?
是的,如果这些是 ASM VM,您可以配置端点 ACL 来限制对某些 IP 地址和范围的访问,并且对于 ASM 和 ARM VM,您可以配置网络安全组 (NSG),它也可以根据 IP 地址和端口限制访问。
希望这可以帮助。