osquery

動いているプロセス、開いているポート、ユーザー、自動起動の設定など、OS の状態を SQL で問い合わせられるツール。

cat osquery/meta.yml確認日 2026-10-25

安全性

影響範囲 手元だけ自分の端末の中で完結し、外には何も送らない
管理者権限
不要
検証環境
不要

使い方

用途
防御
難易度
中級
形態
コマンドライン
対応環境
Windows / macOS / Linux

信頼性

リポジトリ
osquery/osquery
ライセンス
要確認Apache-2.0 OR GPL-2.0-only
GitHub
スター23,6742026-10-25 時点
メンテ状況
更新が続いている最終更新 2026-10-23
目次
  1. はじめに
  2. osquery でできること
  3. 安全な試し方:自分のパソコンで osqueryi を使う
  4. 主な使い方
  5. 常駐させて多くの端末を見る
  6. 注意点
  7. 次に読む
  8. 出典

osquery は、OS の中身をデータベースのテーブルとして見せるツールです。「いま動いているプロセス」や「待ち受けているポート」を、SQL の SELECT 文で調べられます。

この記事は、自分のパソコンの状態を確かめたい人や、端末の監視を始めたい人に向けています。読み終えると、次のことができるようになります。

  • osqueryi を起動して、テーブルの一覧と列を調べる
  • 待ち受けているポートと、そのポートを開けているプロセスを一覧にする
  • 自動起動するプログラムとローカルユーザーを確かめる

osquery でできること

osquery では、プロセス、読み込まれたカーネルモジュール、ネットワーク接続、ブラウザーの拡張機能、ファイルのハッシュなどが SQL のテーブルになっています。テーブルの一覧は公式のスキーマのページにあります。対応 OS は Linux、macOS、Windows です。

使い方は 2 つあります。

osqueryi osqueryd
形 対話型のシェル 常駐するデーモン(サービス)
使いどころ その場で問い合わせる、問い合わせを試作する 決めた間隔で問い合わせを繰り返し、変化をログに残す
管理者権限 不要(テーブルによっては結果が減る) サービスとして登録するときに必要

2 つは互いに通信しません。osqueryi は単体で動き、デーモンやサーバーがなくても使えます。

しないことosquery は状態を読んで返すだけです。怪しいプロセスを止めたり、設定を直したりはしません。結果を見て判断し、対処するのは自分です。

安全な試し方:自分のパソコンで osqueryi を使う

osqueryi は読むだけで、外に通信を送りません。最初は自分のパソコンで試しましょう。

  1. 公式のダウンロードページから、OS に合ったパッケージを入手してインストールします。Windows では Chocolatey でも入れられます。Linux は公式の yum / apt リポジトリ、macOS は .pkg のパッケージがあります。
  2. ターミナル(Windows は PowerShell)で osqueryi を実行します。osquery> と表示されたら準備完了です。
  3. .tables でテーブルの一覧を、.schema listening_ports でそのテーブルの列を表示します。
  4. 下の「主な使い方」の問い合わせを貼り付けて実行します。SQL の最後には ; を付けます。
  5. 終わるときは .exit を入力します。

管理者権限なしでも動きます。ただし、他のユーザーのプロセスなど、一部の情報は返ってこないことがあります。

主な使い方

守る側の確認でよく使う問い合わせです。テーブル名と列名は公式のテーブル定義で確かめたものです。

確かめたいこと 問い合わせ
すべてのアドレスで待ち受けているポートと、そのプロセス SELECT DISTINCT processes.name, listening_ports.port, processes.pid FROM listening_ports JOIN processes USING (pid) WHERE listening_ports.address = '0.0.0.0';
自動起動するプログラム SELECT name, path, source, status FROM startup_items;
ローカルのユーザー SELECT uid, username, directory, shell FROM users;

結果を JSON で受け取りたいときは、osqueryi --json "SELECT * FROM users" のように問い合わせを引数で渡します。

列の中身は OS によって違います。たとえば startup_items の status は、Linux では enabled か disabled、macOS では別の値の組み合わせになります。迷ったら .schema で確かめてください。

常駐させて多くの端末を見る

osqueryd は、設定ファイルに書いた問い合わせを決めた間隔(秒)で実行します。前回と結果が変わったときだけ、増えた行と消えた行をログに書きます。たとえば USB 機器の一覧を 60 秒ごとに調べると、新しい USB メモリーが挿されたときに記録が残ります。

設定の取得とログの送信は、標準では端末内のファイルで行います。多くの端末をまとめて管理するときは、TLS で通信するリモートのサーバーを設定できます。公式 README には、こうした管理ツール(フリートマネージャー)として Fleet、Kolide、OSCTRL、Zentral が載っています。ただし、osquery プロジェクトはこれらを推奨も検証もしていないと書いています。

Wazuh には osquery を扱うモジュールがあり、Wazuh エージェントから osquery の設定と結果の収集ができます。

注意点

  • 他人の端末に入れて調べるのは、持ち主や管理者の許可がある場合だけにしてください。
  • 結果には、ユーザー名、実行中のコマンドライン、ファイルの場所が含まれます。人に渡す前に中身を確かめてください。
  • Windows でサービスとして動かすときは、osqueryd.exe とそのフォルダーに一般ユーザーが書き込めないようにします。公式ドキュメントは、Administrators グループか SYSTEM だけに書き込みを許すよう求めています。
  • ライセンスは Apache-2.0 と GPL-2.0 の二重ライセンスで、使う側がどちらかを選べます。
  • osquery は Facebook で生まれ、2019 年に Linux Foundation が osquery のための財団を作る計画を発表しました。現在の運営体制の詳細は、公式サイトでは確かめられませんでした(未確認)。

次に読む

出典

  1. 公式リポジトリ(README)github.com/osquery/osquery
  2. ライセンス(LICENSE)github.com/osquery/osquery/blob/master/LICENSE
  3. 公式ドキュメント:osqueryi(シェル)osquery.readthedocs.io/en/latest/introduction/using-osqueryi/
  4. 公式ドキュメント:osqueryd(デーモン)osquery.readthedocs.io/en/latest/introduction/using-osqueryd/
  5. 公式ドキュメント:Windows へのインストールosquery.readthedocs.io/en/latest/installation/install-windows/
  6. 公式ドキュメント:macOS へのインストールosquery.readthedocs.io/en/latest/installation/install-macos/
  7. 公式ドキュメント:Linux へのインストールosquery.readthedocs.io/en/latest/installation/install-linux/
  8. 公式ドキュメント:リモート設定osquery.readthedocs.io/en/latest/deployment/remote/
  9. テーブル定義:listening_portsgithub.com/osquery/osquery/blob/master/specs/listening_ports.table
  10. テーブル定義:startup_itemsgithub.com/osquery/osquery/blob/master/specs/startup_items.table
  11. Linux Foundation:osquery 財団の設立計画の発表(2019年)www.linuxfoundation.org/press/press-release/the-linux-foundation-announces-intent-to-form-new-foundation-to-support-osquery-community
  12. Wazuh ドキュメント:Osquery モジュールdocumentation.wazuh.com/current/user-manual/capabilities/system-inventory/osquery.html

確認日 2026-10-25

似たツール

Wazuh

影響範囲 手元だけ
wazuh/wazuh

端末に入れたエージェントからログや設定、脆弱性の情報を集め、1 つの画面で監視できる無料のセキュリティ基盤(SIEM/XDR)。

用途
防御
形式
サーバーで動かす
難易度
上級
ライセンス
条件つきGPL-2.0(一部の構成要素は Apache-2.0)
分類
脆弱性スキャン/フォレンジック
更新が続いているスター17,410最終更新 2026-10-24
Wazuhの解説を読む