サむオステクノロゞヌ((DXSL))のブログ - TECH PLAY

TECH PLAY

サむオステクノロゞヌ((DXSL))

サむオステクノロゞヌ((DXSL)) の技術ブログ

å…š90ä»¶

Elastic がバヌゞョン 9.4 をリリヌスしたした。セキュリティ自動化゚ンゞン「Workflows」の正匏版リリヌスを筆頭に、AI によるルヌル生成・専門知識モゞュヌルSkills・ク゚リ蚀語 ES|QL の倧幅匷化など、幅広い領域にわたるアップデヌトが含たれおいたす。本蚘事では泚目機胜を速報でたずめたす。 目次 1. Elastic Workflows が正匏版GAに 2. Elastic AI Agent に専門知識モゞュヌル「Skills」が登堎 3. AI による ES|QL 怜知ルヌル自動生成 4. ES|QL ク゚リ蚀語の匷化 5. ベクトル怜玢の高速化 6. Kibana の匷化 7. Observabilityメトリクス・時系列分析の匷化 8. セキュリティ゚ンティティ管理の深化 たずめ9.4 の䜍眮付け 参照リンク 1. Elastic Workflows が正匏版GAに セキュリティ運甚の自動化゚ンゞン「Elastic Workflows」が 9.3 の詊隓公開Tech Previewから正匏版に昇栌したした。 アラヌトの受信から、ケヌス䜜成・担圓者割圓・Slack 通知・倖郚システム連携たでを YAML たたは自然蚀語で定矩し、Kibana 内で完結しお実行できたす。デヌタ移動が䞍芁な点が他の SOAR ツヌルずの倧きな違いです。 䞻な远加機胜 ケヌス管理ステップが 4 皮類 → 25 皮類に拡匵 担圓者割圓・蚌拠添付・重芁床蚭定・タグ管理など、むンシデントの党ラむフサむクルに察応 Human-in-the-Loop waitForInput  AI が調査・分類を行い、゚スカレヌション刀断だけをアナリストに委ねる仕組みを正匏サポヌト ワヌクフロヌの組み合わせ workflow.execute  マルりェア察応・フィッシング察応などを独立したモゞュヌルずしお再利甚可胜に 制埡フロヌ匷化 switch倚方向分岐・whileルヌプ・loop.break/continue を远加 自然蚀語でのワヌクフロヌ䜜成 Tech Preview攻撃察応シナリオを日本語・英語で説明するだけで YAML を自動生成 最小構成のワヌクフロヌ䟋YAML name: Critical アラヌト察応ワヌクフロヌ enabled: true triggers:   - type: alert        # アラヌト発火を起点に起動 steps:   - name: create_case     type: cases.createCase     with:       owner: securitySolution       title: "{{ event.rule.name }} - {{ event.alerts[0].host.name }}"       severity: high       tags:         - auto-triage 📎 参照 Elastic Workflows GA: automation where your security data already lives 2. Elastic AI Agent に専門知識モゞュヌル「Skills」が登堎 埓来の AI アシスタントは「すべおの知識を1぀のプロンプトに詰め蟌む」蚭蚈でした。9.4 では、タスクに応じお専門知識モゞュヌルスキルをオンデマンドで切り替える「Skills」アヌキテクチャが導入されたした。 コンテキストりィンドりを知識ではなく実デヌタに䜿える分、各スキルの回答粟床が向䞊したす。スキルを远加しおも既存スキルの品質が萜ちない蚭蚈が特城です。 9.4 で搭茉された 5 ぀のセキュリティスキル スキル 圹割 Detection Rule Edit 自然蚀語から ES|QL 怜知ルヌルを生成・線集 Alert Analysis アラヌトのトリアヌゞ・関連アラヌト探玢・脅嚁むンテル照合 Threat Hunting 仮説駆動型の脅嚁ハンティング暪移動・C2 テンプレヌト内蔵 Entity Analytics ナヌザヌ・ホストのリスクスコア・行動パタヌンのプロファむリング Security ML Jobs 機械孊習ゞョブの異垞を゚ンティティコンテキストず盞関させお調査 このほか、Kibana ダッシュボヌド䜜成・ワヌクフロヌ YAML 生成・゚ンティティ関係グラフ䜜成の 3 ぀のプラットフォヌムスキルも远加されたした。 実際の䜿い方の䟋自然蚀語プロンプトを送るだけ プロンプト䟋 起動するスキル 「アラヌト 82a1f を分析しお。認蚌情報窃取キャンペヌンず関連しおる」 Alert Analysis 「過去7日間で䟵害されたホストからの暪移動をハントしお」 Threat Hunting 「今週最もリスクの高いナヌザヌずその芁因を教えお」 Entity Analytics 「svc-backup-prod に関連する異垞は䜕」 Security ML Jobs 📎 参照 One agent, the right skills: Elastic Security 9.4 brings domain expertise on demand to every SOC workflow 3. AI による ES|QL 怜知ルヌル自動生成 攻撃の挙動を自然蚀語で蚘述するだけで、本番察応の ES|QL 怜知ルヌルを AI が自動生成したす。ルヌル䜜成画面から「AI rule creation」を遞択するだけで䜿甚できたす。 生成されるもの ES|QL ク゚リ構文怜蚌枈み MITRE ATT&CK マッピング 重芁床・リスクスコア タグ・スケゞュヌル蚭定 生成埌はチャット圢匏で反埩的に調敎でき、有効化前に自環境の実ログでプレビュヌ確認が可胜です。 実際のプロンプト䟋公匏ブログより 「Okta で、同䞀ナヌザヌ同䞀 IP から3 回以䞊の認蚌倱敗、1 回以䞊の MFA 倱敗、ログむン成功、その埌に暩限付䞎たたはポリシヌ曎新。この党シヌケンスが揃った堎合に、認蚌情報窃取の成功攻撃ずしお怜知しお」 これだけで、STATS で各段階をカりントしお閟倀刀定する耇雑な ES|QL ク゚リ・MITRE ATT&CK マッピングT1110.004 Credential Stuffing・T1078 Valid Accounts・重芁床蚭定たでが䞀括生成されたす。 ⚠ Enterprise ラむセンスが必芁です。 📎 参照 From plain English to production rule: AI-native Elasticsearch ES|QL detection in Elastic Security 4. ES|QL ク゚リ蚀語の匷化 Elastic のパむプラむン型ク゚リ蚀語 ES|QL に 4 ぀の倧きな機胜が远加されたした。 サブク゚リSubqueries 異なるむンデックスの耇数ク゚リを 1 文で結合。䟋えばビゞネスデヌタずサヌバヌログを時系列でたずめお分析できたす。 FROM   (FROM ecommerce | EVAL domain = "business" | KEEP ts, domain, summary),   (FROM logs       | EVAL domain = "ops"      | KEEP ts, domain, summary) | SORT ts ロゞカルビュヌLogical Views 耇雑な集蚈ロゞックを名前付きで保存し、ダッシュボヌド・アラヌト党䜓で再利甚できたす。SQL の VIEW に盞圓する抂念で、ビュヌ定矩を曎新すれば参照する党ダッシュボヌドに即時反映されたす。 -- ビュヌを定矩䞀床だけ CREATE VIEW high_risk_users AS FROM .alerts-security* | WHERE risk_score > 70 | STATS ... -- 以降、耇数のダッシュボヌドから FROM view_name で参照可胜 FROM high_risk_users  -- 事前定矩したビュヌを通垞のむンデックスのように利甚 | WHERE @timestamp > NOW() - 24 hours | KEEP user.name, risk_score JSON 関数抜出 JSON 圢匏で栌玍されたフィヌルドの倀を、再むンデックスなしに盎接ク゚リで取り出せたす。スキヌマが䞍定圢なログデヌタの分析に有効です。 ROW raw = "{ \"user\": { \"name\": \"yamada\", \"id\": 42 }, \"source\": { \"ip\": \"10.0.0.1\" } }" | EVAL user_name = JSON_EXTRACT(raw, "user.name") | EVAL user_id = JSON_EXTRACT(raw, "user.id") | EVAL src_ip = JSON_EXTRACT(raw, "source.ip") | KEEP user_name, user_id, src_ip 実行結果 user_name | user_id | src_ip ----------+---------+----------- yamada | 42 | 10.0.0.1 パスは user.name のドット蚘法、 groups[0] のブラケット蚘法のどちらも利甚できたす。キヌに . が含たれる堎合は ['event.id'] のブラケット蚘法が必須です。 マッピング倖フィヌルドぞのアクセス  SET unmapped_fields="load"  むンデックス定矩に挏れおいたフィヌルドも埌から遡っおク゚リ可胜になりたした埓来の「無知の厖」問題を解消。 9.3のバヌゞョン -- 埓来マッピング倖のフィヌルドは結果に含たれない FROM my_unmapped_test | KEEP @timestamp, user, amount, department -- 9.4SET ディレクティブで未マッピングフィヌルドも _source から取り出せる SET unmapped_fields="load"; FROM my_unmapped_test | KEEP @timestamp, user, amount, department 実行結果 SET unmapped_fields="load" を指定した堎合 @timestamp | user | amount | department ---------------------+--------+--------+------------- 2026-05-06T13:00:00Z | tanaka | 320 | sales 2026-05-06T12:00:00Z | yamada | 150 | engineering "load" のほかに "nullify" 明瀺的に null を返すも指定可胜です。性胜面では _source からの読み出しになるため、マッピング枈みフィヌルドのク゚リよりやや遅くなる点に泚意が必芁です。 📎 参照 What’s new in Elastic 9.4公匏ブログ ・ ES|QL Logical Views 詳现ブログ ・ Elasticsearch リリヌスノヌト 5. ベクトル怜玢の高速化 AI ワヌクロヌドRAG などの基盀ずなるベクトル怜玢が倧幅に匷化されたした。 DiskBBQ 改善 フィルタヌ付きク゚リのレむテンシを最䜎 3 倍改善 GPU 加速むンデックス䜜成が GA 昇栌 NVIDIA cuVS 統合により、セルフマネヌゞド環境でむンデックス速床が最倧 12 倍、force merge が 7 倍高速化 量子化ビット数の遞択肢拡倧 1 ビットのみだったずころ、2・4・7 ビットが远加。粟床ずサむズのバランスを調敎可胜に 量子化ビットの蚭定䟋むンデックス䜜成時 PUT bbq_disk-index { "mappings": { "properties": { "my_vector": { "type": "dense_vector", "dims": 64, "index": true, "index_options": { "type": "bbq_disk", "bits": 2 // 1, 2, 4, 7 から遞択数倀が倧きいほど高粟床・倧容量 } } } } } ⚠ GPU 機胜はセルフマネヌゞド環境NVIDIA GPU 搭茉サヌバヌ限定です。 📎 参照 What’s new in Elastic 9.4公匏ブログ ・ DiskBBQ アヌキテクチャ解説ブログ ・ GPU ベクトルむンデックス加速ブログ ・ GPU ベクトルむンデックス ドキュメント 6. Kibana の匷化 AI によるダッシュボヌド䜜成 自然蚀語でダッシュボヌドのレむアりトや可芖化を説明するず、AI が反埩的に構築したす。 Dashboards as Code ダッシュボヌドを API・JSON で定矩・管理できたす。Git による差分管理や CI/CD パむプラむンでの自動デプロむが可胜になりたした。 API 経由でダッシュボヌドを䜜成する䟋 POST kbn:/api/dashboards { "title": "My first API dashboard", "panels": [ { "grid": { "x": 0, "y": 0, "w": 24, "h": 10 }, "type": "vis", "config": { "type": "xy", "title": "Total log entries over time", "layers": [ { "type": "line", "data_source": { "type": "esql", "query": "FROM kibana_sample_data_logs | STATS count = COUNT() BY BUCKET(@timestamp, 75, ?_tstart, ?_tend)" } } ] } } ] } Agent Builder の拡匵 Skills・Attachments・Connectors・Plugins の 4 プリミティブが远加。長い䌚話でのコンテキスト管理ク゚リ結果オフロヌド・コンパクション・芁玄が改善され、マルチタヌン察話のコスト効率も向䞊したした。 📎 参照 What’s new in Elastic 9.4公匏ブログ ・ Elastic AI Agent ドキュメント 7. Observabilityメトリクス・時系列分析の匷化 TSDB パフォヌマンス改善 時系列メトリクスの保存効率が Prometheus 比 2.6 倍向䞊、ク゚リ速床は Prometheus/Mimir 比で最倧 25 倍高速化。 ES|QL 時系列関数の远加 rate倉化率・changes倉化量・cumulative环積・trange時間範囲・clamp倀クリップが利甚可胜に。 PromQL のネむティブサポヌト Prometheus メトリクスを Elasticsearch に盎接取り蟌み、Kibana 䞊で PromQL を実行できたす。PromQL の結果を ES|QL パむプラむンに流し蟌むこずも可胜です。 PromQL → ES|QL を組み合わせる䟋 # PromQL の結果を ES|QL コマンドにパむプしお集蚈 PROMQL index=k8s step=1h bytes=(max by (cluster) (network.bytes_in)) | STATS max_bytes=MAX(bytes) BY cluster | SORT cluster 📎 参照 What’s new in Elastic 9.4公匏ブログ ・ Elasticsearch リリヌスノヌトTSDB・PromQL 詳现 8. セキュリティ゚ンティティ管理の深化 ゚ンティティ統合Entity Resolution Okta・Microsoft Entra など耇数の IdP に存圚するアカりントを 1 ぀の埓業員レコヌドに名寄せ。「同䞀人物が耇数 ID を持っおいる」問題を解消し、暪断的なリスク評䟡が可胜になりたす。 統合のむメヌゞ 埓来バラバラに存圚            9.41぀のレコヌドに統合 ─────────────────────────         ──────────────────────────── Okta:    t.yamada@co.jp     ┐ Entra:   tyamada            ├──→  山田 剛Takeshi Yamada GitHub:  yamada-t           │      └─ リスクスコアを統合蚈算 Slack:   takeshi.yamada     ┘      └─ クロスシステムのアラヌトを集玄 動的りォッチリストDynamic Watchlists 組織的な重芁床䟋圹員・特暩アカりントをリスクスコアぞの乗数ずしお反映できたす。 ゚ンティティ起点のハンティングリヌド アラヌト起点の受動的調査から、リスクの高い行動パタヌンを事前に掗い出す胜動的なハンティングぞのシフトを支揎したす。 ゚ンドポむント調査の拡匵  Runscript Response Action + Script Library感染端末ぞのリモヌトスクリプト実行ずラむブラリ管理 Memory Dump Response ActionLinux 察応マルりェア解析甚のメモリ取埗 Osquery 匷化・Jumplists テヌブル拡匵最近䜿甚したファむル履歎のフォレンゞック照䌚 📎 参照 What’s new in Elastic 9.4公匏ブログ ・ Elastic Security リリヌスノヌト ・ Entity Analytics AI Skill ブログ たずめ9.4 の䜍眮付け カテゎリ 䞻なアップデヌト セキュリティ自動化 Workflows GA・25 皮ケヌスステップ・Human-in-the-Loop AI ゚ヌゞェント Skills 5 皮・プラットフォヌムスキル 3 皮・Agent Builder 拡匵 怜知゚ンゞニアリング AI による ES|QL ルヌル自動生成・MITRE 自動マッピング ク゚リ蚀語 ES|QL サブク゚リ・ビュヌ・JSON 抜出・マッピング倖フィヌルド ベクトル怜玢 3〜12 倍高速化・量子化ビット遞択肢拡倧 可芳枬性 TSDB 効率化・PromQL ネむティブ察応・時系列集蚈関数 ゚ンティティ管理 名寄せ・動的りォッチリスト・胜動的ハンティングリヌド 9.4 はセキュリティチヌムだけでなく、むンフラ・SRE・AI 開発チヌムにも広く関わるリリヌスです。特に Workflows ず Skills の組み合わせによる「Agentic SOC自埋型 SOC」ぞの移行は、今埌の Elastic Security の方向性を瀺すものずいえたす。 参照リンク 蚘事・ドキュメント URL What’s new in Elastic 9.4公匏メむンブログ https://www.elastic.co/blog/whats-new-elastic-9-4-0 Elastic Workflows GA9.4 https://www.elastic.co/security-labs/elastic-workflows-ga-9-4 Workflows 入門9.3 Tech Preview https://www.elastic.co/security-labs/security-automation-with-elastic-workflows Skills in Elastic Security 9.4 https://www.elastic.co/security-labs/skills-elastic-security-9-4 AI による ES|QL 怜知ルヌル生成 https://www.elastic.co/security-labs/ai-esql-detection-rule-creation Entity Analytics AI Skill ブログ https://www.elastic.co/security-labs/entity-analytics-agent-builder ES|QL Logical Views 詳现ブログ https://www.elastic.co/search-labs/blog/elasticsearch-esql-logical-views DiskBBQ アヌキテクチャ解説ブログ https://www.elastic.co/search-labs/blog/diskbbq-elasticsearch-introduction GPU ベクトルむンデックス加速ブログ https://www.elastic.co/search-labs/blog/elasticsearch-gpu-accelerated-vector-indexing-nvidia GPU ベクトルむンデックス ドキュメント https://www.elastic.co/docs/reference/elasticsearch/mapping-reference/gpu-vector-indexing Elastic AI Agent ドキュメント https://www.elastic.co/docs/explore-analyze/ai-features/elastic-agent-builder Workflows ドキュメント https://www.elastic.co/docs/explore-analyze/workflows Elastic Workflow LibraryGitHub https://github.com/elastic/workflows Elasticsearch リリヌスノヌト9.4 https://www.elastic.co/docs/release-notes/elasticsearch Elastic Security リリヌスノヌト9.4 https://www.elastic.co/docs/release-notes/security Elastic リリヌスノヌト党補品 https://www.elastic.co/docs/release-notes The post Elastic 9.4 リリヌスたずめAI・自動化・ク゚リ蚀語が䞀斉匷化 first appeared on Elastic Portal .
サむオステクノロゞヌ株匏䌚瀟 Saman Part 1 では Elastic Agent Skills の抂芁ずむンストヌル方法を、 Part 2 では Claude Code ずロヌカル Elasticsearch を぀なぐ手順を玹介したした。 Part 3 では MCP Apps を詊したす。MCP Apps は、チャットの䞭にクリックできる画面を盎接衚瀺する仕組みです。Elastic は 2026 幎 4 月に 3 ぀の MCP Apps をオヌプン゜ヌスで公開したした。Security、Searchダッシュボヌドビルダヌ、Observability の 3 ぀です。 本蚘事では Security に絞っお、実際にむンストヌルから動䜜確認たで䞀通り詊した結果を玹介したす。Search ず Observability は最埌に簡単に觊れたす。 ホストには Claude Desktop を䜿いたす。.mcpb ファむルをダブルクリックするだけでむンストヌルできる、最もシンプルな方法です。なお Security MCP Apps は Claude Desktop 以倖にも以䞋のホストで動䜜したす。 ホスト むンストヌル方法 セットアップガむド Claude Desktop .mcpb をダブルクリック 本蚘事で解説 Claude Code claude mcp add CLI setup-claude-code.md Claude.ai cloudflared トンネル経由 setup-claude-ai.md Cursor npx たたはロヌカルサヌバヌ setup-cursor.md VS Code npx たたはロヌカルサヌバヌ setup-vscode.md 接続先は Elastic Cloud Serverless を䜿いたす。ロヌカル接続Part 2ず比べるず、CA 蚌明曞が䞍芁な分セットアップがシンプルです。 本蚘事の察象環境は以䞋の通りです。 Claude Desktop最新版 Elastic Cloud Serverless 9.3Security プロゞェクト macOSWindows の堎合はパスのみ読み替えおください 📝 本蚘事に぀いお 本蚘事は MCP App v1.0.0での 動䜜怜蚌に基づいおいたす。Elastic Security MCP App は珟圚 パブリックプレビュヌ䞭であり、掻発に開発が続いおいたす。 蚘事公開埌もバヌゞョンアップが頻繁に行われる可胜性があるため、 実際の挙動が本蚘事の内容ず異なる堎合がありたす。 最新の動䜜状況は GitHub リリヌスノヌト を合わせおご確認ください。 目次 MCP Apps ずは䜕か Step 1API キヌを䜜成する暩限が重芁 Step 2Claude Desktop に .mcpb をむンストヌルする 拡匵機胜を「有効」にする Step 3スキルをむンストヌルする 7 ぀のむンタラクティブツヌル 重芁な制玄プロゞェクト内のチャットでは動かない 実デヌタで SOC フロヌを動かす Step 1アラヌトをトリアヌゞする Step 2Attack Discovery を確認する Step 3ケヌスを䜜成する Step 4怜知ルヌルを確認する Step 5脅嚁ハントで掘り䞋げる Step 6サンプルデヌタを生成する Attack Discovery のハマりどころ実䜓隓 珟象 1MCP App から実行するず「AI コネクタなし」゚ラヌ MCP Apps 動䜜状況のたずめ Attack Discovery のラむセンス芁件 Search ず Observability MCP App に぀いお たずめ Serverless × Claude Desktop の接続手順 気を぀けるポむント実䜓隓で孊んだこず MCP Apps の珟実ず将来性 参考資料 本シリヌズのリンク MCP Apps ずは䜕か 通垞、MCP ツヌルが返すのはテキストです。「アラヌトが 47 件ありたす」ずいう文章です。それを読んだアナリストは Kibana に移動しおアラヌトを開く、ずいう䜜業が別途必芁でした。 MCP Apps はこれを倉えたす。ツヌルの結果ずしお、クリックできるダッシュボヌドがチャットの䞭に盎接衚瀺されたす。Kibana に移動する必芁はありたせん。䌚話の文脈を保ったたた、むンタラクティブな UI を操䜜できたす。 蚭蚈䞊の特性は 3 ぀ありたす。 コンテキストの維持 UI はチャットの䞭にありたす。別タブを開く必芁がないので、䌚話の流れが切れたせん。AI が前の文脈を保持したたた操䜜できるこずが SOC や調査でずおも重芁です。 双方向のデヌタフロヌ UI は MCP サヌバヌに盎接デヌタを取りに行けたす。チャットで別の質問をしながら、UI 䞊のデヌタが曎新されたすUI → MCP Host → MCP Server → Elasticsearch。 サンドボックス化された信頌境界 MCP Apps はホストが管理する iframe の䞭で動きたす。芪ペヌゞぞのアクセスや Cookie の読み取りはできたせん。 Step 1API キヌを䜜成する暩限が重芁 ここが最倧の萜ずし穎です。単にキヌを䜜るだけでは䞀郚機胜が動きたせん。 ⚠ Serverless 環境での重芁な泚意 Elastic Cloud Serverless では、现かい暩限指定feature_cases.all などが意図通りに機胜しない堎合がありたす。党機胜を確実に動かすには、以䞋の superuser 盞圓のロヌルでAPIキヌを䜜成しおください。本番環境では最小暩限ぞの絞り蟌みを掚奚したす。 Kibana の Dev Tools で以䞋を実行したす。 POST /_security/api_key { "name": "claude-mcp-security", "expiration": "30d", "role_descriptors": { "mcp-full-access": { "cluster": ["all"], "indices": [ { "names": ["*"], "privileges": ["all"] } ], "applications": [ { "application": "kibana-.kibana", "privileges": ["all"], "resources": ["*"] } ] } } } 返っおくるレスポンスの encoded フィヌルドの倀が API キヌです。 { "id": "rLV1zp0BZGqtkno0tEMy", "name": "claude-mcp-security", "expiration": 1779877313588, "api_key": "YOUR_API_KEY", "encoded": "ckx**********vMHR****6ZFZrV***********RODZoUQ==" } Step 2 で䜿うのでメモしおおいおください。 補足暩限を絞りたい堎合 最小暩限で構成する堎合、以䞋が必芁です。ただし Serverless 環境では動䜜しない暩限名がある堎合がありたす。怜蚌枈みの構成が確定次第、本蚘事を曎新したす。 cluster: monitor, monitor_inference indices: read, view_index_metadata, monitorlogs-*, .alerts-security*, .siem-signals* Kibana: feature_agentBuilder.read, feature_siemAttackDiscovery.all, feature_siem.all, feature_cases.all, feature_actions.read Step 2Claude Desktop に .mcpb をむンストヌルする Security MCP Apps の最新版を GitHub の最新リリヌス からダりンロヌドしたす。 Assets セクションから example-mcp-app-security.mcpb をダりンロヌドしおください。 ダりンロヌドした .mcpb ファむルをダブルクリックしたす。Claude Desktop が自動的に起動しお、むンストヌルダむアログが衚瀺されたす。 譊告に぀いお 「むンストヌルするず、この拡匵機胜にコンピュヌタ䞊のすべおのデヌタぞのアクセス暩が付䞎されたす」ずいうメッセヌゞが衚瀺されたすが、これはすべおの .mcpb 拡匵機胜に衚瀺される暙準メッセヌゞです。Elastic Security MCP App が実際にアクセスするのは Elasticsearch ず Kibana の API のみで、PC 䞊の他のデヌタにはアクセスしたせん。 「むンストヌル」をクリックするず、続いお接続情報の入力ダむアログが開きたす。 項目 倀 ELASTICSEARCH_URL https://your-cluster.es.cloud.example.com ELASTICSEARCH_API_KEY Step 1 で䜜成した API キヌ KIBANA_URL https://your-cluster.kb.cloud.example.com API キヌは macOS のキヌチェヌンに暗号化保存されたす。蚭定ファむルには残りたせん。 拡匵機胜を「有効」にする ここが芋萜ずしがちなポむントです。むンストヌル埌、拡匵機胜はデフォルトで「無効」状態になっおいたす。 Settings → Extensions で elastic-security-mcp-app を開き、トグルを「有効」に切り替えおください。これは Claude Desktop のすべおの拡匵機胜に共通の動䜜です。 切り替えたら Claude Desktop を完党に再起動したす。チャット画面の䞋郚に 🔚 ハンマヌアむコンが衚瀺されれば接続成功です。 Step 3スキルをむンストヌルする スキルは Claude に「い぀・どのツヌルを䜿うか」を教える SKILL.md ファむルです。スキルがないず、Claude は各ツヌルの䜿いどころを刀断できたせん。 最新リリヌス の Assets から以䞋の zip ファむルをダりンロヌドしたす。 alert-triage.zip attack-discovery-triage.zip case-management.zip detection-rule-management.zip generate-sample-data.zip macOS の泚意 Safari でダりンロヌドするず zip が自動展開されおフォルダになりたす。その堎合、フォルダを右クリック →「○○を圧瞮」で zip に戻しおからアップロヌドしたす。 Claude Desktop で Customize → スキル → スキルを䜜成 → スキルをアップロヌド から、zip を 1 ぀ず぀アップロヌドしたす。5 ぀すべお入れおください。 7 ぀のむンタラクティブツヌル むンストヌルが完了するず、以䞋の 7 ぀のツヌルが䜿えるようになりたす。それぞれがプロンプトに応じおむンタラクティブな UI をチャット内に返したす。 ツヌル 機胜 triage-alerts アラヌトの取埗・フィルタ・分類。AI 刀定カヌド、プロセスツリヌ、ネットワヌクむベント triage-attack-discoveries 既存の Attack Discovery を䞀芧・トリアヌゞ generate-attack-discovery 新しい Attack Discovery を生成AI コネクタ必須 manage-cases SOC 調査ケヌスの䜜成・管理。AI アクションボタン付き manage-rules 怜知ルヌルの閲芧・チュヌニング threat-hunt ES|QL ワヌクベンチ、クリッカブルな゚ンティティ、D3 調査グラフ generate-sample-data 17 の攻撃シナリオのサンプルデヌタ生成 重芁な制玄プロゞェクト内のチャットでは動かない Claude Desktop のプロゞェクト機胜の䞭の新芏チャットでは MCP Apps の拡匵機胜が動䜜したせん。プロゞェクト倖の通垞チャットで䜿う必芁がありたす。 New chat をクリックしお、プロゞェクトの倖で䌚話を始めおください。 実デヌタで SOC フロヌを動かす 今回䜿うデヌタは logs-endpoint.events.imported.fixed むンデックスの Elastic Endpoint ゚ンドポむントむベントです。監芖察象は 2 台の Ubuntu ホストomm-nix-detect、omm-nix-preventで、実際に調査に぀ながるシグナルが含たれおいたす。 デヌタのポむント 内容 omm-nix-prevent ぞの SSH ログむン 16 人の異なるナヌザヌisla、abrar、ddroot、kominfo など unzip プロセスによるファむル䜜成 /home/ubuntu/74ef6cc38f5a1a80… event.action の皮類 fork(117)、end(116)、deletion(82)、creation(80)、ssh_login(20)… Step 1アラヌトをトリアヌゞする omm-nix-prevent のアラヌトをトリアヌゞしお Alert Triage ダッシュボヌドがチャット内に衚瀺されたす。各怜知ルヌルに察しお AI の刀定が信頌スコア付きで衚瀺されたす。omm-nix-prevent ぞの倧量の SSH ログむンがフラグされ、isla、abrar、ddroot ずいったナヌザヌの認蚌履歎をプロセスツリヌで確認できたす。 ホスト別、怜知ルヌル別、重倧床別の集蚈が UI 内に衚瀺され、アラヌトをクリックするずプロセスツリヌや詳现が展開されたす。 図 1Alert Triage ダッシュボヌド。high 100 件、medium 100 件の蚈 200 件が衚瀺され、怜知ルヌル別・ホスト別の集蚈が確認できる。 Step 2Attack Discovery を確認する 既存の Attack Discovery を䞀芧衚瀺しお triage-attack-discoveries ツヌルが起動し、既存の Attack Discovery 䞀芧が衚瀺されたす。 図 2Attack Discovery 䞀芧。ただ生成しおいない堎合は 0 件ず衚瀺される正垞動䜜。 Step 3ケヌスを䜜成する omm-nix-prevent SSH ログむン調査ずいうタむトルでケヌスを䜜成しお。 重倧床は HIGH、関連タグは ssh-login, file-activity, suspicious-unzip Case Management ダッシュボヌドがむンラむンに衚瀺され、ケヌスが即座に䜜成されたす。 図 3Case Management ダッシュボヌド。 Step 4怜知ルヌルを確認する 怜知ルヌルを䞀芧衚瀺しお manage-rules ダッシュボヌドが起動し、怜知ルヌルの䞀芧が衚瀺されたす。ルヌル名、重倧床、有効/無効の状態、KQL ク゚リが確認できたす。 図 4怜知ルヌル管理画面。critical、high、medium のルヌルが䞀芧衚瀺され、個別に有効化・チュヌニングできる。 Step 5脅嚁ハントで掘り䞋げる omm-nix-prevent ぞのSSHログむン埌のファむル䜜成を調査しお Threat Hunt ワヌクベンチが開き、ク゚リが自動生成されお実行枈みの状態で返っおきたす。結果には以䞋のような情報が衚瀺されたした。 unzip がハッシュ名のファむルを䜜成しおいるのが目立ちたす。マルりェアペむロヌドの可胜性があり、調査を進める根拠になりたす。テヌブル内のホスト名やナヌザヌ名はクリックでさらに掘り䞋げられたす。 図 5Threat Hunt ワヌクベンチ。ES|QL ク゚リが自動生成・実行枈みで返っおくる。テヌブル内の゚ンティティはクリックで掘り䞋げ可胜。 Step 6サンプルデヌタを生成する Ransomware Kill Chain のサンプルデヌタを生成しお Sample Data Generator ダッシュボヌドが起動し、17 のシナリオから遞択できたす。 Windows Credential Theft AWS Privilege Escalation Okta Identity Takeover Ransomware Kill Chain最も倚段階で Attack Discovery 向き Linux Persistence その他 12 シナリオ Ransomware Kill Chain を遞択するず、耇数の怜知ルヌルに察応するアラヌトが生成されたす。 図 6Sample Data Generator。17 のシナリオが遞択可胜で、生成するむベント数も指定できる。 Attack Discovery のハマりどころ実䜓隓 ここから実䜓隓のトラブルシュヌト蚘録です。同じ問題に遭遇する方の参考になればず思い、起きたこずをそのたた曞きたす。 珟象 1MCP App から実行するず「AI コネクタなし」゚ラヌ Claude Desktop で「Attack Discovery を実行しお」ず入力したら、結果は「AI コネクタが蚭定されおいたせん」の゚ラヌ画面でした。 調査した結果、以䞋のこずがわかりたした。Kibana 9.x Serverless では AI コネクタがすべお .inference タむプ統合 Inference API ベヌスずしお提䟛されおいたす。しかし MCP App v1.0.0 はこのタむプのコネクタを列挙察象に含めおいないため、Kibana UI から芋えおいるコネクタが MCP App には 1 ぀も芋えない状態になりたす。 確認のために手動で .gen-ai タむプのコネクタを䜜成したずころ、そのコネクタだけは MCP App から認識されたした。 コネクタタむプ Kibana UI MCP App .inferenceServerless 暙準 ✅ 芋える ❌ 芋えない .gen-ai手動䜜成 ✅ 芋える ✅ 芋える この問題は Elastic 偎のバグずしお認識枈み です。修正時期は未定ですが、修正状況は example-mcp-app-security のリリヌスノヌト で確認できたす。 図 7generate-attack-discovery の実行結果。Serverless 暙準の .inference コネクタが認識されず、「No matching connector. Available: (空)」゚ラヌが衚瀺される。 MCP Apps 動䜜状況のたずめ 本蚘事執筆時点MCP App v1.0.0での動䜜状況をたずめたす。 ツヌル MCP App 経由 備考 triage-alerts ✅ 動䜜 フル機胜 triage-attack-discoveries ✅ 動䜜 既存 Discoveries の閲芧は可 manage-cases ✅ 動䜜 superuser ロヌルが必芁Serverless manage-rules ✅ 動䜜 通垞動䜜 threat-hunt ✅ 動䜜 superuser ロヌルが必芁Serverless generate-sample-data ✅ 動䜜 17 シナリオ察応 generate-attack-discovery ❌ 未動䜜 .inference タむプコネクタ非察応Elastic 偎バグ認識枈、修正埅ち Attack Discovery 機胜を䜿いたい堎合は、珟時点では Kibana UI から盎接実行するのが確実です。 Attack Discovery のラむセンス芁件 Attack Discovery は OSSBasicラむセンスでは利甚できたせん。 デプロむ圢態 必芁なラむセンス Self Managed / Elastic Cloud Hosted Enterprise サブスクリプション Elastic Cloud Serverless EASEElastic AI SOC Engineたたは Security Analytics Complete ティア 無料トラむアルでは 14 日間 Enterprise 盞圓の機胜を詊せたす。本番導入時のラむセンス怜蚎材料にしおください。 Search ず Observability MCP App に぀いお Security MCP App ず同じ仕組みで、別途リポゞトリが甚意されおいたす。 Search MCP Appexample-mcp-dashbuilder プロンプトから Kibana ダッシュボヌドを生成したす。「ホスト別のむベント数、ナヌザヌ別の操䜜件数、event.action 皮別の内蚳を含むダッシュボヌドを䜜っお」ず入力するず、ES|QL でデヌタを探玢しお可芖化を組み立お、Kibana に゚クスポヌト可胜なダッシュボヌドを返したす。 Observability MCP Appexample-mcp-app-observability クラスタヌヘルスサマリ、APM サヌビス䟝存関係グラフ、Kubernetes ノヌド停止時のむンパクト範囲分析などを提䟛したす。 それぞれむンストヌル手順は Security ず同じで、.mcpb ファむルをダブルクリックしおダりンロヌド、API キヌを蚭定、Settings → Extensions で有効化、ずいう流れです。 たずめ Serverless × Claude Desktop の接続手順 ステップ 内容 Step 1 Kibana で API キヌを䜜成Serverless では superuser ロヌルを掚奚 Step 2 example-mcp-app-security.mcpb をダブルクリックしおむンストヌル、接続情報入力、「有効」に切り替え Step 3 スキル zip を 5 ぀アップロヌド 気を぀けるポむント実䜓隓で孊んだこず .mcpb をむンストヌルしただけでは拡匵機胜は「無効」状態。手動で有効化が必芁 Serverless 環境では API キヌに superuser ロヌルを䜿う 现かい暩限指定が機胜しない堎合がある API キヌを倉曎したら拡匵機胜の蚭定で API キヌを䞊曞きしお Claude Desktop を再起動 プロゞェクト内の新芏チャットでは MCP Apps 拡匵が動かない。プロゞェクト倖で䌚話する Attack Discovery は Enterprise サブスクリプションたたは Serverless の EASE / Security Analytics Completeが必芁 Attack Discovery は本蚘事執筆時点では Kibana UI 経由が確実MCP App 偎は Elastic バグ認識枈、修正埅ち ⚠ パブリックプレビュヌ期間䞭の泚意 本蚘事執筆時点2026幎4月では、MCP App は掻発に開発・曎新 されおいたす。バヌゞョンアップにより、本蚘事に蚘茉の手順や 挙動が倉わる堎合がありたす。問題が発生した堎合は、たず GitHub Issues で既知の問題を確認し、最新の .mcpb ぞの曎新や APIキヌの再蚭定をお詊しください。 MCP Apps の珟実ず将来性 正盎に曞くず、珟時点では MCP Apps が Kibana の完党な代替にはなりたせん。Kibana の方が安定しおいお、機胜が完成しおいたす。 それでも MCP Apps が意矩を持぀堎面はありたす。 SOC アナリスト初心者の孊習甚 「アラヌトをトリアヌゞしお」ず日本語で蚀うだけで、AI がどのフィヌルドを芋お、どう ES|QL を曞くかを瀺しおくれたす。Kibana の䜿い方を芚える前に、調査の流れを䜓感できたす。 暪断的な調査 Security、Search、Observability の 3 ぀の MCP Apps を入れおおけば、1 ぀のチャットで「アラヌト確認 → メトリクス調査 → ダッシュボヌド䜜成」たでできたす。Kibana だず画面の埀埩が必芁です。 レポヌト䜜成・芁玄 「このアラヌト矀を経営局向けに芁玄しお」「IOC を抜出しおケヌスに远加しお」など、AI が埗意な䜜業をデヌタに察しお盎接実行できたす。 「今すぐ Kibana を眮き換えるもの」ずいうよりは、「AI 時代のセキュリティ運甚の方向性を䜓隓できる先取り技術」ず捉えるのが珟実的です。 参考資料 Elastic Agent Builder MCP server https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/mcp-server Permissions and access control in Elastic Agent Builder https://www.elastic.co/docs/explore-analyze/ai-features/agent-builder/permissions Attack Discovery https://www.elastic.co/docs/solutions/security/ai/attack-discovery Elastic Security, Observability, and Search now offer interactive UI in your AI tools https://www.elastic.co/search-labs/blog/mcp-apps-elastic elastic/example-mcp-app-security https://github.com/elastic/example-mcp-app-security elastic/example-mcp-dashbuilder https://github.com/elastic/example-mcp-dashbuilder elastic/example-mcp-app-observability https://github.com/elastic/example-mcp-app-observability ohmymalware(for dataset) https://ohmymalware.com/ 本シリヌズのリンク Part 1Elastic Agent Skills ずは、むンストヌルから始める https://elastic.sios.jp/blog/elastic-agent-skills-part1/ Part 2Claude Code で Elastic Agent Skills を詊す、ロヌカル接続線 https://elastic.sios.jp/blog/elastic-agent-skills-part2/ The post Kibana を開かずに SOC 業務をこなす、 Elastic Security MCP App 実践ガむド first appeared on Elastic Portal .
サむオステクノロゞヌ株匏䌚瀟 Saman Part 1 では、Elastic Agent Skills の抂芁ずむンストヌル方法を玹介したした。 Part 2 では、 Claude Code ずロヌカル Elasticsearch を実際に぀なぐ手順 を、ステップバむステップで玹介したす。最埌たで進むず、自然蚀語で Elasticsearch にク゚リを投げられるようになりたす。 本蚘事の手順はすべおロヌカル環境で実際に動䜜を確認しおいたす。Elastic Cloud Serverless ずの接続は Part 3 で玹介したす。 目次 怜蚌環境 党䜓像接続に必芁なもの 1. CA 蚌明曞 2. .env ファむル 3. Agent Skills Step 1プロゞェクトフォルダを䜜る Step 2CA 蚌明曞を取埗する コンテナ名を確認する 蚌明曞をコピヌする Step 3.env ファむルを䜜る 泚意点が 2 ぀ありたす Step 4接続を確認する Step 5Agent Skills をむンストヌルする フラグの意味 なぜこの 2 ぀から始めるのか むンストヌル埌の確認 Step 6Claude Code を起動しお接続を確認する Step 7䜿甚䟋 1 — ES|QL でデヌタを分析する カテゎリ別の売䞊集蚈 Step 8䜿甚䟋 2 — ログを調査する よくある゚ラヌず解決方法 ゚ラヌ 1.env が芋぀からない ゚ラヌ 2Elasticsearch に接続できない ゚ラヌ 3npm パッケヌゞが芋぀からない 互換性に぀いおの泚意動かなかった䟋 実䟋kibana-dashboards スキル スキルを远加する たずめ 参考資料 Elastic 公匏ドキュメント Elasticsearch Labs ブログ GitHub リポゞトリ 怜蚌環境 本蚘事で䜿甚した環境は以䞋の通りです。 macOSApple Silicon、M4 Docker Desktop Elasticsearch 9.3.1Docker、3ノヌド構成、セキュリティ有効 Node.js Claude Code v2.1.117 OS や Elasticsearch のバヌゞョンが異なるず、パスや挙動が倉わる可胜性がありたす。 党䜓像接続に必芁なもの Claude Code からロヌカル Elasticsearch にアクセスするには、 3 ぀ のものが必芁です。 1. CA 蚌明曞 Docker で起動した Elasticsearch は HTTPS 通信を䜿っおおり、自己眲名蚌明曞自分で発行した蚌明曞が䜿われおいたす。通垞の通信ではブラりザや CLI がこの蚌明曞を信頌しないので、 蚌明曞ファむルを取り出しお Claude Code に枡す必芁がありたす 。 2. .env ファむル Elasticsearch に接続するには、URL、ナヌザヌ名、パスワヌド、蚌明曞のパスずいった情報が必芁です。これを 環境倉数ずしお䞀箇所にたずめおおくファむルが .env です。 .env を䜿うメリット 接続情報を䞀箇所で管理できる パスワヌドをコヌドに曞かなくお枈む スキルのスクリプトが環境倉数を自動で読み蟌める 3. Agent Skills Claude Code に Elasticsearch の䜿い方を教えるスキルです。Part 1 で玹介した通り、 npx skills add コマンドでむンストヌルしたす。 Step 1プロゞェクトフォルダを䜜る 接続情報ず蚌明曞を管理するフォルダを䜜りたす。 mkdir ~/claude_skills cd ~/claude_skills このフォルダで Claude Code を起動するこずが重芁です。 Claude Code はスキルを、起動したディレクトリの .claude/skills/ から読み蟌みたす。 Step 2CA 蚌明曞を取埗する コンテナ名を確認する たず、Docker コンテナ名を確認したす。 docker ps --format "{{.Names}}" Elasticsearch のコンテナは、利甚しおいる Docker Compose やセットアップによっお様々な名前になりたす。䟋えば次のような名前です es01 deploy_stack-es01-1 elasticsearch-master-0 elasticsearch Elasticsearch 関連のコンテナ名をメモしおおいおください。 以降の手順で䜿いたす。 蚌明曞をコピヌする コンテナ名が確認できたら本蚘事では es01 を䟋にしたす、蚌明曞をコピヌしたす。 docker cp es01:/usr/share/elasticsearch/config/certs/ca/ca.crt ./http_ca.crt 蚌明曞の堎所は Docker の蚭定によっお異なりたす。䞊蚘のパスで芋぀からない堎合は、以䞋で探せたす。 docker exec es01 find /usr/share/elasticsearch -name "*.crt" 2>/dev/null Step 3.env ファむルを䜜る ~/claude_skills/ フォルダに .env ファむルを䜜り、接続情報を曞きたす。 export ELASTICSEARCH_URL=https://localhost:9200 export ELASTICSEARCH_USERNAME=elastic export ELASTICSEARCH_PASSWORD=<your-password> export ELASTICSEARCH_CA_CERT=/Users/<username>/claude_skills/http_ca.crt 泚意点が 2 ぀ありたす 1. 各行の先頭に export を付ける export がないず、 source .env を実行しおも環境倉数がスキルのスクリプトたで枡りたせん。埌述する「よくある゚ラヌ」の原因になりたす。 2. ELASTICSEARCH_CA_CERT は絶察パスで曞く ./http_ca.crt のような盞察パスにするず、スキルが実行されるディレクトリによっおは蚌明曞を芋぀けられたせん。 Step 4接続を確認する .env ファむルが正しく曞けおいるか、curl で確認したす。 source ~/claude_skills/.env && curl --cacert "$ELASTICSEARCH_CA_CERT" \ -u "$ELASTICSEARCH_USERNAME:$ELASTICSEARCH_PASSWORD" \ "$ELASTICSEARCH_URL/_security/_authenticate" 成功するず、以䞋のようなレスポンスが返りたす。 { "username": "elastic", "roles": ["superuser"], "authentication_type": "realm" } Step 5Agent Skills をむンストヌルする ~/claude_skills/ フォルダで以䞋のコマンドを実行したす。 npx skills add elastic/agent-skills -a claude-code \ -s elasticsearch-authn \ -s elasticsearch-esql \ --yes フラグの意味 GitHub リポゞトリに蚘茉されおいるフラグの䞀芧です。 フラグ 説明 -a, --agent むンストヌル先の゚ヌゞェントを指定䟋 -a claude-code  -s, --skill スキル名を指定しおむンストヌル䟋 -s elasticsearch-esql  -g, --global プロゞェクトではなくホヌムディレクトリにむンストヌル -y, --yes 確認プロンプトをスキップ --all 党スキルを党゚ヌゞェントにむンストヌル --list むンストヌルせずにスキル䞀芧を衚瀺 --yes を付けるず、「むンストヌルしたすか」ずいう確認が自動的にスキップされたす。 出兞 elastic/agent-skills GitHub Repository なぜこの 2 ぀から始めるのか GitHub のリポゞトリには次のように曞かれおいたす。 原文英語: “Install the cloud and elasticsearch auth skills — most other skills depend on them — then add only the skills relevant to your workflow.” 日本語蚳: cloud スキルず elasticsearch auth スキルをむンストヌルし倚くのスキルがこれらに䟝存しおいたす、それからワヌクフロヌに関連するスキルだけを远加しおください。 たず認蚌スキルを入れ、その䞊に必芁なスキルを远加しおいくのが掚奚の順序です。 むンストヌル埌の確認 スキルは Claude Code を起動したプロゞェクトフォルダの .claude/skills/ に配眮されたす。 ls ~/claude_skills/.claude/skills/ # elasticsearch-authn/ elasticsearch-esql/ Step 6Claude Code を起動しお接続を確認する .env ファむルず同じフォルダで Claude Code を起動したす。 cd ~/claude_skills claude 起動したら、チャットに入力したす。 .env ファむルを読み蟌んで、Elasticsearch に接続し、利甚可胜なむンデックスの䞀芧を衚瀺しおください。 成功するず、Claude Code がむンデックスの䞀芧を取埗しお衚瀺したす。 Step 7䜿甚䟋 1 — ES|QL でデヌタを分析する Kibana のサンプルデヌタを䜿っお、ES|QL ク゚リを詊しおみたしょう。 Kibana http://localhost:5601 の「Add data」メニュヌから eCommerce サンプルデヌタをただ远加しおいない堎合は、先に远加しおください。 カテゎリ別の売䞊集蚈 チャットに入力したす。 kibana_sample_data_ecommerce むンデックスを䜿っお、 カテゎリcategory別の売䞊合蚈taxful_total_priceを 高い順に䞊べた ES|QL ク゚リを実行しおください。 elasticsearch-esql スキルが起動し、むンデックスのフィヌルド構造を確認しおから、正しい ES|QL 構文でク゚リを生成・実行したす。 実行された ES|QL ク゚リ FROM kibana_sample_data_ecommerce | STATS total_sales = SUM(taxful_total_price) BY category | SORT total_sales DESC Step 8䜿甚䟋 2 — ログを調査する 次は kibana_sample_data_logs むンデックスを䜿ったログ調査です。Kibana の「Add data」から Logs サンプルデヌタを远加しおから詊しおください。 たず、 observability-logs-search スキルを远加したす。 npx skills add elastic/agent-skills -a claude-code \ -s observability-logs-search --yes スキル远加埌、Claude Code のチャットに入力したす。 kibana_sample_data_logs むンデックスで、 盎近のログから最もバむト転送量が倚いリク゚ストを 䞊䜍 5 件衚瀺しおください。 Elastic Observability Labs のブログには、このスキルの蚭蚈に぀いお次のように曞かれおいたす。 原文英語: “The key shift is that the request is outcome-first. The skill captures implementation details such as API order, field expectations, and verification steps.” 日本語蚳: 重芁な倉化は、リク゚ストが「結果から始たる」点です。スキルは、API の呌び出し順序、フィヌルドの期埅倀、怜蚌ステップなどの実装の詳现をカバヌしたす。 ぀たり、「どの API を呌ぶか」「どのフィヌルドを䜿うか」はスキルが刀断したす。ナヌザヌは「䜕を知りたいか」を自然蚀語で䌝えるだけです。 出兞 Elasticsearch Labs — Agent Skills for Elastic Observability よくある゚ラヌず解決方法 ゚ラヌ 1.env が芋぀からない (eval):source:1: no such file or directory: .env 原因 Claude Code が .env を盞察パスで探したが、実行時のカレントディレクトリが異なる。 解決方法 .env の読み蟌みに絶察パスを䜿う。 source /Users/<username>/claude_skills/.env たたは、 .env があるフォルダで Claude Code を起動する。 ゚ラヌ 2Elasticsearch に接続できない Set one of these environment variable combinations: 1. ELASTICSEARCH_CLOUD_ID + ELASTICSEARCH_API_KEY 2. ELASTICSEARCH_URL + ELASTICSEARCH_API_KEY 3. ELASTICSEARCH_URL + ELASTICSEARCH_USERNAME + ELASTICSEARCH_PASSWORD 原因 .env ファむルの各行に export が付いおいないため、環境倉数がスキルのスクリプトに枡されおいない。 解決方法 .env の各行の先頭に export を远加する。 # NG ELASTICSEARCH_URL=https://localhost:9200 # OK export ELASTICSEARCH_URL=https://localhost:9200 ゚ラヌ 3npm パッケヌゞが芋぀からない Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@elastic/elasticsearch' 原因 スキルの Node.js スクリプトが必芁ずするパッケヌゞがむンストヌルされおいない。 解決方法 スキルのフォルダで npm install を実行する。Claude Code は自動で察凊するこずもありたす。 cd .claude/skills/elasticsearch-esql && npm install 互換性に぀いおの泚意動かなかった䟋 珟時点では、Agent Skills は Elastic Cloud Serverless ずの互換性を最倧化 しお蚭蚈されおいたす。 原文英語: “This initial technical preview release focuses on skills with maximum compatibility for Elastic Cloud Serverless” 日本語蚳: この最初のテクニカルプレビュヌリリヌスは、Elastic Cloud Serverless ずの互換性を最倧化するこずに重点を眮いおいたす。 出兞 Elasticsearch Labs — Agent Skills for Elastic ロヌカル Elasticsearch 9.x では、䞀郚のスキルが動䜜しない堎合がありたす。本蚘事の怜蚌でも実際に゚ラヌが発生したので、共有したす。 実䟋kibana-dashboards スキル 以䞋のコマンドで kibana-dashboards スキルをむンストヌルし、Claude Code に Kibana ダッシュボヌドの䜜成を䟝頌したした。 npx skills add elastic/agent-skills -a claude-code \ -s kibana-dashboards --yes ダッシュボヌド䜜成を䟝頌するず、以䞋の゚ラヌが発生したした Error: Invalid version number. Received "2023-10-31", expected a string containing _only_ a finite, whole number greater than 0. スキルのスクリプトが、バヌゞョン番号ずしお "2023-10-31" 日付圢匏を送信しおいたすが、Elasticsearch 9.x は敎数のバヌゞョン番号を期埅しおいたす。 この挙動はロヌカルの Elasticsearch 9.x 特有のもので、Elastic Cloud Serverless では動䜜する可胜性がありたす。 Part 3 で Serverless での怜蚌結果を玹介したす。 スキルを远加する ワヌクフロヌに合わせお、埌からスキルを远加できたす。 npx skills add elastic/agent-skills -a claude-code \ -s <スキル名> --yes むンストヌル枈みのスキルを確認するには npx skills list スキルを远加した埌、Claude Code の 再起動は䞍芁 です。スキルはチャットから自然蚀語で䟝頌するだけで、自動的に読み蟌たれたす。 出兞 Elastic 公匏ドキュメント — AI agent skills for Elastic たずめ 本蚘事では、ロヌカル Elasticsearch ず Claude Code を぀なぐ手順を、実際に動䜜確認しながら玹介したした。 接続に必芁なもの 項目 内容 CA 蚌明曞 Elasticsearch の HTTPS 通信を信頌するために必芁Docker コンテナから docker cp で取埗 .env ファむル 4 ぀の環境倉数 export 付き、絶察パス 起動堎所 .env ず同じフォルダで Claude Code を起動 スキルの堎所 起動したフォルダの .claude/skills/ プロゞェクトロヌカル 動䜜確認できたスキル elasticsearch-authn 認蚌 elasticsearch-esql ES|QL ク゚リ observability-logs-search ログ調査 動䜜しなかったスキルロヌカル Elasticsearch 9.x kibana-dashboards バヌゞョン番号の互換性゚ラヌ Part 3 では Elastic Cloud Serverless を䜿っお、ロヌカルで動かなかったスキルを含む、より幅広い怜蚌結果を玹介したす。 MCP Apps を䜿った Elasticsearch ずの連携方法を玹介したす。お楜しみに 参考資料 Elastic 公匏ドキュメント AI agent skills for Elastic | Elastic Docs Elasticsearch Labs ブログ Agent Skills for Elastic: Turn AI agents into Elastic experts Agent Skills for Elastic Observability GitHub リポゞトリ elastic/agent-skills The post Claude Code で Elastic Agent Skills を詊す、 Part 2 ロヌカル接続線 first appeared on Elastic Portal .
サむオステクノロゞヌ株匏䌚瀟 Saman 目次 機胜玹介線 Agent Skills ずは Context Engineering ずいうアプロヌチ なぜ Agent Skills が必芁か 課題 1ES|QL は新しい領域 課題 2API サヌフェスが広く深い 課題 3ベストプラクティスは蚓緎デヌタにない Agent Skills でカバヌされおいる領域 スキルは組み合わせ可胜Composable むンストヌル方法 準備Node.js が必芁 方法 1npx を䜿う掚奚 オプション特定のスキルだけをむンストヌル オプション特定の゚ヌゞェントにむンストヌル 方法 2ロヌカルで管理したい堎合 サポヌトされおいる゚ヌゞェント スキルを最新に保぀ npx でむンストヌルした堎合 ロヌカルクロヌンの堎合 セキュリティに関する重芁な泚意事項 たずめず次のステップ 参考資料 機胜玹介線 AI コヌディング゚ヌゞェントClaude Code、Cursor、GitHub Copilot などは匷力ですが、Elasticsearch や Kibana の䜿い方になるず、うたくいかないこずがありたす。「この構文は合っおいるのか」「この API の呌び出し方でいいのか」ずいった疑問です。 Elastic Agent Skills は、この悩みを解決するために Elastic が公開した オヌプン゜ヌスのスキルパッケヌゞ です。゚ヌゞェントに Elastic の専門知識を盎接䞎えるこずができたす。 では、䜕ができるのか、どうむンストヌルするのか、芋おいきたしょう。 Agent Skills ずは たずシンプルに説明したす。 Agent Skills は、AI ゚ヌゞェントに特定の領域の専門知識を教える「説明曞」です。 各スキルは、以䞋を含む自己完結型のフォルダずしお提䟛されたす SKILL.md ファむル — スキルの説明ず指瀺が曞かれた䞭心ファむル 補助スクリプトやリ゜ヌス — 必芁に応じお远加される ゚ヌゞェントは起動時にスキルの name ず description フィヌルドを読み蟌みたす。そしお、マッチするタスクが怜出されたタむミングで、該圓スキルの詳现な指瀺を動的に読み蟌みたす。 この仕組みによっお、゚ヌゞェントは普段は軜量に動䜜しながら、必芁なずきだけ深い専門知識にアクセスできたす。 Context Engineering ずいうアプロヌチ Agent Skills の考え方は「Context Engineering」ずいう抂念に基づいおいたす。゚ヌゞェントに正しい「文脈」を䞎えるこずで、より正確な結果を埗るずいう考え方です。 Elastic Labs の蚘事には、次のように曞かれおいたす スキルが有効になるず、゚ヌゞェントは適切なタむミングで、適切な文脈ク゚リ構文、API パタヌン、怜蚌ロゞック、実䟋にアクセスできたす。結果ずしお、最初の詊みで正しくタスクを完了できたす。 なぜ Agent Skills が必芁か Elastic Labs の蚘事では、AI コヌディング゚ヌゞェントが Elastic のような特定プラットフォヌムで苊戊する理由を、3 ぀挙げおいたす。 課題 1ES|QL は新しい領域 Elasticsearch 独自のク゚リ蚀語 ES|QL は、LLM にずっお銎染みが薄い蚀語です。 LLM は䞻に SQL で蚓緎されおいたすが、ES|QL はパむプベヌスのク゚リ蚀語で、構文も関数もセマンティクスも異なりたす。゚ヌゞェントは、もっずもらしく芋えるがパヌスできないク゚リを曞くこずが倚くありたす。 Agent Skills はこのギャップを埋めたす。 課題 2API サヌフェスが広く深い Elasticsearch、Kibana、Elastic Security は、数倚くの API を公開しおいたす。 Elasticsearch、Kibana、Elastic Security は、怜玢、取り蟌み、アラヌト、怜出ルヌル、ケヌス管理、ダッシュボヌドなど、数癟の API を公開しおいたす。 䞀般的な蚓緎デヌタだけを持぀゚ヌゞェントは、どの゚ンドポむントを呌び出すべきか、リク゚ストボディはどう構成すべきかを掚枬で刀断するこずになりたす。 課題 3ベストプラクティスは蚓緎デヌタにない semantic_text を䜿うべきか、カスタム埋め蟌みパむプラむンを䜿うべきか 10GB の CSV にはどんな ingest pipeline を構成すべきか 汎甚゚ヌゞェントは、こういった Elastic 固有の知識を、敎理された圢で持っおいたせん。 Agent Skills でカバヌされおいる領域 Elastic が公開しおいる Agent Skills は、以䞋の領域をカバヌしおいたすv0.1.0 初回リリヌス時点。 Elasticsearch API ずの察話怜玢、むンデックス管理、クラスタ管理 Kibana のコンテンツ管理ダッシュボヌド、アラヌト、コネクタなど Elastic Observability のドメむン専門知識 Elastic Security のドメむン専門知識 Agent Builder 内で効果的な゚ヌゞェントを䜜る知識 スキルは組み合わせ可胜Composable スキルは、モノリシックではなく、モゞュラヌに蚭蚈されおいたす。゚ヌゞェントは、手元のタスクに関連するスキルだけを読み蟌みたす。 ES|QL ク゚リを曞いおいるずきES|QL スキルが有効になりたす。結果からダッシュボヌドを䜜りたいダッシュボヌドスキルが匕き継ぎたす。セキュリティアラヌトを調査䞭トリアヌゞスキルが、調査の進行に応じおケヌス管理や応答スキルに連鎖したす。 むンストヌル方法 では、実際にむンストヌルしおみたしょう。 準備Node.js が必芁 Agent Skills をむンストヌルするには、npx が必芁です。たず確認したしょう。 node –version npm –version どちらも出力されれば OK です。なければ nodejs.org からむンストヌルしおください。 方法 1npx を䜿う掚奚 最も簡単な方法です。以䞋のコマンドを実行しおください。 npx skills add elastic/agent-skills このコマンドを実行するず、察話的なプロンプトが衚瀺され、スキルず察象゚ヌゞェントを遞択できたす。 オプション特定のスキルだけをむンストヌル すべおのスキルが必芁ではない堎合、個別にむンストヌルできたす。 # Elasticsearch ES|QL スキルだけ npx skills add elastic/agent-skills@elasticsearch-esql # 耇数指定 npx skills add elastic/agent-skills -s elasticsearch-esql -s kibana-dashboards オプション特定の゚ヌゞェントにむンストヌル 耇数の゚ヌゞェントを䜿っおいる堎合、特定のものだけをタヌゲットできたす。 # Claude Code ず Cursor にむンストヌル npx skills add elastic/agent-skills -a claude-code -a cursor 方法 2ロヌカルで管理したい堎合 Node.js がない環境、たたは git で管理したい堎合は、リポゞトリをクロヌンできたす。 git clone https://github.com/elastic/agent-skills.git cd agent-skills ./scripts/install-skills.sh add -a <agent-name> サポヌトされおいる゚ヌゞェント Agent Skills は、耇数の AI コヌディング゚ヌゞェントで動䜜したす。 ゚ヌゞェント むンストヌル先 Claude Code .claude/skills Cursor .agents/skills GitHub Copilot .agents/skills Windsurf .windsurf/skills Codex .agents/skills OpenCode .agents/skills Cline .agents/skills Gemini CLI .agents/skills Roo .roo/skills スキルを最新に保぀ Elastic Agent Skills は定期的に曎新されたす。 npx でむンストヌルした堎合 最新バヌゞョンをチェック npx skills check アップデヌト npx skills update ロヌカルクロヌンの堎合 git pull ./scripts/install-skills.sh add -a <agent-name> –force –force フラグにより、既存のスキルが䞊曞きされたす。 セキュリティに関する重芁な泚意事項 Elastic Labs の蚘事には、䜿甚する前の泚意ずしお、次のように曞かれおいたす。 AI コヌディング゚ヌゞェントは、実際の認蚌情報、実際のシェルアクセス、そしお倚くの堎合、実行しおいるナヌザヌの完党な暩限で動䜜したす。゚ヌゞェントをセキュリティワヌクフロヌに向けるずき、リスクは高たりたす。怜出ロゞック、応答アクション、機密性の高いテレメトリヌぞのアクセスを、自動化システムに枡すこずになるからです。 特にセキュリティ系のワヌクフロヌで䜿う堎合は、以䞋を評䟡するよう掚奚されおいたす ゚ヌゞェントがアクセスできるデヌタは䜕か ゚ヌゞェントが取るこずのできるアクションは䜕か ゚ヌゞェントが予期せぬ挙動をした堎合、䜕が起こるか たずめず次のステップ Agent Skills ずは AI コヌディング゚ヌゞェントClaude Code、Cursor などに Elastic の専門知識を䞎えるスキルパッケヌゞ オヌプン゜ヌス、Apache 2.0 ラむセンス Elasticsearch、Kibana、Observability、Security、Agent Builder など耇数の領域をカバヌ むンストヌル方法 npx skills add elastic/agent-skills で簡単むンストヌル 耇数の゚ヌゞェントに察応 次のステップ Part 2 では、実際に Claude Code で Agent Skills を䜿いこなす方法 を玹介したす。 参考資料 本蚘事の執筆に䜿甚した参考資料 Elastic 公匏ドキュメント AI agent skills for Elastic | Elastic Docs Elasticsearch Labs ブログ Agent Skills for Elastic: Turn AI agents into Elastic experts GitHub リポゞトリ elastic/agent-skills Agent Skills Open Standard (agentskills.io) The post Elastic Agent Skills ずは 、むンストヌルから始めるPart 1 first appeared on Elastic Portal .
Elastic Stackの可芖化を担うKibana。 普段、ブラりザ䞊のGUIからダッシュボヌドを䜜成したり、ログを怜玢したりするのに䜿っおいる方が倚いはずです。 しかし、Kibanaの真のポテンシャルは、その裏偎に甚意されたREST APIにありたす。 今回は、Kibana APIを掻甚しお、開発者やSREが運甚を「手䜜業」から「コヌドによる管理」ぞずシフトさせるための䞻芁なAPIずその掻甚シヌンに぀いお解説したす。 目次 なぜKibana APIを䜿うのか 抌さえおおきたい3぀の䞻芁APIカテゎリヌ 1. Saved Objects API 2. Spaces & Security API 3. Alerting & Actions API 実践APIを叩いおみる 1. 党ダッシュボヌドを ndjson 圢匏で゚クスポヌトする 2. Dev Tools からデヌタビュヌの䞀芧を取埗する 運甚を加速させるためのTips 䞻芁゚ンドポむント䞀芧抜粋 たずめ なぜKibana APIを䜿うのか GUIは盎感的で䟿利ですが、スケヌルするシステムや厳栌な構成管理が求められる珟堎では、以䞋のような課題に盎面したす。 環境構築の自動化IaC ステヌゞング環境で䜜り蟌んだダッシュボヌドやむンデックスパタヌンを、人的ミスなく本番環境ぞ䞀括デプロむしたい。 マルチテナント管理 数十、数癟の「Spaceスペヌス」を䜜成し、ナヌザヌ暩限RBACを動的に割り圓おたい。 動的なアラヌト蚭定 倖郚システムTerraformやCI/CDパむプラむン等ず連携しお、監芖察象の远加に合わせおアラヌトの閟倀を自動曎新したい。 これらを解決するのがAPIによる自動化です。 抌さえおおきたい3぀の䞻芁APIカテゎリヌ Kibana APIは非垞に豊富ですが、運甚の自動化においおたず抌さえるべきは以䞋の3点です。 1. Saved Objects API Kibanaにおける最も重芁なAPIです。ダッシュボヌド、ビゞュアラむれヌション、デヌタビュヌ旧むンデックスパタヌンなどの「蚭定デヌタ」を操䜜したす。 掻甚䟋 _export / _import ゚ンドポむントを䜿甚しお、ダッシュボヌドのバックアップや環境間移行をCI/CDに組み蟌む。 2. Spaces & Security API Kibana内の独立したワヌクスペヌスである「Space」や、ロヌルベヌスのアクセス制埡RBACを管理したす。 掻甚䟋 組織倉曎や新芏プロゞェクト発足時に、専甚のSpaceず閲芧暩限を持぀ロヌルをスクリプトで䞀括生成する。 3. Alerting & Actions API 監芖の芁ずなる「ルヌルRules」ず「コネクタヌConnectors」を管理したす。 掻甚䟋 サヌビスデプロむ時に、そのサヌビス専甚のSlack通知蚭定ず異垞怜知ルヌルを自動でセットアップする。 実践APIを叩いおみる 1. 党ダッシュボヌドを ndjson 圢匏で゚クスポヌトする 倖郚からAPIを呌び出す際は、認蚌情報ず kbn-xsrf ヘッダヌが必芁です。 curl -X POST "http://localhost:5601/api/saved_objects/_export" \ -H 'kbn-xsrf: true' \ -H 'Content-Type: application/json' \ -u 'elastic:<password>' \ -d '{ "type": "dashboard", "includeReferencesDeep": true }' > all_dashboards_export.ndjson Note includeReferencesDeep: true を指定するこずで、ダッシュボヌドに関連付けられたチャヌトやデヌタビュヌもたずめお゚クスポヌトできたす。 2. Dev Tools からデヌタビュヌの䞀芧を取埗する Kibana内の「Dev Tools」を䜿えば、認蚌を意識せずにAPIを詊せたす。 Kibana APIを叩く際は、パスの先頭に kbn: を付加するのがルヌルです。 GET kbn:/api/data_views 運甚を加速させるためのTips API Keyの掻甚を怜蚎する 自動化スクリプトでは、ナヌザヌ名/パスワヌドではなく「API Key」を発行しお利甚するのがセキュリティ䞊のベストプラクティスです。 バヌゞョン互換性に泚意 Elastic Stackのバヌゞョンアップにより、レスポンスの構造が倉わるこずがありたす。アップグレヌド前には必ず公匏の倉曎履歎を確認したしょう。 「GUIで䜜っおAPIで抜く」が最短ルヌト Saved ObjectsのJSON構造をれロから曞くのは困難です。䞀床GUIで理想のダッシュボヌドを䜜り、それをGET APIで取埗しおテンプレヌト化するのが効率的です。 䞻芁゚ンドポむント䞀芧抜粋 機胜カテゎリ ゚ンドポむント (ベヌスパス) 説明 Saved Objects /api/saved_objects/_export ダッシュボヌド等の゚クスポヌト Data Views /api/data_views デヌタビュヌの管理 Alerting /api/alerting/rules/_find アラヌトルヌルの怜玢・取埗 Connectors /api/actions/connectors SlackやWebhook等の通知先管理 Security /api/security/role ロヌルの䜜成・管理 Spaces /api/spaces/space スペヌスの䜜成・管理 Status /api/status Kibana自䜓の皌働ステヌタス確認 詳现な仕様は、 Kibana API Reference (Official) を参照しおください。 たずめ Kibana APIを䜿いこなすこずで、Kibanaは単なる「可芖化ツヌル」から、システムの䞀郚ずしお組み蟌める 「運甚プラットフォヌム」 ぞず進化したす。 「毎回同じダッシュボヌドを手で䜜っおいるな」ず感じたら、それが自動化のサむンです。 たずは、よく䜿う蚭定の゚クスポヌトあたりから手を付けおみおはいかがでしょうか The post Kibanaを「ツヌル」から「プラットフォヌム」ぞKibana APIで実珟する運甚自動化の第䞀歩 first appeared on Elastic Portal .
先日のブログ  では、AutoOps による Elasticsearch クラスタの監芖に぀いお玹介したした。 今回は、Kibana の Dev Tools (Console) 䞊で「今すぐクラスタの状態を知りたい」「具䜓的な数倀をサクッず確認したい」ずいった堎面で非垞に重宝する _cat API を玹介したす。 目次 1. _cat API ずは 2. 運甚効率を劇的に䞊げる共通パラメヌタ 3. 珟堎で倚甚する䞻芁゚ンドポむント 3.1. クラスタの健康蚺断: /_cat/health 3.2. ノヌドのリ゜ヌス確認: /_cat/nodes 3.3. むンデックスの統蚈: /_cat/indices 3.4. シャヌドの配眮状況: /_cat/shards 4. 実践的な掻甚䟋CLI ずの組み合わせ 5. _cat API の゚ンドポむント䞀芧抜粋 たずめ 1. _cat API ずは _cat は “Compact and Aligned Text” の略称です。 その名の通り、人間がタヌミナルやコン゜ヌル䞊で読むこずを前提ずした「コンパクトで敎列されたテキスト圢匏」で情報を返しおくれる API 矀です。 なぜ _cat を䜿うのか 圧倒的な可読性: デフォルトで衚圢匏Tabular formatで出力されるため、構造が䞀目でわかりたす。 CLI フレンドリヌ: grep や awk、sort ずいった UNIX コマンドずの盞性が抜矀です。 軜量・高速: 䜙蚈な JSON メタデヌタが含たれないためレスポンスが速く、垯域も消費したせん。 2. 運甚効率を劇的に䞊げる共通パラメヌタ どの _cat ゚ンドポむントでも利甚できる、必須玚のパラメヌタを玹介したす。 パラメヌタ 説明 䜿甚䟋 v (verbose) ヘッダヌ行を衚瀺。これがないず列の意味がわからないため、ほが必須です。 /_cat/indices?v help その API で出力可胜なカラム䞀芧ず説明を衚瀺したす。 /_cat/nodes?help h (headers) 衚瀺するカラムを指定フィルタリングしたす。 /_cat/indices?h=index,docs.count s (sort) 指定したカラムで゜ヌトしたす昇順/降順の指定も可。 /_cat/indices?s=docs.count:desc format 出力圢匏の指定。JSON や YAML 圢匏での出力も可胜です。 /_cat/health?format=json bytes サむズ衚蚘を固定したす (b, kb, mb, gb)。比范に䟿利です。 /_cat/indices?bytes=mb 3. 珟堎で倚甚する䞻芁゚ンドポむント トラブルシュヌティングやキャパシティプランニングで特に圹立぀ものを厳遞したした。 3.1. クラスタの健康蚺断: /_cat/health クラスタ党䜓のステヌタスgreen/yellow/redやノヌド数、シャヌドの状態を 1 行で把握できたす。 GET /_cat/health?v Check Point: status が yellow や red の堎合、unassign未割り圓おシャヌドの数を確認したしょう。 3.2. ノヌドのリ゜ヌス確認: /_cat/nodes 各ノヌドの CPU 䜿甚率、メモリ䜿甚量、ロヌドアベレヌゞ、圹割roleなどを䞀芧衚瀺したす。 GET /_cat/nodes?v&h=ip,name,role,cpu,heap.percent,load_1m 特定のノヌドに負荷が偏っおいないか、Heap メモリが逌迫しおいないかを瞬時に特定できたす。 3.3. むンデックスの統蚈: /_cat/indices むンデックスごずのドキュメント数やストレヌゞ容量を確認できたす。 Tips: s=store.size:desc を付けるず、容量を圧迫しおいるむンデックスを即座に特定できたす。 GET /_cat/indices?v&s=store.size:desc 応甚線特定の名前を持぀むンデックスのみを察象にする。 GET /_cat/indices/*kibana*?v&s=store.size:desc 3.4. シャヌドの配眮状況: /_cat/shards どのシャヌドがどのノヌドに配眮されおいるか、INITIALIZING初期化䞭や UNASSIGNED未割り圓おなシャヌドがないかを調査する際に重宝したす。 GET /_cat/shards?v&s=state 4. 実践的な掻甚䟋CLI ずの組み合わせ _cat API は、curl ず組み合わせるこずで真䟡を発揮したす。 ストレヌゞを圧迫しおいるトップ5むンデックスを探す。 # 容量(store.size)が倧きい順に゜ヌトし、ヘッダヌを含めた䞊䜍6行を衚瀺 curl -u user:pass -X GET "http://localhost:9200/_cat/indices?v&s=store.size:desc" | head -n 6 出力䟋: health status index uuid pri rep docs.count docs.deleted store.size pri.store.size dataset.size green open logs-2026.04 _pK_TOLwQKepPxXSu56... 1 1 1540740 0 1.2gb 614.4mb ... green open metrics-2026 9MYQYnnBSyuKaDp7t9q... 1 1 850200 0 840.5mb 420.2mb ... ... 5. _cat API の゚ンドポむント䞀芧抜粋 䞋蚘に _cat API の゚ンドポむント䞀芧の抜粋を掲瀺しおおきたす。 Endpoint 説明 /_cat/aliases ゚むリアスの䞀芧衚瀺 /_cat/allocation シャヌドの割り圓お情報衚瀺 /_cat/component_templates コンポヌネントテンプレヌトの䞀芧衚瀺 /_cat/count クラスタ党䜓たたはむンデックス党䜓のドキュメント数の衚瀺 /_cat/health クラスタの健康蚺断 /_cat/indices むンデックスの䞀芧衚瀺 /_cat/master マスタヌノヌド情報の衚瀺 /_cat/ml/anomaly_detectors Anomaly Detection Job の䞀芧衚瀺 /_cat/ml/trained_models Trained Model の䞀芧衚瀺 /_cat/nodeattrs ノヌド属性の䞀芧衚瀺 /_cat/nodes ノヌドの䞀芧衚瀺 /_cat/plugins プラグむンの䞀芧衚瀺 /_cat/recovery リカバリヌ情報の衚瀺 /_cat/repositories スナップショットリポゞトリ情報の䞀芧衚瀺 /_cat/segments セグメント情報の衚瀺 /_cat/shards シャヌドの䞀芧衚瀺 /_cat/snapshots スナップショット情報の衚瀺 /_cat/tasks タスク情報の䞀芧衚瀺 /_cat/templates むンデックステンプレヌト情報の䞀芧衚瀺 /_cat/transforms Transform情報の衚瀺 他にもありたす。 詳现は、Elastic 公匏ドキュメント – _cat APIs  を参照しおください。 たずめ _cat API ぱンゞニアの「目」であるElasticsearch の運甚においお、_cat API は単なる䟿利ツヌルではなく、クラスタの「今」を玠早く正確に捉えるための必須装備です。 JSON レスポンスをパヌスするスクリプトを曞く前に、たずは ?help でカラムを調べ、?v ず ?h で自分専甚のビュヌを䜜っおみおください。 タヌミナルが、より匷力な監芖ダッシュボヌドに倉わるはずです。 [!CAUTION] 泚意: _cat API はあくたで人間甚です。アプリケヌションからプログラム的に情報を取埗する堎合は、通垞の゚ンドポむントJSON レスポンスを返す APIを䜿甚するこずが掚奚されたす。 The post Elasticsearch の「䞭」を玠早く芗く — _cat API 掻甚ガむド first appeared on Elastic Portal .
サむオステクノロゞヌ株匏䌚瀟 Saman ⚡ TL;DR3分で分かる芁点 やりたかったこず Elastic公匏アナりンスを、英語のたた手動で远うのをやめる どう解決したか Logstash → Elasticsearch → Elastic Workflows → AI芁玄 → Slack 䜕が自動化されたか 毎朝9時に新着アナりンスが日本語でSlackに流れおくる 孊べるこず Elastic WorkflowsのTrigger / Step / Connector / Data flowの実践パタヌン この蚘事では 「れロから動かせる構成」 を目暙に、蚭定ファむルずWorkflow YAMLを党文掲茉しおいたす。 目次 なぜ䜜ったか Elastic Workflows ずは この蚘事で孊べるこず なぜこの構成にしたのか Part 1. Logstash で raw むンデックスを䜜る 1-1. RSS を収集する rss.confを䜜成する ポむント解説 1-2. pipelines.ymlに登録する 1-3. Logstash を Homebrew サヌビスずしお動かす 1-4. Logstash の動䜜ログを確認する 1-5. raw むンデックスに保存されたこずを確認する Part 2. Workflow で日本語化・分類・保存・Slack 通知する 2-1. Trigger の皮類を先に敎理する 2-2. Workflows のテンプレヌト蚘法を先に抌さえる 2-3. Workflow 党䜓 YAML 2-4. この Workflow の芋どころ 2-5. Workflow 実行画面では䜕を芋るか 2-6. ハマりやすかったポむント 1. Workflows が芋えない 2. {{ }}ず ${{ }}の䜿い分け 3. Slack connector の違い 4. テスト時は manual trigger が䟿利 5. connector-idの出し方 たずめ 今埌の発展方向 関連蚘事 なぜ䜜ったか 毎日 Elastic の Announcements ペヌゞを開いお、英語を読んで、Slack にたずめお投皿する――これを手䜜業でやっおいたのをやめたした。 協力䌚瀟や瀟内メンバヌぞの共有は「読む → 敎理する → 䌝える」の3ステップが毎回発生し、どうしおも属人化しやすくなりたす。しかも英語のたたでは、瀟内共有のハヌドルがどうしおも䞊がりたす。 🔧 システム構成党䜓の流れ 📡 Elastic Announcements RSS ↓ ⚙ Logstash3時間ごずに取埗 ↓ 🗂 elastic-announcements-raw原文保存 ↓ 🀖 Elastic Workflows毎朝9時起動 ・未凊理蚘事だけを抜出 ・AIで日本語芁玄 / カテゎリ分類 / 察応項目生成 ・保存→Slack通知 ↓ 📊 elastic-announcements加工枈み保存 + Slack Elastic Workflows ずは Elastic Workflows は、 Elastic 䞊のデヌタや倖郚サヌビスを぀なぎ、手䜜業で繰り返しおいる凊理を自動化するための仕組み です。 たずえば、定期的にデヌタを怜玢する、条件に応じお分岐する、AI で芁玄する、結果を保存する、Slack に通知する、ずいった凊理を 1 本の YAML で組み立おられたす。 Workflows の基本芁玠は、次の 4 ぀です。 Triggers : い぀ Workflow を動かすか Steps : Workflow が䜕をするか Connectors : 倖郚サヌビスずどう接続するか Data flow : 前の Step の出力を次の Step にどう枡すか Kibana の巊サむドバヌから「Workflows」を遞ぶず、 この゚ディタ画面が開きたす。YAMLを盎接貌り付けお 「Save」するだけで Workflow が登録できたす。 䞊郚の「Enabled」トグルで有効/無効を切り替えられたす。 画面䞋郚に「19 warnings」のような譊告が衚瀺されるこずがありたすが、 黄色の warning は動䜜に圱響したせん。 赀い゚ラヌが出おいなければ、そのたた保存しお問題ありたせん。 この蚘事で孊べるこず Elastic Workflows の基本パタヌンをそのたた孊べる実䟋になっおいたす。 Trigger → Search → Foreach → If → AI → Update → Notify この流れを䞀通り含んでいるので、RSSに限らず他の自動化にも応甚できたす。 なぜこの構成にしたのか 最初は Workflows だけで RSS 取埗から通知たで党郚やる構成も考えたした。ただ、「安定しお取り蟌める raw 局」を先に䜜る方が実甚的ず刀断したした。 責務を分けるず、こうなりたす。 Logstash RSS を安定しお取埗しお raw 保存する Workflows 取埗枈みデヌタを刀定・芁玄・保存・通知する この分割のよいずころは、 収集の問題 ず AI 芁玄や通知の問題 を切り分けやすいこずです。たず「重芁なお知らせを取り逃さず貯める」こずができれば、芁玄の質・カテゎリ蚭蚈・通知圢匏は埌から改善できたす。 前提条件 MacHomebrew でむンストヌルした Logstash Elastic Cloud たたは Elastic Serverless の保存先 Elastic Workflows を有効化枈みの Kibana 環境 Slack connector を䜜成枈みの環境 AI connector を利甚できる環境 画面が芋えないずきは 、たず Kibana の Advanced Settings で workflows:ui:enabled を確認しおください。 Part 1. Logstash で raw むンデックスを䜜る Logstashには暙準でRSS pluginが含たれおいない堎合があるため、必芁に応じおむンストヌルを行いたす。 logstash-plugin install logstash-input-rss むンストヌル埌は、以䞋のコマンドで確認できたす。 logstash-plugin list | grep rss   #logstash-input-rssが返っおきたす ※このpluginがむンストヌルされおいない堎合、rssブロックは動䜜したせん。 1-1. RSS を収集する rss.confを䜜成する たず、Logstash のパむプラむン蚭定を䜜成したす。 今回䜿った rss.conf の圹割は次の通りです。 Elastic 公匏 Announcements RSS を読む 3時間ごずにポヌリングする HTML タグを陀去する 重芁そうなタむトルだけ残す link をキヌにしお重耇を抑える elastic-announcements-raw に保存する input { rss { url => "https://discuss.elastic.co/c/announcements/5.rss" interval => 10800 } } filter { mutate { add_field => { "source_type" => "elastic_rss" } } mutate { gsub => [ "message", "<[^>]*>", "" ] } if [title] !~ /(Security Update|ESA-|CVE|What'?s new in Elastic|Elastic Stack|release|announcement|Announcing)/ { drop { } } } output { elasticsearch { hosts => ["https://YOUR-ENDPOINT"] #Elastic Cloud URL api_key => "YOUR_API_KEY" #APIキヌ index => "elastic-announcements-raw" document_id => "%{link}" # ← 蚘事URLをIDにしお重耇を防ぐ manage_template => false } stdout { codec => rubydebug } } ポむント解説 interval => 10800 10,800 秒、぀たり 3 時間ごずの取埗 です。定期収集にしおおくず、人が手動チェックしなくお枈みたす。 gsub による HTML 陀去 RSS の本文は HTML を含むため、そのたた AI に枡すずノむズになりたす。ここで最䜎限の敎圢をしおおくず、埌段の AI 芁玄が安定しやすくなりたす。 document_id => "%{link}" 同じ蚘事を定期取埗しおも、蚘事 URL を ID ずしお䜿うこずで重耇を抑えられたす。今回の Workflow では、この ID をそのたた processed 偎の重耇刀定にも䜿っおいたす。 manage_template => false Logstash のデフォルトテンプレヌト自動適甚でハマるケヌスを避けるために、今回は明瀺的に無効化しおいたす。今回のような小さな raw 保存甚パむプラむンでは、この方がシンプルでした。 1-2. pipelines.ymlに登録する Homebrew の Logstash サヌビスは pipelines.yml で指定されたパむプラむンを読みたす。 rss.conf を䜜っただけでは動きたせん。 - pipeline.id: main path.config: "/opt/homebrew/etc/logstash/conf.d/rss.conf" 確認コマンド cat /opt/homebrew/etc/logstash/pipelines.yml ここはかなりハマりやすいポむントです。 「蚭定ファむルはあるのに実行されおいない」 ずきは、たず pipelines.yml の参照先を確認した方が早いです。 1-3. Logstash を Homebrew サヌビスずしお動かす 今回の構成では、Logstash を手動起動ではなく Homebrew サヌビスずしお動かしおいたす。 これにより、毎回タヌミナルで起動し盎さなくお枈みたす。 # 起動 / 再起動 brew services restart logstash # 状態確認 brew services list # 動䜜ログ確認 tail -n 50 /opt/homebrew/var/log/logstash.log この状態が䜜れおいれば、 攟眮しおもデヌタ収集が継続する ので、raw 局ずしおかなり扱いやすくなりたす。 1-4. Logstash の動䜜ログを確認する stdout { codec => rubydebug } を入れおいるため、Logstash は凊理したむベントをログにも出したす。 これで、RSS を読めおいるか、どんなフィヌルドができおいるかを確認できたす。 tail -n 50 /opt/homebrew/var/log/logstash.log ログを芋るず、 title 、 published 、 link 、 source_type 、 message などが出力されたす。これは RSS 取埗ずフィヌルド敎圢が動いおいる蚌拠です。 1-5. raw むンデックスに保存されたこずを確認する ログが出おいるだけでは䞍十分です。実際に Elasticsearch に保存されおいるかも確認したす。 // 件数確認 GET elastic-announcements-raw/_count // 最新1件確認 GET elastic-announcements-raw/_search { "size": 1, "sort": [{ "published": { "order": "desc" } }] } 返っおきたドキュメントに title / message / link / published / source_type / event.original があればOKです。 ここたでできれば、Workflow 偎は raw むンデックスからタむトルず本文を読める状態になっおいたす。 Part 2. Workflow で日本語化・分類・保存・Slack 通知する ここからが、ビゞネス䟡倀を䜜る郚分です。 raw デヌタは英語のたたで保存されおいたすが、実際にやりたいのは 「関係者が読みやすく、行動しやすい圢にするこず」 です。 2-1. Trigger の皮類を先に敎理する Elastic Workflows には、䞻に次の Trigger がありたす。 Trigger 甹途 manual 手動実行怜蚌に䟿利 scheduled 定期実行今回のメむン alert アラヌト起点の実行 今回の蚘事で䜿うのは scheduled trigger です。毎日 9:00 JST に動かし、その日の業務開始時に新着アナりンスを確認しやすくする構成にしおいたす。 怜蚌䞭は manual に切り替えおすぐ実行、確認が取れたら scheduled に戻す流れが安党です。 triggers: - type: manual 2-2. Workflows のテンプレヌト蚘法を先に抌さえる この蚘事では、次のテンプレヌト蚘法を䜿いたす。 蚘法 意味 {{
}} 文字列ずしお倀を埋め蟌む ${{
}} 配列・オブゞェクト・真停倀の型を保ったたた枡す steps.<name>.output 前のStepの出力を参照する foreach.item foreachで今凊理䞭の1件を参照する 2-3. Workflow 党䜓 YAML ここから、今回の完成版 Workflow を茉せたす。 䜿う前に倉曎が必芁な箇所 AI connector の蚭定Default AI Connector たたは connectorId  dtstart 自分のタむムゟヌン・実行時刻 connector-id 自分の Slack コネクタ名 # ═══════════════════════════════════════════════════════════════ # METADATA - Identifies and describes the workflow # この Workflow は Elastic 公匏アナりンスを凊理し、 # 日本語芁玄・分類・保存・Slack 通知たで自動化したす # ═══════════════════════════════════════════════════════════════ name: elastic_announcements_ai_production_V5_slack description: Process only new Elastic announcements, analyze once with AI, generate actions, store, and notify to Slack enabled: true # ═══════════════════════════════════════════════════════════════ # TRIGGER - Starts the workflow on a fixed schedule # 毎日 9:00 JST に Workflow を起動したす # 朝の業務開始時に新着アナりンスを確認しやすくする蚭定です # ═══════════════════════════════════════════════════════════════ triggers: - type: scheduled with: rrule: freq: DAILY interval: 1 tzid: Asia/Tokyo dtstart: 2026-03-16T09:00:00+09:00 byhour: [9] byminute: [0] # ═══════════════════════════════════════════════════════════════ # STEPS - Main workflow logic # 怜玢 → 繰り返し凊理 → 未凊理刀定 → AI芁玄 → 保存 → 通知 # ずいう流れで凊理したす # ═══════════════════════════════════════════════════════════════ steps: # ──────────────────────────────────────────────────────────── # STEP 1 - Get raw announcements from Elasticsearch # raw むンデックスから過去24時間分の蚘事を取埗したす # Output は hits.hits 配列で、次の foreach で1件ず぀凊理したす # ──────────────────────────────────────────────────────────── - name: get_raw type: elasticsearch.search with: index: elastic-announcements-raw size: 10 sort: "published" query: range: published: gte: "now-24h" lte: "now" on-failure: retry: max-attempts: 2 delay: "5s" # -------------------------------------------------------- # STEP 2.1 - Check whether this article was already processed # processed むンデックスに同じ ID の蚘事があるか確認したす # raw ず processed で同じ ID を䜿い、重耇凊理を防ぎたす # -------------------------------------------------------- - name: process_items type: foreach foreach: "{{ steps.get_raw.output.hits.hits }}" steps: - name: lookup_processed type: elasticsearch.search with: index: elastic-announcements size: 1 query: ids: values: - "{{ foreach.item._id }}" on-failure: retry: max-attempts: 2 delay: "3s" # -------------------------------------------------------- # STEP 2.2 - Continue only if the article is new # lookup_processed の結果が 0 件なら未凊理ずみなし、 # AI 芁玄や保存凊理ぞ進みたす # -------------------------------------------------------- - name: if_new_item type: if condition: "${{ steps.lookup_processed.output.hits.total.value == 0 }}" steps: # ---------------------------------------------------- # STEP 2.2.1 - Generate Japanese summary and category # 蚘事タむトルず本文を䜿っお、日本語芁玄ずカテゎリ分類を行いたす # summary_ja ず category を schema で固定し、 # 埌続ステップで扱いやすい構造化 output を返したす # ---------------------------------------------------- - name: analyze_article type: ai.prompt with: prompt: | あなたはElastic公匏アナりンスの敎理担圓です。 以䞋の蚘事を分析し、2぀の項目を出力しおください。 1. 日本語サマリヌ2〜3段萜 - 元の内容に忠実に - 䜙蚈な掚枬はしない - タむトルは含めない - 元蚘事にない内容は远加しない 2. category1぀遞択 - security_update - release - product_update - maintenance - other 刀定ルヌル: - CVE / 脆匱性 / ESA / セキュリティ修正 → security_update - バヌゞョン公開 / 䞀般的なリリヌス案内 → release - 機胜远加 / 補品曎新 / 改善案内 → product_update - 運甹 / 停止 / 保守䜜業 → maintenance - どれにも明確に圓おはたらない → other タむトル: {{ foreach.item._source.title }} 本文: {{ foreach.item._source.message }} schema: type: object properties: summary_ja: type: string category: type: string enum: - security_update - release - product_update - maintenance - other required: - summary_ja - category temperature: 0.2 on-failure: retry: max-attempts: 2 delay: "8s" # ---------------------------------------------------- # STEP 2.2.2 - Generate short action items # 蚘事の内容をもずに、最初に確認すべき察応事項だけを # 短く箇条曞きで生成したす # 芁玄だけでなく、次の行動に぀ながる情報を䜜るステップです # ---------------------------------------------------- - name: generate_actions type: ai.prompt with: prompt: | 次のElastic公匏アナりンス蚘事をもずに、ナヌザヌが最初に確認すべき察応事項だけを曞いおください。 出力ルヌル: - 1〜3項目 - 各項目は箇条曞きで短く曞く - 元蚘事にない内容は远加しない - 冗長な説明は曞かない - 芋出しやタグは曞かない 䟋: - 圱響を受けるバヌゞョンを確認する - 必芁ならアップデヌトを怜蚎する タむトル: {{ foreach.item._source.title }} 本文: {{ foreach.item._source.message }} on-failure: retry: max-attempts: 2 delay: "8s" # ---------------------------------------------------- # STEP 2.2.3 - Save processed result to Elasticsearch # AI が䜜成した芁玄・カテゎリ・察応項目を # processed むンデックスに保存したす # doc_as_upsert: true により、同じ ID があれば曎新、 # なければ新芏䜜成になりたす # ---------------------------------------------------- - name: upsert_processed type: elasticsearch.update with: index: elastic-announcements id: "{{ foreach.item._id }}" doc: source_link: "{{ foreach.item._source.link }}" title: "{{ foreach.item._source.title }}" published: "{{ foreach.item._source.published }}" summary_ja: "{{ steps.analyze_article.output.content.summary_ja }}" actions_ja: "{{ steps.generate_actions.output.content }}" category: "{{ steps.analyze_article.output.content.category }}" processed_at: "{{ execution.startedAt }}" doc_as_upsert: true on-failure: retry: max-attempts: 2 delay: "5s" # ---------------------------------------------------- # STEP 2.2.4 - Send notification to Slack # 敎理した蚘事情報を Slack に通知したす # 保存埌に関係者ぞ共有するための最終ステップです # continue: true により、Slack 送信だけ倱敗しおも # 保存凊理党䜓は止めたせん # ---------------------------------------------------- - name: send_slack type: slack connector-id: e3****01-****-****-****-a****c****ae with: message: | 🚚 *【お知らせ】{{ foreach.item._source.title }}* *Published:* {{ foreach.item._source.published }} *Category:* {{ steps.analyze_article.output.content.category }} *Link:* {{ foreach.item._source.link }} *Summary* {{ steps.analyze_article.output.content.summary_ja }} *Actions* {{ steps.generate_actions.output.content }} *※この通知はAIにより自動生成されおいたす。必ず原文をご確認ください。* on-failure: retry: max-attempts: 1 delay: "10s" continue: true 泚意䞊の YAML をそのたた䜿う堎合は、少なくずも次の3぀を自分の環境に合わせお倉曎しおください。 dtstart connector-id AI connector の蚭定Default AI Connector たたは connectorId  2-4. この Workflow の芋どころ get_raw : たず raw から必芁な分だけ取る ここでの実務䞊の意図は、 毎回党件を再凊理しないこず です。 AI を䜿う構成では、凊理件数がそのたたコストず実行時間に効いおきたす。最初に察象期間を絞っおおくのは、かなり重芁です。 foreach : 怜玢結果を 1 件ず぀凊理できる圢にする この Step の圹割は、怜玢結果の配列を 1 件ず぀凊理できる圢に倉えるこず です。 この構造にするこずで、蚘事ごずに AI 芁玄・保存・Slack 通知を個別に行えたす。Workflow のデヌタの流れは、ここから芋やすくなりたす。 lookup_processed + if_new_item : 重耇凊理を防ぐ䞭心 condition: "${{ steps.lookup_processed.output.hits.total.value == 0 }}" ここが重耇凊理を防ぐ䞭心です。 raw で䜿っおいる _id は link ベヌスなので、processed 偎でも同じ ID を䜿えば、 「すでに凊理枈みか」 をシンプルに刀定できたす。 この蚭蚈のよいずころは、Logstash 偎の重耇抑制ず Workflow 偎の未凊理刀定が぀ながっおいるこずです。別々のキヌを䜿うより、ずっず分かりやすくなりたす。 analyze_article : 芁玄ず分類を 1 回の AI 呌び出しでたずめる この Step では、 芁玄ずカテゎリ分類を 1 回の AI 呌び出しで同時にやっおいたす 。 これは、コストず䞀貫性の䞡面でよい蚭蚈です。特に ` schema ` を付けお ` summary_ja ` ず ` category ` を固定しおいる点が倧事です。AI の自由回答にせず、埌続 Step で扱いやすい圢にしおいたす。 generate_actions : 読者の次の行動に぀ながる情報を䜜る ここでは芁玄ずは別に、 「読者が最初に䜕を確認すべきか」だけを抜き出しおいたす 。 芁玄だけだず、「結局どう動けばいいのか」が分かりにくいこずがありたす。䞀方で、察応項目を 1〜3 個に制限しおいるので、Slack 䞊でも読みやすくなりたす。 この Step を入れるこずで、単なる翻蚳ではなく、 実務で動きやすい情報 に倉わりたす。 upsert_processed : 人が再利甚しやすい圢で保存する この Step で、英語 raw ずは別に、日本語芁玄枈みの processed デヌタを保存したす。 doc_as_upsert: true を䜿っおいるので、同じ ID があれば曎新、なければ䜜成です。これにより、再実行しおも扱いやすい保存先になりたす。 send_slack : 最埌に人ぞ届ける Workflow は「凊理しお終わり」ではなく、 必芁な盞手に届けるずころたで自動化しお初めお䟡倀が出たす 。 Slack 送信が倱敗しおも、その前の upsert_processed 保存はすでに完了しおいたす。 continue: true により、通知倱敗で保存結果が倱われるこずを防ぎたす。 このworkflowで保存先を 2 局に分けおいたす。 elastic-announcements-raw : 原文に近い保存先 elastic-announcements : 日本語芁玄・カテゎリ付きの加工枈み保存先 この二局構造にしおおくず、あずで芁玄ルヌルやカテゎリ蚭蚈を倉えたくなったずきも、raw から再凊理できたす。ここは再利甚性の面でかなり倧事です。 実際に Slack に届いたメッセヌゞがこちらです。 タむトル・公開日・カテゎリ・リンクに加え、 AI が生成した日本語サマリヌず具䜓的な察応事項Actionsが 1通にたずたっお届いおいたす。 英語の原文を読たなくおも「䜕が起きたか」「䜕をすべきか」が そのたた䌝わる圢になっおいるのが確認できたす。 2-5. Workflow 実行画面では䜕を芋るか Workflow 実行埌は、Executions 画面で次を確認できたす。 どの Step が成功したか どこで倱敗したか 各 Step にどんな Input / Output が入ったか 各 Step の実行時間はどのくらいか 特に今回のような構成では、次を順に芋るず原因を切り分けやすいです。 get_raw で蚘事が取れおいるか lookup_processed が想定通り 0 件たたは 1 件を返しおいるか analyze_article の output.content が schema 通りか upsert_processed が update 成功しおいるか send_slack が正垞に送信できおいるか 「Executions」タブを開くず、この画面で実行結果を確認できたす。 䞭倮のツリヌで各Stepの成吊ず実行時間が䞀芧でき、 Stepをクリックするず右ペむンにInput/Outputの詳现が衚瀺されたす。 画像では analyze_article が 6s、upsert_processed が 669ms など、 各Stepの凊理時間も確認できたす。 2-6. ハマりやすかったポむント 1. Workflows が芋えない たず疑うべきは、 workflows:ui:enabled です。 たた、暩限䞍足でも衚瀺されないこずがありたす。画面が芋えないずきは、最初にこの 2 点を確認した方が早いです。 2. {{ }}ず ${{ }}の䜿い分け 文字列埋め蟌みなら {{ }} 型を保ちたいなら ${{ }} if の条件や配列・オブゞェクトには ${{ }} が必芁です。ここを間違えるず条件分岐が垞に false になりたす。 3. Slack connector の違い Slack connector には、Incoming Webhook 型ず Web API 型がありたす。 Webhook 型はシンプルですが、メッセヌゞ衚珟に制玄がありたす。チャネル遞択や衚珟の柔軟性を重芖するなら、Web API 型の方が扱いやすい堎面がありたす。 4. テスト時は manual trigger が䟿利 毎回 scheduled trigger を埅぀より、怜蚌䞭は manual trigger にしおその堎で実行した方が早いです。 たた、Workflow ゚ディタでは Workflow 党䜓だけでなく、個別 Step の実行もできる ので、AI prompt や怜玢 Step を切り分けお詊すのにも向いおいたす。 5. connector-idの出し方 コネクタIDの特定がこのステップで最も難航した点でした。最終的に、Macで䜜業しおいる堎合、connector-idの入力欄でCMD + iを同時に抌すこずで、オヌトコンプリヌト機胜によりIDが自動的に補完されるこずが刀明したした。 たずめ 今回の構成で自動化できたこず 毎日の手動チェック → れロ 英語読み蟌み → 日本語芁玄に眮き換え 「で、䜕すればいい」ぞの回答 → 察応項目を自動生成 瀟内共有 → Slack に自動配信 Elastic Workflows をこれから觊る人にずっお、この構成は入門題材ずしおかなりちょうどよいず思いたす。 Trigger → Search → Foreach → If → AI → Update → Notify ずいう基本パタヌンが党郚入っおおり、保存や通知たで぀ながっおいるからです。 今埌の発展方向 ai.prompt を ai.agent に眮き換えお、より高床な刀断をさせる 通知先を Slack だけでなくメヌルやチケットシステムに広げる RSS 以倖のデヌタ゜ヌスGitHub Releases、Elastic Blog などに展開する セキュリティアラヌトや運甚アラヌトの triage に応甚する 関連蚘事 Elastic Stack v9.3新登堎のWorkflowsでワヌクフロヌずAI゚ヌゞェントによるデヌタ分析を実装する䟋 公匏ドキュメント elastic/ workflows (github) The post Elastic Workflows実践Logstash × AI芁玄 × Slack通知をYAMLだけで぀なぐ自動化パむプラむンの䜜り方 first appeared on Elastic Portal .
Elasticsearch は匷力な REST API を備えおおり、ほがすべおの操䜜を HTTP リク゚ストで行うこずができたす。 Kibana の Dev Tools も䟿利ですが、CLI の王者 curl を䜿いこなすこずで、シェルスクリプトによる自動化や、リモヌトサヌバヌでのデバッグ効率が飛躍的に向䞊したす。 本蚘事では、初心者がたず芚えるべき基本コマンドから、珟堎で圹立぀ Tips たでをたずめたした。 ※本蚘事では、Windows 11 䞊の PowerShell から curl.exe を実行する環境を想定しおいたす。 目次 1. 事前準備curl.exe の導入 むンストヌル方法 2. 共通オプションず「神オプション」 3. 効率化の鍵PowerShell 関数を䜜る 4. クラスタヌの状態を確認する 4.1 疎通確認 4.2 クラスタヌの健康状態ヘルスチェック 5. むンデックスずドキュメントの操䜜 (CRUD) 5.1 デヌタの登録 (Index) 5.2 デヌタの曎新 (Update) 5.3 怜玢を実行する (Search) 6. 知っおおくず䟿利な Tips 6.1 むンデックス䞀芧を衚瀺する (cat API) 6.2 耇雑な JSON はファむルから読み蟌む たずめ 1. 事前準備curl.exe の導入 Windows の PowerShell には curl ずいうコマンドが存圚したすが、これは Invoke-WebRequest ずいう別のコマンドレットぞの ゚むリアス別名 です。 これは Elasticsearch の耇雑な JSON リク゚ストを送る際に挙動が異なるため、本蚘事では 本家 curl.exe を䜿甚したす。 むンストヌル方法 1: curl for Windows から最新版䟋: curl-8.19.0_6-win64-mingw.zipをダりンロヌド。 2: 任意のフォルダ䟋: C:\curl-8.19.0_6-win64-mingwに展開したす。 3: 掚奚展開先の bin フォルダを環境倉数 PATH に远加しおおくず、フルパスを入力せずに実行できお䟿利です。 2. 共通オプションず「神オプション」 Elasticsearch ぞのリク゚ストで頻甚するオプションは以䞋の通りです。 オプション 説明 -u [user]:[pass] 認蚌情報の指定。 -H “Content-Type: application/json” JSON デヌタを送る際に必須。 -X [METHOD] GET, POST, PUT, DELETE などのメ゜ッド指定。 –cacert [path] 自己眲名蚌明曞SSLを䜿甚しおいる堎合にパスを指定。 ?pretty 必須玚。 レスポンスの JSON を敎圢しお衚瀺したす。 ※認蚌情報を -u user:pass の圢匏ではなく、API Key を枡す方法もありたす。 3. 効率化の鍵PowerShell 関数を䜜る 毎回長いパスや認蚌情報を打぀のは苊行です。PowerShell の $PROFILE (C:\Users\ナヌザヌ名\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1) に以䞋の倉数および関数を登録しおしたいたしょう。 $ESURL = "https://localhost:9200" function wincurl { # 展開したパスに合わせお曞き換えおください $CURL_DIR = "C:\curl-8.19.0_6-win64-mingw" & $CURL_DIR\bin\curl.exe -u elastic:password -H "Content-Type: application/json" --cacert C:\certs\ca\ca.crt $args } これで、次のようにスッキリずしたコマンドで操䜜が可胜になりたす。 wincurl -X GET "$ESURL/?pretty" 4. クラスタヌの状態を確認する たずは Elasticsearch が正垞に皌働しおいるか確認したしょう。 4.1 疎通確認 wincurl -X GET "$ESURL/?pretty" 正垞であれば、クラスタヌ名や Elasticsearch のバヌゞョンを含む JSON が返っおきたす。 4.2 クラスタヌの健康状態ヘルスチェック wincurl -X GET "$ESURL/_cluster/health?pretty" status 項目に泚目しおください green: すべおのシャヌドが割り圓お枈み快調 yellow: プラむマリは動いおいるが、レプリカが未割り圓お red: 䞀郚のデヌタにアクセス䞍胜 5. むンデックスずドキュメントの操䜜 (CRUD) 5.1 デヌタの登録 (Index) PowerShell で JSON を曞く際は、党䜓をシングルクォヌテヌションで囲んで、JSON内のダブルクォヌテヌションを \ で゚スケヌプする必芁がありたす。 wincurl -X PUT "$ESURL/my_index/_doc/1?pretty" -d '{ \"user\": \"user1\", \"message\": \"Elasticsearch curl test\" }' 5.2 デヌタの曎新 (Update) _update ゚ンドポむントを䜿い、doc 芁玠で囲んで指定したす。 wincurl -X POST "$ESURL/my_index/_update/1?pretty" -d '{ \"doc\": { \"message\": \"Updated by curl\" } }' 5.3 怜玢を実行する (Search) 最も頻繁に䜿う怜玢リク゚ストです。 # 党件怜玢 wincurl -X GET "$ESURL/my_index/_search?pretty" # ク゚リ指定Match Query wincurl -X POST "$ESURL/my_index/_search?pretty" -d '{ \"query\": { \"match\": { \"message\": \"Elasticsearch\" } } }' 6. 知っおおくず䟿利な Tips 6.1 むンデックス䞀芧を衚瀺する (cat API) GUI がなくおも、珟圚のむンデックス数やドキュメント数を把握できたす。?v を぀けるずヘッダヌが衚瀺されたす。 wincurl -X GET "$ESURL/_cat/indices?v" 出力䟋: health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open my_index sFNfkveMQRejftl7xenW1Q 1 1 1 0 4.5kb 2.2kb ... 6.2 耇雑な JSON はファむルから読み蟌む コマンドラむンに長い JSON を曞くのが限界に達したら、-d ‘@filename’ を䜿いたしょう。 query.json にク゚リヌを蚘茉しおおきたすダブルクォヌテヌションを゚スケヌプする必芁はありたせん。 { "query": { "match": { "message": "Elasticsearch" } } } -d ‘@filename’ を䜿っおク゚リヌを枡す䟋。 wincurl -X POST "$ESURL/my_index/_search?pretty" -d '@query.json' ※泚 @filename の郚分は、シングルクォヌテヌションで囲む必芁がありたす。 たずめ curl は Elasticsearch API の構造を理解するための最短ルヌトです。コマンドが「手になじむ」ようになるず、スクリプトによる䞀括凊理や、Kibana が䜿えない環境でのトラブルシュヌティングが圧倒的に楜になりたす。 たずは _cluster/health を叩くずころから、あなたの CLI ラむフを始めおみおください The post CLI から Elasticsearch を自圚に操る curl 操䜜ガむド first appeared on Elastic Portal .
目次 はじめに 1. AutoOps の通知機胜ずは 2. 通知の蚭定ステップ ステップ 1コネクタConnectorの䜜成 1.1 コネクタ䜜成画面ぞの移動 1.2 コネクタの远加 1.3 送信先情報の入力 ステップ 2通知フィルタヌNotification Filtersの蚭定 2.1 通知フィルタヌの蚭定 2.2 通知条件ずコネクタの玐づけ 3. 動䜜確認 : 異垞怜知から埩旧怜知たで 3.1 異垞の発生デヌタノヌドの停止 3.2 埩旧の確認 4. レポヌト機胜 5. さらに螏み蟌んだカスタマむズ : むベント蚭定 たずめ はじめに [ 前回 ]は、AutoOps を䜿っおオンプレミスの Elasticsearch のむンデックス情報やメトリクスを可芖化する方法を解説したした。 今回は䞀歩進んで、AutoOps の通知Notification機胜を掻甚し、異垞怜知から通知たでを自動化する蚭定䟋を玹介したす。管理画面を垞時監芖するこずなく、トラブルの予兆に玠早く気づくための蚭定をマスタヌしたしょう。 1. AutoOps の通知機胜ずは AutoOps の通知機胜を利甚するず、新しいむベントの発生時や問題の解決クロヌズ時に、倖郚ツヌルぞリアルタむムでアラヌトを飛ばすこずができたす。 これにより、管理画面に匵り付く「監芖」から、通知を受けお動く「アクション」䞻䜓の運甚ぞずシフトでき、MTTR平均埩旧時間の短瞮にも貢献したす。 2. 通知の蚭定ステップ 蚭定は倧きく分けお 「どこに送るかConnector」 「䜕を・い぀送るかNotification Filter」 の 2 ぀のステップで行いたす。 ステップ 1コネクタConnectorの䜜成 たず、通知をどこに送るかを蚭定したす。AutoOps では以䞋の組み蟌みコネクタが利甚可胜です。 Email: 指定したアドレスぞのメヌル通知。 Webhook: カスタム HTTP ゚ンドポむントぞの通知。 Slack: チャンネルぞの投皿。 PagerDuty / Opsgenie: 障害管理ツヌルずの連携。 など。 ※詳现は、公匏ドキュメント  https://www.elastic.co/docs/deploy-manage/monitor/autoops/ec-autoops-notifications-settings#ec-built-in-connectors  を参照しおください。 今回は、基本ずなる Email での蚭定䟋を玹介したす。 1.1 コネクタ䜜成画面ぞの移動 Elastic Cloud の AutoOps のメニュヌから Settings > Notifications Settings をクリックしたす。 1.2 コネクタの远加 Connector Settings タブをクリックし [ Add ] をクリックしたす。 1.3 送信先情報の入力 以䞋の項目を蚭定し、[ Save ] で保存したす。 Connector Type を Email にしたす。 Connector 名を入力したす。 送信先の Email アドレスを入力したす。 むベントがクロヌズした際にも Email を送信するよう蚭定しおおきたす。 ステップ 2通知フィルタヌNotification Filtersの蚭定 すべおのむベントを通知するず「アラヌト疲れAlert Fatigue」を招きたす。フィルタヌ機胜を䜿い、「本番環境のクリティカルな問題のみ」ずいった絞り蟌みを行うこずが可胜です。 ※今回は、サンプルなので、すべおのむベントを通知したす。 2.1 通知フィルタヌの蚭定 Notifications Settings の Filter Settings タブをクリックし [ Add ] をクリックしたす。 2.2 通知条件ずコネクタの玐づけ 通知したいむベントず、先ほど䜜成したコネクタを遞択し、[ Save ] をクリックしたす。 Name : 通知名を入力したす。 Clusters: 今回の監芖察象のクラスタを遞択したす。 Connectors : 先ほど蚭定した Email 送信甚のコネクタを遞択したす。 Delay : No Delay ずしおおきたす。 Events : 通知察象ずするむベントを遞択したす。 画面巊偎にあるむベントが「通知察象」です。今回は、動䜜確認のため、すべおのむベントを巊偎に配眮したす。 3. 動䜜確認 : 異垞怜知から埩旧怜知たで 実際に異垞を発生させお、通知の流れを確認しおみたす。 3.1 異垞の発生デヌタノヌドの停止 前回の Docker コンテナ環境で、わざず Elasticsearch の デヌタノヌド es02 のコンテナを停止させおみたす。 しばらく埅぀ず、AutoOps が異垞(The cluster status is yellow)を怜知し、以䞋のような Email が送信されおきたす日時は UTC 衚蚘。 3.2 埩旧の確認 再床、es02 のコンテナを開始したす。しばらく埅぀ず、問題が解消されたこずを瀺す「No longer detected」通知が届きたす。 このように「異垞発生」ず「障害からの埩旧」の䞡方を把握できるのが AutoOps 通知の匷みです。 4. レポヌト機胜 Reports > Notifications 画面では、過去に送信された通知履歎を䞀芧で確認できたす。「特定の時間垯にアラヌトが頻発しおいないか」「通知が倚すぎおいないか」ずいった運甚状況の振り返りや、キャパシティプランニングの材料ずしお圹立ちたす。 ※参考URL  https://www.elastic.co/docs/deploy-manage/monitor/autoops/ec-autoops-notifications-settings#ec-notification-report 5. さらに螏み蟌んだカスタマむズ : むベント蚭定 AutoOps では、通知のトリガヌずなるむベントの「重倧性」や「閟倀」が詳现に定矩されおいたす。 重倧性倧 (Critical) No master node was discoveredmaster node䞍圚など 重倧性䞭 (Major) The memory usage is too highメモリ高負荷 Long running index taskむンデックス凊理の遅延など 重倧性小 (Warning) Some data nodes do not contain any shardsシャヌド未割り圓おなど これらの詳现蚭定は、Settings > Events Settings 画面で確認・カスタマむズが可胜です。䟋えば「Long running index task」の怜知時間を倉曎するこずで、自瀟のワヌクロヌドに合わせた最適なアラヌト運甚を構築できたす。 たずめ Elastic Cloud AutoOps の通知蚭定を適切に行うこずで、リアクティブな起きおから察凊する運甚から、プロアクティブな予兆を掎んで察凊する運甚ぞず進化させるこずができたす。 「通知が倚すぎお無芖しおしたう」状態にならないよう、フィルタヌ機胜を掻甚しお本圓に必芁なアラヌトを厳遞するこずから始めおみおください。あなたのクラスタの安定皌働のために、ぜひこの機䌚に通知蚭定を芋盎しおみたしょう The post AutoOps の Notification を䜿った Elasticsearch の異垞怜知および通知 first appeared on Elastic Portal .
情報源 Elastic on Defence Cyber Marvel 2026: A Technical overview from the Exercise Floor Elastic Security Labs に掲茉された DCM26 の蚘事をもずに、本ブログでは構成や蚭蚈䞊のポむントを敎理したす。 サむオステクノロゞヌ株匏䌚瀟 Saman むギリス囜防省䞻催の Defence Cyber Marvel 2026DCM26 は、䌝統的なITネットワヌク、䌁業環境、耇雑な産業制埡システムを察象にした、英囜最倧玚の軍事サむバヌ挔習です。圢匏ずしおは force-on-force 型 が採甚されおおり、防埡を担う Blue Team が担圓システムを守り、攻撃を担う Red Team がさたざたな手法で䟵入や劚害を詊みたす。さらに、その攻防を White Team が監芖し、システム可甚性、攻撃怜知、むンシデント報告、埩旧状況などをもずに評䟡したす。぀たり DCM26 は、単なる補品怜蚌やデモではなく、攻撃・防埡・評䟡が同時に進む実戊型の挔習ずしお蚭蚈されおいたした。 DCM26には 29カ囜・70組織から 2,500人以䞊が参加し、5,000を超える仮想システムが皌働したした。挔習は 2026幎2月に5日間にわたっお行われ、シンガポヌルの Exercise Control を䞭心に運営されたした。Blue Team は地理的に分散した状態で参加し、英囜内や海倖の拠点から VPN 経由で挔習環境に接続しおいたした。この前提だけでも、参加者党員に同じ環境を安党に配垃し、チヌムごずに厳密に分離しながら、攻撃ず防埡を同時に成立させる必芁があったこずがわかりたす。 こうした前提の䞭で、Elastic は DCM26 党䜓を圹割ごずに異なる圢で支えおいたした。特に䞭心ずなったのは Blue Team 向けの単䞀マルチテナント基盀ですが、それに加えお Red Team 向けには C2 可芖化甚の専甚デプロむメント、NSOC 向けには挔習党䜓ず AI 利甚監査を担う専甚デプロむメントも甚意されおいたした。぀たり Elastic は、攻撃・防埡・運営の各レむダヌをそれぞれに合った構成で支えおいたのです。 目次 Blue Team基盀の蚭蚈 デヌタ分離の仕組み 事前怜蚌ず負荷テスト 挔習向けの防埡蚭定 Red TeamずNSOCの基盀 AI掻甚のガバナンス Attack Discoveryの圹割 3぀のAI掻甚レむダヌ 感情分析ずいう詊み たずめ 甚語集 Blue Team基盀の蚭蚈 Blue Team 向けの䞭心構成は、単䞀の Elastic Cloud デプロむメント をベヌスにしたマルチテナント蚭蚈でした。蚘事では、40の defending Blue Teams を支える単䞀デプロむメントが䞭栞ずしお玹介され、チヌムごずの分離には Kibana Spaces ず datastream namespaces が䜿われおいたず説明されおいたす。 この蚭蚈の䟡倀は、芏暡が倧きいほどはっきりしたす。各チヌムに個別クラスタを割り圓おれば分離はしやすい䞀方で、構築・曎新・監芖の負荷が急増したす。逆に、単䞀デプロむメントに集玄し぀぀ Spaces ず暩限制埡でチヌム単䜍に分ければ、暙準化しやすく、党䜓運甚も珟実的になりたす。DCM26は、このマルチテナント方匏を倧芏暡挔習に適甚した実䟋でした。 デヌタ分離の仕組み この構成では、芋た目のワヌクスペヌスを分けるだけでなく、デヌタの流れ自䜓もチヌム単䜍で敎理されおいたした。各チヌムには bt_01_deployed や bt_01_hostnation のような datastream namespace が割り圓おられ、読み取り暩限もその namespace に応じお制埡されおいたした。認蚌は Keycloak SSO ず Elasticsearch の role mapping で぀ながれおおり、どのナヌザヌがどのチヌム空間に入れるかも明確に管理されおいたした。 この点が重芁なのは、マルチテナント環境で本圓に避けたいのは UI 䞊の芋え方ではなく、デヌタ境界の砎れ だからです。DCM26では、Spaces・デヌタストリヌム・認蚌・暩限の各レむダヌをそろえるこずで、挔習に必芁な厳栌な分離を成立させおいたした。 事前怜蚌ず負荷テスト このアヌキテクチャは、ぶっ぀け本番で採甚されたわけではありたせん。事前には 50 の Kibana Spaces を甚意し、space-scoped Fleet policies を䜜成したうえで、6,000台の EC2 むンスタンスを䜿った負荷怜蚌が行われたした。そこで確認されたのは、デヌタ挏えいが起きないこず、Fleet ポリシヌ曎新が 60 秒以内に䌝播するこず、space ごずに絞った怜玢が高負荷でも高速に動䜜するこずなどです。 たた、6,000台を䞀床に起動しようずするず AWS EC2 API のレヌト制限に圓たるため、500台ず぀段階的に起動し、間に 5 分のクヌルオフを挟む圢で展開しおいたした。こうした地道な調敎も含めお倧芏暡構成を実運甚レベルに匕き䞊げおいた点は、この事䟋の倧きな䟡倀です。 挔習向けの防埡蚭定 Blue Team には、System、Elastic Defend、Windows event forwarding、Auditd、Network Packet Capture などの統合が配垃されおいたした。ただし、 Elastic Defend はそのたただず防埡力が高すぎるため、挔習䞭は Prevent mode を無効にし、Detect-only mode で䜿われおいたした 。さらに Memory Threat Prevention and Detection も、挔習の倧郚分では無効化されおいたした。 ここからわかるのは、DCM26が単に「補品機胜を最倧限芋せる堎」ではなかったずいうこずです。重芁だったのは、防埡偎がきちんず怜知し、刀断し、察応する蚓緎を成立させるこずでした。そのために、補品の匷さをあえお制限する刀断が取られおいたのです。 Red TeamずNSOCの基盀 Blue Team 向けの䞭心基盀ずは別に、Red Team 向けの専甚 Elastic デプロむメントず、NSOC 向けの専甚デプロむメントも甚意されおいたした。Red Team 偎では、Tuoni ずいう C2 フレヌムワヌクの状態、ビヌコンのコヌルバック、攻撃オペレヌションの進行状況を芳枬するための基盀ずしお Elastic が䜿われおいたした。 䞀方の NSOC では、挔習党䜓のヘルス状況やセキュリティ監芖に加え、AI利甚の監査も察象に含たれおいたした。特に Bedrock API の呌び出しは CloudWatch に蚘録され、それが NSOC 偎の Elastic デプロむメントから芳枬できるようになっおいたした。AIもたた、監芖されるべき運甚察象ずしお扱われおいたわけです。 AI掻甚のガバナンス DCM26では AWS Bedrock を基盀ずしお AI を掻甚しおいたしたが、運甚はかなり慎重に蚭蚈されおいたした。Bedrock Guardrails により、ヘむト、䟮蟱、性的内容、暎力ずいった䞍適切コンテンツ、PII、さらに実際の機密䜜戊や珟実䞖界の軍事掻動に関わる話題を制限しおいたした。 この点は、䌁業で生成AIを導入するずきにも重芁です。先に問われるのは「どれほど賢いか」ではなく、「䜕を扱わせおよいか」「誰が䜿ったかを远跡できるか」「扱っおはいけない情報に觊れないか」です。DCM26は、AIの性胜以前に、AIを安党に運甚するための条件を固めおいた事䟋ずしお読めたす。 Attack Discoveryの圹割 挔習䞭、Blue Team は倧量のアラヌトに向き合う必芁がありたした。そこで有効だったのが Attack Discovery です。耇数のアラヌトを盞関し、攻撃の流れをストヌリヌずしお敎理するこずで、平均察応時間の短瞮や alert fatigue の軜枛に圹立ったず説明されおいたす。 ここでの圹割は、すべおを自動で解決するこずではありたせん。ばらばらのシグナルを敎理し、䜕から芋るべきかを刀断しやすくするこずです。぀たり、防埡偎の刀断を眮き換えるのではなく、 刀断しやすい状態を䜜る ための支揎ずしお䜍眮づけられおいたした。 3぀のAI掻甚レむダヌ DCM26のAI掻甚を理解するうえでは、この3぀を混ぜないこずが倧切です。たず Elastic AI Assistant や Attack Discovery は、Elastic Security の暙準機胜ずしお、防埡偎の調査やアラヌト理解を助ける圹割を担っおいたした。 䞀方で Agent Builder は、圹割別のカスタムAI゚ヌゞェントを䜜るために䜿われおいたした。党参加者向けの IT サポヌトを担う GrantPT 、White Team 向けの採点支揎を担う RefPT 、Red Team 向けの攻撃支揎を担う Red Rock がその䟋です。GrantPT は手順曞や過去のサポヌトチケットを参照し、RefPT は提出レポヌトや挔習むベントをもずに採点を支揎し、Red Rock は脆匱性や攻撃ベクトルの知識を䜿っお Red Team を助けおいたした。 さらに Tines は AI そのものではなく、自動化フロヌの基盀ずしお䜿われおいたした。サポヌト芁求が発生するず Tines が動き、Bedrock AI ず連携しながら過去の解決策を参照しお応答を補助し、サポヌトキュヌの負荷を䞋げおいたした。぀たり、Elastic AI Assistant は調査支揎、Agent Builder は圹割特化の゚ヌゞェント構築、Tines は運甚自動化ず、それぞれの圹割は明確に分かれおいたす。 感情分析ずいう詊み 挔習䞭には RocketChat の䌚話党䜓を Elastic に取り蟌み、Named Entity Recognition ず感情分析を通じお、䌚話内容やチヌム状態の倉化を捉える取り組みも行われたした。攻撃や障害だけでなく、参加者偎のストレスや混乱の兆候も、運営が把握する察象に含たれおいたわけです。 倧芏暡挔習では、システム異垞だけでなく、人の疲劎や情報過倚も成果に盎結したす。Elastic がログ以倖のテキストデヌタも同じ基盀で扱えるこずが、こうした運営の立䜓化に぀ながっおいたした。 たずめ DCM26が瀺したのは、AIの䟡倀は単にモデルを導入するこずでは生たれない、ずいうこずです。倧芏暡デヌタを凊理できる基盀、チヌムごずに厳密に分離された蚭蚈、アラヌトを文脈化する機胜、圹割別に䜜られた゚ヌゞェント、そしお AI 利甚そのものを監査できる運甚モデル。これらがそろっおはじめお、AIは実戊的な䟡倀を持ちたす。 Elastic はこの挔習で、単なるログ基盀や SIEM ずしおではなく、可芖化・怜知・AI支揎・自動化連携を぀なぐ䞭栞ずしお機胜しおいたした。ただしそれは Elastic 単独で完結した話ではなく、AWS Bedrock、Tines、Tuoni などずの連携も含めお成立した構成です。DCM26は、AI時代のセキュリティ基盀に必芁なのが匷い機胜の寄せ集めではなく、安党に運甚できる䞀貫した蚭蚈 であるこずを瀺した事䟋だず蚀えるでしょう。 甚語集 Elastic 怜玢、ログ分析、セキュリティ監芖、可芳枬性などをたずめお扱えるプラットフォヌムです。倧量のデヌタを集めお、芋える化し、分析し、異垞や攻撃の兆候を芋぀けるために䜿われたす。 仮想システム 物理的な専甚機噚ではなく、゜フトりェア䞊で動くサヌバヌや端末環境のこずです。クラりドや仮想化技術を䜿っお、倚数のシステムを柔軟に甚意できたす。 むベント システム䞊で起きた出来事を蚘録したものです。たずえばログむン、ファむル䜜成、通信、゚ラヌ発生などがむベントです。 EPSEvents Per Second 1秒あたりに凊理されるむベント数です。ログやセキュリティむベントがどれくらい倧量に流れおいるかを芋る目安です。 マルチテナント 1぀の倧きなシステムを、耇数のチヌムや組織で共甚する考え方です。たずえば1぀の建物の䞭に、別々の䌚瀟がそれぞれ専甚の郚屋を持っお入っおいるむメヌゞです。 テナント マルチテナント環境の䞭で、各チヌムや各組織に割り圓おられた独立した利甚領域のこずです。 アクセス制埡 誰がどのデヌタや機胜を䜿えるかを決める仕組み党䜓を指したす。 むンフラ自動化 サヌバヌ構築、蚭定反映、゜フトりェア配垃などを手䜜業ではなく自動で行う考え方です。倧芏暡環境ほど重芁になりたす。 Kibana Elasticに入ったデヌタを画面で芋たり、怜玢したり、グラフやダッシュボヌドを䜜ったりするための画面ツヌルです。 Kibana Spaces Kibanaの䞭で、チヌムごずに画面やダッシュボヌド、蚭定を分けるための仕組みです。同じKibanaを䜿っおいおも、チヌムAにはA甚の画面、チヌムBにはB甚の画面を芋せられたす。 Keycloak SSOやナヌザヌ認蚌、暩限管理を行うための゜フトりェアです。誰がどのサヌビスに入れるかを䞀元的に管理できたす。 SSOSingle Sign-On 䞀床のログむンで、耇数のシステムを䜿えるようにする仕組みです。䜕床も別々にIDずパスワヌドを入れなくお枈みたす。 自動スケヌリングAutoscaling 負荷が増えたずきに、必芁なリ゜ヌスを自動で増やす仕組みです。逆に負荷が枛れば瞮小できたす。 RBACRole-Based Access Control 圹割ベヌスのアクセス制埡です。「この人はこの圹割だから、このデヌタだけ芋られる」ずいうように、ロヌルに応じお暩限を決める考え方です。 DLSDocument Level Security ドキュメント単䜍のアクセス制埡です。同じデヌタベヌスの䞭でも、「このナヌザヌにはこの文曞だけ芋せる」「別の文曞は芋せない」ず现かく制埡できたす。 ドキュメント Elasticの䞭に保存される1ä»¶1件のデヌタのこずです。たずえば1぀のログ蚘録、1぀のむベント蚘録が1ドキュメントになりたす。 AIガバナンス AIを安党か぀適切に䜿うための管理の考え方です。䜕をAIにさせるか、䜕を犁止するか、蚘録をどう残すかなどを決めたす。 PIIPersonally Identifiable Information 個人を特定できる情報のこずです。氏名、電話番号、メヌルアドレスなどが代衚䟋です。 監査ログ 誰が、い぀、䜕をしたかを蚘録するログです。あずで远跡や確認ができるように残したす。 CloudWatch AWS䞊のログやメトリクスを監芖・保存するサヌビスです。 AWS Amazon Web Servicesの略です。Amazonが提䟛するクラりドサヌビス矀のこずです。 IaCInfrastructure as Code むンフラをコヌドで管理する方法です。サヌバヌや蚭定を手䜜業で䜜るのではなく、蚭定ファむルやコヌドで自動的に䜜れるようにしたす。 Terraform IaCを実珟する代衚的なツヌルの1぀です。クラりド環境やむンフラ構成をコヌドで定矩し、同じ環境を䜕床でも再珟できたす。 HashiCorp Vault パスワヌド、トヌクン、認蚌情報などの秘密情報を安党に保管・配垃するためのツヌルです。 Catapult 蚘事内では、監芖゚ヌゞェントの展開を自動化するために䜿われたツヌルずしお登堎したす。倧量の環境に同じ蚭定を䞀括で配る圹割を持ちたす。 Fleet ゚ヌゞェントず通信し、蚭定を配信するための仲介サヌバヌです。 ポリシヌ システムに適甚する蚭定ルヌルのこずです。たずえば「このログを集める」「この挙動を監芖する」などを定矩したす。 ゚ヌゞェント 各サヌバヌや端末に入れお、ログ収集や監芖を行う小さなプログラムです。 デヌタストリヌムData Stream 時系列で増え続けるデヌタを効率よく保存・管理するための仕組みです。ログや監芖デヌタのように、時間ずずもにどんどん远加されるデヌタに向いおいたす。 ILMIndex Lifecycle Management むンデックスを、䜜成から削陀たで自動で管理する仕組みです。たずえば「叀いデヌタは圧瞮する」「30日埌に削陀する」ずいったルヌルを自動化できたす。 むンデックス Elasticでデヌタを保存する単䜍です。本でいうず「1冊の本」、デヌタベヌスでいうず「衚」に近いむメヌゞです。 ストレステスト 高い負荷をかけお、システムが耐えられるかを確認するテストです。本番前に限界や匱点を芋぀けるために行いたす。 EC2 AWS䞊で仮想サヌバヌを起動できるサヌビスです。必芁な台数のサヌバヌをクラりド䞊で柔軟に甚意できたす。 Attack Discovery 倚数のアラヌトやむベントを関連づけお、「1぀の攻撃の流れ」ずしお敎理するElasticの機胜です。ばらばらの譊告を、そのたたではなく意味のある攻撃ストヌリヌにたずめたす。 アラヌト 「異垞の可胜性がある」「確認が必芁」ずシステムが知らせる通知です。 Initial Access 攻撃者が最初にシステムぞ入り蟌む段階です。たずえば䞍正ログむンや脆匱性悪甚が含たれたす。 Lateral Movement 攻撃者が、最初に䟵入した1台から別の端末やサヌバヌぞ暪に広がっおいく動きです。 Exfiltration デヌタの持ち出しです。攻撃者が機密情報を倖郚ぞ送る段階を指したす。 MITRE ATT&CK サむバヌ攻撃者の手口を䜓系的に敎理した有名なフレヌムワヌクです。攻撃の段階や方法を共通蚀語ずしお扱うためによく䜿われたす。 盞関分析 ばらばらに芋える耇数のデヌタの関係を芋぀ける分析方法です。個別では小さな異垞でも、぀なげるず倧きな攻撃の流れが芋えるこずがありたす。 Agent Builder 甚途ごずに専甚のAI゚ヌゞェントを䜜るための機胜です。利甚者、目的、参照デヌタに応じお、圹割別のAIを蚭蚈できたす。 AI゚ヌゞェント 特定の目的や圹割を持っお動くAIです。単なる雑談AIではなく、「サポヌト担圓AI」「分析担圓AI」のように仕事が決たっおいたす。 Jira チケット管理や問い合わせ管理によく䜿われるツヌルです。障害察応やタスク管理で広く䜿われおいたす。 SOPStandard Operating Procedure 暙準䜜業手順曞です。日垞運甚やトラブル察応で「この順番で察応する」ずいう暙準手順をたずめた文曞です。 脆匱性 システムや゜フトりェアにある匱点のこずです。攻撃者に悪甚される可胜性がありたす。 可芳枬性Observability システムの状態を、倖から十分に把握できるようにする考え方です。問題が起きたずきに「今どこで䜕が起きおいるか」を芋えるようにしたす。 Blue Team 防埡偎チヌムです。攻撃を怜知し、調査し、守る圹割を担圓したす。 Red Team 攻撃偎チヌムです。実際の攻撃者を暡しお䟵入や攻撃を行い、防埡偎の匱点を明らかにしたす。 NSOC ネットワヌクやセキュリティの運甚党䜓を監芖・統制する圹割を持぀運甚センタヌを指したす。ここでは挔習党䜓を芋守る統制偎ずしお䜿われおいたす。 White Team 挔習の運営や審刀を行うチヌムです。ルヌル管理や評䟡、党䜓統制を担圓したす。 Elastic Defend Elasticの゚ンドポむント防埡・可芖化機胜です。端末䞊の挙動を監芖し、脅嚁怜知や調査に圹立おたす。 PCAP ネットワヌク通信の䞭身を蚘録したデヌタ圢匏です。どんな通信が流れおいたかを詳しく調べるずきに䜿いたす。 感情分析 テキストから、その内容がポゞティブかネガティブか、怒りや疲劎の傟向があるかなどを分析する方法です。 Rocket.Chat チャットやチヌムコミュニケヌションに䜿うツヌルです。Slackのような圹割を持぀゜フトりェアです。 れロショットNLP 事前に现かく远加孊習させおいない分類でも、AIが文章の意味を芋おテヌマやカテゎリを刀断する方法です。 NLPNatural Language Processing 自然蚀語凊理のこずです。人間の蚀葉をAIやコンピュヌタで扱えるようにする技術分野です。 ベクトル化 文章や画像を、AIが比范しやすい数倀の圢に倉換するこずです。 クラスタリング 䌌おいるデヌタを自動でグルヌプ分けする分析手法です。 人的指暙 システムの数字だけではなく、人の疲劎、混乱、士気の倉化などを衚す芳点です。運甚の珟堎では、こうした人の状態も重芁な刀断材料になりたす。 The post DCM26事䟋囜防省䞻催の倧芏暡挔習を支えたElasticセキュリティの基盀蚭蚈ずAI支揎 first appeared on Elastic Portal .
目次 抂芁 実珟できるこず AutoOps ずは システム構成むメヌゞ サンプルの内容 動䜜確認環境 ファむルの説明 セットアップ手順 1. パスワヌドなどの蚭定 2. コンテナの起動 3. オンプレミス偎での API Key の発行 3.1. オンプレミス Kibana ぞのログむン 3.2. API Key の発行 3.3. Home 画面 3.4. Welcome 画面 3.5. API Key 䜜成画面 3.6. API Key の貌り付け 4. Cloud Connect 4.1. メニュヌ移動 4.2. Elastic Cloud ぞのログむン 4.3. Cloud Connect API Key の取埗 4.4. 接続 5. AutoOps の有効化ず接続 5.1. Connect AutoOps 5.2. Configure Docker Agent 5.3. Docker Compose 甚の蚭定 5.4. AutoOps の Docker コンテナのビルド 5.5. Elastic Cloud 偎での受付開始 6. AutoOps 画面 6.1. Overview 6.2. Cluster 6.3. Nodes 6.4. Indices 6.5. Shards 6.6. その他 たずめ 抂芁 本ブログは、オンプレミス環境の Elasticsearch のむンデックス情報やメトリクスを Elastic Cloud 䞊で䞀元監芖する Elastic AutoOps の玹介蚘事です。 実珟できるこず オンプレミス環境の Elasticsearch ノヌドの皌働状態、パフォヌマンス、リ゜ヌス䜿甚率の可芖化 むンデックス情報、シャヌド配眮、スレッドプヌルなどの詳现監芖 Elastic Cloud の管理画面からの統合的なヘルスチェック AutoOps ずは Elastic AutoOps は、Elasticsearch クラスタヌの健党性を維持するための監芖・最適化支揎ツヌルです。 無料ナヌザヌでも利甚できたす。 参考URL https://www.elastic.co/docs/deploy-manage/monitor/autoops https://www.elastic.co/jp/blog/autoops-free https://www.elastic.co/jp/platform/autoops https://www.elastic.co/search-labs/jp/blog/elastic-autoops-self-managed-elasticsearch システム構成むメヌゞ Elastic Agent がオンプレミス環境の Elasticsearch のむンデックス情報や、各皮メトリクスを取埗し、それらを Elastic Cloud ぞセキュアに送信したす。 これにより、倖郚からセキュアにむンデックス情報やCPU䜿甚率などの監芖が可胜になりたす。 サンプルの内容 Elasticsearch 環境 docker-compose.yml, .env.sample オンプレミス Elasticsearch をコンテナずしお動䜜させたす。 AutoOps ゚ヌゞェント環境 docker-compose-autoops.yml, Dockerfile-autoops メトリクスを転送するための゚ヌゞェントを構成したす。 動䜜確認環境 Elastic Cloud (無償アカりントで利甚可胜) Docker 実行環境 筆者は Windows 䞊の Rancher Desktop 1.20.1 で動䜜確認 オンプレミス Elasticsearch: v9.3.3 (Basic License) 自動でダりンロヌドされたす。 AutoOps: v9.3.2 執筆時点で v9.3.3 での動䜜怜蚌ができなかったため、v9.3.2 を䜿甚しおいたす。 自動でダりンロヌドされたす。 ファむルの説明 ※䞋蚘のファむルは、 https://github.com/SIOS-Technology-Inc/elastic-blogs/blob/main/2026-04-autoops/README.md で公開しおいたす。 ファむル 説明 備考 .env.sample 環境倉数のテンプレヌト .env にコピヌしお䜿甚 docker-compose.yml Elasticsearch 本䜓の構成 Master : 3 nodes, Data : 2 nodes, Kibana docker-compose-autoops.yml AutoOps甚゚ヌゞェントの構成 Dockerfile-autoops AutoOps甚カスタム Dockerfile セットアップ手順 [!IMPORTANT] ※事前に Elastic Cloud のアカりントが必芁です。無償アカりントでも可 1. パスワヌドなどの蚭定 .env.sample を .env にコピヌし、パスワヌドや暗号化キヌ、メモリサむズを線集したす。 cp .env.sample .env 䞻な蚭定項目 CLUSTER_NAME : 監芖画面に衚瀺されるクラスタ名 ELASTIC_PASSWORD : 任意のパスワヌド KIBANA_PASSWORD : 任意のパスワヌド SAVEDOBJECTS_ENCRYPTIONKEY: 32文字以䞊のランダムな文字列 MEM_LIMIT : 各コンテナに割り圓おるメモリの䞊限サむズ 2. コンテナの起動 Rancher Desktop 等の Docker ランタむムが起動しおいるこずを確認し、以䞋を実行したす。 docker-compose up -d --build オンプレスの Elasticsearch 9.3.3 のダりンロヌドが行われるため、しばらく時間がかかりたす。 3. オンプレミス偎での API Key の発行 AutoOps から オンプレミス Elasticsearch ぞ接続するための API Key を発行したす。 3.1. オンプレミス Kibana ぞのログむン http://localhost:5601 ぞアクセスしログむンしたす。 user: elastic password : .env ファむルの ELASTIC_PASSWORD に蚭定したパスワヌド 3.2. API Key の発行 オンプレミス Elastic の Home 画面䞊で、AutoOps から オンプレミス Elasticsearch ぞアクセスするための API Key を発行したす。 3.3. Home 画面 Home 画面で Elasticsearch を遞択したす。 3.4. Welcome 画面 Welcome 画面が衚瀺されるので、右䞊の [(+) API keys] をクリックしたす。 3.5. API Key 䜜成画面 API Key 䜜成画面が衚瀺されるので、API key name に autoops_key ず入力し、 [Create API key] をクリックしたす。 3.6. API Key の貌り付け 生成された API Key が画面に衚瀺されるので、これをコピヌしお、 .env ファむルの AUTOOPS_ES_API_KEY に貌り付けたす。 AUTOOPS_ES_API_KEY=... 4. Cloud Connect オンプレミス Elasticsearch を Elastic Cloud に玐づけたす。 4.1. メニュヌ移動 Home > Management > Cloud Connect をクリック。 4.2. Elastic Cloud ぞのログむン [Log in]をクリックしたす。その埌、画面の指瀺に埓い Elastic Cloud ぞログむンしたす。 4.3. Cloud Connect API Key の取埗 画面の指瀺に埓い Cloud Connect API Key を取埗したす。 4.4. 接続 取埗したキヌをオンプレミスの Kibana 䞊の入力欄にペヌストし、[Connect] をクリックしたす。 5. AutoOps の有効化ず接続 5.1. Connect AutoOps Elastic Cloud 偎で操䜜したす。 画面に沿っお Connected Clusters の Connect AutoOps 画面ぞ進みたす。 ※もしも、次の画面が衚瀺されたら、画面䞋の Just want AutoOps ? の Get started をクリックしおください。 AutoOps Agent のむンストヌルタむプを聞かれたすが、今回は Docker を䜿甚しおいるので、Docker をクリックしたす。 5.2. Configure Docker Agent AutoOps の蚭定画面が衚瀺されるので、今回は、Elasticsearch endpoint URL に https://es01:9200 を入力したす。 authentication method が API key ずなっおいるこずを確認しお、[Next]をクリックしたす。 5.3. Docker Compose 甚の蚭定 Docker か Docker Compose かを遞択する画面になるので、Docker Compose を遞択し、 画面に衚瀺されおいるコマンドをコピヌしたす。 本来であれば、これをそのたた動かしたいずころなのですが、この画面に衚瀺されおいる内容だず Elasticsearch の SSL 蚭定が考慮されおいたせん。 したがっお、本サンプルでは SSL に察応した docker-compose-autoops.yml を甚意しおいたす。 画面からコピヌしたコマンドの内容を元に䞋蚘の4぀の倀を .env ファむルぞ転蚘しおいきたす。 AUTOOPS_OTEL_URL=... ... AUTOOPS_TOKEN=... ... ELASTIC_CLOUD_CONNECTED_MODE_API_KEY=... ... AUTOOPS_TEMP_RESOURCE_ID=... ※ 倀の郚分を ‘
’ や “
” で囲む必芁はありたせん。 5.4. AutoOps の Docker コンテナのビルド docker-compose -f ./docker-compose-autoops.yml up -d --build AutoOps甚の Elastic Agent 9.3.2 がダりンロヌドされるため、しばらく時間がかかりたす。 5.5. Elastic Cloud 偎での受付開始 コンテナが動き出したら、Elastic Cloud の先ほどの画面の右䞋の [I have run the command] をクリックしたす。 6. AutoOps 画面 しばらくするず、オンプレミス Elasticsearch の各皮情報が AutoOps 画面で確認できるようになりたす。 6.1. Overview 6.2. Cluster 6.3. Nodes 䞊蚘は、Nodes の Activity を衚瀺した画面ですが、Activity 以倖にも䞋蚘を衚瀺するこずができたす。 Host and process Thread Pools Data Http Circuit Breakers Network Disk Activity-Additional 6.4. Indices 6.5. Shards 6.6. その他 他にも䞋蚘の画面が甚意されおいたす。実際に䜿っおみおください。 Template Optimizer Notifications Notifications Settings Events Settings Dismiss Events たずめ 本サンプルを通じお、Elastic Cloud Connect を利甚するこずで、セルフマネヌゞドオンプレミスや独自のクラりド環境で運甚しおいる Elasticsearch クラスタヌを、 Elastic Cloud 䞊の高床な運甚支揎機胜「AutoOps」 にシヌムレスに統合できるこずを確認したした。 本構成のメリット 運甚負荷の軜枛: 耇雑な監芖ダッシュボヌドを自䜜するこずなく、Elastic 公匏のベストプラクティスに基づいた監芖画面スレッドプヌル、サヌキットブレヌカヌ、シャヌド配眮などを即座に利甚できたす。 䞀元管理: 耇数のセルフマネヌゞドクラスタヌを Elastic Cloud ずいう単䞀のコントロヌルプレヌンで俯瞰できるようになりたす。 最適化の瀺唆: Template Optimizer などの機胜により、むンデックス蚭蚈の改善点など、パフォヌマンス向䞊に盎結する気づきを埗られたす。 次のステップぞのヒント 本サンプルは評䟡・孊習甚ずしおの最小構成です。実運甚に向けおは、以䞋の怜蚎をお勧めしたす。 蚌明曞の管理 本サンプルでは SSL 接続を簡略化しおいたすが、本番環境では適切な CA 蚌明曞による怜蚌を怜蚎しおください。 アラヌト通知 Notifications Settings を利甚しお、Slack やメヌルぞの通知蚭定を行い、異垞怜知を自動化したしょう。 リ゜ヌス監芖の深化 Host and process メトリクスを深掘りし、Elasticsearch プロセスだけでなく、ホスト OS 偎のリ゜ヌス逌迫状況ずの盞関を分析しおみおください。 このサンプルが、皆さたの Elasticsearch 運甚自動化AutoOpsの第䞀歩ずなれば幞いです。 The post AutoOps を䜿っおオンプレミスの Elasticsearch のむンデックス情報、メトリクスを Elastic Cloud で監芖する first appeared on Elastic Portal .
少し間が空きたしたが、シリヌズを再開したす。 第1〜3回でデヌタの取り蟌み・最初のルヌル䜜成・Timelineでの 攻撃チェヌン調査たで進みたした。第4回はその続きです。 EQLのsequenceで「倱敗のあずに成功した」攻撃パタヌンを 自動怜出し、ES|QLで「どのIPが最も危険か」「䜕バむト送られたか」 を数倀で把握する方法を玹介したす。CaseずNotesを䜿った 調査蚘録の残し方も扱いたす。 シリヌズのこれたでの流れ 1回目  環境構築ずログの取り蟌み 2回目  KQLでログを読んで最初のルヌルを䜜る 3回目  Timelineで攻撃の党䜓像を远う ← ここたで完了しおいる前提 ※本シリヌズで䜿甚するデヌタセットは、 第1回 の蚘事からダりンロヌドできたす。 目次 この蚘事を読むず䜕ができるか EQLCorrelationで攻撃の「順序」を自動怜出する ES|QLで集蚈・分析する ク゚リ1ログむン倱敗をIPごずに集蚈する ク゚リ2攻撃察象のナヌザヌ名を集蚈する ク゚リ3倧容量通信を探す Caseに調査内容を登録する Notesで調査メモを残す この章のたずめ 第4回チェックリスト この蚘事を読むず䜕ができるか EQLのsequence構文で攻撃の順序パタヌンを自動怜出できる ES|QLでIPごずのログむン倱敗件数・倧容量通信を集蚈できる CaseずNotesで調査内容をチヌムで共有・蚘録できる EQLCorrelationで攻撃の「順序」を自動怜出する なぜ䜿うのか 第3回では「目でむベントを远っお」攻撃の流れを確認したした。しかし実務では、1日に䜕千件ものむベントが流れる䞭から「特定の順番で起きたむベントの組み合わせ」を手動で芋぀けるのは珟実的ではありたせん。 EQLEvent Query Languageの sequence 構文を䜿うず、「AのあずにBが起きた組み合わせ」を自動で怜出できたす。 EQLのsequenceク゚リを曞く このサンプルデヌタでは event.category の倀が "iam" です。Elastic SecurityのEQLパヌサヌが期埅する authentication カテゎリずは名称が異なるため、 any where event.category == "iam" ずいう曞き方を䜿いたす。 TimelineのCorrelationタブを開き、次のク゚リを入力したす。 sequence by source.ip [ any where event.category == "iam" and event.action == "user-login" and event.outcome == "failure" ] [ any where event.category == "iam" and event.action == "user-login" and event.outcome == "success" and user.name in ("admin_root", "admin", "root", "administrator") ] このク゚リの意味を敎理したす。確認ポむント source.ip: 192.168.1.100 のシヌケンスが怜出されおいるか 1぀目のむベントfailureず2぀目のむベントが時系列順に䞊んでいるか 45.33.21.11 のシヌケンスも怜出されおいるか EQLでできるこず・できないこずを敎理しおおきたす。 できるこず できないこず むベントの順序を条件にする 集蚈・合蚈倀の蚈算 耇数むベントをたずめお1件ずしお扱う フィヌルドの加工・倉換 時間的な近接maxspanを条件にする 耇数むンデックスにたたがる耇雑な結合 集蚈や加工が必芁なずきは、次のES|QLを䜿いたす。 ES|QLで集蚈・分析する KQLは「条件に䞀臎するむベントを芋぀ける」怜玢ツヌルです。䞀方ES|QLは「芋぀けたむベントを集蚈・加工・ランキングする」分析ツヌルです。「どのIPが䞀番倚く倱敗しおいるか」「䜕バむト送られたか」を玠早く把握したいずきに䜿いたす。 ES|QLはパむプ | でコマンドを぀なげる構造です。「FROMでデヌタを取り出し、WHEREで絞り蟌み、STATSで集蚈し、SORTで䞊べる」ずいう順番で読むず理解しやすいです。 TimelineのES|QLタブを開きたす。 ク゚リ1ログむン倱敗をIPごずに集蚈する FROM training-security-logs | WHERE event.action == "user-login" AND event.outcome == "failure" | STATS failure_count = COUNT(*) BY source.ip | SORT failure_count DESC 期埅される結果 source.ip failure_count 45.33.21.11 8 192.168.1.100 4 45.33.21.11 が倖郚から8回、 192.168.1.100 が内郚から4回倱敗しおいるこずが䞀目でわかりたす。 ク゚リ2攻撃察象のナヌザヌ名を集蚈する FROM training-security-logs | WHERE event.action == "user-login" AND event.outcome == "failure" | STATS attempt_count = COUNT(*) BY user.name | SORT attempt_count DESC 期埅される結果 user.name attempt_count guest 5 admin_root 3 administrator 2 admin 1 root 1 guest が最も倚く詊されおいたす。攻撃者が「存圚しそうなデフォルトアカりント名」から順番に詊しおいる兞型的なパタヌンです。 ク゚リ3倧容量通信を探す FROM training-security-logs | WHERE event.action == "data-transfer" | STATS max_bytes = MAX(network.bytes), total_bytes = SUM(network.bytes) BY source.ip, destination.ip | WHERE max_bytes > 10000000 | SORT max_bytes DESC 期埅される結果 source.ip destination.ip max_bytes total_bytes 192.168.1.100 103.10.10.100 85,000,000 85,000,000以䞊 103.10.10.100 ぞの85MB超の転送が浮かび䞊がりたす。このようなデヌタ量ベヌスの異垞怜知はKQLでは曞けず、ES|QLが埗意ずする甚途です。 Caseに調査内容を登録する セキュリティ調査は個人䜜業ではありたせん。「䜕を芋぀けたか」「誰が察応しおいるか」「どう刀断したか」をチヌムで共有し、蚘録ずしお残すこずが実務では䞍可欠です。 Security → Alerts を開き、 source.ip: 192.168.1.100 のアラヌトをクリックしお flyout を開きたす。「Add to existing case → Add to new case」を遞択したす。 Case の蚘入䟋 項目 入力䟋 タむトル 内郚ブルヌトフォヌス攻撃 from 192.168.1.100 Severity Mediumログむン成功・デヌタ持ち出しが確認されおいるため Tags brute-force , data-exfiltration , prod-srv-01 説明欄のテンプレヌト初動調査メモ ## 抂芁 2025-03-18 UTC 10:01〜10:10 の間に、192.168.1.100 から PROD-SRV-01 に察する䞀連の攻撃を確認。 ## 確認された掻動 - 10:01台ポヌトスキャン445, 139, 80, 3389, 22 - 10:03台admin_root ぞのブルヌトフォヌス → 10:03:06 に成功 - 10:03〜10:04台whoami, net user, net localgroup による偵察 - 10:05〜10:07台スケゞュヌルタスク・レゞストリによる氞続化 - 10:06〜10:10台103.10.10.100 ぞの C2 接続・85MB のデヌタ持ち出し ## 次のアクション - [ ] 192.168.1.100 の所有者・甚途を確認する - [ ] admin_root アカりントのパスワヌドを即時倉曎する - [ ] 103.10.10.100 ぞの通信をブロックする - [ ] PROD-SRV-01 のスケゞュヌルタスク・レゞストリを粟査する CaseのSeverityをアラヌトのSeverityより高くした理由第2回で䜜ったルヌルはSeverity: Low単玔なログむン倱敗の怜知でした。しかしTimelineで調査した結果、ログむン成功・氞続化・デヌタ持ち出したで確認できたした。ルヌルのSeverityはむベントの性質、CaseのSeverityは調査で刀明した実際の圱響床を反映させたす。 Notesで調査メモを残す Timelineは分析ツヌルですが、「自分が䜕を考えながら調査したか」はTimelineには残りたせん。Notesを䜿うこずで、「事実ログ」「解釈䜕が起きおいるか」「仮説次に䜕を確認すべきか」を時系列のむベントに玐づけお残せたす。 Timelineで気になるむベントの行にカヌ゜ルを合わせ、行巊端のアクションアむコンから「Add note」をクリックしたす。 良いNotesには3぀の芁玠がありたす。 芁玠 内容 䟋 事実 ログから読み取れるこず 10:03:06 に admin_root で user-login success 解釈 そのむベントが意味するこず ブルヌトフォヌス成功。この時点から䟵害が始たっおいる 仮説・次のアクション 次に確認するこず 10:03:06 以降の admin_root の行動を远う 実際のメモ䟋10:03:06の成功むベントに玐づけお蚘録 【事実】 192.168.1.100 から admin_root での user-login が success。 盎前の 10:03:00〜10:03:05 に同 IP から倱敗が4件続いおいる。 【解釈】 ブルヌトフォヌス攻撃が成功し、PROD-SRV-01 ぞの䟵入が完了した ず刀断できる。この時点が攻撃の「䟵入成功ラむン」。 【次のアクション】 admin_root ずしお実行されたプロセスを 10:03:06 以降で远う。 特に cmd.exe, powershell.exe, schtasks.exe の実行を確認する。 ノヌトを远加しおいるものに赀い点が付きたす。 この章のたずめ 機胜 䜿う堎面 KQL第3回 むベントを絞り蟌んで目で読む CorrelationEQL むベントの順序パタヌンを自動怜出する ES|QL 集蚈・ランキング・異垞倀の発芋 Case 調査内容をチヌムで共有・蚘録する Notes 調査の思考プロセスを時系列に玐づける 第4回チェックリスト [ ] EQLのsequenceク゚リを実行し、 192.168.1.100 のブルヌトフォヌスシヌケンスが怜出されおいる [ ] ES|QLでIPごずのログむン倱敗件数を集蚈し、 45.33.21.11 8件ず 192.168.1.100 4件が確認できおいる [ ] 調査内容をCaseに登録し、タむトル・説明・次のアクションが入力されおいる [ ] 10:03:06 の成功むベントにNotesを远加し、事実・解釈・次のアクションが蚘録されおいる 次回は ルヌルを「䜜る」だけで終わらせない最終回です。Alert suppressionずExceptionsを正しく䜿い分けおノむズを枛らし、ルヌルタむプCustom query / Threshold / ES|QLを目的に応じお䜿い分ける方法を孊びたす。 The post Elastic Securityで始める怜知゚ンゞニアリング — EQLずES|QLで攻撃を自動怜出・集蚈する第4回 first appeared on Elastic Portal .
サむオステクノロゞヌ株匏䌚瀟 Saman 2026幎3月、゜フトりェアサプラむチェヌンを狙った攻撃が盞次ぎたした。 信頌されおいるラむブラリやツヌルそのものが䟵害され、開発者が普通に䜿うだけでリスクにさらされる状況が珟実のものずなりたした。 その䞭で泚目されたのが、JavaScriptラむブラリ「Axios」の䟵害ず、それを早い段階で捉えたElasticのPoCツヌルです。 目次 2026幎3月盞次いだサプラむチェヌン攻撃 Axiosずは䜕か 今回の攻撃で䜕が起きたのか plain-crypto-jsずは むンストヌル時に起きるこず なぜ気づきにくかったのか ElasticのPoCsupply-chain-monitor ツヌルの構成ずAIの圹割 仕組み 実蚌できたから、オヌプン゜ヌスにした なぜAIが必芁なのか Elasticの方向性 たずめ 2026幎3月盞次いだサプラむチェヌン攻撃 2026幎3月には、耇数のサプラむチェヌン攻撃が確認されおいたす。 Trivy䟵害 セキュリティスキャナが䟵害され、CI/CD関連の認蚌情報が流出 LiteLLM䟵害 流出した認蚌情報を利甚し、悪意あるパッケヌゞが公開 Telnyx Python SDK䟵害 同様の流れで公匏SDKが汚染 Axios䟵害 npm䞊で公開されたパッケヌゞに悪意ある䟝存が远加 これらは同じ月に発生した䞀連の事象ですが、 すべおが単䞀の攻撃者によるものではなく、耇数の掻動が重なっおいたず考えられおいたす。 Axiosずは䜕か Axiosは、WebアプリケヌションでAPI通信を行うためのJavaScriptラむブラリです。 倚くのプロゞェクトで䜿われおおり、週1億回くらいダりンロヌドされるこずもある、非垞に広く利甚されおいるパッケヌゞです。 今回の攻撃で䜕が起きたのか 今回の攻撃では、AxiosのGitHub䞊の通垞の開発コヌドではなく、npmで公開されたパッケヌゞに察しお倉曎が加えられたした。 具䜓的には、以䞋のような構造です。 axios └── plain-crypto-js悪意ある䟝存パッケヌゞ plain-crypto-jsずは plain-crypto-jsは、実圚する暗号ラむブラリ「crypto-js」に䌌せた名前のパッケヌゞです。 芋た目は自然crypto系ラむブラリに芋える しかし䞭身はマルりェア このように、既存ラむブラリに䌌た名前を䜿うこずで、開発者に違和感を持たせないようにする手口が䜿われおいたした。 むンストヌル時に起きるこず 開発者は通垞どおり以䞋を実行したす。 npm install axios しかし、悪意あるバヌゞョン䟋1.14.1 / 0.30.4を取埗した堎合、裏では次のような凊理が行われたす。 Axiosがむンストヌルされる plain-crypto-jsが䟝存ずしおむンストヌルされる postinstallスクリプトが自動実行される マルりェアRATが起動する この悪意あるバヌゞョンは短時間数時間皋床公開されおおり、その間に取埗した堎合に圱響を受ける可胜性がありたした。 なぜ気づきにくかったのか 今回のポむントは、「違和感の小ささ」です。 crypto系の自然な名前 䟝存関係は自動でむンストヌルされる パッケヌゞの差分は通垞芋ない さらに、GitHub䞊の通垞の開発フロヌではなく、公開パッケヌゞ偎に倉曎が加えられた点も怜知を難しくしおいたした。 ElasticのPoCsupply-chain-monitor この攻撃を捉えたのが、Elastic Security LabsのJoe Desimone氏が開発した supply-chain-monitor  ãšã„うPoCツヌルです。 ツヌルの構成ずAIの圹割 Joeが䜜った  supply-chain-monitor  ã®è€ƒãˆæ–¹ã¯ã€Œå·®åˆ†ã‚’AIに読たせる」に尜きたす。パッケヌゞ曎新が出た瞬間に旧バヌゞョンずの差分を取り、LLMに「これは悪意ある倉曎か」ず問うだけです。 仕組み PyPIやnpmの曎新フィヌドを定期的に取埗し、新しいバヌゞョンの公開を怜知する あらかじめ定矩したwatchlistダりンロヌド数䞊䜍パッケヌゞに含たれるかを確認する 察象パッケヌゞの堎合、レゞストリから「旧バヌゞョン」ず「新バヌゞョン」を盎接ダりンロヌドする npm install  ã‚„  pip install  ã¯äœ¿ç”šã›ãšã€ã‚³ãƒŒãƒ‰ã‚’実行しない圢で安党に取埗する 2぀のバヌゞョン間の差分diffを生成する 差分をMarkdown圢匏に敎圢する 敎圢された差分をLLMに入力ずしお枡すLLMは以䞋の芳点で分析する この倉曎は開発ずしお自然か 远加されたコヌドや䟝存関係に意味があるか 䞍芁・䞍自然な倉曎が含たれおいないか 分析結果ずしお「malicious / benign」などの刀定verdictを生成する maliciousず刀断された堎合、Slackなどにアラヌトを送信する アナリストはアラヌト内容差分AIの説明をもずに远加調査を行う このアプロヌチの重芁なポむントは、 コヌドを実行せずに、 䜿われる前の段階で異垞を怜知できるこずです。 埓来のアプロヌチ AIを䜿ったアプロヌチ – IOCIP・ドメむンを照合 – シグネチャによるマッチング – 過去の攻撃パタヌンに察応 -「䜕があるか」を芋る – コヌドの倉化を読む – 倉曎の意図を分析する – 未知の攻撃にも察応できる -「䜕が倉わったか」の意味を芋る Axiosの怜知でAIが芋抜いたのは次の点です plain-crypto-js  ã¯äŸå­˜ãšã—お远加されおいるのに、コヌド内で䜿われおいない。人はcryptoっぜい名前だから関係あるかもず芋過ごしたす。AIは 䜿われおいない䟝存の远加説明できない倉曎怪しい ず刀断したした。 実蚌できたから、オヌプン゜ヌスにした このツヌルはAxiosの䟵害を、非垞に早い段階でアラヌトずしお怜知したした。実際に機胜するこずが蚌明されたこずで、Elasticはこのツヌルをオヌプン゜ヌスずしおコミュニティに公開するこずを決定したした。 Joe氏はテスト䞭に明確なフォヌルスポゞティブを経隓しなかったず述べおいたすが、本人もサンプル数の少なさによる過孊習の可胜性に觊れおおり、PoCずしおの䜍眮づけです。 この取り組みを共有する理由はコミュニティ党䜓で孊ぶこずが最も重芁だず考えおいるからです。もしこのアむデアをもずに、より良いものを䜜る人がいれば玠晎らしいこずですし、パッケヌゞレゞストリ偎がこの仕組みを取り入れるこずができれば、さらに良いこずです。そしお、この考え方によっお次に誰かが被害を防げるのであれば、それだけで十分に䟡倀がありたす。 Joe Desimone MITラむセンスで公開。誰でも䜿え、誰でも改善に貢献できたす。 github.com/elastic/supply-chain-monitor なぜAIが必芁なのか パッケヌゞ曎新は毎日倧量に発生したす。 人間がすべおの差分を確認するこずは珟実的ではありたせん。 AIは、 差分を読み続ける 文脈を理解する 異垞を説明できる こずで、埓来では察応できなかった領域をカバヌしたす。 Elasticの方向性 Elasticでは、AIを掻甚したセキュリティの進化が、すでにさたざたな圢で進んでいたす。 䟋えば、Attack Discovery、Workflows、Agent Builderずいった機胜を組み合わせるこずで、APTレベルの高床な攻撃を自動で怜知し、その劥圓性たで確認する仕組みが実珟されおいたす。 これは単なる自動化ではなく、 調査・刀断・察応の䞀連の流れを支揎する「゚ヌゞェント型セキュリティ」 です。 日々増え続けるアラヌトや攻撃に察しお、SOCが疲匊するのではなく、より効率的か぀的確に察応できる。 Elasticは、AIを䞭栞に据えるこずで、セキュリティの「効率」ず「粟床」の䞡方を匕き䞊げおいたす。 ※  APTレベル = 囜や倧䌁業レベルの“高床でし぀こい攻撃” たずめ 今回のAxiosの事䟋が瀺したのは、信頌そのものが攻撃察象になる時代です。 そしお、それに察抗するためには「倉化を理解する力」が必芁になりたす。 ElasticのPoCツヌルが瀺したのは、その新しい方向性です。 セキュリティは今、「芋る」から「理解する」ぞず進み始めおいたす。 参考元 How we caught the Axios supply chain attack — Elastic Security Labs Joe Desimone shares the story of how he caught the Axios supply chain attack with a proof of concept tool built in an af... www.elastic.co GitHub - elastic/supply-chain-monitor Contribute to elastic/supply-chain-monitor development by creating an account on GitHub. github.com The post AIで倉化の意味を読むElasticの新怜知ツヌルPoCがAxios攻撃を捉えた方法 first appeared on Elastic Portal .
サむオステクノロゞヌ株匏䌚瀟 Saman アラヌトは「䜕かが起きた」ずいう通知にすぎたせん。「本圓に攻撃なのか」「䜕をされたのか」を刀断するには、アラヌトの前埌に䜕が起きおいたかを調査する必芁がありたす。今回はTimelineを䜿っお、ポヌトスキャンから始たりデヌタ持ち出しで終わる䞀連の攻撃を5぀のフェヌズに分けお远いたす。 シリヌズの前の回 1回目 2回目 Elastic Securityで始める怜知゚ンゞニアリング — 環境構築ずログの取り蟌み第1回 これから5回に分けお、Elastic Securityを䜿ったセキュリティ監芖の基瀎を、手を動かしながら孊んでいきたす。第1回はデヌタの取り蟌みず、Discover・Securityの䞡方で芋えるようにするたでの環境構築です。今埌の予定本シ... elastic.sios.jp 2026.03.31 Elastic Securityで始める怜知゚ンゞニアリング — KQLでログを読んで最初のルヌルを䜜る第2回 ログを読たずにルヌルは䜜れたせん。前回に続いお今回はDiscoverでむベントの䞭身を確認しながら、「ログむン倱敗を怜知する」最初のルヌルを正しい条件で䜜りたす。ルヌル䜜成前にDiscoverで確認する習慣が、埌々の誀怜知を防ぐ最倧のポむン... elastic.sios.jp 2026.04.01 目次 この蚘事を読むず䜕ができるか Timelineを開く 最初の絞り蟌み 攻撃の流れを読む5぀のフェヌズ フェヌズ1偵察UTC 10:01:05〜10:01:35 フェヌズ2初期アクセスUTC 10:03:00〜10:03:06 フェヌズ3暩限確認UTC 10:03:30〜10:04:30 フェヌズ4氞続化UTC 10:05:00〜10:07:30 フェヌズ5デヌタ持ち出しUTC 10:06:30〜10:10:00 ピボットで芖点を切り替える この章のたずめ 第3回チェックリスト この蚘事を読むず䜕ができるか Timelineを䜿っおアラヌトず生むベントをたずめお調査できる source.ip → user.name → destination.ip の順でピボットしながら攻撃の流れを远える このサンプルデヌタ回目のブログからダりンロヌドできたすで起きた攻撃を5぀のフェヌズで説明できる ※第1・2回を読んでいるこずを前提にしおいたす。 Timelineを開く Elastic Security の Timeline は、耇数のむベントを時系列で䞊べ、盞互に関連付けながら調査できる、むンタラクティブなワヌクスペヌスです。 手順 Security → Alerts を開き、時間範囲を「Last 2 years」にしたす source.ip: 192.168.1.100 に察応するアラヌト行 user.name: admin_root 、 host.name: PROD-SRV-01 を探したす アクションアむコンから 「Investigate in timeline」 をクリックしたす Alert detailsのフラむアりトからも同じ操䜜が可胜です。フラむアりト右䞋の「Investigate in timeline」ボタンを䜿うず、アラヌトのコンテキストを匕き継いだ状態でTimelineが開きたす。 最初の絞り蟌み Timelineを開いたら、たず query builder で以䞋のフィルタヌを蚭定したす。 host.name:"PROD-SRV-01" and source.ip:"192.168.1.100" 次に _id 1ä»¶1件のログに付く䞀意のIDを列から削陀しお衚瀺を敎理したす。 画面巊偎のフィヌルドリストからフィヌルド名をクリックしお列ずしお远加したす。远うべきフィヌルドは以䞋の通りです。 フィヌルド 䜕を芋るか @timestamp い぀起きたか event.action 䜕をしたか event.outcome 成功か倱敗か user.name 誰ずしお動いたか process.name どのプロセスが実行されたか source.ip どこから来たか destination.ip どこぞ出たか destination.port どのポヌトぞ network.bytes 䜕バむト転送したか rule.name どのルヌルで怜知されたか @timestampを叀いから新しい方に゜ヌトしたす。 rule.name が空欄のむベントは「通垞のログ生むベント」です。攻撃チェヌンは怜知されたむベントだけでは完成したせん。その間にある生むベントも含めお読むこずで、初めお党䜓像が芋えたす。 補足なぜ user.name:"admin_root" で絞り蟌たないのか ポヌトスキャン段階UTC 10:01台の connection-attempt むベントには user.name が入っおいたせん。 user.name で絞るず攻撃の最初のフェヌズが芋えなくなりたす。 攻撃の流れを読む5぀のフェヌズ このサンプルデヌタには、教科曞的な攻撃の5぀のフェヌズがすべお含たれおいたす。各フェヌズの詳现を順番に芋おいきたす。 フェヌズ1偵察UTC 10:01:05〜10:01:35 event.action: connection-attempt event.outcome: failure rule.name: Port Scan Detected 192.168.1.100 から 172.16.0.1 に向けお、ポヌト445・139・80・3389・22ぞの接続詊行倱敗が30秒間に5件䞊びたす。接続が拒吊されおもそれ自䜓が情報になりたす。どのサヌビスが動いおいるかがわかれば、次のステップを遞べたす。 UTC destination.port event.outcome 10:01:05 445SMB failure 10:01:06 139NetBIOS failure 10:01:07 80HTTP failure 10:01:20 3389RDP failure 10:01:35 22SSH failure フェヌズ2初期アクセスUTC 10:03:00〜10:03:06 event.action: user-login rule.name: Brute Force Attempt → Brute Force Success わずか6秒の間に、ログむン倱敗4件ずログむン成功1件が連続したす。 UTC user.name event.outcome 10:03:00 admin_root failure 10:03:02 admin_root failure 10:03:04 admin_root failure 10:03:05 administrator failure 10:03:06 admin_root success 「倱敗の連続 → 突然の成功」ずいうパタヌンは、ブルヌトフォヌス攻撃の兞型的な痕跡です。 芋萜ずしやすいポむント10:03:06の成功むベントにはルヌル名が入っおいたすが、もしこのルヌルが存圚しなかった堎合、Alertsテヌブルには倱敗のアラヌトしか衚瀺されたせん。ログむン成功は「異垞ではない」ずしお芋萜ずされやすく、これが䟵入を気づかれにくくする芁因の1぀です。 フェヌズ3暩限確認UTC 10:03:30〜10:04:30 event.action: process-created rule.name: Suspicious CMD Execution, Domain Enumeration, Privilege Enumeration ログむン成功の盎埌、 admin_root ずしお3぀のプロセスが連続しお実行されたす。 UTC process.name process.command_line 意味 10:03:30 cmd.exe cmd.exe /c whoami && ipconfig /all 自分が誰か・どの環境かを確認 10:04:00 net.exe net user /domain ドメむンナヌザヌ䞀芧を取埗 10:04:30 net.exe net localgroup administrators 管理者グルヌプのメンバヌを確認 「どの暩限で入れたか」「他にどんなナヌザヌがいるか」を把握するこずで、次の行動を蚈画したす。 フェヌズ4氞続化UTC 10:05:00〜10:07:30 event.action: process-created rule.name: Scheduled Task Created, Suspicious PowerShell Encoded Command, Registry Persistence UTC process.name 意味 10:05:00 schtasks.exe スケゞュヌルタスクを䜜成再起動埌も実行され続ける仕掛け 10:06:00 powershell.exe Base64゚ンコヌドされたコマンドを実行内容を難読化しお怜知を回避 10:07:30 reg.exe レゞストリのRunキヌに远蚘ログむン時に自動実行される仕掛け この段階は「䟵入埌に居続けるための準備」です。Base64でコマンドを難読化しおいるのは、シグネチャベヌスの怜知ツヌルの目をくらたせる兞型的な手口です。 「氞続化」ずは攻撃者が「1回䟵入できた」だけで終わらせず、再起動埌やパスワヌド倉曎埌にも再び接続できる状態を䜜るこずです。スケゞュヌルタスク・レゞストリRunキヌ・サヌビスの登録などがよく䜿われたす。 フェヌズ5デヌタ持ち出しUTC 10:06:30〜10:10:00 event.action: connected, data-transfer rule.name: C2 Connection Attempt, Large Data Exfiltration UTC event.action destination.ip network.bytes 意味 10:06:30 connected 103.10.10.100:443 512 倖郚サヌバヌぞの接続確立C2通信 10:09:45 process-created — — Compress-Archiveでデヌタを圧瞮・準備 10:10:00 data-transfer 103.10.10.100 85,000,000 85MBのデヌタを倖郚ぞ送信 「接続確立 → デヌタ圧瞮・準備 → 倧量送信」ずいう順番がTimelineで䞀目でわかりたす。 443番ポヌトぞの通信が芋逃されやすい理由443番ポヌトはHTTPSの暙準ポヌトです。倚くのファむアりォヌルは443番を業務䞊の正垞通信ずしお蚱可しおいるため、C2通信はこのポヌトを意図的に䜿うこずがありたす。ポヌト番号だけで刀断せず、接続先IPアドレスが既知サヌバヌかどうかも確認するこずが重芁です。 ピボットで芖点を切り替える Timelineの匷みは「芋぀けた倀をその堎で次の絞り蟌みに䜿える」こずです。攻撃者の行動user.nameから倖郚ぞの通信destination.ipずいう流れに沿っお、以䞋の順でピボットするこずで調査が深たりたす。 ピボット1 user.name で絞り蟌む䟵害アカりントの芖点 host.name:"PROD-SRV-01" and user.name:"admin_root" 攻撃者が admin_root でログむンした埌、どのプロセスを実行し、どこぞ通信したかが䞀本線で芋えたす。「䟵入埌に䜕をされたか」を把握したいずきに有効です。 ピボット2 destination.ip で絞り蟌む倖郚通信の芖点 destination.ip:"103.10.10.100" source.ip の条件を取り陀き、倖郚サヌバヌぞの通信だけを芋たす。「い぀・どのナヌザヌが・䜕バむト送ったか」が圧瞮されお衚瀺されたす。 この章のたずめ Timelineはアラヌトず生むベントをたずめお远う調査画面である rule.name が空のむベント生ログも含めお読むこずで、攻撃の党䜓像が芋える source.ip → user.name → destination.ip の順でピボットするず、攻撃を立䜓的に理解できる このデヌタの攻撃は「ポヌトスキャン → ブルヌトフォヌス → 暩限確認 → 氞続化 → デヌタ持ち出し」の5フェヌズで構成されおいる アラヌトだけでは攻撃の党䜓像は芋えない。アラヌトは「調査の入口」である 第3回チェックリスト [ ] Timelineを source.ip: 192.168.1.100 で絞り蟌み、5぀のフェヌズが時系列で芋えおいる [ ] user.name: admin_root でピボットし、䟵入埌の掻動が远えおいる [ ] destination.ip: 103.10.10.100 でピボットし、C2通信ず持ち出しの流れが芋えおいる [ ] 攻撃の流れを自分の蚀葉で5フェヌズに敎理しお説明できる 次回は EQLのsequenceで攻撃パタヌンを自動怜出し、ES|QLで「どのIPが最も危険か」を数倀で把握する方法を玹介したす。目でログを远う調査の次のステップです。 The post Elastic Securityで始める怜知゚ンゞニアリングヌ Timelineで攻撃の党䜓像を远う(第3回) first appeared on Elastic Portal .
サむオステクノロゞヌ株匏䌚瀟 Saman 2026幎3月末、広く䜿われおいるHTTPラむブラリ Axios がサプラむチェヌン攻撃の暙的になりたした。 サプラむチェヌン攻撃ずは、利甚者が普段から信頌しおいる゜フトりェアや配垃経路を悪甚しお、マルりェアを届ける手口です。今回の事件は「有名なラむブラリが乗っ取られた」ずいう単玔な話ではなく、珟代の゜フトりェア開発が持぀構造的な脆匱性を突いた、非垞に巧劙なものでした。 本蚘事は、Elastic Security Labsが公開した調査・分析レポヌトを䞭心にもずにたずめおいたす。技術的な詳现や怜知ルヌルに぀いおは、ぜひ Elastic Security Labsの公匏蚘事 たたはElasticのJoe Desimoneさんが Github Gist で公開しおいるものを盎接ご参照ください。 目次 䜕が起きたのか なぜこれほど危険だったのか Elasticはどう怜知しおいたのか 1぀の蚭蚈思想から生たれた攻撃 感染が疑われる堎合の察応 この事䟋が瀺すもの 䜕が起きたのか 攻撃者はAxiosメンテナヌのnpmアカりントを乗っ取り、悪意あるバヌゞョン axios@1.14.1 ず axios@0.30.4 をnpmに公開したした。通垞、Axiosは GitHub Actions を経由した公開フロヌを採甚しおいたすが、今回は通垞ずは異なる公開経路が䜿われた可胜性があり、盎接CLIから公開されたずみられおいたす。 この悪意あるバヌゞョンには、 plain-crypto-js@4.2.1 ずいう䞍正な䟝存パッケヌゞが仕蟌たれおいたした。パッケヌゞには postinstall ずいう仕組みがあり、むンストヌル完了埌に自動でコヌドを実行できたす。今回はこれを悪甚しお setup.js が自動起動し、攻撃者のコヌドが走る状態になっおいたした。 ぀たり、利甚者は npm installをしただけで、知らぬ間に攻撃者のコヌドを実行しおしたう可胜性がありたした。 Huntressの芳枬によるず、パッケヌゞ公開からわずか 89秒埌 に最初の感染が確認されおいたす。公開時間が短くおも、被害は十分に広がるこずが蚌明されたした。 なお、問題はAxiosそのものではなく、配垃経路が䞀時的に䟵害された点にありたす。 なぜこれほど危険だったのか ① 自分でAxiosを入れおいなくおも感染する Axiosは非垞に広く䜿われおいるため、別のパッケヌゞが内郚で䟝存しおいるケヌストランゞティブ䟝存も倚くありたす。「自分のプロゞェクトにAxiosはない」ず思っおいおも、気づかないうちに入っおいた、ずいうケヌスが起こり埗たす。 ② バグでも脆匱性でもない攻撃だった 今回はCVEやれロデむ脆匱性を突いたものではありたせん。信頌された公開経路そのものが歊噚にされた事件です。どれだけコヌドが安党でも、配垃フロヌが䟵害されれば意味をなしたせん。 ③ Windows・macOS・Linuxすべおが察象 setup.js は難読化されおおり、実行時にOSを刀別しおそれぞれに察応したマルりェアを起動したす。開発者のPC、CI/CDパむプラむン、本番サヌバヌたで、環境を問わず暙的になり埗たした。 Elasticはどう怜知しおいたのか Elastic Security Labsが泚目したのは、ドメむン名やファむルハッシュではなく、 プロセスの実行チェヌン です。これぱンドポむント䞊の振る舞いEDR的な芳点に基づく怜知であり、「䜕が実行されたか」ではなく「どのように実行されたか」に着目しおいたす。 node 起動 → OSコマンド実行 → 倖郚からファむル取埗 → 実行 正芏のパッケヌゞむンストヌルでは、このような流れは通垞起きたせん。攻撃者はドメむン名やファむル名を倉えるこずはできたすが、npm install 盎埌のこの䞍自然な実行の連鎖はそう簡単には倉えられない、ずいう考え方です。 OSごずの怜知シグナルも具䜓的に瀺されおいたす。Linuxでは node 埌の sh/curl 起動ずPythonスクリプトの実行、Windowsでぱンコヌドされた PowerShell の実行ず氞続化の詊み、macOSでは osascript の利甚や䞍審なパスぞのファむル配眮が芳枬されたした。 さらにElasticは、この問題を把握した埌に GitHub Security Advisory を提出し、怜知ルヌルず詳现分析を公開するなど、情報共有にも積極的に動いおいたした。 1぀の蚭蚈思想から生たれた攻撃 Elasticの詳现分析”One RAT to Rule Them All”によるず、OS別に異なるマルりェアが䜿われおいたように芋えお、実際には通信構造ずコマンド䜓系が共通しおいたした。 実装蚀語はOSごずに違っおも、攻撃者は クロスプラットフォヌムで動く1぀の統䞀されたRAT遠隔操䜜マルりェア運甚 を蚭蚈しおいたず考えられたす。これは堎圓たり的な攻撃ではなく、蚈画的・組織的に準備された攻撃であるこずを瀺しおいたす。 感染が疑われる堎合の察応 Huntressは、圱響を受けたバヌゞョンを導入しおいた堎合、 ファむルを削陀しお終わりにしおはいけない ず匷く譊告しおいたす。 RATが䞀床動いおしたうず、䜕が参照・持ち出されたかを完党に特定するこずは困難です。掚奚される察応は以䞋の通りです。 資栌情報・トヌクンのロヌテヌション 圱響範囲の培底調査 必芁に応じた環境の再構築 「マルりェアを消した」こずず「安党が戻った」こずは別物です。特にシヌクレットやアクセストヌクンが眮かれるCI/CD環境では、䟵害前提の察応が求められたす。 この事䟋が瀺すもの 今回のAxios事件は、オヌプン゜ヌスを䜿うこず自䜓が危険だずいう話ではありたせん。むしろ、䟝存関係が圓たり前になった珟代の開発では、 守るべき察象も「コヌドの品質」から「サプラむチェヌン党䜓の信頌性」ぞず広がっおいる こずを瀺した事件です。 89秒で感染が始たるスピヌドは、人手による確認だけでは察応が远い぀かないこずを劂実に瀺しおいたす。固定のIOCに頌るだけでなく、むンストヌル盎埌の䞍自然な実行チェヌンを監芖する仕組みを持おおいるかどうか、今䞀床芋盎すきっかけにしおください。 参考元 Elastic Security Labs, Elastic releases detections for the Axios supply chain compromise Elastic Security Labs, Inside the Axios supply chain compromise – one RAT to rule them all Huntress, Supply Chain Compromise of axios npm Package Joe Desimone, axios_compromise.md (GitHub Gist) The post Axiosサプラむチェヌン攻撃速報Elasticはこの攻撃をどう怜知したのか first appeared on Elastic Portal .
Saman ログを読たずにルヌルは䜜れたせん。 前回 に続いお今回はDiscoverでむベントの䞭身を確認しながら、「ログむン倱敗を怜知する」最初のルヌルを正しい条件で䜜りたす。ルヌル䜜成前にDiscoverで確認する習慣が、埌々の誀怜知を防ぐ最倧のポむントです。 ※本シリヌズで䜿甚するデヌタセットは、 第1回 の蚘事 からダりンロヌドできたす。 Elastic Securityで始める怜知゚ンゞニアリング — 環境構築ずログの取り蟌み第1回 これから5回に分けお、Elastic Securityを䜿ったセキュリティ監芖の基瀎を、手を動かしながら孊んでいきたす。第1回はデヌタの取り蟌みず、Discover・Securityの䞡方で芋えるようにするたでの環境構築です。今埌の予定本シ... elastic.sios.jp 2026.03.31 目次 この蚘事を読むず䜕ができるか Step 1Discoverでむベントの䞭身を確認する Step 2ログむン倱敗だけに絞り蟌む Step 3このサンプルデヌタに含たれる2぀のシナリオ Step 4ルヌルタむプを遞ぶ Step 5ルヌルを䜜る Step 6過去デヌタに察しおルヌルを確認する アラヌトが芋えないずきの確認手順 生成されたアラヌトから読み取れるこず サマリヌ画面で党䜓傟向を把握する テヌブルで個別アラヌトを確認する この章のたずめ 第2回チェックリスト この蚘事を読むず䜕ができるか event.outcome:"failure" に耇数皮類の倱敗が混圚しおいるこずを理解できる event.action:"user-login" and event.outcome:"failure" でログむン倱敗だけを正確に絞り蟌める Failed Login Detection (Basic Rule) ずいう名前の怜知ルヌルが動いおいる状態になる 過去デヌタの確認に Rule preview ず manual run を䜿い分けられる Step 1Discoverでむベントの䞭身を確認する Discoverを開き、巊䞊のData Viewが training-security-logs になっおいるこずを確認したす。時間範囲は「Last 2 years」に倉曎しおください。 たず次のフィヌルドを列ずしお远加したす。フィヌルド名の暪の「+」アむコンをクリックするず列に远加できたす。 フィヌルド 䜕を芋るか @timestamp い぀起きたか event.action 䜕のむベントか event.outcome 成功か倱敗か user.name 察象ナヌザヌ source.ip 送信元IP host.name 察象ホスト Step 2ログむン倱敗だけに絞り蟌む たず次のKQLを実行したす。 event.outcome:"failure" 18件ヒットしたす。ここで event.action 列に泚目しおください。 event.outcome:"failure" は「倱敗したむベント党般」を返したす。ログむン倱敗だけでなく、ポヌトスキャン時の接続倱敗も含たれたす。「Failed Login Detection」ずいう名前のルヌルをこの条件で䜜るず、名前ず実態がずれたルヌルになっおしたいたす。 event.action 件数 意味 connection-attempt 6ä»¶ ポヌトぞの接続詊行が倱敗 user-login 12ä»¶ ログむン詊行が倱敗 次のKQLを実行したす。 event.action:"user-login" and event.outcome:"failure" 12件に絞られたす。 connection-attempt の倱敗が消え、玔粋にログむン倱敗だけが残っおいるはずです。 確認ポむント event.action がすべお user-login になっおいるか event.outcome がすべお failure になっおいるか connection-attempt のようなネットワヌク倱敗が混ざっおいないか 混ざっおいなければ、この条件がルヌルのKQLずしお䜿えたす。 event.category をルヌル条件に䜿う際の泚意点 event.category はマルチバリュヌフィヌルドです。1件のむベントが ["iam", "authentication"] のように耇数の倀を持おる蚭蚈になっおいたす。Elastic SecurityのCustom query ruleでこのフィヌルドをルヌル条件に䜿うず、「The event.category field cannot be used for…」ずいう゚ラヌが衚瀺される堎合がありたす。ルヌルのKQL条件では event.action や event.outcome のようなシングルバリュヌフィヌルドを䜿い、 event.category はDiscover での確認甚ずしお䜿うのが安党です。 ※ Discoverでフィヌルドの統蚈量を確認できる。 Step 3このサンプルデヌタに含たれる2぀のシナリオ 絞り蟌んだ12件を時系列で芋るず、2぀の独立した攻撃シナリオが含たれおいたす。この章では䞡方のシナリオを拟う「䞀般的なログむン倱敗の監芖ルヌル」を䜜りたす。シナリオAの攻撃チェヌンを詳しく远う調査は第3回で行いたす。 シナリオA内郚ネットワヌクからの䟵害の可胜性source.ip: 192.168.1.100 UTC 10:03 台に、 192.168.1.100 から PROD-SRV-01 に察しお admin_root ず administrator ぞのログむン倱敗が耇数回続き、その盎埌に成功しおいたす。 このような「短時間の連続倱敗の埌に成功する」挙動は、ブルヌトフォヌス攻撃による認蚌突砎の可胜性を瀺す兞型的なパタヌンです。ただし、ナヌザヌの入力ミスによる正垞なログむンの可胜性もあるため、远加の調査が必芁です。 シナリオB倖郚からのブルヌトフォヌスsource.ip: 45.33.21.11 UTC 10:14〜10:17 台に、倖郚 IP 45.33.21.11 から PROD-SRV-01 に察しお guest・admin・root・administrator など耇数のナヌザヌ名でログむン倱敗が連続しお発生しおいたす。 これは、䞀般的なアカりント名を順に詊す兞型的なブルヌトフォヌス攻撃の挙動です。 Step 4ルヌルタむプを遞ぶ Elastic Securityには耇数のルヌルタむプがありたす。 ルヌルタむプ 䜕を芋るか 向いおいるケヌス Custom query 条件に䞀臎する1ä»¶1件のむベント 1件でも起きたら知らせたい Threshold 䞀臎したむベントの件数 5回以䞊倱敗したら知らせたい ES|QL 集蚈・加工した結果 合蚈転送量が閟倀を超えたら Event Correlation むベントの順序・パタヌン AのあずにBが起きたら 今回は「1件のログむン倱敗が起きたら知らせたい」ので Custom query を遞びたす。Threshold は「䜕回倱敗したか」を数えるためのものであり、1件ず぀怜知したい今回の目的には向きたせん。Threshold の䜿い方は第5回で扱いたす。 Step 5ルヌルを䜜る Security → Rules → Detection rules (SIEM) → Create new rule を開きたす。 ルヌルタむプの遞択画面で「Custom query」を遞んで「Selected」にしたす。 Define rule の蚭定 デヌタ゜ヌスずしお「Data View」タブを遞び、 training-security-logs を指定したす。Custom query 欄に次を入力したす。 event.action:"user-login" and event.outcome:"failure" 保存前に必ずDiscoverで確認する ルヌルを保存する前に、同じKQLをDiscoverで実行しお「期埅したむベントだけが返っおくるか」を必ず確認しおください。この確認を省くず、想定倖のむベントを拟うルヌルや、䜕もヒットしないルヌルを本番環境に入れおしたうリスクがありたす。 About rule の蚭定 項目 蚭定倀 Name Failed Login Detection (Basic Rule) Description training-security-logs 内のログむン倱敗むベントを怜知する Severity Low Risk score 21 Schedule の蚭定 項目 蚭定倀 Runs every 5 minutes Additional look-back time 1 minute 「Continue」をクリックし、「Create & enable rule」で保存したす。 ※ノむズ削枛重耇アラヌトの圧瞮や正垞動䜜の陀倖は別の回で扱いたす。 Step 6過去デヌタに察しおルヌルを確認する このサンプルは2025-03-18の過去デヌタです。ルヌルを有効化しおも、ルヌルは「珟圚時刻からの盎近りィンドり」を芋るため、今すぐアラヌトが自動生成されるこずはありたせん。これは故障ではなく正垞な動䜜です。 過去デヌタを確認するための2぀の方法を䜿い分けたす。 Rule preview の手順 ルヌル線集画面右䞊の「Rule preview」をクリック 時間範囲を蚭定する 開始 2025-03-18 10:00:00 UTC/ 画面衚瀺では 19:00:00 JST 終了 2025-03-18 10:30:30 UTC/ 画面衚瀺では 19:30:30 JST 「Refresh」をクリック 期埅倀12件のアラヌトが衚瀺される内郚䟵害4ä»¶ + 倖郚ブルヌトフォヌス8件 Manual run の手順 ルヌル詳现画面の右䞊メニュヌから「Manual run」を遞ぶ 時間範囲を過去デヌタの期間に合わせお指定する 「Run」をクリック Security → Alerts を開き、Alerts画面の時間範囲も「Last 2 years」などに広げる ※Additional look-back timeをかなり長くずる方法も合いたす アラヌトが芋えないずきの確認手順 手順 確認内容 ① Discoverで同じKQLを実行しおヒットするか確認する ② 各画面の時間範囲が過去デヌタに合っおいるか確認する ③ securitySolution:defaultIndex に training-security-logs が入っおいるか確認する第1回参照 ④ ルヌル詳现の「Execution results」タブを確認する。「Succeeded」はク゚リが正垞終了したこずを意味するだけで、ヒット件数がれロのたた正垞終了するこずがある 生成されたアラヌトから読み取れるこず Manual run埌に Security → Alerts を開くず、次の状況が確認できたす。 サマリヌ画面で党䜓傟向を把握する 画面䞊郚の Summary タブでは、怜知結果の党䜓傟向が䞀目でわかりたす。 確認項目 このデヌタでの期埅倀 Severity levels すべお「Low」、蚈12ä»¶ Alerts by name Failed Login Detection (Basic Rule)12ä»¶ Top alerts by source.ip 45.33.21.11玄66%、192.168.1.100玄33% 「どの送信元からの攻撃が倚いか」がひず目でわかりたす。 テヌブルで個別アラヌトを確認する テヌブルビュヌで確認すべき䞻なフィヌルドは次のずおりです。 フィヌルド 確認するこず @timestamp い぀発生したか時間が集䞭しおいないか Rule どのルヌルで怜知されたか Severity / Risk Score 重芁床今回は Low / 21 host.name 攻撃察象のホストPROD-SRV-01 user.name 詊されたナヌザヌ名admin_root, guest など 今回の12件のアラヌトから、次の状況が掚枬できたす。 同䞀ホスト PROD-SRV-01 に察しお 耇数のナヌザヌ名 admin_root ・ administrator ・ guest ・ admin ・ root で 耇数回のログむン倱敗が発生しおいる 送信元IPが2぀あり、 45.33.21.11 が倧倚数を占める これはブルヌトフォヌス攻撃の兞型的な兆候です。ただしこの時点では「疑いがある」ずいう段階です。次の第3回でTimelineを䜿っお攻撃の流れを詳しく远いたす。 この章のたずめ event.outcome:"failure" だけでは、ログむン倱敗以倖の倱敗むベントも含たれる event.action:"user-login" and event.outcome:"failure" で、ログむン倱敗だけを正確に絞れる event.category はマルチバリュヌフィヌルドのため、ルヌルのKQL条件に䜿うず゚ラヌになる堎合がある 最初のルヌルには Custom query を䜿い、件数ではなく1ä»¶1件を怜知する 過去デヌタの確認には、Rule previewシミュレヌションず manual run本番実行を䜿い分ける 第2回チェックリスト [ ] event.outcome:"failure" で18件、 event.action:"user-login" and event.outcome:"failure" で12件ヒットする [ ] Failed Login Detection (Basic Rule) が䜜成され、有効化されおいる [ ] Rule preview たたは manual run でアラヌトが確認できおいる [ ] Alertsのサマリヌで 45.33.21.11 ず 192.168.1.100 の2぀の送信元が芋えおいる 次回は Timelineを䜿っお、 192.168.1.100 からの攻撃をポヌトスキャンからデヌタ持ち出したで1本の時系列で読み解きたす。「アラヌトを芋る」から「攻撃の流れを説明できる」ぞ進みたす。 The post Elastic Securityで始める怜知゚ンゞニアリング — KQLでログを読んで最初のルヌルを䜜る第2回 first appeared on Elastic Portal .
サむオステクノロゞヌ株匏䌚瀟 Saman これから5回に分けお、Elastic Securityを䜿ったセキュリティ監芖の基瀎を、手を動かしながら孊んでいきたす。第1回はデヌタの取り蟌みず、Discover・Securityの䞡方で芋えるようにするたでの環境構築です。 今埌の予定 本シリヌズでは、以䞋の流れでステップアップしおいきたす。 第2回KQLでログを読み、最初の怜知ルヌルを䜜る 第3回Timelineで攻撃の党䜓像を远う 第4回EQL / ES|QLで攻撃を自動怜出・集蚈する 第5回ノむズを枛らし、運甚できるルヌルにする 本ブログでは、ロヌカル環境に構築した Elastic Stack v9.3 を䜿甚しお、実際に手を動かしながら怜蚌・解説を行っおいたす。 Elastic Stack はオヌプン゜ヌスずしお利甚可胜であり、クラりド版Elastic Cloudも無料トラむアルで詊すこずができたす。 Elastic Stackダりンロヌド https://www.elastic.co/jp/downloads/ Elastic Cloud無料トラむアル https://www.elastic.co/jp/cloud/cloud-trial-overview 目次 この蚘事を読むず䜕ができるか たず芚えおおく5぀の甚語 挔習デヌタに぀いお Step 1ファむルをアップロヌドする Step 2むンデックス名を確認する Step 3マッピングを蚭定する Step 4Security画面でもデヌタを芋えるようにする Step 5時間範囲の調敎 取り蟌みの確認 よくある぀たずきポむント この章のたずめ 第1回チェックリスト この蚘事を読むず䜕ができるか サンプルデヌタ82件をElasticsearchに正しく取り蟌める Discoverでむベントを確認できる Elastic Securityの画面でも同じデヌタが芋える状態になる たず芚えおおく5぀の甚語 このシリヌズ党䜓で繰り返し登堎したす。最初に敎理しおおきたす。 むベント 1件のログです。「ログむン成功」「プロセス起動」「倖郚ぞの通信」など、「䜕かが起きた蚘録」です。このガむドでは 82件のむベントを䜿いたす。 ルヌル むベントを条件で監芖し、怪しいものを自動で芋぀けるための蚭定です。「ログむン倱敗が起きたら知らせる」ずいう定矩がルヌルです。 アラヌト ルヌルの条件に䞀臎した結果です。むベントは「原材料」、アラヌトは「調査が必芁かもしれない、ずいう通知」です。アラヌトが出たからずいっお、必ずしもむンシデントではありたせん。 Timeline 耇数のむベントを時系列で䞊べながら、攻撃の流れを远う調査画面です。第3章で詳しく䜿いたす。 Case 調査メモ、担圓者のアサむン、蚌拠をひずたずめにする入れ物です。チヌムで調査内容を共有するために䜿いたす。 挔習デヌタに぀いお 今回䜿うサンプルデヌタ security_sample_v2.ndjson の抂芁です。 項目 倀 圢匏 NDJSON1行1むベント 件数 82ä»¶ 時間範囲 2025-03-18 09:45:00 〜 10:30:00UTC 取り蟌み先むンデックス名 training-security-logs このデヌタはElastic Securityの孊習甚に蚭蚈されたサンプルです。完党な本番甚ECSデヌタではありたせんが、Discover・怜知ルヌル・Timelineの緎習には十分䜿えたす。 ECSElastic Common Schemaずは 異なるログ゜ヌス間でフィヌルド名を統䞀するための共通ルヌルです。WindowsむベントログでもLinux syslogでも、「ログむン倱敗」は event.outcome: "failure" ず曞く、ずいう玄束事です。この共通化によっお、耇数補品のログを暪断しお怜玢・分析できるようになりたす。 Step 1ファむルをアップロヌドする KibanaのIntegrationメニュヌから「Upload file」を開きたす。画面遷移はバヌゞョン差が出るこずがあるので、迷ったら Global Search で怜玢しお開いおください。 たたはKibanaのホヌム画面から「Upload a file」を遞んでもかたいたせん。 security_sample_v2.ndjson を画面にドラッグ&ドロップしたす。Kibanaがファむルを自動解析したす数秒かかりたす。 むンデックス名を logs-training-security に指定したす。 Step 2むンデックス名を確認する 「Advanced options」を展開し、「Create data view」にチェックが入っおいるこずを確認したす。このチェックが入っおいるず、取り蟌みず同時にDiscover甚のデヌタビュヌが自動で䜜成されたす。 training-security-logs ⚠ このむンデックス名は正確に入力しおください 第2回以降の手順でこの名前を前提にしおいたす。別の名前で取り蟌むず、埌の手順がすべお動䜜したせん。 Step 3マッピングを蚭定する 「Mappings」欄に次のJSONを入力したす。マッピングずは「このフィヌルドを日付ずしお扱う」「これをIPアドレスずしお扱う」ずいう型の定矩です。省略するず集蚈や範囲怜玢が正しく動かなくなりたす。 { "properties": { "@timestamp": { "type": "date" }, "agent.type": { "type": "keyword" }, "ecs.version": { "type": "keyword" }, "event.kind": { "type": "keyword" }, "event.type": { "type": "keyword" }, "event.category": { "type": "keyword" }, "event.action": { "type": "keyword" }, "event.outcome": { "type": "keyword" }, "source.ip": { "type": "ip" }, "destination.ip": { "type": "ip" }, "destination.port": { "type": "integer" }, "network.bytes": { "type": "long" }, "network.transport": { "type": "keyword" }, "network.protocol": { "type": "keyword" }, "user.name": { "type": "keyword" }, "host.name": { "type": "keyword" }, "process.name": { "type": "keyword" }, "process.pid": { "type": "integer" }, "process.command_line": { "type": "wildcard" }, "process.parent.name": { "type": "keyword" }, "dns.question.name": { "type": "keyword" }, "rule.name": { "type": "keyword" } } } マッピングが重芁な理由 @timestamp が date 型でないず、時間範囲で絞り蟌めない network.bytes が long 型でないず、合蚈・最倧倀の集蚈ができない source.ip が ip 型でないず、CIDRなどのIP範囲怜玢が䜿えない 蚭定を確認したら「Import」をクリックしたす。「Import complete」ず衚瀺されれば成功です。 Step 4Security画面でもデヌタを芋えるようにする Data Viewを䜜っただけでは、SecurityアプリはこのむンデックスをElastic Securityが䜿うむンデックス䞀芧に含みたせん。 securitySolution:defaultIndex ずいう蚭定にむンデックス名を远加する必芁がありたす。 Stack Management → Advanced Settings → securitySolution:defaultIndex 珟圚の倀の末尟に training-security-logs を远加しお「Save changes」をクリックし、ペヌゞをリロヌドしたす。 なぜこの蚭定が必芁か Elastic Securityはデフォルトで logs-* 、 metrics-* などの決たったパタヌンのむンデックスしか芋たせん。 training-security-logs はそのパタヌンに含たれないため、明瀺的に远加する必芁がありたす。本番環境でも、カスタムむンデックスを䜿う堎合は同じ手順が必芁になりたす。 ⚠ バヌゞョンに぀いおの泚意 securitySolution:defaultIndex の蚭定箇所はElasticのバヌゞョンによっお異なる堎合がありたす。公匏ドキュメントも合わせお確認しおください。 Step 5時間範囲の調敎 このサンプルデヌタは 2025-03-18 のタむムスタンプを持っおいたす。Kibanaのデフォルト衚瀺は「盎近15分」や「Today」なので、そのたたではデヌタが空に芋えるこずがありたす。取り蟌み倱敗ではなく、単に時間範囲が合っおいないだけです。 方法 操䜜 ざっくり確認したい 画面右䞊の時間範囲ピッカヌで「Last 2 years」を遞択 正確に指定したい 「Absolute」で開始 2025-03-18 09:45:00 、終了 2025-03-18 10:30:00 を入力 UTC ず日本時間JSTのズレに泚意 サンプルデヌタのタむムスタンプはUTCで蚘録されおいたす。Kibanaの衚瀺はブラりザのタむムゟヌン日本環境ではJST = UTC+9で衚瀺されるため、画面䞊では 18:45〜19:30 のように芋えたす。このシリヌズでは時刻をUTCで蚘述したす。画面䞊の衚瀺が9時間ずれおいおも異垞ではありたせん。 取り蟌みの確認 取り蟌みが完了したら、次の3぀で正しく入ったか確認したす。 確認1件数確認 Dev ToolsConsoleで実行したす。 GET training-security-logs/_count 期埅倀 82 確認2時間範囲確認 POST _query { "query": """ FROM training-security-logs | STATS total = COUNT(*), earliest = MIN(@timestamp), latest = MAX(@timestamp) """ } 期埅倀 total = 82 earliest = 2025-03-18T09:45:00.000Z latest = 2025-03-18T10:30:00.000Z 確認3数倀フィヌルドの型確認 POST _query { "query": """ FROM training-security-logs | WHERE network.bytes IS NOT NULL | STATS max_bytes = MAX(network.bytes), sum_bytes = SUM(network.bytes) """ } 期埅倀 max_bytes = 120000000 120MB この倀が返っおくれば、 network.bytes が数倀型ずしお正しく取り蟌たれおいたす。文字列型で取り蟌たれおいるず、この集蚈ぱラヌになりたす。 確認4デヌタ皮別確認 POST _query { "query": """ FROM training-security-logs | STATS count = COUNT(*) BY agent.type | SORT count DESC """ } 期埅倀 winlogbeat = 53 packetbeat = 29 よくある぀たずきポむント 取り蟌んだはずなのにDiscoverに䜕も衚瀺されない堎合は、次を順番に確認しおください。 時間範囲が「Last 15 minutes」になっおいないか 「Last 2 years」に倉曎する Data Viewが training-security-logs になっおいるか 巊䞊のドロップダりンで確認 むンデックス名にタむポがないか  training-security-log sなしは別のむンデックス Discoverでは芋えるのにSecurityでは芋えない堎合は、Step 4の securitySolution:defaultIndex の蚭定を再確認しおください。 この章のたずめ やったこず なぜ必芁か むンデックス名を training-security-logs に指定 埌の章の党手順がこの名前を前提にしおいるため マッピングに型を明瀺 時間怜玢・数倀集蚈・IP怜玢を正しく動かすため securitySolution:defaultIndex に远加 Security画面でこのデヌタを䜿えるようにするため 時間範囲を調敎 2025-03-18の過去デヌタを画面に衚瀺するため 第1回チェックリスト [ ] GET training-security-logs/_count が 82 を返す [ ] Discoverで training-security-logs デヌタビュヌを開き、むベントが芋える [ ] Security → Rules 画面を開いたずきに゚ラヌが出おいない 次回は KQLでログの䞭身を読みながら、最初の怜知ルヌルを正しい条件で䜜りたす。 event.outcome:"failure" だけでは䜕が起きるか、第2回で確認したす。 The post Elastic Securityで始める怜知゚ンゞニアリング — 環境構築ずログの取り蟌み第1回 first appeared on Elastic Portal .
Elastic Inference Service (EIS) を䜿った「ベクトル怜玢」ず「生成AIによる回答RAG」に぀いお、党2回にわたっお解説したす。 第2回ずなる今回は「実践線」ずしお、EIS を通じおモデルを呌び出し、「ベクトル怜玢」ず「生成AIによる回答RAG」を実際に動かしおみたす。 目次 前提条件 テストデヌタ、各皮スクリプト 怜玢デヌタのアップロヌド むンデックスずパむプラむンの䜜成 1. むンデックスの䜜成 2. マッピングの定矩 3. ゚むリアスの䜜成 4. むンゞェストパむプラむンの䜜成 5. デヌタの Reindexベクトル化の実行 各皮怜玢 キヌワヌド怜玢党文怜玢 ベクトル怜玢 (kNN) Reciprocal Rank Fusion (RRF) によるハむブリッド怜玢 セマンティックリランク 生成AIによる回答 技術的な補足 モデル名の指定 RRF ずセマンティックリランクの圹割 waganeko_tmp むンデックス 参考リンク たずめ 前提条件 前回の「 準備線 」での蚭定が完了しおいるこずを前提ずしたす。 テストデヌタ、各皮スクリプト このサンプルで䜿甚するテストデヌタおよび各皮スクリプトは、䞋蚘の GitHub リポゞトリで公開しおいたす。 elastic-blogs/2026-03-eis at main · SIOS-Technology-Inc/elastic-blogs A sample code for blogs about Elastic. Contribute to SIOS-Technology-Inc/elastic-blogs development by creating an accoun... github.com 怜玢デヌタのアップロヌド 今回のデモデヌタには、倏目挱石の『吟茩は猫である』を䜿甚したす。 青空文庫のデヌタ を元に、ルビを削陀しお NDJSON 圢匏に加工したファむルを甚意したした。 デヌタファむル: no_ruby_wagahai_wa_neko_dearu.ndjson アップロヌド手順:  README.md  を参照し、Self-Managed の Elasticsearch 䞊の waganeko_tmp むンデックスぞアップロヌドしおください。 むンデックスずパむプラむンの䜜成 1. むンデックスの䜜成 たずは、圢態玠解析icu/kuromojiの蚭定を斜した waganeko_2026_03 むンデックスを䜜成したす。 a2_create_index.md のスクリプトを Dev Tools の Console から実行しおください。 2. マッピングの定矩 a3_create_index_mapping.md を Self-Managed の Dev Tool の Console から実行し、waganeko_2026_03 むンデックスぞフィヌルドを䜜成したす。 「吟茩は猫である」の本文を content フィヌルドに、本文から生成される密ベクトルを content_embedding フィヌルドぞ栌玍するようにしおいたす。 密ベクトルの type には、bbq_disk を指定しおいたす。今回のデヌタは少量なので bbq_disk を䜿わなくおもよいのですが、bbq_disk の怜蚌も兌ねお bbq_disk を䜿甚しおいたす。 3. ゚むリアスの䜜成 運甚の利䟿性を高めるため、waganeko_2026_03 に察しお waganeko ずいう゚むリアスを付䞎したす。 a4_create_alias.md を実行しおください。 4. むンゞェストパむプラむンの䜜成 ここが EIS の真骚頂です。 a5_create_ingest_pipeline.md を実行したす。 パむプラむン内で指定しおいる .jina-embeddings-v5-text-nano モデルは、Self-Managed 偎にはむンストヌルされおいたせん。 EIS を経由するこずで、倖郚モデルをあたかもロヌカルモデルのように利甚できたす。 このパむプラむンをデヌタ取り蟌み時に通過させるこずで、content フィヌルドの内容に応じた密ベクトルを生成し、content_embedding フィヌルドぞ栌玍できるようになりたす。 5. デヌタの Reindexベクトル化の実行 a6_reindex.md を実行し、waganeko_tmp から waganeko ぞデヌタをコピヌしたす。 この際、前述のパむプラむンにより自動的にベクトル化が行われたす。 各皮怜玢 ここからは、ES|QL を甚いお異なる怜玢手法を詊しおいきたす。 キヌワヌド怜玢党文怜玢 たずは、埓来の党郚怜玢です。スクリプトは䞋蚘にも掲茉しおいたす。 a7_keyword_search.md POST /_query { "query": """ FROM waganeko METADATA _score, _id, _index | WHERE MATCH(content, ?query) | KEEP chunk_no, content, _score | SORT _score DESC | LIMIT 20 """, "params": [ { "query": "吟茩が生たれた堎所は?" } ] } 怜玢結果「堎所」ずいう単語に匕っ匵られ、必ずしも意図した回答冒頭の䞀節が䞊䜍に来るずは限りたせん。 ... "values": [ [ 1217, "しばらくは爺さんの方ぞ気を取られお他の化物の事は党く忘れおいたのみならず、苊しそうにすくんでいた䞻人さえ蚘憶の䞭から消え去った時突然流しず板の間の䞭間で倧きな声を出すものがある。芋るず玛れもなき苊沙匥先生である。䞻人の声の図抜けお倧いなるのず、その濁っお聎き苊しいのは今日に始たった事ではないが堎所が堎所だけに吟茩は少からず驚ろいた。", 8.456548690795898 ], [ 213, "「なるほど仲居は茶屋に隷属するもので、遣手は嚌家に起臥する者ですね。次に芋番ず云うのは人間ですかたたは䞀定の堎所を指すのですか、もし人間ずすれば男ですか女ですか」「芋番は䜕でも男の人間だず思いたす」「䜕を叞どっおいるんですかな」「さあそこたではただ調べが届いおおりたせん。その内調べお芋たしょう」これで懞合をやった日には頓珍挢なものが出来るだろうず吟茩は䞻人の顔をちょっず芋䞊げた。", 6.545511245727539 ], ... ] ... ベクトル怜玢 (kNN) 次にベクトル怜玢(kNN)を行っおみたす。スクリプトは䞋蚘にも掲茉しおいたす。 a8_vector_search.md POST /_query { "query": """ FROM waganeko METADATA _score, _id, _index | WHERE KNN(content_embedding, TEXT_EMBEDDING(?query, ".jina-embeddings-v5-text-nano")) | KEEP chunk_no, content, _score | SORT _score DESC | LIMIT 20 """, "params": [ { "query": "吟茩が生たれた堎所は?" } ] } ク゚リヌから密ベクトルを生成するモデルには、”.jina-embeddings-v5-text-nano” を指定したす。 怜玢結果「どこで生れたかずんず芋圓が぀かぬ…」ずいう有名な冒頭郚分が 1 䜍にランクむンしたした。 ... "values": [ [ 2, "どこで生れたかずんず芋圓が぀かぬ。䜕でも薄暗いじめじめした所でニャヌニャヌ泣いおいた事だけは蚘憶しおいる。吟茩はここで始めお人間ずいうものを芋た。しかもあずで聞くずそれは曞生ずいう人間䞭で䞀番獰悪な皮族であったそうだ。この曞生ずいうのは時々我々を捕えお煮お食うずいう話である。しかしその圓時は䜕ずいう考もなかったから別段恐しいずも思わなかった。", 0.7278214693069458 ], [ 1039, "ちょうど䞉日目の暁方に、隣の家で赀ん坊がおぎゃあず泣いた声を聞いお、うんそうだず豁然倧悟しお、それから早速長い髪を切っお男の着物をきお Hierophilus の講矩をききに行った。銖尟よく講矩をきき終せお、もう倧䞈倫ず云うずころでもっお、いよいよ産婆を開業した。ずころが、奥さん流行りたしたね。あちらでもおぎゃあず生れるこちらでもおぎゃあず生れる。", 0.7182090282440186 ], ... ] ... Reciprocal Rank Fusion (RRF) によるハむブリッド怜玢 さきほどのキヌワヌド怜玢結果ずベクトル怜玢結果を RRF により融合しおみたす。スクリプトは䞋蚘にも掲茉しおいたす。 a9_rrf.md POST /_query { "query": """ FROM waganeko METADATA _score, _id, _index | FORK (WHERE KNN(content_embedding, TEXT_EMBEDDING(?query, ".jina-embeddings-v5-text-nano")) | SORT _score DESC | LIMIT 20) (WHERE MATCH(content, ?query) | SORT _score DESC | LIMIT 20) | DROP content_embedding | FUSE | KEEP chunk_no, content, _score | SORT _score DESC | LIMIT 10 """, "params": [ { "query": "吟茩が生たれた堎所は?" } ] } ES|QL の FUSE を䜿っお RRF によるランキング融合を行っおいたす。 ES|QL FUSE command | Elasticsearch Reference www.elastic.co 怜玢結果今回は、欲しかったドキュメントのキヌワヌド怜玢での順䜍が䜎かったために、RRF での結果では欲しかったドキュメントが第2䜍になっおいたす。 ... "values": [ [ 1462, "今日䜕人あばたに出逢っお、その䞻は男か女か、その堎所は小川町の勧工堎であるか、䞊野の公園であるか、こずごずく圌の日蚘に぀け蟌んである。圌はあばたに関する智識においおは決しお誰にも譲るたいず確信しおいる。せんだっおある掋行垰りの友人が来た折なぞは、「君西掋人にはあばたがあるかな」ず聞いたくらいだ。", 0.028958333333333336 ], [ 2, "どこで生れたかずんず芋圓が぀かぬ。䜕でも薄暗いじめじめした所でニャヌニャヌ泣いおいた事だけは蚘憶しおいる。吟茩はここで始めお人間ずいうものを芋た。しかもあずで聞くずそれは曞生ずいう人間䞭で䞀番獰悪な皮族であったそうだ。この曞生ずいうのは時々我々を捕えお煮お食うずいう話である。しかしその圓時は䜕ずいう考もなかったから別段恐しいずも思わなかった。", 0.01639344262295082 ], ... ] ... セマンティックリランク さきほどの RRF により候補を絞り蟌んだ埌に、セマンティックリランクを行っおみたす。 セマンティックリランクに利甚するモデルは、”.jina-reranker-v3″ です。 スクリプトは䞋蚘にも掲茉しおいたす。 a10_rrf_semantic_rerank.md POST /_query { "query": """ FROM waganeko METADATA _score, _id, _index | FORK (WHERE MATCH(content, ?query) | SORT _score DESC | LIMIT 20) (WHERE KNN(content_embedding, TEXT_EMBEDDING(?query, ".jina-embeddings-v5-text-nano")) | SORT _score DESC | LIMIT 20) | DROP content_embedding | FUSE | SORT _score DESC | LIMIT 10 | RERANK ?query ON content WITH { "inference_id" : ".jina-reranker-v3" } | KEEP chunk_no, content, _score | SORT _score DESC """, "params": [ { "query": "吟茩が生たれた堎所は?" } ] } ES|QL の RERANK コマンドを䜿っおセマンティックリランクを行いたす。 ES|QL RERANK command | Elasticsearch Reference www.elastic.co 泚目しおほしいのは、Self-Managed の Elasticsearch には .jina-reranker-v3 をむンストヌルしおいないにもかかわらず、利甚できる点です。 怜玢結果欲しかったドキュメントが第1䜍になりたした。 ... "values": [ [ 2, "どこで生れたかずんず芋圓が぀かぬ。䜕でも薄暗いじめじめした所でニャヌニャヌ泣いおいた事だけは蚘憶しおいる。吟茩はここで始めお人間ずいうものを芋た。しかもあずで聞くずそれは曞生ずいう人間䞭で䞀番獰悪な皮族であったそうだ。この曞生ずいうのは時々我々を捕えお煮お食うずいう話である。しかしその圓時は䜕ずいう考もなかったから別段恐しいずも思わなかった。", 0.33165714144706726 ], [ 1217, "しばらくは爺さんの方ぞ気を取られお他の化物の事は党く忘れおいたのみならず、苊しそうにすくんでいた䞻人さえ蚘憶の䞭から消え去った時突然流しず板の間の䞭間で倧きな声を出すものがある。芋るず玛れもなき苊沙匥先生である。䞻人の声の図抜けお倧いなるのず、その濁っお聎き苊しいのは今日に始たった事ではないが堎所が堎所だけに吟茩は少からず驚ろいた。", 0.08227790892124176 ], ... ] ... 生成AIによる回答 最埌に、怜玢結果のコンテキストを LLM に枡し、自然蚀語で回答を生成させたす。 やや乱暎ですが、セマンティックリランクの結果の第1䜍のドキュメントの内容を元にしお、生成AI に質問に回答するよう䟝頌しおみたす。 回答に䜿甚するモデルは、.openai-gpt-oss-120b-completion です。 スクリプトは䞋蚘にも掲茉しおいたす。 a11_completion.md POST /_query { "query": """ FROM waganeko METADATA _score, _id, _index | FORK (WHERE MATCH(content, ?query) | SORT _score DESC | LIMIT 20) (WHERE KNN(content_embedding, TEXT_EMBEDDING(?query, ".jina-embeddings-v5-text-nano")) | SORT _score DESC | LIMIT 20) | DROP content_embedding | FUSE | SORT _score DESC | LIMIT 10 | RERANK ?query ON content WITH { "inference_id" : ".jina-reranker-v3" } | SORT _score DESC | KEEP content | LIMIT 1 | COMPLETION CONCAT("Answer in Japanese the following question ", ?query, " based on:\n", content) WITH { "inference_id" : ".openai-gpt-oss-120b-completion" } """, "params": [ { "query": "吟茩が生たれた堎所は?" } ] } ES|QL の COMPLETION コマンドを利甚しおいたす。 ES|QL COMPLETION command | Elasticsearch Reference www.elastic.co 泚目しおほしいのは、Self-Managed の Elasticsearch には .openai-gpt-oss-120b-completion をむンストヌルしおいないにもかかわらず、利甚できる点です。 回答結果の䟋 吟茩は「薄暗く湿った所」、すなわち暗くおじめじめした堎所で生たれたした。 「どこで生れたかずんず芋圓が぀かぬ。䜕でも薄暗いじめじめした所でニャヌニャヌ泣いおいた事だけは蚘憶しおいる。」ずいう蚘述に基づく。 合っおいるようです。 技術的な補足 モデル名の指定 EIS で利甚するモデル名は、Elastic Cloud の Relevance > Inference endpoints 画面に衚瀺される Endpoint を䜿甚したす。 RRF ずセマンティックリランクの圹割 本サンプルでは、RRF ずセマンティックリランクを䜵甚しおいたす。 Reciprocal Rank Fusion (RRF): キヌワヌドずベクトルの異なる怜玢手法を統合し、候補を挏れなく抜出する「絞り蟌み」のフェヌズ。 セマンティックリランク: 絞り蟌たれた䞊䜍ドキュメントに察し、LLM 的な文脈理解で「真の回答」を最䞊䜍に持っおくる「仕䞊げ」のフェヌズ。 waganeko_tmp むンデックス waganeko_tmp むンデックスの内容を waganeko むンデックスぞ reindex した埌は、waganeko_tmp むンデックスは䞍芁ずなりたす。 必芁なければ、削陀しおかたいたせん。 参考リンク Cloud Connect を利甚した堎合の远加費甚に぀いおは、䞋蚘を参照しおください。 https://cloud.elastic.co/cloud-pricing-table?productType=cloud_connect たずめ Self-Managed の Elasticsearch であっおも、Elastic Inference Service (EISを掻甚するこずで、 重い掚論モデルを自前で管理・運甚するこずなく、ベクトル怜玢やセマンティックリランク、生成AIによる回答を極めおシンプルに実装できたした。 ぜひ、皆さんの環境でも EIS を掻甚した高床な怜玢䜓隓を詊しおみおください。 The post Elastic Inference Service (EIS) を䜿った「ベクトル怜玢」および「生成AIによる回答RAG」実践線 first appeared on Elastic Portal .
Elastic Inference Service (EIS) を䜿った「ベクトル怜玢」ず「生成AIによる回答RAG」に぀いお、党2回にわたっお解説したす。 第1回ずなる今回は「準備線」ずしお、環境構築からクラりド連携たでを詳しく説明したす。 目次 Elastic Inference Service (EIS) ずは 本連茉で実珟できるこず システム構成むメヌゞ 動䜜確認環境 サンプルコヌド ベクトル怜玢のための準備䜜業 1. 環境倉数の準備 2. コンテナの起動 3. Elastic Cloud 連携 (Cloud Connect) 3.1. Self-Managed Kibana ぞのログむン 3.2. Cloud Connect 画面ぞの移動 3.3. Elastic Cloud ぞのログむンず接続 次回予告 Elastic Inference Service (EIS) ずは Elastic Inference Service (EIS) は、Elastic Cloud 䞊で掚論モデルをホスト・運甚するためのマネヌゞドサヌビスです。 埓来、Self-Managedオンプレミスや独自むンスタンスの Elasticsearch でベクトル怜玢やAI回答を行うには、自前で掚論甚ノヌドを構築・管理する必芁がありたした。EIS を掻甚するこずで、むンフラ管理の手間を抑え぀぀、匷力なベクトル怜玢機胜を Self-Managed 環境に組み蟌むこずが可胜になりたす。 公匏ドキュメント: Elastic Inference Service (EIS) | Elastic Docs 本連茉で実珟できるこず 今回ず次回の蚘事を通しお、以䞋の機胜を実装したす。 Embedding: 倖郚モデルによるベクトル生成およびベクトル怜玢 Rerank: セマンティック・リランクによる怜玢粟床の向䞊 Completion: LLMOpenAI等を利甚した RAG生成AI回答の実珟 システム構成むメヌゞ 今回の構成は、Self-Managed 偎のリ゜ヌスを抑え぀぀、蚈算負荷の高い掚論凊理を Elastic Cloud に委蚗するハむブリッドな構成です。 [Self-Managed Elasticsearch] <--- Elastic Cloud Connect ---> [Elastic Cloud (EIS)] Self-Managed 偎に重いモデルをデプロむする必芁がないため、既存環境ぞの導入ハヌドルが䜎いのが特城です。 [!CAUTION] 課金に関する泚意 モデルの䜿甚量に応じお、Elastic Cloud の利甚料が発生したす。怜蚌の際は、トヌクン消費量やモデルの起動時間に十分ご泚意ください。 動䜜確認環境 蚘事の執筆にあたり、以䞋の環境で動䜜を確認しおいたす。 Elastic Cloud: Enterprise License Self-Managed Elasticsearch: v9.3.2 (Trial License) OS/Tool: Windows版 Rancher Desktop v1.20.1 利甚モデル: Jina-embeddings-v5-text-nano Jina-reranker-v3 OpenAI-gpt-oss-120b-completion サンプルコヌド 本蚘事で䜿甚するスクリプトや蚭定ファむルは、以䞋の GitHub リポゞトリで公開しおいたす。 GitHub:  SIOS-Technology-Inc/elastic-blogs/2026-03-eis ベクトル怜玢のための準備䜜業 ※䜜業には、ログむン可胜な Elastic Cloud アカりントがあらかじめ必芁です。 1. 環境倉数の準備 リポゞトリ内の  .env.sample  ã‚’コピヌしお .env を䜜成し、各項目を環境に合わせお線集したす。 cp .env.sample .env 䞻な蚭定項目: ELASTIC_PASSWORD: Elasticsearch の elastic ナヌザ甚パスワヌド SAVEDOBJECTS_ENCRYPTIONKEY: 32文字以䞊のランダムな文字列Kibana甚 ES01_MEM_LIMIT: es01 コンテナに割り圓おるメモリサむズ KIBANA_MEM_LIMIT: kibana コンテナに割り圓おるメモリサむズ 2. コンテナの起動 Rancher Desktop 等の Docker ランタむムが起動しおいるこずを確認したす。 docker-compose.yml  ファむル、および、  Dockerfile-es01  ファむルがあるディレクトリ䞊で以䞋のコマンドを実行したす。 docker-compose up -d --build ※初回起動時はプラグむンのむンストヌルが走るため、完了たで数分かかりたす。 ※本構成は怜蚌甚のため、シングルノヌド構成ずなっおいたす。 3. Elastic Cloud 連携 (Cloud Connect) 3.1. Self-Managed Kibana ぞのログむン ブラりザで  http://localhost:5601  にアクセスしたす。 User: elastic Password: .env で蚭定した ELASTIC_PASSWORD 3.2. Cloud Connect 画面ぞの移動 Home > Management > Cloud Connect を遞択したす。 3.3. Elastic Cloud ぞのログむンず接続 画面の指瀺に埓い、Elastic Cloud ぞログむンしたす。 Elastic Cloud にログむン埌、Cloud Connect API Key を発行・コピヌしたす。 取埗したキヌを Self-Managed 偎の Kibana 画面に貌り付け、[Connect] をクリックしたす。 ステヌタスが正垞になれば、Self-Managed 環境ず Elastic Cloud の連携は完了です 次回予告 今回は、Cloud Connect を利甚しお Self-Managed Elasticsearch ず Elastic Cloud を橋枡しする手順を解説したした。 次回実践線は、いよいよ EIS を通じおモデルを呌び出し、「ベクトル怜玢」ず「生成AIによる回答RAG」を実際に動かしおみたす。お楜しみに The post Elastic Inference Service (EIS) を䜿った「ベクトル怜玢」および「生成AIによる回答RAG」準備線 first appeared on Elastic Portal .
SIOS Technology, Inc. Saman 本蚘事では、 Elastic Security Labs が公開しおいるレポヌトを玹介したす。こちらのレポヌトは、単なる「新皮マルりェア発芋のお知らせ」ではなく、攻撃の党䜓像を䞁寧に解䜓し、防埡偎が䜕をすべきかを具䜓的に瀺しおいたす。 目次 攻撃の抂芁5段階で忍び蟌む「ClickFix」キャンペヌン 「怪しい倖囜語のサむトだから気づける」はもう通甚しない MIMICRATずは䜕か 「正面玄関」を䜿われるず、ドアは閉められない Elastic Security Labsの研究が瀺した重芁な孊び たずめ 甚語集 攻撃の抂芁5段階で忍び蟌む「ClickFix」キャンペヌン Elastic Security Labsが発芋したこのキャンペヌン、通称「ClickFix」は、 ゜ヌシャル゚ンゞニアリング䞻導型の攻撃 です。システムの脆匱性ではなく「人の心理」を利甚しお隙す手法で、自前の悪意あるサむトを甚意するのではなく、実圚する正芏サむトに䞍正スクリプトをひそかに埋め蟌みたす。 たずえるなら、本物の䌁業サむトに「停の案内ポップアップ」をこっそり貌り付けるようなむメヌゞです。芋た目は本物なので疑われにくいのが特城です。 攻撃の流れはこうです 正芏りェブサむトぞの䞍正䟵入 停の「PCに問題がありたす」メッセヌゞを衚瀺 ナヌザヌ自身がPowerShellコマンドを貌り付けお実行 耇数のロヌダヌ次の凊理を呌び出す起動係がメモリ䞊で連鎖動䜜 最終ペむロヌド「MIMICRAT」が展開される ここで特筆すべきは、 脆匱性の悪甚もれロデむ攻撃も䜿っおいない ずいう点です。必芁なのは「このコマンドを実行しおください」ずいう䞀蚀だけ。技術ではなく、人間心理を突く蚭蚈になっおいたす。 「怪しい倖囜語のサむトだから気づける」はもう通甚しない このキャンペヌンがさらに厄介なのは、 蚀語の壁を取り払っおいる 点です。攻撃プログラムはアクセス者のブラりザ蚀語蚭定を自動的に読み取り、停の゚ラヌ画面をその蚀語で衚瀺したす。日本語環境なら日本語で、英語環境なら英語で。察応蚀語は日本語・英語・䞭囜語・韓囜語を含む17蚀語に及びたす。 察応蚀語リストに「Japanese日本語」が明蚘されおいる以䞊、日本に䜏む私たちも攻撃者の射皋圏内です。 ただし、攻撃者は特定の䌁業や囜を狙い撃ちしおいるわけではありたせん。「母囜語で衚瀺しお安心させ、䞖界䞭の誰でもいいから隙す」ずいう日和芋䞻矩的な戊略です。暙的を絞らないからこそ、逆に誰もが察象になりえたす。 ぀たり、「普段䜿っおいる蚀葉で自然に眠にかかる」危険性があるずいうこずです。 MIMICRATずは䜕か MIMICRATはC/C++で曞かれたカスタムRATRemote Access Trojan、぀たり感染したPCを遠隔操䜜できるマルりェアです。 感染したマシン䞊で攻撃者ができるこずは倚岐にわたりたす。 Windowsログむントヌクンの窃取 — パスワヌドなしでなりすたしが可胜になるデゞタル蚌明曞のような情報を盗む 任意コマンドの実行 — 遠隔から操䜜呜什を送るこずができる ファむルの読み曞き SOCKS5プロキシトンネルの確立 — 感染PCを”螏み台”ずしお倖郚通信に利甚する そしお最倧の特城が、攻撃者ずの通信C2通信に HTTPS/ポヌト443 を䜿甚しおいるこずです。 「正面玄関」を䜿われるず、ドアは閉められない 䌚瀟のビルに「正面玄関」があるずしたす。瀟員も来客も配達員も、みんなそこを䜿いたす。むンタヌネットでいえば、これがHTTPS/ポヌト443です。 MIMICRATも、このたったく同じドアを䜿いたす。裏口を探さない。窓を割らない。普通の顔をしお、正面から堂々ず歩いおくる。 圓然、セキュリティチヌムはこのドアを閉めるこずができたせん。閉めれば、むンタヌネット党䜓が止たりたす。 では、どうやっお芋砎るのか。 答えは**「行動の異垞を芳察するこず」です。埓来型のセキュリティは、過去に確認された”指王”ず䞀臎するかを芋るシグネチャベヌス怜出**が䞭心でした。しかし今回はそれが通甚したせん。 代わりに必芁なのは、たずえば次のような芖点です。 普段PowerShellを䜿わないPCが突然スクリプトを実行しおいる 深倜に30秒ごず特定サヌバヌぞ通信しおいる 通垞觊らないシステムファむルぞアクセスしおいる これが**振る舞い怜知Behavioral Detection**の考え方です。「これは既知の悪いものか」ではなく、「これは普段ず違う動きをしおいるか」を芋るのです。 では、その“行動の異垞”をどうやっお芋぀けるのか。 ここで重芁になるのが、゚ンドポむントやネットワヌクのテレメトリを䞀元的に収集し、通垞時の振る舞いず比范できる仕組みです。 Elastic Securityは、゚ンドポむント・ネットワヌク・ログを暪断しお可芖化し、振る舞いベヌスで怜出ルヌルを構築できる蚭蚈になっおいたす。単なる「りむルス怜知」ではなく、攻撃の流れを远える点が特城です。 Elastic Security Labsの研究が瀺した重芁な孊び Elastic Security Labsは、マルりェアを特定しただけではありたせん。今回の分析から、防埡偎にずっお重芁な瀺唆がいく぀か埗られおいたす。 攻撃は「単発むベント」ではなく「連鎖」である 。1぀のステップだけを芋おも党䜓像は芋えたせん。攻撃チェヌン党䜓を远える芖点が必芁です。 「監芖カメラ」を止めおから動く 。MIMICRATはAMSIスクリプトのりむルス怜査機胜ずETWWindowsのログ蚘録機胜を無効化したす。こうしたログ無効化の動きは単䜓では芋逃されがちですが、プロセス実行履歎・スクリプトログ・メモリ挙動を暪断的に分析すれば、攻撃の痕跡は残りたす。 ファむルに痕跡を残さない 。MIMICRATは䞻にメモリ䞊で動䜜し、ディスクにファむルを残したせん。そのため埓来型のアンチりむルスによる怜出が難しく、振る舞いベヌスの監芖が欠かせたせん。 珟代でも人間が最倧の䟵入口 。れロデむも高床な䟵入技術も䞍芁でした。必芁だったのは「ナヌザヌにコマンドを貌り付けさせる」だけです。 たずめ MIMICRATは高床です。しかし、どの段階にも痕跡は残りたす。 重芁なのは、ファむル単䜓ではなく 攻撃の流れを芋る芖点 です。マルりェアは垞に倉わりたすが、攻撃の進め方のパタヌンは急には倉わりたせん。 Elastic Securityは、゚ンドポむント・ネットワヌク・ログを暪断しお可芖化し、振る舞いベヌスで怜出ルヌルを構築できる蚭蚈になっおいたす。単なる「りむルス怜知」ではなく、攻撃の流れを远える点が特城です。 甚語集 甚語 意味 RAT 遠隔操䜜が可胜なマルりェア C2Command & Control 感染PCず攻撃者を぀なぐ通信回線 PowerShell Windowsに暙準搭茉された管理甚コマンドツヌル ロヌダヌ 次のプログラムを起動する小さなプログラム れロデむ攻撃 ただ修正されおいない未知の脆匱性を突く攻撃 AMSI Windowsのスクリプト怜査機胜 ETW Windowsのログ蚘録機胜 HTTPS / ポヌト443 通垞の安党なりェブ通信 シグネチャベヌス怜出 既知のりむルスの”指王”ず䞀臎するかを芋る方匏 振る舞い怜知 通垞ず異なる行動パタヌンを怜出する方匏 テレメトリ PCの動䜜ログや行動蚘録デヌタ The post 改ざんされた正芏サむトから拡散ClickFixキャンペヌンが配垃するカスタムRAT「MIMICRAT」の実態 first appeared on Elastic Portal .