osquery - 如何远程执行对 osquery 的 SQL 查询?

标签 osquery

我发现 osquery 可以在交互模式 (osqueryi) 和守护进程模式 (osqueryd) 下工作,其中它将定期在本地主机的后台执行 SQL 查询。
SQL 查询的远程执行如何 - 例如,REST 服务或 JDBC 驱动程序?

最佳答案

当 osquery 在守护进程模式下运行时,您可以启用 distributed query facilities .启用此功能后,osqueryd 将定期检查远程服务器以查看是否有要执行的查询(此检查的典型间隔范围为 10 秒到 1 分钟)。

请注意,由于 osquery 运行环境的性质,osquery 代理不监听传入连接。它只与远程服务器建立传出连接以检查要执行的查询。

要利用这一点,您需要一个实现 osquery 远程 API 的服务器。有一些可用的开源选项:

Fleet (免责声明:我构建了这个)

Zentral

Doorman

SGT

安全提示 :在 osquery 代理上提供远程执行可能非常危险,因为它可以在其运行的设备上检索敏感信息。如果您打算提供某种允许直接查询代理的网页,请注意,由于 osquery 提供了您系统的 SQL 抽象,因此它可能容易受到 injections 的攻击。 .

关于osquery - 如何远程执行对 osquery 的 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55520047/

相关文章:

ssl - 错误 : failed to find any PEM data in certificate input when start to run fleet server

sqlite - 如何使用 Osquery 转换 Chrome 浏览器历史记录 Sqlite 时间戳

sqlite - 如何将从 Osquery 触发的 SQL 查询的输出保存到文件

python - osquery-python 扩展导致 osqueryi 错误

sql - 如何在 linux shell 上的 sql 查询中使用 "%"字符?

windows - 为什么 OSQuery 在读取 Windows EventLogs 时不包含 "Computer"事件信息?