2-26所示。
图2-26 查询可用包
1. osqueryd生成的结果将写入/var/log/osquery目录中调用的文件osqueryd. results. log中。打开后,该文件不存在。它仅在守护程序启动时创建并开始生成结果。如图2-27所示。
图2-27 查看日志
可以开始使用systemctl或osqueryctl启动osqueryd。两者都完成了同样的事情,所以你使用哪一个并不重要。osqueryd将在启动时检查配置文件是否存在,并在未找到配置文件时提醒。它将在没有配置文件的情况下继续运行,尽管它不会做任何有用的事情。但是,由于已经设置了配置文件,因此需要在此处启动守护程序:sudo systemctl start osqueryd或者可以输入: sudo osqueryctl start
2. 在启动守护进程后的几分钟内,/var/log/osquery/osqueryd. results. log的大小应该增加。可以通过输入并重复下一个命令来查看这种情况:
ls -lh /var/log/osquery/osqueryd. results. log
文件大小的增加表示已将计划查询的结果写入磁盘。不幸的是,osquery没有像OSSEC这样的警报工具,因此除非查看结果文件,否则无法查看计划查询的结果。可以使用该tail命令执行此操作,该命令将持续将该文件的最后10行流式传输到的屏幕:sudo tail -f /var/log/osquery/osqueryd. results. log 如图2-28所示。
图2-28 查询该文件的最后10行内容
按CTRL+C停止拖尾日志。从长远来看,需要将查询结果日志发送到可以使用的外部分析平台。
2.2.5. osqueryi交互模式
osquery为用户提供了两个主要接口,osqueryi和osqueryd。
osqueryi是osquery交互式查询控制台。 它就像MySQL上的'mysql'命令shell和PostgreSQL数据库上的'psql'shell。在服务器终端上键入“osqueryi”命令,将获得osquery交互式控制台模式。接下来,将了解osqueryi控制台模式的基本命令。在交互模式osqueryi上显示所有基本可用命令。如图2-29所示。
osquery> . help
图2-29 基本可用命令
- 显示当前的osquery配置和设置。如图2-30所示。
图2-30 显示当前的osquery配置
Osquery提供多种视图模式来显示查询结果。 默认模式是“漂亮”模式。
现在将更改查询结果的查看模式,对于本设计,将使用'line'模式。
osquery>. mode csv
osquery>. mode list
osquery>. mode column
osquery>. mode line
osquery>. mode pretty
Osquery将操作系统公开为关系数据库系统。 有关系统的所有信息都存储在osquery表中,可以通过查询所有可用表来探索整个系统信息。
- 要获取osquery中所有可用表的列表,请运行以下命令。如图2-31所示。
osquery>. tables
图2-31 osquery中所有可用表的列表
一旦知道了osquery系统中的所有可用表,将查看列。
- 使用以下命令获取表的模式如图,列,类型架构列。如图2-32所示。
osquery>. schema users
osquery>. schema processes
图2-32 获取表的模式
2.2.6. 查询Linux文件监控
在此步骤中,将使用osquery监视实时Linux系统。 将通过osqueryi交互模式监控系统配置文件信息,用户,网络接口等。
- 获取系统信息如图2-32所示。
osquery> SELECT * FROM system_info;
图2-32 获取系统信息
显示有关系统硬件的详细信息。如图2-33 所示。
osquery> SELECT hostname, cpu_type, physical_memory, hardware_vendor, hardware_model FROM system_info;
图2-33 统硬件的详细信息
显示当前的操作系统信息,包括操作系统版本,平台,操作系统补丁和代号。如图2-34所示。
osquery>SELECT * FROM os_version;
图2-34 操作系统信息
2. 查看内核版本和模块,为了检查系统的内核信息,osquery提供了表'kernel_info'和'kernel_modules'。显示系统使用的内核。如图2-35所示。
osquery> SELECT * FROM kernel_info;
图2-35 内核版本和模块
3. 显示系统上所有已加载的内核模块。如图2-36所示。
osquery> SELECT * FROM kernel_modules LIMIT 5;
图2-36 已加载的内核模块
4. 检查存储库和包osquery提供了用于检查Linux Ubuntu和CentOS上的存储库和已安装软件包的表。在CentOS上,们可以通过'yum_sources'检查可用的存储库,并检查通过'rpm_packages'安装的软件包。
检查所有可用的CentOS存储库。如图2-37所示。
osquery> SELECT * FROM yum_sources;
图2-37 CentOS存储库
5. 查询yum源osquery> SELECT name, baseurl, enabled FROM yum_sources; 如图2-38所示。
图2-38 查询yum 源
- 通过添加“已启用”过滤器检查已启用的存储库。如图2-39所示。
osquery> SELECT name, baseurl, enabled FROM yum_sources WHERE enabled=1;
图2-39 已启用的存储库
- 使用rpm_packages表检查所有安装的软件包。如图2-40所示。
osquery> SELECT * FROM rpm_packages;
osquery> SELECT name, version FROM rpm_packages ORDER BY name;
图2-40 所有安装的软件包
对于特定包名称,请添加名称过滤器。如图2-41所示。
osquery> SELECT name, version FROM rpm_packages WHERE name="firewalld";
图2-41 特定包名称
装载磁盘信息可以使用mounts表来检查有关系统驱动器的所有详细信息,包括免费的inode,标志,类型等。
检查系统安装的所有磁盘。如图2-42所示。
osquery>SELECT * FROM mounts;
os