
Osquery是SQL驱动的操作系统仪器,监视和分析框架。
可用于Linux,MacOS和Windows。


Osquery将操作系统视为高性能关系数据库。这使您可以编写基于SQL的查询来探索操作系统数据。使用Osquery,SQL表代表抽象概念,例如运行过程,加载内核模块,开放网络连接,浏览器插件,硬件事件或文件哈希。
SQL表是通过简单的插件和扩展API实现的。已经存在各种表格,正在编写更多表:https://osquery.io/schema。为了最好地了解Osquery提供给您的表现力,请考虑以下SQL查询:
列出users :
SELECT * FROM users;检查具有删除的可执行文件的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启动Daemon启动可执行文件并保持其运行:
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 ;这些查询可以是:
要下载最新的稳定构建以及用于存储库信息和安装说明,请访问https://osquery.io/downloads。
我们使用一个简单的编号版本控制方案XYZ ,其中X是主要版本,Y是未成年人,而Z是一个补丁。我们计划大约每两个月发布一次。这些版本在我们的里程碑页面上进行了跟踪。当我们的次要版本有不可预见的错误时,使用补丁发布,我们需要快速修补。如果我们需要更改构建配置,则可以使用罕见的“修订”版本。
专业,次要和补丁发行版在GitHub上标记,可以在版本页面上查看。当我们准备次要版本时,我们打开了新的版本清单问题。如果您对发行版的状态感兴趣,请找到相应的清单问题,并注意,当我们完成清单后,该问题将被标记为关闭。在我们的网站上托管新下载并将其添加到我们的托管存储库中,我们考虑了“测试中的”版本。当发生足够的测试时,我们将在GitHub上将释放标记为“稳定”,这通常需要两个星期。
鼓励来源建造Osquery!查看我们的构建指南。还请查看我们的贡献指南,并加入Slack社区。
那里有许多Osquery车队经理。 Osquery项目不认可,推荐或测试这些项目。他们被作为起点
| 项目 | 执照 |
|---|---|
| 舰队 | 开放核心 |
| KOLIDE | 商业的 |
| OSCTRL | 开源 |
| Zentral | 开源 |
通过向Osquery做出贡献,您同意您的捐款将被许可在许可证文件中定义。
我们在GitHub上的标记版本发行说明中跟踪安全公告。我们也将它们汇总到Security.md中。
Osquery文档可在线获得。旧版本的文档也可以按版本编号找到。
如果您有兴趣了解有关Osquery的更多信息,请阅读有关该项目背景的启动博客文章,请访问用户指南。
开发和使用讨论正在Osquery Slack中进行,请在此处邀请邀请!