CVE-2020-8300の脆弱性に対処する
NetScaler ConsoleのセキュリティアドバイザリダッシュボードのCurrent CVEs >
<number of> NetScaler instances are impacted by CVEsの下で、この特定のCVEによって脆弱なすべてのインスタンスを確認できます。CVE-2020-8300の影響を受けるインスタンスの詳細を確認するには、CVE-2020-8300を選択し、View Affected Instancesをクリックします。
注
セキュリティアドバイザリダッシュボードの詳細については、Security Advisoryを参照してください。
<number of> NetScaler instances impacted by CVEsウィンドウが表示されます。ここでは、CVE-2020-8300の影響を受けるNetScalerインスタンスの数と詳細が表示されます。
CVE-2020-8300に対処する
CVE-2020-8300の影響を受けるNetScalerインスタンスの場合、対処は2段階のプロセスです。GUIのCurrent CVEs > NetScaler instances are impacted by CVEsの下で、ステップ1と2を確認できます。
2つのステップは次のとおりです。
-
脆弱なNetScalerインスタンスを、修正を含むリリースおよびビルドにアップグレードする。
-
構成ジョブでカスタマイズ可能な組み込み構成テンプレートを使用して、必要な構成コマンドを適用する。このステップは、脆弱なNetScalerごとに1つずつ実行し、そのNetScalerのすべてのSAMLアクションとSAMLプロファイルを含めます。
Current CVEs> NetScaler instances impacted by CVEsの下で、この2段階の対処プロセスには、Proceed to upgrade workflowとProceed to configuration job workflowという2つの異なるワークフローが表示されます。
ステップ1:脆弱なNetScalerインスタンスをアップグレードする
NetScaler Console を使用して NetScaler インスタンスをアップグレードする方法の詳細については、「NetScaler アップグレードジョブの作成」を参照してください。
注
この手順は、すべての脆弱なNetScalerインスタンスに対して一度に実行できます。
ステップ2:構成コマンドを適用する
影響を受けるインスタンスをアップグレードした後、
<number of> CVE の影響を受ける NetScaler インスタンス ウィンドウで、CVE-2020-8300 の影響を受けるインスタンスを 1 つ選択し、 をクリックします。ワークフローには、次の手順が含まれます。
-
構成のカスタマイズ。
-
自動入力された影響を受けるインスタンスの確認。
-
ジョブの変数に対する入力の指定。
-
変数入力が設定された最終構成の確認。
-
ジョブの実行。
-
CVE-2021-22956のみの影響を受ける複数のNetScalerインスタンスの場合:すべてのインスタンスで一度に構成ジョブを実行できます。たとえば、NetScaler 1、NetScaler 2、NetScaler 3があり、これらすべてがCVE-2021-22956のみの影響を受けているとします。これらのインスタンスをすべて選択し、Proceed to configuration job workflowをクリックすると、Select configurationの下に組み込みの構成テンプレートが自動入力されます。
-
CVE-2021-22956と1つ以上の他のCVE(CVE-2020-8300、CVE-2021-22927、CVE-2021-22920など)の影響を受ける複数のNetScalerインスタンスの場合、各NetScalerに一度に修復を適用する必要があります。これらのインスタンスを選択してProceed to configuration job workflowをクリックすると、各NetScalerで一度に構成ジョブを実行するように指示するエラーメッセージが表示されます。
ステップ1:構成の選択
構成ジョブワークフローでは、Select configurationの下に組み込みの構成テンプレートが自動入力されます。
構成の選択(/en-us/netscaler-application-delivery-management-software/media/select-config-step.png)
影響を受けるNetScalerインスタンスごとに、一度に1つずつ個別の構成ジョブを実行し、そのNetScalerのすべてのSAMLアクションとSAMLプロファイルを含めます。たとえば、それぞれ2つのSAMLアクションと2つのSAMLプロファイルを持つ脆弱なNetScalerインスタンスが2つある場合、この構成ジョブを2回実行する必要があります。各NetScalerにつき1回、そのすべてのSAMLアクションとSAMLプロファイルをカバーするように実行します。
| NetScaler 1 | NetScaler 2 |
|---|---|
| ジョブ1:2つのSAMLアクション +2つのSAMLプロファイル | ジョブ2:2つのSAMLアクション +2つのSAMLプロファイル |
ジョブに名前を付け、以下の仕様に合わせてテンプレートをカスタマイズします。組み込みの構成テンプレートは、単なる概要または基本テンプレートです。以下の要件に合わせて、デプロイメントに基づいてテンプレートをカスタマイズしてください。
a. SAMLアクションとその関連ドメイン
デプロイメント内のSAMLアクションの数に応じて、1~3行目を複製し、各SAMLアクションのドメインをカスタマイズする必要があります。
SAMLアクションのカスタマイズ(/en-us/netscaler-application-delivery-management-software/media/saml-action.png)
たとえば、2つのSAMLアクションがある場合、1~3行目を2回繰り返し、それに応じて各SAMLアクションの変数定義をカスタマイズします。
また、SAMLアクションにN個のドメインがある場合、そのSAMLアクションに対して行がN回表示されるように、
bind patset $saml_action_patset$ “$saml_action_domain1$”の行を手動で複数回入力する必要があります。そして、以下の変数定義名を変更します。
-
saml_action_patset: は設定テンプレート変数であり、SAMLアクションのパターンセット (patset) の名前の値を表します。設定ジョブワークフローのステップ3で実際の値を指定できます。このドキュメントの「ステップ3: 変数値を指定する」セクションを参照してください。 -
saml_action_domain1: は設定テンプレート変数であり、特定のSAMLアクションのドメイン名を表します。設定ジョブワークフローのステップ3で実際の値を指定できます。このドキュメントの「ステップ3: 変数値を指定する」セクションを参照してください。
デバイスのすべてのSAMLアクションを見つけるには、コマンド
show samlaction を実行します。
b. SAMLプロファイルとそれに関連付けられたURL
展開内のSAMLプロファイルの数に応じて、4~6行目を複製します。各SAMLプロファイルのURLをカスタマイズします。
たとえば、SAMLプロファイルが2つある場合、4~6行目を2回手動で入力し、それに応じて各SAMLアクションの変数定義をカスタマイズします。
また、SAMLアクションにN個のドメインがある場合、そのSAMLプロファイルに対して行がN回表示されるように、
bind patset $saml_profile_patset$ “$saml_profile_url1$”の行を手動で複数回入力する必要があります。そして、以下の変数定義名を変更します。
-
saml_profile_patset: は設定テンプレート変数であり、SAMLプロファイルのパターンセット (patset) の名前の値を表します。設定ジョブワークフローのステップ3で実際の値を指定できます。このドキュメントの「ステップ3: 変数値を指定する」セクションを参照してください。 -
saml_profile_url1: は設定テンプレート変数であり、特定のSAMLプロファイルのドメイン名を表します。設定ジョブワークフローのステップ3で実際の値を指定できます。このドキュメントの「ステップ3: 変数値を指定する」セクションを参照してください。
デバイスのすべてのSAMLプロファイルを見つけるには、コマンド
show samlidpProfile を実行します。
ステップ2: インスタンスを選択する
影響を受けるインスタンスは、インスタンスの選択の下に自動入力されます。インスタンスを選択し、次へをクリックします。
インスタンスの選択(/en-us/netscaler-application-delivery-management-software/media/select-instance.png)
ステップ 3: 変数値を指定する
変数値を入力します。
-
saml_action_patset: SAMLアクションの名前を追加します -
saml_action_domain1:https://<example1.com>/の形式でドメインを入力します -
saml_action_name: ジョブを構成しているSAMLアクションの同じものを入力します -
saml_profile_patset: SAMLプロファイルの名前を追加します -
saml_profile_url1: URLをこの形式で入力しますhttps://<example2.com>/cgi/samlauth -
saml_profile_name: ジョブを構成しているSAMLプロファイルの同じものを入力します
注
URLの場合、拡張子は常に
cgi/samlauthではありません。使用しているサードパーティ認証によって異なり、それに応じて拡張子を設定する必要があります。
変数を指定(/en-us/netscaler-application-delivery-management-software/media/specify-variables.png)
ステップ 4: 構成をプレビューする
設定に挿入された変数値をプレビューし、次へをクリックします。
ステップ 5: ジョブを実行する
完了をクリックして、構成ジョブを実行します。
構成ジョブを実行(/en-us/netscaler-application-delivery-management-software/media/run-job.png)
ジョブが実行されると、インフラストラクチャ > 構成 > 構成ジョブの下に表示されます。
すべての脆弱なNetScalerインスタンスに対して2つの修復手順を完了した後、オンデマンドスキャンを実行して、改訂されたセキュリティ体制を確認できます。
NetScaler Console Expressアカウントに関する注意点
NetScaler Console Expressアカウントには機能制限があり、構成ジョブは2つまでという制限が含まれます。
CVE-2020-8300の修復には、脆弱なNetScalerインスタンスの数と同じ数の構成ジョブを実行する必要があります。したがって、Expressアカウントをお持ちで、2つを超える構成ジョブを実行する必要がある場合は、この回避策に従ってください。
回避策: 2つの脆弱なNetScalerインスタンスに対して2つの構成ジョブを実行し、その後、両方のジョブを削除して、次の2つの脆弱なNetScalerインスタンスに対して次の2つのジョブを実行し続けます。すべての脆弱なインスタンスをカバーするまでこれを続けます。ジョブを削除する前に、今後の参照のためにレポートをダウンロードできます。レポートをダウンロードするには、ネットワーク > ジョブでジョブを選択し、アクションの下にあるダウンロードをクリックします。
例: 6つの脆弱なNetScalerインスタンスがある場合、それぞれ2つの脆弱なインスタンスで2つの構成ジョブを実行し、その後、両方の構成ジョブを削除します。この手順をさらに2回繰り返します。最終的に、それぞれ6つのNetScalerインスタンスに対して6つの構成ジョブを実行したことになります。NetScaler Console UIのインフラストラクチャ > ジョブでは、最後の2つの構成ジョブのみが表示されます。
シナリオ
このシナリオでは、3つのNetScalerインスタンスがCVE-2020-8300に対して脆弱であり、すべてのインスタンスを修復する必要があります。次の手順に従ってください:
-
このドキュメントの「インスタンスのアップグレード」セクションに記載されている手順に従って、3つのNetScalerインスタンスすべてをアップグレードします。
-
構成ジョブワークフローを使用して、一度に1つのNetScalerに構成パッチを適用します。このドキュメントの「構成コマンドの適用」セクションに記載されている手順を参照してください。
脆弱なNetScaler 1には次の構成があります:
| 2つのSAMLアクション | 2つのSAMLプロファイル |
|---|---|
NetScaler 1を選択し、構成ジョブワークフローに進むをクリックします。組み込みテンプレートが自動入力されます。次に、ジョブ名を入力し、指定された構成に従ってテンプレートをカスタマイズします。
次の表に、カスタマイズされたパラメータの変数定義を一覧表示します。
表1. SAMLアクションの変数定義
| NetScaler構成 | patsetの変数定義 | SAMLアクション名の変数定義 | ドメインの変数定義 |
|---|---|---|---|
| SAMLアクション1には1つのドメインがあります | saml_action_patset1 | saml_action_name1 | saml_action_domain1 |
| SAMLアクション2には2つのドメインがあります | saml_action_patset2 | saml_action_name2 | saml_action_domain2, saml_action_domain3 |
表2. SAMLプロファイルの変数定義
| NetScaler構成 | patsetの変数定義 | SAMLプロファイル名の変数定義 | URLの変数定義 |
|---|---|---|---|
| SAMLプロファイル1には1つのURLがあります | saml_profile_patset1 | saml_profile_name1 | saml_profile_url1 |
| SAMLプロファイル2には2つのURLがあります | saml_profile_patset2 | saml_profile_name2 | saml_profile_url2, saml_profile_url3 |
「インスタンスの選択」でNetScaler 1を選択し、「次へ」をクリックします。「変数値を指定」ウィンドウが表示されます。このステップでは、前のステップで定義されたすべての変数に値を指定する必要があります。
次に、変数をレビューします。
「次へ」をクリックし、次に「完了」をクリックしてジョブを実行します。
ジョブが実行されると、「インフラストラクチャ > 構成 > 構成ジョブ」の下に表示されます。
NetScaler1の2つの修復手順を完了したら、NetScaler 2とNetScaler 3を修復するために同じ手順に従います。修復が完了したら、オンデマンドスキャンを実行して、改訂されたセキュリティ体制を確認できます。