Azure App ServiceのFTP設定について
このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、Azure CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、Azure App ServiceでFTPデプロイメントが有効化されている場合のセキュリティリスクと、FTPSへの移行または完全無効化の手順を詳しく解説します。
ポリシーの説明
Azure App Serviceでは、デプロイメント方法としてFTP/FTPSプロトコルをサポートしていますが、暗号化されていないFTPプロトコルの使用は深刻なセキュリティリスクをもたらします。FTPはすべてのデータ(認証情報、ソースコード、設定ファイル)を平文で送信するため、ネットワーク上での傍受や改ざんの危険性があります。特にApp Serviceのデフォルト設定では”AllAllowed”が有効になっている場合があり、意図せずFTPを許可しているケースが多く見られます。本ポリシーは、FTPを無効化し、FTPSのみまたは完全に無効化することで、デプロイメントプロセスのセキュリティを確保することを目的としています。
修復方法
Azureポータルでの修復手順
Azureポータルを使用したFTP設定の変更手順:
- Azure Portalへのアクセス
- Azure Portal (https://portal.azure.com) にログイン
- 適切な権限(Contributor以上)を持つアカウントを使用
- App Serviceリソースの選択
- 左側のナビゲーションから「App Services」を選択
- 対象のApp Serviceインスタンスをクリック
- 構成設定への移動
- App Service管理ブレードの「設定」セクションから「構成」を選択
- 全般設定タブの選択
- 「構成」ページで「全般設定」タブをクリック
- FTP状態の設定変更

- 「プラットフォーム設定」セクションまでスクロール
- 「FTPの状態」ドロップダウンから以下のいずれかを選択:
- 無効(
Disabled):FTPとFTPSの両方を完全に無効化(最もセキュア) - FTPS のみ(
FtpsOnly):TLS暗号化されたFTPSのみを許可(推奨) すべて許可(:使用しないでください(セキュリティリスク)AllAllowed)
- 無効(
- 設定の保存と適用
- ページ上部の「保存」ボタンをクリック
- 確認ダイアログで「続行」を選択
- アプリケーションが再起動されることを確認
- 設定の検証
- 保存完了後、FTP状態が正しく設定されていることを確認
- すべてのデプロイメントスロットで同様の設定を適用
最後に
Azure App ServiceにおけるFTPの使用は深刻なセキュリティリスクをもたらします。この記事で紹介した手順により、FTPを無効化またはFTPSに制限し、デプロイメントプロセスのセキュリティを大幅に向上させることができます。
重要なポイント:
- 暗号化されていないFTPは決して使用しない
- 可能な限りFTPを完全に無効化し、代替手法を採用
- やむを得ずFTPSを使用する場合は追加のセキュリティ対策を実施
- 継続的な監査とモニタリングによる脅威の早期発見
この問題の検出と継続的な管理は、弊社が提供するSecurifyのCSPM機能で自動化できます。セキュリティポスチャーの改善と運用効率の向上を同時に実現する製品となっていますので、ご興味がある方はお問い合わせください。
最後までお読みいただきありがとうございました。この記事が皆さまのAzure環境のセキュリティ強化に役立てば幸いです。
参考情報
- Microsoft Learn – Azure App Serviceへのデプロイメント
- Azure App Service セキュリティのベストプラクティス
- Azure App Service ZIPデプロイメント
- Azure DevOps を使用した CI/CD
- GitHub Actions for Azure
- OWASP – 安全なファイル転送
- CIS Azure Foundations Benchmark v1.5.0
- NIST SP 800-52 Rev. 2 – Guidelines for the Selection and Use of TLS
- Azure App Service FTP/FTPS設定のセキュリティベストプラクティス