現象
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 の一般的な脆弱性と漏えい CVE-2018-8652 を参照してください。
解決方法
ダウンロード情報
Windows Azure Pack 用の更新プログラム パッケージは、Microsoft Update から、または手動のダウンロードで入手できます。
Microsoft Update
このセキュリティ更新プログラムは、Windows Update を介して利用可能です。 自動更新を有効にすると、このセキュリティ更新プログラムは自動的にダウンロードおよびインストールされます。 セキュリティ更新プログラムを自動的に入手する方法の詳細については、「Windows Update: FAQ」を参照してください。
更新プログラム パッケージの手動ダウンロード
Microsoft Update カタログからセキュリティ更新プログラム パッケージを手動でダウンロードするには、次の Web サイトにアクセスします。
インストール情報
これらのインストール手順は、以下の Windows Azure Pack コンポーネント用です。
-
テナント サイト
-
テナント API
-
テナント パブリック API
-
管理サイト
-
管理 API
-
認証
-
Windows 認証
-
使用状況
-
監視
-
Microsoft SQL
-
MySQL
-
Web アプリケーション ギャラリー
-
構成差異と
-
ベスト プラクティス アナライザー
-
PowerShell API
各 Windows Azure Pack コンポーネントの更新プログラムの .msi ファイルをインストールするには、次の手順を実行します。
-
システムが稼働中 (ユーザー トラフィックを処理中) の場合は、Azure サーバーのダウンタイムをスケジュールします。 現在、Windows Azure Pack はローリング アップグレードをサポートしていません。
-
ユーザー トラフィックを停止するか、適切と思われる代替サイトにリダイレクトします。
-
コンピューターのバックアップを作成します。
注意事項-
仮想マシンを使用している場合は、現在の状態のスナップショットを作成します。
-
仮想マシンを使用していない場合は、WAP コンポーネントがインストールされている各コンピューターの Inetpub ディレクトリ内の MgmtSvc-* という各フォルダーをバックアップします。
-
証明書、ホスト ヘッダー、およびすべてのポート変更に関連する情報とファイルを収集します。
-
-
Windows Azure Pack テナント サイトに独自のテーマを使用している場合は、更新プログラムを実行する前に、「How to Persist a Windows Azure Pack Theme after Microsoft Upgrade」(英語情報) を参照してください。
-
対応するコンポーネントが実行されているコンピューターで各 .msi ファイルを実行して、更新プログラムをインストールします。 たとえば、IIS で "MgmtSvc-AdminAPI" サイトを実行しているコンピューターで、MgmtSvc-AdminAPI.msi を実行します。
-
負荷分散されているノードごとに、次の順序でコンポーネントの更新プログラムを実行します。
-
WAP によってインストールされた元の自己署名証明書を使用している場合は、更新操作によってそれらの証明書が置き換えられます。 新しい証明書をエクスポートし、負荷分散の対象となっている他のノードにインポートする必要があります。 このような証明書には、CN=MgmtSvc-* (self-signed) という命名パターンがあります。
-
必要に応じて、リソース プロバイダー (RP) サービス (SQL Server、My SQL、SPF/VMM、Web サイト) を更新します。 また、RP サイトが稼動していることを確認します。
-
テナント API サイト、パブリック テナント API、管理者 API ノード、管理者およびテナント認証サイトを更新します。
-
管理者およびテナント サイトを更新します。
データベースのバージョンを取得し、MgmtSvc-PowerShellAPI.msi によってインストールされたデータベースを更新するスクリプトが、次の場所に保存されています。
C:\Program Files\Management Service\MgmtSvc-PowerShellAPI\Samples\Database
すべてのコンポーネントが更新され、正常に動作している場合は、更新されたノードへのトラフィックを開くことができます。 正常に動作していない場合は、「ロールバック手順」を参照してください。
注:Windows Azure Pack 用の更新プログラム ロールアップ 5 以前の更新プログラム ロールアップから更新する場合は、こちらの手順に従って WAP データベースを更新してください。 -
問題が発生し、ロールバックが必要と判断した場合は、次の手順を実行します。
-
「インストール手順」の手順 3 の 2 つ目の注意事項で説明されているスナップショットを使用できる場合は、スナップショットを適用します。 スナップショットがない場合は、次の手順に進みます。
-
「インストール手順」の手順 3 の 1 つ目と 3 つ目の注意事項に従ってバックアップを作成した場合は、そのバックアップを使用してデータベースとコンピューターを復元します。
注: システムが部分的に更新された状態のままにしないでください。 更新が 1 つのノードでのみ失敗した場合でも、Windows Azure Pack がインストールされたすべてのコンピューターでロールバック操作を実行してください。
各 Windows Azure Pack ノードで Windows Azure Pack のベスト プラクティス アナライザーを実行して構成項目が正しいことを確認することをお勧めします。 -
復元されたノードへのトラフィックを開きます。