我发现 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/