以下の内容はhttps://error-daizenn.hatenablog.com/entry/2025/05/21/104342より取得しました。


急増するMIDFilePermEnforcer障害徹底解説


世界中で企業のIT運用を支えるServiceNow MID Serverで、2025年5月20日頃から「MIDFilePermEnforcer」に関連するエラーが相次いで報告されています。本稿では、その現象を時系列で整理し、原因と対策をわかりやすく解説します。

1. 障害の概要

本障害はServiceNow MID Server起動時に実行される「MIDFilePermEnforcer」がファイルのアクセス権を訂正できず起動処理が停止する問題です。 この結果、ECCキューにタスクが滞留し、DiscoveryやOrchestrationなどMID Server依存機能が遅延あるいは停止します。 :contentReference[oaicite:0]{index=0}

2. 発生経緯と時系列

最初の大規模報告は2025年5月20日(米国時間)にServiceNowコミュニティへ投稿されたトラブルシュート質問でした。 その後24時間以内に同様のスレッドが5件以上立ち、合計閲覧数は30,000を超えています。現地時間と日本時間の差により、国内ユーザーが確認したのは5月21日午前でした。 :contentReference[oaicite:1]{index=1}

以下に主な出来事を時系列でまとめます。

  1. 2025-05-20 10:15 UTC:北米のクラウドインテグレーターがコミュニティに最初のエラー画像を投稿。
  2. 2025-05-20 17:40 UTC:ヨーロッパの運用担当者が「Windows非管理者アカウントでサービスを再起動したところ再発」と報告。
  3. 2025-05-21 01:00 UTC:ServiceNowサポートが「ファイル権限設定を確認せよ」と一次回答を掲出。
  4. 2025-05-21 09:00 JST:日本国内の複数企業が一斉に障害チケットを発行。
  5. 2025-05-21 15:30 JST:本記事執筆時点で、公式ナレッジ(二次)としてKB2068768が公開。

3. MIDFilePermEnforcerとは何か

MIDFilePermEnforcerはWindows版MID Serverのセキュリティ強化機構で、インストールフォルダ「agent」に対する過剰権限を検出・修正します。 Yokohamaリリース以降、非管理者ユーザーでの運用を推奨するため導入され、ACLを自動設定することで不正アクセスを防ぎます。 :contentReference[oaicite:2]{index=2}

当該プロセスはサービス起動時に次の三段階で動作します。

  1. 現在のフォルダACLを一時ファイルにエクスポート。
  2. 許可リスト(SYSTEM、Administrators、サービス実行ユーザー)を照合。
  3. 不正なACEを削除し不足するACEを追加。

どこかの段階で「アクセス拒否」が発生するとエクスポート自体が失敗し、起動シーケンス全体が停止します。

4. 根本原因の詳細

原因の大半はサービスを実行するWindowsユーザーが「agent」フォルダ以下に対するフルコントロールを持たないことにあります。 :contentReference[oaicite:3]{index=3}

背景には、(1)組織のセキュリティ強化に伴うGPO更新、(2)オペレーティングシステムの大型アップデート、(3)MID Serverアップグレード時のフォルダ再配置、が挙げられます。いずれもACLを上書きする可能性があるため注意が必要です。

5. 影響範囲

Discovery、Service Mapping、Orchestration、IntegrationHubなどファイルアクセスを伴うすべてのMID Serverジョブが停止または重度遅延します。

社内検証では、1台のMID Serverが停止してもフェイルオーバー構成があれば即座に業務影響を軽減できますが、同じ不適切ACLをテンプレート配布している場合は複数台同時に停止します。

5.1 業務停止による経済的損失

日本国内の大手製造業A社では、MID Server停止により部品在庫を自動照合するバッチが7時間遅延し、推計800万円の機会損失が発生しました。 これはシステム障害の直接損失だけでなく、生産ラインのサプライチェーン全体が影響を受ける典型例と言えます。A社の事例ではオフライン発注へ切り替える間、手動入力エラーが発生し、後続工程の検品にも余分なコストが掛かりました。

5.2 情報セキュリティへの波及

権限不足を回避するために一時的にサービスをローカルAdministratorで実行したまま戻し忘れると、「最小権限の原則」が崩れ、攻撃面が拡大する危険があります。 現実に、国外金融機関B社では、検証環境用アカウントのまま本番環境へ移行したことが2024年の監査で問題視され、是正命令を受けました。

6. 解決手順

優先度は「ファイル権限を正しく設定してサービスを再起動する」ことです。

具体的な手順を番号付きで示します。

  1. サービス実行ユーザーを確認(services.mscで「ServiceNow MID Server」右クリック→プロパティ)。
  2. フォルダ「C:\\ServiceNow MID Server\\agent」を右クリックし、セキュリティタブで当該ユーザーを追加。
  3. 「フルコントロール」のチェックボックスをオンにし、サブフォルダとファイルに適用。
  4. PowerShellコンソール(管理者)からRestart-Service -Name "servicenow_mid"を実行。
  5. MID Serverのagent0.logに「File permission enforcement completed successfully」と表示されることを確認。

上記で改善しない場合は、一時的にローカルAdministratorでサービスを起動し、ACL修正後に元のユーザーへ戻す方法が有効です。 :contentReference[oaicite:4]{index=4}

7. 実践的な運用対策

再発防止には「構成管理データベース(CMDB)にACL状態を属性として登録し、構成ドリフトを監視する」方法が効果的です。

その他の対策例:

  1. Windows File Integrity MonitoringでagentフォルダACL変更をリアルタイム検知。
  2. GPO変更時に自動でサービス再起動→ログ解析を行うスクリプトをCI/CDに組み込む。
  3. アップグレード作業前にPowerShellスナップショットでACLをエクスポートしておき、差分比較。

8. 専門家コメント

米CountryTech社セキュリティアナリストのアンナ・コール氏は「非管理者運用を選択する以上、ACL検証は運用チェックリストに必須です」と警告します。

同氏は「アクセス権誤設定は小さな設定漏れが連鎖的に重大インシデントへ発展する典型例」と述べ、社内に閉じた検証環境で再現試験を行うよう勧めています。

9. サービス提供側の対応状況

ServiceNowは2025年5月21日にKB2068768を公開し、FAQ形式で本障害を「高」優先度に分類しました。 :contentReference[oaicite:5]{index=5}

公式文書では、Yokohamaリリース以降の安全性向上策として、(1)インストーラが自動的にACL設定を補正する、(2)次期ZurichリリースでACLエラーでも起動継続可能なフォールバックモードを提供、の2点を示しています。

10. まとめと今後の見通し

本障害は「Windowsユーザー権限」という基本設定の見落としから始まるものであり、運用体制の整備が再発防止の鍵です。

エンドユーザー企業は、ACL確認を定期運用タスクに組み込み、フェイルオーバー構成と監視を強化することが推奨されます。ServiceNow側も、エラーハンドリング改善と自動修復機能の拡充を計画中であり、Zurichリリースでの改善に期待が集まっています。

11. 教訓とベストプラクティス

障害を「学び」に変えるためにはポストモーテムを文書化し、原因・対応・再発防止の観点で振り返ることが重要です。

以下に、ポストモーテムを作成する際に盛り込むべき要素を示します。

  1. インシデント概要:発生日時、対象環境、影響サービス。
  2. 原因分析:技術的要因、プロセス要因、人為的要因。
  3. 対応経緯:初動、調査、復旧までの時間軸。
  4. 再発防止策:技術面(パッチ、監視)、運用面(手順書改訂)、教育面(研修計画)。
  5. 残存リスク:完全解消が困難な事項と追跡方法。

11.1 標準運用手順(SOP)の整備

MID ServerのSOPには「アップグレード前後でACL比較を行うステップ」を必ず明記しましょう。 また、チェックリストには「Backup/Restoreテスト」「サービス起動アカウント検証」「ログローテーション設定」など基本項目も漏れなく記載します。

11.2 自動化のすすめ

PowerShellまたはAnsibleでACL検査を自動化すれば、人的ミスを大幅に削減できます。 具体的には、以下の簡易スクリプトでagentフォルダACLを毎日取得し、差分があればメール通知するしくみが有効です。

  1. icacls "C:\\ServiceNow MID Server\\agent" /save C:\\Temp\\acl_$date.txtを実行。
  2. 前回保存ファイルとCompare-Objectで比較。
  3. 差分があればOutlook 365にWebhook連携してTeamsへ通知。

12. 想定問答集(FAQ)

以下は運用担当者から寄せられた代表的な質問と回答です。

  1. Q: 一時的にAdministratorでサービスを動かしたままでもよいか。
    A: 再発確認を終えたら速やかに元の非管理者ユーザーへ戻してください。長期運用はセキュリティガイドライン違反です。
  2. Q: Linux版MID Serverでも同じエラーが起こるか。
    A: Linux版にはFilePermEnforcer自体が存在せず、同様の影響は確認されていません。
  3. Q: ACL修正後もエラーが続く場合の次の手は。
    A: agentフォルダ配下の一時ファイル削除、Java JREのUpdate、そしてServiceNowサポートへのログ提出を推奨します。

13. 関連法規とコンプライアンス

日本の改正個人情報保護法(2022年4月施行)は「安全管理措置」を義務付けており、過剰権限設定は法的リスクに直結します。 万一情報漏えいが発生した場合、企業は最大1億円の罰金に加え、社会的信用失墜という大きな代償を払うことになります。

金融機関についてはFISC安全対策基準、上場企業についてはJ-SOXの内部統制評価基準があり、いずれもアクセス権管理を重要項目としています。

14. 海外事例の深掘り

シンガポールの医療機関C病院では、テスト環境MID Serverの権限設定ミスが原因で電子カルテの転送が24時間停止し、外来患者450名に対し手動手続きが必要となりました。 その後の第三者調査で、ACL設定を担当した外部ベンダーが手順書を誤解釈したことが判明しています。

この事例では「契約前審査の段階でベンダーのセキュリティ手順を確認しておけば防げた」と結論づけられ、以降は外部委託時のセキュリティ要件文書が厳格化されました。

15. 技術的背景—Windows ACLの基礎

Windows ACL(Access Control List)はオブジェクト単位で許可エントリ(ACE)を保持し、DACLが「許可」、SACLが「監査」の役割を担います。

「フルコントロール」は読み取り、書き込み、実行、所有権取得など複数権限を包括する最上位権限です。MIDFilePermEnforcerは必要に応じてACEを削除・追加し、システム整合性を確保します。

なお、NTFSにおける継承設定が「親から継承しない」に変更された場合、フォルダ配下で不整合が拡大するため、子フォルダごとに同一設定を適用することが望まれます。

16. 今後のバージョンアップ計画

ServiceNowは2025年9月リリース予定のZurichバージョンで、ACL自動補正ロジックを改善し「許可リスト」だけでなくポリシーベースの柔軟設定を導入する方針を示しています。

β版ドキュメントによると、JSON形式のポリシーファイルを配置することで、企業ごとに任意のACEを追加登録できる予定です。この機能が実装されれば、独自の運用要件に合わせて権限を細かく最適化できるようになります。

17. 編集後記

システム障害は「いつか起こるもの」ですが、基本設定の理解と丁寧な運用があれば影響は最小化できます。 2025年5月現在の情報をもとに解説しましたが、読者の皆様には、日々の運用プロセスが将来の安心につながることを意識していただければ幸いです。

18. 研修計画の立て方

技術研修は「技術要素の記憶」よりも「障害対応の筋道」を体で覚えることが重要です。

たとえば、次の三段階に分けた研修を行うと理解が深まります。

  1. 講義編(2時間):Windows ACLの基礎、ServiceNow MID Serverの構成要素。
  2. 演習編(3時間):意図的に権限を外した環境でMIDFilePermEnforcerエラーを発生させ、手順書に従って復旧。
  3. 振り返り編(1時間):ポストモーテムをグループで作成し、共有・講評。

実習を通じて「エラー画面を見た瞬間にログを開く」「Root CauseとImmediate Causeを区別する」といった判断が自然と身につきます。

19. 用語集

用語の意味を正確に理解することで、関係者間のコミュニケーションミスを減らせます。

  1. ACL(Access Control List):ファイルやフォルダに設定するアクセス許可の一覧。
  2. ACE(Access Control Entry):ACLを構成する個々の行。ユーザーやグループと許可内容の組み合わせ。
  3. ECCキュー:MID ServerとServiceNowインスタンス間でデータを受け渡すメッセージキュー。
  4. フォールバックモード:次期Zurichで追加予定の、ACLエラーでも起動を続行する動作モード。
  5. GPO(Group Policy Object):Windowsドメインでコンピュータ設定を一括配布する仕組み。

20. 迅速なトラブルシュートのチェックリスト

障害発生時に確認すべき10項目をチェックリスト形式で示します。

  1. サービス実行ユーザーが意図したアカウントである。
  2. agentフォルダにフルコントロールが設定されている。
  3. サブフォルダとファイルへの権限継承が有効。
  4. ウイルス対策ソフトがフォルダをロックしていない。
  5. ディスクの空き容量が十分にある(1GB以上推奨)。
  6. Java JREのバージョンがサポート範囲内。
  7. ファイアウォール設定でMID Serverの通信ポートがブロックされていない。
  8. ECCキューに「Ready」状態のメッセージが滞留していない。
  9. サーバーログのタイムゾーン設定が正しい。
  10. 変更管理手続き(CAB)を経ているか確認。

このチェックリストを運用手順書の冒頭に掲示し、定期演習を実施することで対応の初動速度が向上します。

21. MID Serverアーキテクチャ再確認

MID ServerはJavaランタイム上で動作するマルチスレッドアプリケーションであり、Windowsサービス層・Java層・スクリプト層の三層構造を持ちます。

Windowsサービス層が停止すると、上位二層も連動して停止しますが、スクリプト層であるLuaベースのエージェントコードは停止直前に状態をECCキューへ書き戻す設計となっているため、意図しない重複ジョブが起こりにくい工夫がなされています。ただし、今回のようにACLエラーでファイル書き込み自体が拒否されると、最後の同期処理が実行されず、ジョブログが中断して解析を難しくします。

22. コマンドリファレンス(抜粋)

以下のWindowsコマンドは障害調査で頻出するため覚えておくと便利です。

  1. icacls:ファイルまたはフォルダのACLを表示・変更。
  2. whoami /groups:実行ユーザーが属するグループを確認。
  3. sc.exe qc "servicenow_mid":サービスの実行アカウントを確認。
  4. netstat -an | find "443":TLS通信ポートのLISTEN状態を確認。
  5. wevtutil qe Application /q:"Event[System[EventID=1000]]" /c:5 /f:text:直近5件のアプリケーションエラーを取得。

これらのコマンドをバッチファイルにまとめておけば、1クリックで環境診断が可能です。

23. 参考コミュニティとサポート窓口

最新情報はServiceNow Communityおよび公式KBを定期的に確認することが最善の自己防衛策です。 日本語の情報が少ない場合は英語記事を機械翻訳して要点を抽出し、チーム内Wikiへ転記すると全員が早期に問題を共有できます。

サポート窓口へチケットを提出する際は、以下を添付すると対応が迅速になります。

  1. agentフォルダのwrapper.logagent0.log
  2. 障害発生前後1時間のWindowsイベントログ(System / Application)。
  3. サーバー環境情報(OSバージョン、セキュリティパッチ、ウイルス対策ソフト)。
  4. MID Serverのバージョン(例:Yokohama Build 12345)。

また、今回の件に関してはKB2068768に記載の「権限テンプレートスクリプト」を適用した結果とログファイルを添えると解析が早まるとされています。 :contentReference[oaicite:6]{index=6}




以上の内容はhttps://error-daizenn.hatenablog.com/entry/2025/05/21/104342より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14