配置 Azure SQL 服务器防火墙 - 是否允许所有 IP 连接一个危险信号?

Configuring Azure SQL Server firewall - is allowing all IP's to connect a red flag?

我刚刚创建了我的第一个 Azure SQL 服务器和数据库,现在正在尝试配置防火墙,以便我的 Web 应用程序可以连接并更改服务器上的单个数据库。

我看到您可以通过允许这样的规则来允许所有客户端连接:

但是这是不好的做法吗?我看到我的客户端 IP 地址列在 Azure 门户中,我可以澄清一下我现在应该只允许那个 IP 地址访问,然后当我将我的 Web 应用程序发布到 Azure 时,我将获得一个 IP 地址Web 应用程序存在并且仅限制对其的访问(假设人们只能通过我的前端应用程序更改数据库)。

谢谢

是的,这是不好的做法。他们必须通过其他层(例如,服务器登录),但这打开了前门,允许任何人在闲暇时挑选它。

如果您有一个 Web 服务器在某个服务器(您必须是)上托管您的 Web 应用程序,请将该服务器的 IP 地址列入白名单(出于 development/admin 目的,可能还有您自己的 IP 地址),但允许所有 IP 地址是不认为是好的做法,不。

您可能真正希望允许这样做的一种特殊情况是,如果您将桌面应用程序分发给必须连接到后端的未知客户端。在这一点上它变得非常诱人,但即便如此,推荐的做法(或者至少,我推荐的做法)是利用一个 Web 服务,该服务将在应用程序启动时接受应用程序注册,通过该服务临时注册客户端 IP ,然后有一个后台服务器(想想 WebJobs),它会刷新防火墙规则,比如每晚左右(或者对于更复杂的设置,接受超时注册并使用连续的 WebJob 轮询超时和 refresh/revoke 根据需要)