Azure 应用服务 - 如何在端口 8172 上阻止 MsDeploy.axd

Azure App Service - How to block MsDeploy.axd on port 8172

我们在 Azure 中有一个应用服务 运行 托管一个网站。我们最近对网站进行了一次安全审查,发现其中一项是暴露了下面的端点。

https://<appName>.azurewebsites.net:8172/msdeploy.axd

建议应阻止此端点并使用白名单以允许有限访问(例如,部署到 Azure 的构建机器)。我如何阻止这个终点?

您可以在 Azure App Service access restrictions 中使用 IP 级别限制来允许有限的 IP 地址或 VNet 访问您的应用程序服务。在这种情况下,它将适用于您应用服务中的所有应用程序。

对于某些特定的端点访问控制,您可能需要在应用程序代码中使用访问授权来控制它。阅读 Tutorial: Authenticate and authorize users end-to-end in Azure App Service and Managing access to apps.

或者,您 select 使用 Application Gateway integration with service endpoints. In this case, you only want the front end to be accessible to your end-users. The back-end should be locked down so it is only callable from the front-end. Also the front end subnet support NSG, you could restrict the end-users with IP and port to access your front end, meanwhile, it will limit access to your endpoint. See Securing Back-end App Service Web Apps with VNets and Service Endpoints 了解更多详情。

希望对您有所帮助。

在与 Microsoft 支持讨论后,似乎已启用端口 8172 以向后兼容旧版本的 MsDeploy。此端口正在逐步淘汰,有时会打开,其他时间不会打开。

解决方法是让我们多次创建新的资源组、应用程序服务计划和应用程序服务,直到我们最终得到一个关闭了端口的服务器。这令人沮丧,但最终确实解决了问题。