开源
osquery:将操作系统公开为高性能关系数据库
来源:元经纪     阅读:1099
网站管理员
发布于 2023-02-23 06:51
查看主页

概述

osquery 将操作系统公开为高性能关系数据库。这允许您编写基于 SQL 的查询来探索操作系统数据。使用 osquery,SQL 表代表抽象概念,例如正在运行的进程、加载的内核模块、打开的网络连接、浏览器插件、硬件事件或文件哈希。

SQL 表是通过一个简单的插件和扩展 API 实现的。已经存在各种表格,并且正在编写更多表格: https: //osquery.io/schema。为了最好地理解 osquery 为您提供的表现力,请考虑以下 SQL 查询:

列出users

SELECT * FROM users;

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

检查processes已删除的可执行文件:

SELECT * FROM processes WHERE on_disk = 0;

获取侦听所有接口的进程的进程名称、端口和 PID:

SELECT DISTINCT processes.name, listening_ports.port, processes.pid
  FROM listening_ports JOIN processes USING (pid)
  WHERE listening_ports.address = '0.0.0.0';

查找每个启动可执行文件并使其保持运行的 macOS LaunchDaemon:

SELECT name, program || program_arguments AS executable
  FROM launchd
  WHERE (run_at_load = 1 AND keep_alive = 1)
  AND (program != '' OR program_arguments != '');

从主机角度检查ARP异常:

SELECT address, mac, COUNT(mac) AS mac_count
  FROM arp_cache GROUP BY mac
  HAVING count(mac) > 1;

或者,您也可以使用 SQL 子查询来完成相同的结果:

SELECT address, mac, mac_count
  FROM
    (SELECT address, mac, COUNT(mac) AS mac_count FROM arp_cache GROUP BY mac)
  WHERE mac_count > 1;

这些查询可以是:

  • 临时执行以使用 osqueryi shell探索操作系统状态
  • 通过调度程序执行 以监视一组主机上的操作系统状态
  • 使用 osquery Thrift API 从自定义应用程序启动

下载并安装

要下载最新的稳定版本以及存储库信息和安装说明,请访问 https://osquery.io/downloads。

我们使用简单的编号版本控制方案X.Y.Z,其中 X 是主要版本,Y 是次要版本,Z 是补丁。我们计划大约每两个月发布一次次要版本。这些版本在我们的里程碑页面上进行了跟踪。当我们的次要版本出现不可预见的错误并且我们需要快速修补时,将使用补丁版本。如果我们需要更改构建配置,可能会使用罕见的“修订”版本。

主要版本、次要版本和补丁版本都在 GitHub 上标记,可以在版本页面上查看。当我们准备次要版本时,我们会打开一个新的发布清单问题。如果您对发布的状态感兴趣,请找到相应的清单问题,并注意当我们完成清单时,该问题将被标记为已关闭。我们考虑在我们的网站上托管新下载并将它们添加到我们的托管存储库期间发布“测试中”。当进行了足够的测试时,我们将在 GitHub 上将发布标记为“稳定”,这通常需要两周时间。

[/hidecontent]

 
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
荣耀官方确认!GT系列第一款产品就叫荣耀GT:性能有大招
无人机助力防水灾 App智能识病害
报名|4.20 AI+Web3营销商业模式升级沙龙
元宇宙政策 | 大连市发布工业元宇宙创新发展三年行动计划
亚洲元宇宙产业联盟在港起航:形成合力,融通发展

首页

分类

定制方案

消息

我的