是否可以删除弱密码或编辑托管在 Azure 上的 Web 应用程序的注册表设置?

Is it possible to remove weak Ciphers or edit registry settings on Web Applications hosted on Azure?

我们的安全团队报告使用了弱密码,即使我们在网络应用程序上使用 TLS 1.2 配置也是如此。我想清楚地了解弱密码套件以及我们如何从 TLS 1.2 配置中删除弱密码,因为我们可以在扫描站点上看到所有弱密码的详细信息。由于 Azure functions\web 应用程序是一项托管服务,有没有办法禁用它们或者是否可以修改应用程序的注册表设置?

对于 Azure Web 应用,目前不支持从请求中删除密码套件。无法在本文档中看到的 Web 应用程序的注册表设置中进行任何配置更改 - https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#writing-to-registry

为了获得高安全性,您只能将 TLS 设置设置为 1.2,并且与客户端协商请求使用他们都拥有的任何密码,因此默认情况下,客户端通常会使用其中一个不弱的密码。许多 Azure 客户反馈了对 remove/disable 不安全密码的功能请求,但到目前为止,只有 RC4 在整个服务中被禁用 - https://feedback.azure.com/forums/169385-web-apps-formerly-websites/suggestions/7091994-disable-insecure-ciphers-in-azure-websites?page=2&per_page=20,尽管 Microsoft 一直在审查密码套件。

目前,有 3 种可能的方法来删除弱密码:

  1. 应用服务环境 - 这使您可以通过 Azure 资源管理器设置自己的密码 - https://docs.microsoft.com/en-us/azure/app-service/environment/app-service-app-service-environment-custom-settings#change-tls-cipher-suite-order. I reproduced this and found out that it is possible to set your own ciphers or change the cipher suite order by modifying the clusterSettings in https://resources.azure.com/.

  2. 使用 Azure FrontDoor – 您可以通过 Azure 门户在自定义域 HTTPS 设置中的 Azure Front Door 中配置最低 TLS 版本。配置 TLS1.2 后,仅支持以下强密码套件: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256。 您可以在此处找到更多相关信息 - https://docs.microsoft.com/en-us/azure/frontdoor/front-door-faq#tls-configuration.

  3. 使用应用程序网关 – 这使您可以指定适合组织安全要求并有助于满足合规性要求的中央 TLS 策略。 TLS 策略包括对 TLS 协议版本以及密码套件的控制以及 TLS 握手期间使用密码的顺序,如本文档所示 - https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-ssl-policy-overview.