Windows Azure Pack の更新プログラムロールアップ 13 のポータル UI の制限をバイパスする特定のシンボルのスクリプト 挿入

現象

Windows Azure Pack (WAP) の更新プログラムロールアップ 13 にセキュリティの脆弱性が存在し、これにより、特定のシンボルのスクリプト インジェクションがポータル UI の制限をバイパスします。 ポータル UI では、"<script>" 挿入に必要な 、より大きい ( < ) や ( > ) 未満などの特定のシンボルが制限されます。

Fiddler で要求を再生することで、 <> などの文字を含む文字列をサブスクリプション名として送信できます。 SubscriptionName フィールドは、最大 128 文字の任意の文字列に設定できます。 このシナリオでは、<script src="https://code.jquery.com/jquery-1.10.2.min.js">、<script>alert(document.cookie)</script> など、さまざまなスクリプトを読み込んで実行できます。

この脆弱性の詳細については、「 Microsoft Common Vulnerabilities and Exposures CVE-2018-8652」を参照してください。

解決策

ダウンロード情報

Windows Azure Pack の更新プログラム パッケージは、Microsoft Update または手動ダウンロードから入手できます。

Microsoft Update

このセキュリティ更新プログラムは、Windows Updateを通じて入手できます。 自動更新を有効にすると、このセキュリティ更新プログラムが自動的にダウンロードされてインストールされます。 セキュリティ更新プログラムを自動的に入手する方法の詳細については、「Windows Update: FAQ」を参照してください。

更新プログラム パッケージの手動ダウンロード

次の Web サイトに移動して、Microsoft Update カタログからセキュリティ更新プログラム パッケージを手動でダウンロードします。

Windows Azure Pack セキュリティ更新プログラム パッケージを今すぐダウンロードします。

インストール情報

インストール手順

これらのインストール手順は、次の Windows Azure Pack コンポーネント用です。

  • テナント サイト
  • テナント API
  • テナント パブリック API
  • 管理サイト
  • 管理 API
  • 認証
  • Windows 認証
  • 用途
  • 監視
  • Microsoft SQL
  • MySQL
  • Web アプリケーション ギャラリー
  • 構成サイト
  • ベスト プラクティス アナライザー
  • PowerShell API

Windows Azure Pack コンポーネントごとに更新プログラム .msi ファイルをインストールするには、次の手順に従います。

  1. システムが現在動作している (顧客のトラフィックを処理する) 場合は、Azure サーバーのダウンタイムをスケジュールします。 Windows Azure パックでは現在、ローリング アップグレードはサポートされていません。

  2. 満足のいく代替サイトに顧客トラフィックを停止またはリダイレクトします。

  3. コンピューターのバックアップを作成します。

    • 仮想マシンを使用している場合は、現在の状態のスナップショットを作成します。
    • 仮想マシンを使用していない場合は、WAP コンポーネントがインストールされている各コンピューターの Inetpub ディレクトリ内の各 MgmtSvc-* フォルダーをバックアップします。
    • 証明書、ホスト ヘッダー、およびポートの変更に関連する情報とファイルを収集します。
  4. Windows Azure Pack Tenant サイトで独自のテーマを使用している場合は、更新プログラムを実行する前に、「Microsoft アップグレード後に Windows Azure Pack テーマを永続化する方法」を参照してください。

  5. 対応するコンポーネントが実行されているコンピューターで各 .msi ファイルを実行して、更新プログラムをインストールします。 たとえば、IIS で "MgmtSvc-AdminAPI" サイトを実行しているコンピューターで MgmtSvc-AdminAPI.msi を実行します。

  6. 負荷分散中のノードごとに、コンポーネントの更新を次の順序で実行します。

    1. WAP によってインストールされた元の自己署名証明書を使用している場合は、更新操作によって置き換えられます。 新しい証明書をエクスポートし、負荷分散中の他のノードにインポートする必要があります。 これらの証明書には、CN=MgmtSvc-* (自己署名) の名前付けパターンがあります。
    2. 必要に応じて、リソース プロバイダー (RP) サービス (SQL Server、My SQL、SPF/VMM、Web サイト) を更新します。 RP サイトが実行されていることを確認します。
    3. テナント API サイト、パブリック テナント API、管理者 API ノード、管理者およびテナント認証サイトを更新します。
    4. 管理者サイトとテナント サイトを更新します。

    データベース バージョンを取得し、MgmtSvc-PowerShellAPI.msi によってインストールされたデータベースを更新するためのスクリプトは、次の場所に格納されます。
    C:\Program Files\Management Service\MgmtSvc-PowerShellAPI\Samples\Database
    すべてのコンポーネントが更新され、期待どおりに機能している場合は、更新されたノードへのトラフィックを開くことができます。 それ以外の場合は、「ロールバック手順」セクションを参照してください。

    メモWindows Azure Pack の更新プログラム ロールアップ 5 と同じかそれより前の更新プログラムのロールアップから更新する場合は、次の手順に従って WAP データベースを更新します。

ロールバック手順

問題が発生し、ロールバックが必要であると判断した場合は、次の手順に従います。

  1. 「インストール手順」セクションの手順 3 の 2 つ目のメモで説明されているようにスナップショットが使用可能な場合は、スナップショットを適用します。 スナップショットがない場合は、次の手順に進みます。

  2. データベースとコンピューターを復元するには、「インストール手順」セクションの手順 3 の最初と 3 番目のノートで説明したように作成されたバックアップを使用します。

    メモ システムを部分的に更新された状態のままにしないでください。 更新プログラムが 1 つのノードでのみ失敗した場合でも、Windows Azure Pack がインストールされているすべてのコンピューターでロールバック操作を実行します。

    構成項目が正しいことを確認するには、各 Windows Azure Pack ノードで Windows Azure Pack のベスト プラクティス アナライザーを実行することをお勧めします。

  3. 復元されたノードへのトラフィックを開きます。