インスタンスをアップグレードした後も MID サーバーホスト上で検出される脆弱性 (Log4j、Java など)Issue この記事では、アクティブな 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.17Not includedNot includedNot includedNot includedNot includedNot included6u14, 6u45, 8u40, 8u60Kingston, London1.2.17Not includedNot includedNot includedNot includedNot includedNot included1.8.0_152Madrid, New York, Orlando1.2.17Not includedNot includedNot includedNot includedNot includedNot included1.8.0_181Paris,Orlando Patch 3,New York Patch 81.2.17Not includedNot includedNot includedNot includedNot includedNot included1.8.0_232Quebec1.2.17Not includedNot includedNot included2.11.1Not includedNot included11.0.8Quebec Patch 10,Quebec Patch 9 Hot Fix 3, Not included2.16.0Not included2.16.02.16.01.7.30Not included11.0.8Quebec Patch 10 HotFix 1, Quebec Patch 9 Hot Fix 4a, Quebec Patch 9 Hot Fix 3bNot included2.17.1Not included2.17.12.17.11.7.301.2.18.211.0.8RomeNot included2.14.0Not included2.14.02.14.01.7.30Not included11.0.9.1Rome Patch 6,Rome Patch 5,Rome Patch 4 Hot Fix 1Not included2.16.0Not included2.16.02.16.01.7.30Not included11.0.9.1Rome Patch 7, Rome Patch 6 Hot Fix 1, Rome Patch 4 Hot Fix 1bNot included2.17.1Not included2.17.12.17.11.7.301.2.18.211.0.9.1San DiegoNot included2.16.0Not included2.16.02.16.01.7.30Not included11.0.12San Diego Patch 1Not included2.17.1Not included2.17.12.17.11.7.301.2.18.211.0.12TokyoNot includedNot included2.17.1Not included2.17.11.7.36Not included11.0.15UtahNot includedNot included2.17.1Not included2.17.21.7.36Not included11.0.16.1VancouverNot includedNot included2.17.1Not included2.17.21.7.36Not included17.0.5 XanaduNot includedNot included2.17.1Not included2.17.21.7.36Not included17.0.10YokohamaNot includedNot included2.17.1Not included2.17.21.7.36Not included17.0.12ZurichNot includedNot included2.17.1Not included2.17.21.7.36Not included17.0.15AustraliaNot includedNot included2.17.1Not included2.17.21.7.36Not included21.0.7BrazilNot includedNot included2.17.1Not included2.17.21.7.36Not included21.0.11 最初のメジャーバージョンのリリースと、変更されたパッチバージョンのみが表示されます。 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 Server の特定 インスタンスで、MID サーバーのリストを開きます。[ホスト名] 列と [ホームフォルダー] 列をリストに追加します。これらの列は、インストールフォルダーがどこにあるかを示します。 MID Server のステータスが Up の場合はアクティブであり、インスタンスと同じバージョンである必要があります。稼働中で古いバージョンを使用している場合は、インスタンスと互換性を持たせるようにアップグレードする必要があるため、アップグレードに失敗した理由を調査して解決する必要があります。MID Server のステータスが Down であっても、最終更新日が非常に新しい日付である場合は、MID サーバーはまだアクティブである可能性がありますが、最近、調査と解決が必要な通信の問題が発生しています。MID Server が Down ステータスであり、長い間停止している場合 (最終更新日が数か月前または数年前の場合)、この MID サーバーはもう使用されていないと見なすことができます。アップグレードが必要であることを認識できるのは Up 状態の MID Server のみであるため、多くの場合、停止中の 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 Serverサービスが出力されます。「Name」フィールドはサービス名を示し、「PathName」フィールドでは、スキャン結果と照合するために、そのサービスがどのインストールフォルダに関連しているかを確認できます。Windows サービスを削除します。 コマンドライン sc delete を使用してサービスを削除します。ファイルを削除します。ホームフォルダー/「agent」フォルダーとその中のすべてを削除できます。インスタンス内の MID サーバーレコードを削除します Release 上記に記載されているすべてのリリース 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