4

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

我看到您可以通过允许以下规则来允许所有客户端连接: 在此处输入图像描述

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

谢谢

4

1 回答 1

6

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

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

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

于 2016-03-24T15:53:43.603 回答