1. システム概要とアーキテクチャ定義
-
1.1 全体システム構成図
- (VNet、Bastion、VM、ACR の配置図)
-
後で図化
・開発環境 - インターネットより、Azure bastionを経由してAzureVm(windows)へリモートデスクトップする - AzureVm(windows)ではコンテナ上でアプリを稼働させる - コンテナイメージは内部のコンテナレジストリから取得する ・検証環境 - インターネットよりHTTP接続し、Azurevm(Linux)でdify entra id認証を行う - AzureVm(Linux)ではコンテナ上でアプリを稼働させる - コンテナイメージは内部のコンテナレジストリから取得する - 検証環境には、プライベートネットワークを介して開発環境からアクセス可能
-
1.2 環境定義と通信フロー
- 開発環境(Bastion 経由 RDP、コンテナ稼働)
- 検証環境(HTTP 経由 Dify 利用、Entra ID 認証)
- 内部連携(開発 VNet⇔ 検証 VNet 間の許可された通信)
-
1.3 ネットワーク境界定義
- インターネット境界(上に限ったInbound のみ許可。他遮断)
- セグメント間境界(NSG による開発・検証間の最小権限アクセス)
2. 保護対象資産の特定
-
2.1 情報資産
- Dify ナレッジデータ(機密性:高)
- ユーザー認証情報(Entra ID トークン、VM 管理者 ID)
- コンテナイメージ・ソースコード(知的財産)
-
2.2 重要機能
- Dify アプリケーションの応答機能(可用性)
- 開発環境の作業継続性
3. 脅威分析(リスクアセスメント)
-
3.1 外部からの攻撃シナリオ
- [cite_start]不正アクセス: Bastion や Web 公開部に対する総当たり攻撃、脆弱性悪用 [cite: 160]
- なりすまし: Entra ID 認証の突破、セッションハイジャック
- [cite_start]DoS 攻撃: 認証基盤や Web エンドポイントへの負荷攻撃 [cite: 178]
-
3.2 内部・サプライチェーンの脅威
- ラテラルムーブメント: 開発環境を踏み台とした検証環境への侵入
- 汚染イメージの混入: 脆弱性やマルウェアを含むコンテナイメージの展開
- 内部不正: 開発者によるデータの持ち出し
4. テクニカルセキュリティ対策要件
本資料の「3.2 セキュリティ対策の検討」および IPA「クラウドセキュリティガイドライン」を統合
-
4.1 アイデンティティとアクセス管理 (IAM)
- Entra ID 設計: 条件付きアクセス(社内 IP 制限、デバイス認証)、多要素認証(MFA)の強制
- 特権 ID 管理: VM 管理者アクセスの Just-In-Time (JIT) VM Access 利用検討
- Managed Identity: VM から ACR/KeyVault へのパスワードレス接続
-
4.2 ネットワークセキュリティ
- Azure Bastion: NSG による接続元 IP 制限、標準 SKU を用いた運用
- NSG 設計: Outbound Deny All 設定と、Azure 基盤通信(AzurePlatformDNS 等)のみの許可
- Private Link: ACR および Key Vault へのプライベートエンドポイント接続
-
4.3 コンピューティング・コンテナ保護
- OS 堅牢化: 不要サービスの停止、CIS Benchmark 等の適用
- コンテナセキュリティ: 特権コンテナ(Privileged)の禁止、ReadOnly Root Filesystem の検討
-
4.4 データ保護と暗号化
- 保存データの暗号化: Managed Disk の暗号化(ADE/SSE)
- [cite_start]通信の暗号化: HTTPS(TLS 1.2 以上)の強制 [cite: 207]
- [cite_start]鍵管理: Azure Key Vault を用いた証明書・シークレットの一元管理とアクセス制御 [cite: 1121]
5. セキュアな運用・保守プロセス(閉域網対応)
-
5.1 安全な資材搬入・更新プロセス(Secure Import Pipeline)
- コンテナイメージ搬入: 検疫済みレジストリから ACR へのインポート手順
- OS パッチ適用: オフライン WSUS 構築またはイメージ再作成(Immutable Infrastructure)方式の採用
-
5.2 脆弱性管理
- スキャン: ACR Upload 時の脆弱性スキャン(Defender for Cloud 等)の実施
- 対応フロー: 検知された脆弱性の修正と再デプロイの流れ
-
5.3 ログ監視と監査
- 監査ログ: Entra ID サインインログ、ACR アクセスログの保存
- 操作ログ: Bastion のセッション録画または操作ログの取得
6. 可用性と災害復旧 (BCP)
本資料の脅威分析における「可用性の侵害」への対策
-
6.1 バックアップ計画
- VM イメージおよびデータディスクのバックアップ頻度と保存先(Azure Backup)
-
6.2 復旧手順
- 障害時の切り戻し手順、再構築手順
7. 付録:設定詳細・チェックリスト
-
7.1 暗号技術利用チェックリスト (本資料「付録 C」準拠)
- [cite_start]採用する TLS バージョン、暗号スイート、鍵長の定義 [cite: 1459]
-
7.2 ネットワークアクセス制御リスト (ACL)
- NSG ルール詳細定義書
以下に、Azure VM における代表的なセキュリティ対策を 5 つの主要なカテゴリに分けて解説します。
1. ネットワークセキュリティ(侵入を防ぐ)
外部からの不正アクセスを防ぐ、最も基本的かつ重要なレイヤーです。
-
Network Security Groups (NSG) の適用
- 概要: ファイアウォールのような機能で、通信の許可/拒否を制御します。
- 対策: 不要なポートは全て閉じ、必要なポート(Web サーバーなら 80/443 など)のみを許可します。インターネット全体(Any)からの接続許可は極力避けます。
-
Azure Bastion の利用(管理ポートの保護)
- 概要: ブラウザ経由で安全に VM へ RDP/SSH 接続するサービスです。
- 対策: VM にパブリック IP アドレスを付与せず、管理ポート(3389/22)をインターネットに公開しないようにします。これにより、総当たり攻撃(ブルートフォース攻撃)を無効化できます。
-
Just-in-Time (JIT) VM Access
- 概要: 必要な時だけ、必要な時間だけ管理ポートを開放する機能です(Microsoft Defender for Cloud の一部)。
- 対策: 常時ポートを開けておくリスクを排除します。
2. ID とアクセスの管理(権限を絞る)
誰が VM を操作できるかを厳密に管理します。
-
RBAC (ロールベースのアクセス制御)
- 概要: ユーザーやグループごとに、必要な権限のみを付与する仕組みです。
- 対策: 全員に「所有者」権限を与えるのではなく、運用担当者には「仮想マシン共同作成者」などを付与し、最小特権の原則を徹底します。
-
マネージド ID (Managed Identity) の活用
- 概要: VM 自体に Azure AD(Entra ID)上の ID を持たせる機能です。
- 対策: アプリケーションコード内に接続文字列やパスワードをハードコーディング(直書き)する必要がなくなり、クレデンシャル漏洩のリスクを防ぎます。
3. ホストと OS のセキュリティ(脆弱性を塞ぐ)
VM 内部および OS レベルでの対策です。
-
更新プログラムの管理 (Azure Update Manager)
- 概要: Windows/Linux のセキュリティパッチ適用を管理します。
- 対策: OS の脆弱性を放置しないよう、定期的なパッチ適用を自動化または一元管理します。
-
マルウェア対策 (Microsoft Defender for Servers)
- 概要: 旧 Azure Defender。ウイルス対策や EDR(脅威検知と対応)機能を提供します。
- 対策: 不正なプロセスや怪しい挙動を検知し、アラートを発報・ブロックします。
-
Trusted Launch (信頼された起動)
- 概要: 第 2 世代 VM で利用可能な、ブートキットやルートキットを防ぐ機能です。
- 対策: セキュアブートや vTPM を利用して、OS 起動時の改ざんを防ぎます。
4. データの保護(情報を守る)
万が一侵入された場合や、物理ディスクが盗難された場合に備えます。
-
Azure Disk Encryption (ADE)
- 概要: OS ディスクおよびデータディスクを暗号化します(Windows は BitLocker、Linux は DM-Crypt を使用)。
- 対策: 仮想ハードディスクファイル自体が流出しても、データの中身を読み取れないようにします。
-
Azure Backup
- 概要: VM 全体のバックアップを取得します。
- 対策: ランサムウェア感染やデータ破損時に、正常な状態へ素早く復元できるようにします。
5. 可視化と統制(状況を把握する)
セキュリティの状態を常に監視し、設定ミスを防ぎます。
-
Microsoft Defender for Cloud (CSPM)
- 概要: 環境全体のセキュリティスコアを可視化し、推奨事項(レコメンデーション)を提示します。
- 対策: 「管理ポートが開いています」「ディスクが暗号化されていません」といった設定ミスを自動的に指摘してくれるため、これに従って修正することでセキュリティレベルを維持できます。