使用Osquery跟踪系统库存数据

电子说

1.2w人已加入

描述

很多时候,在调查安全事件或确定安全控制的有效性时,您需要有关一组系统的实时、精细的清单数据。您可能想知道安装了哪些软件包、正在运行哪些进程,或者是否安装了特定的安全更新。如果您的职责跨越云和本地系统,您可能会使用多种操作系统,包括 Windows、Mac 和 Linux。为了帮助您跨多个平台回答这些库存问题,请考虑使用开源工具 osquery。Osquery 从系统收集丰富的数据集,然后您可以使用基本的结构化查询语言 (SQL) 命令轻松查询这些数据。比如可以查询shell历史,hosts文件内容,什么操作系统版本,全部来自一个命令行工具。Osquery 提供了很好的洞察力,可以帮助回答有关系统的一些问题,而无需运行多个命令或不必编写自定义脚本。

入门

在最简单的形式中,osquery 由运行在计算机上的守护进程和客户端组成。守护进程根据 osquery 配置文件收集有关主机的信息。配置文件告诉 osquery 要收集什么。数据存储在该计算机本地的数据库中。快速访问此信息的最简单方法是运行 osqueryi 二进制文件。这将打开一个简单的命令行,您可以从中创建和运行简单的 SQL 查询以显示有关系统的数据。

拿 osquery 来试驾是非常容易的。访问 osquery.io 并下载适用于您想要的任何操作系统的软件包。如果您运行 Windows,您将下载 osquery.msi 并运行它以将程序安装到 c:Program Filesosquery。打开终端提示符,导航到该文件夹​​并运行 osqueryi.exe 以使用默认配置启动 osquery。使用此默认配置,您可以立即查询有关您系统的有趣数据,并让您了解它的功能,然后您可以扩展您的部署,使其最适合您的环境或组织。 

在最基本的状态下,您可以使用基本的 SQL 语法以交互方式查询主机。例如,要显示 Windows 计算机上正在运行的服务的名称,请运行查询:

osquery> SELECT display_name FROM services WHERE status='RUNNING';

Osquery 将相似的查询组组织成包。默认安装中包含的包示例包括硬件监控、it-compliance 和 osquery-monitoring。安全特定包还包括查询,让您可以搜索 Windows 和 Mac 攻击以及 Windows 强化。这些查询利用了操作系统的特定功能。例如,Windows 强化包包括在注册表中查找可能导致安全性较低的配置的特定值的查询。

Osquery 是一个可以询问有关它正在监控的系统的各种问题的地方。例如,您可以查询已安装的补丁:

osquery>SELECT * from patches;

或者找出系统的默认网关:

osquery> SELECT * from routes WHERE

作为另一个示例,要查看 Windows 计算机的所有启动项,只需运行查询:

osquery> SELECT * FROM startup_items;

返回的信息包括项目的名称、其位置的路径、项目在哪个用户下运行以及如何通过注册表或启动文件夹调用项目。

可以肯定的是,这些都是非常基本的查询,而 osquery 的真正力量在于将这些数据的收集集成到其他工具和自动化中。例如,如果某个程序在特权帐户下启动,您可以设置警报。

如果您不确定可以查询什么,请键入:

osquery>.table

要查看 osquery 创建的表的列表,请运行以下命令:

osquery>.schema

 

获取可在查询中使用的字段列表。

Osquery 很流行,您会找到很多关于如何使用该工具和创建非常有用的查询的在线资源和教程。

结论

Osquery 得益于强大的开源社区的贡献。可以安装或部署多个社区项目以扩展 osquery 对您的安装的价值。例如,许多系统管理员选择在他们所有的服务器上部署 osquery,并部署一个控制服务器来管理这批 osquery 安装。这个控制服务器可以让你集中查询来自几个不同系统的数据,以及管理各个 osquery 代理的操作。总而言之,osquery 灵活且可扩展,是系统管理员工具箱的绝佳工具。

  审核编辑:汤梓红


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分