【Azure 應用服務】探索在Azure上設定禁止任何人訪問App Service的預設域名(Default URL)

路邊兩盞燈發表於2021-12-31

問題描述

總所周知,Azure App Service服務會預設提供一個 ***.chinacloudsites.cn為字尾的域名,但是該域名由上海藍雲網路科技有限公司備案,僅用於向其客戶提供 Azure 服務。

【Azure 應用服務】探索在Azure上設定禁止任何人訪問App Service的預設域名(Default URL)

 

 

而如果不進行ICP備案,任何通過公網流量訪問預設域名都會被封堵。因為Azure後臺會根據對預設域名的請求次數和頻率自動掃描,如果被掃中,就會被封堵。所以為了避免這樣的情況,所以需要禁止任何人使用預設域名訪問!

問題分析

方式一:使用IIS的rewrite規則,發現訪問的時預設域名,返回403

修改App Service wwwroot根目錄中的web.config檔案(如沒有,可以直接複製下文內容,新建web.config檔案)

  <system.webServer>
              <rewrite>
                  <rules>
                    <rule name="Disable Azure Domain" patternSyntax="Wildcard" stopProcessing="true">
                      <match url="*" />
                      <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{HTTP_HOST}" pattern="*.chinacloudsites.cn" />
                      </conditions>
                      <action type="CustomResponse" statusCode="403" />
                    </rule>
                  </rules>
                </rewrite>
  </system.webServer>

修改後效果:

【Azure 應用服務】探索在Azure上設定禁止任何人訪問App Service的預設域名(Default URL)

 

 

方式二:使用應用程式閘道器,保護後端App Service

1)建立應用程式閘道器,按照教程把閘道器的後端池設定為App Service (又名 Web App)

 

教程:將應用服務新增為後端池:https://docs.azure.cn/zh-cn/application-gateway/configure-web-app-portal#add-app-service-as-backend-pool

 

2)回到App Service頁面,進入Network網路設定頁面,在限制訪問中,配置只允許應用程式閘道器的IP地址進行訪問。

注意:此時,自定義域名就不是繫結在App Service上,而是通過A記錄的方式,在DNS伺服器配置上指向應用程式閘道器的IP地址。

【Azure 應用服務】探索在Azure上設定禁止任何人訪問App Service的預設域名(Default URL)

 

 驗證效果:

【Azure 應用服務】探索在Azure上設定禁止任何人訪問App Service的預設域名(Default URL)

 

 

 

參考資料

Rewrite配置資訊https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/url-rewrite-module-configuration-reference#rewrite-rule-configuration

將應用服務新增為後端池https://docs.azure.cn/zh-cn/application-gateway/configure-web-app-portal#add-app-service-as-backend-pool

設定 Azure 應用服務訪問限制https://docs.azure.cn/zh-cn/app-service/app-service-ip-restrictions

相關文章