Known Issue Rollback (KIR) のご紹介

皆さん、こんにちは。

今回は、Known Issue Rollback (KIR) について紹介したいと思います。

ソフトウェア更新プログラムの管理をする上では、KIR という機能 (手法) を覚えておいた方が良いと思います。

<概要>

Known Issue Rollback (KIR) とは、毎月マイクロソフトから提供される月例セキュリティ更新プログラム (Latest Cumulative Update (LCU)) を適用したことによる不具合をロールバック (戻す) してくれるものになります。KIR を用いれば、月例セキュリティ更新プログラム全体をロールバックする (月例セキュリティ更新プログラムをアンインストール) 必要がありません。特定の不具合のあった機能の部分だけをロールバックすることが可能です。

そのため、以前のように、月例セキュリティ更新プログラムをアンインストールする対応をとる必要がありません。個人的にはこの KIR はとても便利な機能だと思っています。(ただ、組織内での運用が面倒ですが)

それにより、月例セキュリティ更新プログラムで対処されるセキュリティ上の脆弱性はロールバックされません。この点も嬉しいですね。

この、KIR は Windows Server 2019 および Windows 10 version 1809 以降で提供されました。

グループ ポリシーを使用して既知の問題ロールバックを展開する方法 [Microsoft Docs]

Known Issue Rollback: Helping you keep Windows devices protected and productive [Windows IT Pro Blog]

<組織内での Known Issue Rollback の実装>

Known Issue Rollback は組織外で管理されている家庭のコンピューターについては、マイクロソフトが Known Issue Rollback のポリシー配布などを管理します。

しかしながら、組織内 (Active Direcotory ドメインで管理している環境を示すと考える) のコンピューターには、Known Issue Rollback ポリシーは提供されません。そのため、管理者が Known Issue Rollback の実装を行う必要があります。

<Known Issue Rollback を実装するには>

まず、KIR を実装するには、KIR の ADMX ファイルを入手する必要があります。この ADMX ファイルは、既知の不具合一つにつき一つリリースされます。そのため、ロールバックしたい既知の不具合に対応する KIR ポリシー (ADMX ファイル) を入手してください。

KIR ポリシーについては、下記のいずれかの方法で提供されます。

上記の方法で、KIR ポリシーをダウンロードしたら、作業用 PC を用意してダウンロードしてきた msi ファイルを展開しましょう。

[KIR ポリシーの展開]

  1. 作業用 PC で、KIR ポリシーをダウンロードします。
  2. ダウンロードした、msi ファイルを選択し、右クリックで、[プロパティ] を選択します。
  3. プロパティ画面が開きますので、[許可する] にチェックを入れ、[OK] を選択します。
  4. その後、msi ファイルを実行します。[Next] を選択するとインストール (ファイルの展開) が始まります。
  5. 直ぐに終わり、下記の画面が表示されますので、[Finish] を選択します。
  6. エクスプローラーを開き、下記のパスにアクセスします。
    ファイル パス : C:\Windows\PolicyDefinitions
  7. [更新日付] でソートして、KBxxxで始まるファイルを探します。
    (下記スクリーン ショットは KBxxx で始まるより新しいファイルが存在しますが、これは最近 OS アップグレードをしたためです。通常は、一番上に KBxxx が表示されるはずです。)
  8. 上記で見つけた、KBxxx で始まる ADMX ファイルが後で必要になるので、コピーしておきます。
  9. 次に、下記のパスにもアクセスします。
    ファイル パス : C:\Windows\PolicyDefinitions\en-USここでも、KBxxのファイルを探します。
  10. まとめると、下記のファイルをコピーします。
    ADMX ファイル : “C:\Windows\PolicyDefinitions\KB5007253 Issue 002 Rollback.admx”
    ADML ファイル : “C:\Windows\PolicyDefinitions\en-US\KB5007253 Issue 002 Rollback.adml”
    ※ [KB5007253 Issue 002 Rollback] の部分は KIR ポリシーにより名称が変わるため、置き換えて読んでください。
  11. 上記のファイルを、ドメイン コントローラーの作業用フォルダー等にコピーしておきます。

[KIR ポリシーをセントラル ストアに格納する]

前述の手順で KIR ポリシーを作業用 PC で展開しました。今度は、その ADMX ファイルおよび ADML ファイルをドメイン コントローラーのセントラル ストアに格納します。

  1. 作業用 PC で展開したファイルをドメイン コントローラーの作業フォルダーにコピーしておきます。
    ADMX ファイル : “C:\Windows\PolicyDefinitions\KB5007253 Issue 002 Rollback.admx”
    ADML ファイル : “C:\Windows\PolicyDefinitions\en-US\KB5007253 Issue 002 Rollback.adml”
    ※ [KB5007253 Issue 002 Rollback] の部分は KIR ポリシーにより名称が変わるため、置き換えて読んでください。
  2. ドメイン コントローラーにログオンして、下記のフォルダーを開きます。
    \\ドメイン名\SYSVOL\ドメイン名\Policies\PolicyDefinitions
  3. 必要に応じて、PolicyDefinitions フォルダーをバックアップしておきます。
  4. コピーしておいた KB5007253 Issue 002 Rollback.admx および KB5007253 Issue 002 Rollback.adml (KIR ポリシーにより名称は異なる) をそれぞれのパスにコピーします。
    KB5007253 Issue 002 Rollback.admx > \\ドメイン名\SYSVOL\ドメイン名\Policies\PolicyDefinitions
    KB5007253 Issue 002 Rollback.adml > \\ドメイン名\SYSVOL\ドメイン名\Policies\PolicyDefinitions\en-US

[グループ ポリシーを作成する (WMI フィルター)]

セントラル ストアに ADMX ファイルおよび ADML を配置したら、クライアントに展開するグループ ポリシーを作成します。

  1. [グループ ポリシーの管理] を開き、新しいポリシーを作成します。
  2. [コンピューターの構成] > [ポリシー] > [管理用テンプレート] > [KB5007253 Issue 002 Rollback] > [Windows 10, version 2004, 20H2 and 21H1] を開きます。
    (このポリシーの名前も KIR ポリシーにより、名称が異なります)
  3. 上記画面の右側の [KB5007253 Issue 002 Rollback] を選択すると、下記の画面が表示されます。
    KIR の場合、既知の不具合をロールバックする場合は、[無効] を選択する必要があります。
    [無効] を選択後、[OK] で画面を閉じます。
  4. 通常はこれで作成したグループ ポリシーを対象の OU にリンクすれば良いのですが、KIR の場合は下記の WMI フィルターも検討ください。

[WMI フィルター]

KIR の場合、提供される KIR ポリシー (ADMX) は特定のバージョンの Windows となりますので、WMI フィルターで OS を絞ることを強くお勧めします。WMI フィルターを設定しない場合は、例えば 2004 向けのポリシーなのに、その OU 配下に 1809 のマシンがあるとそのマシンにも 2004 向けの KIR ポリシーが適用されてしまいます。それを防ぐために WMI フィルターを設定しましょう。

  1. [グループ ポリシーの管理] を開き、[WMI フィルター] から [新規] にて、新規 WMI フィルターを作成します。
  2. [名前] および [説明] に分かり易いタイトルを設定し、[追加] を選択します。
  3. [WMI クエリ] が表示されるので、下記のようにクエリを貼り付けます。

    サンプル WMI (Windows 10 version 20H2 でかつワークステーションの場合):

    SELECT Version, ProductType from Win32_OperatingSystem WHERE Version = "10.0.19042" and  ProductType="1"
  4. クエリを貼り付けて、[OK] を選択します。
  5. 元の画面に戻りますので、[保存] を選択します。
  6. 先ほどの手順で作成した、グループ ポリシーに戻り、WMI フィルターを設定します。
  7. WMI フィルター処理のプルダウンから、先ほど作成した WMI フィルターを選択します。
  8. 下記のように WMI フィルターを設定できたことを確認します。
  9. これで、対象の OU に作成したグループ ポリシーをリンクすれば、クライアントに KIR ポリシーを配布できます。

[クライアント側での確認方法]

KIR ポリシーが適用されているかの確認は以下の方法で行えます。

  •  rsop.msc
  • レジストリ
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FeatureManagement\Overrides

<KIR のグループ ポリシーの運用面でのお話>

KIR ポリシーは、前述した通り、既知の不具合一つにつき一つリリースされます。そのため、過去の既知の不具合への対処をした分だけ、グループ ポリシーが作成されます。

既知の不具合は、いずれ提供される月例セキュリティ更新プログラムによって根本的な問題が修正されれば、KIR ポリシーは設定されていたとしても意味をなさなくなります。

ただ、グループ ポリシーが乱立するのは管理上良くないことです。そのため、KIR ポリシーのグループ ポリシーを展開したら、定期的にその既知の不具合の状況をウォッチして、グループ ポリシーのリンクを外すということを実施した方が良いです。

KIR ポリシー作成の際は、永久的に存在するグループ ポリシーではなく、一時的なグループ ポリシーという認識を持って運用することをお勧めします。

<まとめ>

今回は、Known Issue Rollback (KIR) という機能を紹介しました。この機能はとても便利な機能だと個人的には思っています。今までのソフトウェア更新プログラムの運用では、既知の不具合があれば、ソフトウェア更新プログラムをアンインストールする方法が取られていましたが、その必要が無い手法となります。皆さんも是非、KIR を覚えて、いざ組織内の既知の不具合への対処をする際に KIR を用いてみてください。

本当は、KIR なんて仕組みを使わなくてもソフトウェア更新プログラムの運用ができるように既知の不具合が発生しないことが良いのですが、そうもいきませんよね!