インスタンスをアップグレードした後も MID サーバーホスト上で検出される脆弱性 (Log4j、Java など)Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } この記事では、アクティブな MID サーバーがインスタンスのバージョンに対応した Log4j および OpenJDK の適切なパッチバージョンを使用していることを確認し、古いインストールやバックアップフォルダーに残っている古いバージョンのファイルを特定して削除する方法を説明します。 目次 MID サーバーと Log4j 脆弱性に関する詳細情報最近のリリースで予想される log4j、SLF4J、Reload4j、OpenJDK バージョン、および古い残りファイルJAR ファイルバージョンの確認OpenJDK バージョンの確認すべてのアクティブな MID サーバーを検索していますサービスとファイルの検索MID サーバーファイルの削除/アンインストール MID サーバーと Log4j 脆弱性に関する詳細情報 この記事では、潜在的な脆弱性については意図的に触れていません。詳細については、「 KB1000959 」を参照してください。 最近のリリースで予想される log4j、SLF4J、Reload4j、OpenJDK バージョン、および古い残りファイル インスタンスをアップグレードし、MID サーバーも正常にアップグレードされている場合、現在使用されているファイルのバージョンは以下のとおりです。 この記事の執筆時点 (2022 年秋) では、すべてのインスタンスが log4j の 2.17.1 バージョンにアップグレードされているはずです。このリストは、主に、古いバージョンのファイルが非アクティブなインストールからのものであることを確認する一環として、どの ServiceNow リリース由来のファイルであるかを確認するためのものです。るためのものです。 重要な注意: log4j-to-slf4j.jar と log4j-over-slf4j.jar は変換ラッパーでありlog4j APIへのレガシーコード呼び出しを SLF4J にリダイレクトできるようにします。これらは、MID サーバーが Log4j を必要としないようにするために使用されました。以下のリストから、同じ関数が含まれている問題のある log4j-core.jar が log4j-to-slf4j.jar に置き換えられたため、依存関係は壊れていませんが、代わりにすべて SLF4J にリダイレクトされていることがわかります。 Reload4j に関する注意: reload4j プロジェクト は Apache log4j.jar バージョン 1.2.17 のフォークであり、最も差し迫ったセキュリティ問題を修正するための log4j.jar のドロップイン代替品です。 ServiceNow VersionLog4j filesSLF4J filesReload4j filesJava files log4j.jarlog4j-core.jarlog4j-to-slf4j.jarlog4j-slf4j-impl.jarlog4j-api.jarlog4j-over-slf4j.jarreload4j.jarOpenJDKCalgary, Dublin, Eureka, Fuji, Geneva, Helsinki, Istanbul, Jakarta1.2.8, 1.2.15, 1.2.17含まれていない含まれていない含まれていない含まれていない含まれていない含まれていない6u14, 6u45, 8u40, 8u60Kingston, London1.2.17含まれていない含まれていない含まれていない含まれていない含まれていない含まれていない1.8.0_152Madrid, New York, Orlando1.2.17含まれていない含まれていない含まれていない含まれていない含まれていない含まれていない1.8.0_181Paris,Orlando Patch 3,New York Patch 81.2.17含まれていない含まれていない含まれていない含まれていない含まれていない含まれていない1.8.0_232Quebec1.2.17含まれていない含まれていない含まれていない2.11.1含まれていない含まれていない11.0.8Quebec Patch 10,Quebec Patch 9 Hot Fix 3, 含まれていない2.16.0含まれていない2.16.02.16.01.7.30含まれていない11.0.8Quebec Patch 10 HotFix 1, Quebec Patch 9 Hot Fix 4a, Quebec Patch 9 Hot Fix 3b含まれていない2.17.1含まれていない2.17.12.17.11.7.301.2.18.211.0.8Rome含まれていない2.14.0含まれていない2.14.02.14.01.7.30含まれていない11.0.9.1Rome Patch 6,Rome Patch 5,Rome Patch 4 Hot Fix 1含まれていない2.16.0含まれていない2.16.02.16.01.7.30含まれていない11.0.9.1Rome Patch 7, Rome Patch 6 Hot Fix 1, Rome Patch 4 Hot Fix 1b含まれていない2.17.1含まれていない2.17.12.17.11.7.301.2.18.211.0.9.1San Diego含まれていない2.16.0含まれていない2.16.02.16.01.7.30含まれていない11.0.12San Diego Patch 1含まれていない2.17.1含まれていない2.17.12.17.11.7.301.2.18.211.0.12Tokyo含まれていない含まれていない2.17.1含まれていない2.17.11.7.36含まれていない11.0.15Utah含まれていない含まれていない2.17.1含まれていない2.17.21.7.36含まれていない11.0.16.1Vancouver含まれていない含まれていない2.17.1含まれていない2.17.21.7.36含まれていない17.0.5 Xanadu含まれていない含まれていない2.17.1含まれていない2.17.21.7.36含まれていない17.0.10Yokohama含まれていない含まれていない2.17.1含まれていない2.17.21.7.36含まれていない17.0.12Zurich含まれていない含まれていない2.17.1含まれていない2.17.21.7.36含まれていない17.0.15Australia含まれていない含まれていない2.17.1含まれていない2.17.21.7.36含まれていない21.0.7 最初のメジャーバージョンのリリースと、変更されたパッチバージョンのみが表示されます。 JAR ファイルバージョンの確認 JAR ファイルのバージョンを手動で確認するには、agent\lib\log4j-core.jar などの JAR ファイルを解凍し、その中にある META-INF\MANIFEST.MF ファイルを開きます。 注: JAR ファイルは ZIP ファイルに似ており、たとえば 7-Zip で開くことができます。 OpenJDK バージョンの確認 OpenJDK Java Runtime Environment のバージョンを確認するには、 agent\jre\release ファイルを開きます。 すべてのアクティブな MID サーバーを特定する インスタンスで、MID サーバーのリストを開きます。[ホスト名] 列と [ホームフォルダー] 列をリストに追加します。これらの列は、インストールフォルダーがどこにあるかを示します。 MID サーバーの状態が Up の場合はアクティブであり、インスタンスと同じバージョンである必要があります。稼働中で古いバージョンを使用している場合は、インスタンスと互換性を持たせるようにアップグレードする必要があるため、アップグレードに失敗した理由を調査して解決する必要があります。MID サーバーの状態が Down であっても、最終更新日が非常に新しい日付である場合は、MID サーバーはまだアクティブである可能性がありますが、最近、調査と解決が必要な通信の問題が発生しています。MID サーバーが Down 状態であり、長い間停止している場合 (最終更新日が数か月前または数年前の場合)、この MID サーバーはもう使用されていないと見なすことができます。アップグレードが必要であることは起動中の MID サーバーのみが認識できるため、多くの場合、停止中の MID サーバーは、最後に使用したときに実行していた古いバージョンのままになります。インスタンス内の MID サーバーレコードが削除されても実際には、最初にインストールされていたホストサーバーから MID サーバーがアンインストールされるわけではありません。これを行ったために、いくつかの古いインストールを追跡できなくなった可能性があります。ホームフォルダーは「agent」フォルダーです。その中には、スキャン結果のファイルが含まれている可能性のある agent\lib フォルダーと agent\jre フォルダーがあります。スキャナーが、インスタンス内の MID サーバーのリストから説明できないフォルダー内のファイルを報告する場合、それらは非アクティブなインストールであるか、インストールのバックアップフォルダー、過去の修正中に作成された一時フォルダー、またはセルフアップグレードプロセスによって残された一時フォルダーである可能性があります。これらはすべて削除できます。 サービスとファイルの検索 ホストを知っていても、それ以外はあまり知らない場合は、コマンドラインでサービスを見つけることができます。wmic service get | findstr /c:"\conf\wrapper.conf" /c:"DisplayName" サービスとしてインストールされていない古いバックアップフォルダーや一時フォルダーを見つけるには、dir コマンドを使用できます。dir /s /b mid.jar Up 状態の MID サーバーレコードを、これらのアクティブなサービスおよびフォルダーと比較すると、何を削除できるかがわかります。スプレッドシートを使用してこれらを追跡し、照合することもできます。 MID サーバーファイルの削除/アンインストール インストールフォルダー (「agent」フォルダー) が現在アクティブな MID サーバー用ではないことを確認したら、Windows サービスを削除してファイルを削除できます。 少なくとも 2 つのインスタンスがあることを忘れないでください。そのため、非アクティブなものの削除を開始することを決定する前に、すべてのインスタンスから、すべてのアクティブな MID サーバーホスト名/ホームフォルダーのリストをコンパイルする必要があります。 Windows サービスを停止します。コマンドライン "wmic service get | findstr /c:"\conf\wrapper.conf" /c:"DisplayName" は、すべての MID サーバーサービスを出力します。[名前] フィールドはサービス名であり、[PathName] フィールドを使用すると、スキャン結果と一致するために、このサービスのインストールフォルダーを確認できます。Windows サービスを削除します。 コマンドライン sc delete を使用してサービスを削除します。ファイルを削除します。ホームフォルダー/「agent」フォルダーとその中のすべてを削除できます。インスタンス内の MID サーバーレコードを削除します Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } すべての対象リリース Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 対応は不要です Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } KB2708775 Java Dependencies and JAR files versions in the MID Server platform KB0719830 MID Server Java runtime - Information on Bundled and Compatible versions, Upgrading or Replacing KB1536827 Listing of MID Server lib folder JAR File manifests including Version information (Vancouver EA) KB1184230 Microsoft Defender gives false alert for Log4j exploitation detected/Apache exploitation detected and Multi-stage incident on MID Server host KB2633631 Vulnerable JAR file found in extib on MID Server KB2671535 Java 17.0.15 in Zurich MID Server is not the latest patch