検証環境を用いた 2019/05/17 時点の情報となります。記載している内容については、保証するものではないため、参考レベルで確認ください。
違いを明確にするために Web App for Container (Linux) と記載しています。
昨日の続きとなります。
Azure App Service として提供されている Web App for Container (Linux) は、PaaS として提供されています。組み込みイメージの場合、Azure 側で OS およびアプリケーション スタックが自動的に管理されることを意味していますが、解放しているポート番号についても同様に Azure 側で管理しており、利用者から特定のポートを解放、ブロックすることができません。
また、Azure データセンターのセキュリティは十分に確保されているとは言え、Web App for Containers (Linux) を利用する際どのポートが解放されているかどうかについては気になる部分かと思い、検証環境で確認できるものについて、Zenmap (nmap の GUI ツール) 確認してみました (28 リージョン)。
App Service プランの SKU を “Basic (B1)”、アプリケーション ランタイム スタックを “.Net core 2.2” の組み込みイメージを用いた Web App for Containers (Linux) で確認しています。すべての SKU やアプリケーション ランタイム スタックから確認しているわけではないため、場合によっては異なる可能性があります。予めご認識ください。
2019/06/26 追記
FTP / FTPS で使用するポート (TCP 21 / 990 / 10001 ~ 10020) に関しては、Web Apps 自体ではなく、スケール ユニット側となるため対象外としています。
FTP / FTPS で使用するポート (TCP 21 / 990 / 10001 ~ 10020) に関しては、Web Apps 自体ではなく、スケール ユニット側となるため対象外としています。
リージョン | TCP 80 | TCP 443 | TCP 454 | TCP 455 | TCP 1221 | TCP 4020 | TCP 4022 | TCP 4024 | TCP 7654 | TCP 8172 | |
---|---|---|---|---|---|---|---|---|---|---|---|
東日本 | japaneast | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
西日本 | japanwest | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
東アジア | eastasia | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
東南アジア | southeastasia | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
韓国中部 | koreacentral | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
韓国南部 | koreasouth | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
オーストラリア東部 | australiaeast | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
オーストラリア南東部 | australiasoutheast | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
インド西部 | westindia | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
インド中部 | centralindia | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
インド南部 | southindia | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
米国西部 | westus | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
米国西部 2 | westus2 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
米国中西部 | westcentralus | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
米国中南部 | southcentralus | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
米国中部 | centralus | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
米国中北部 | northcentralus | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
米国東部 | eastus | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
米国東部 2 | eastus2 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
カナダ中部 | canadacentral | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
カナダ東部 | canadaeast | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
ブラジル南部 | brazilsouth | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | – | – |
英国西部 | ukwest | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
英国南部 | uksouth | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
フランス中部 | francecentral | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
西ヨーロッパ | westeurope | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
北ヨーロッパ | northeurope | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
南アフリカ北部 | southafricanorth | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
なお、HTTP / HTTPS で使用されるポート 80 / 443、Visual Studio からデプロイする際に使用されるポート 4020 / 4022 / 4024 以外のポートについては、公開ドキュメントに確認記載されているわけではないため、内部での使用、非推奨扱いとなっているものと思われます。状況によっては、ブロックされる可能性もあるので、使用は控えたほうがが賢明と思います。
補足
- TCP 80 : HTTP 通信用として使用される
- TCP 443 : HTTPS 通信用として使用される
- TCP 454 : App Service Environments を管理および維持するために Azure インフラストラクチャで使用される (RC4 ciphers は 2015/08 で終了しているため、現在は利用されていないと思われる)
- TCP 455 : App Service Environments を管理および維持するために Azure インフラストラクチャで使用される (RC4 ciphers は 2015/08 で終了しているため、現在は利用されていないと思われる)
- TCP 1221 : lookup サービス、および内部管理用として使用される
- TCP 4020 : Visual Studio 2015 でのリモート デバッグで使用される
- TCP 4022 : Visual Studio 2017 でのリモート デバッグで使用される
- TCP 4024 : Visual Studio 2019 でのリモート デバッグで使用される
- TCP 7654 : メタデータ エンドポイントとして内部サービスで使用される
- TCP 8172 : WebDeploy サービスで使用される (レガシー)
参考
- Web App Service | Microsoft Azure
https://azure.microsoft.com/ja-jp/services/app-service/web/ - 構成に関する FAQ – Azure App Service | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/app-service/faq-configuration-and-management - デプロイに関する FAQ – Azure App Service | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/app-service/faq-deployment - アプリケーションのパフォーマンスに関する FAQ – Azure App Service | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/app-service/faq-availability-performance-application-issues#why-does-my-request-time-out-after-230-seconds - Azure のセキュリティのベスト プラクティスとパターン | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/security/security-best-practices-and-patterns - セキュリティの概要 – Azure App Service | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/app-service/overview-security - Azure – Inside the Azure App Service Architecture
https://msdn.microsoft.com/en-us/magazine/mt793270.aspx - Port 1221
https://social.msdn.microsoft.com/Forums/en-US/dd5a41c1-6b42-475e-8792-18d9aeb52fae/port-1221?forum=windowsazurewebsitespreview - Open ports for Web Apps
https://social.msdn.microsoft.com/Forums/en-US/c9bcfc43-b962-47ef-a856-36bf5f9e9bdd/open-ports-for-web-apps?forum=windowsazurewebsitespreview - Port 4024 – Issue #18379 – MicrosoftDocs/azure-docs – GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/18379
※App Service Environment (ASE) については、こちらの情報を参照ください。
- App Service 環境への受信トラフィックを制御する – Azure | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/app-service/environment/app-service-app-service-environment-control-inbound-traffic - App Service Environment の送信トラフィックのロックダウン – Azure | Microsoft Docs
https://docs.microsoft.com/ja-jp/azure/app-service/environment/firewall-integration - ※Azure WebSite の情報となります。
Azure Websites Port 454 and 455 – Insecure SSL
https://social.msdn.microsoft.com/Forums/azure/en-US/66d1fd5f-4384-4568-bf96-8a0b57033c07/azure-websites-port-454-and-455-insecure-ssl?forum=windowsazurewebsitespreview - What’s listening on port 454 and 455 in Azure? Warning flagged by security scan – Stack Overflow
https://stackoverflow.com/questions/27807505/whats-listening-on-port-454-and-455-in-azure-warning-flagged-by-security-scan