Osquery 是一种免费的开源工具,允许您获取操作系统信息以进行性能、安全性和合规性审计分析。它可以安装在所有主要操作系统上,如 Linux、FreeBSD、macOS、Windows 系统等。使用 Osquery,您可以获取所有重要的系统信息,包括正在运行的进程、加载的内核模块、活动用户帐户、网络连接等. 系统管理员使用它来解决性能和操作问题。
在本文中,我们将向您展示如何在 Oracle Linux 8 上安装 Osquery。
先决条件
- Atlantic.Net 云平台上全新的 Oracle Linux 8 服务器
- 在您的服务器上配置的根密码
第 1 步 – 创建 Atlantic.Net 云服务器
首先,登录到您的Atlantic.Net 云服务器。创建一个新服务器,选择 Oracle Linux 8 作为操作系统,至少 2GB 内存。通过 SSH 连接到您的云服务器,并使用页面顶部突出显示的凭据登录。
登录到 Oracle Linux 8 服务器后,运行以下命令以使用最新的可用程序包更新您的基本系统。
dnf更新-y
第 2 步 – 在 Oracle Linux 8 上安装 Osquery
默认情况下,Osquery 包不包含在 Oracle Linux 默认存储库中,因此您需要将 Osquery 存储库添加到您的系统中。您可以使用以下命令添加它:
卷曲-L https :// pkg 。查询。io / rpm / GPG | tee /etc/pki/rpm-gpg/RPM-GPG-KEY-osquery dnf 配置管理器 --add-repo https :// pkg 。查询。io / rpm / osquery - s3 - rpm 。回购
接下来,使用以下命令验证添加的 repo:
dnf 回复 | grep osquery
您将获得以下输出:
osquery-s3-rpm-repo 名称=osquery RPM 存储库 - x86_64
接下来,使用以下命令安装 Osquery 包:
dnf --enablerepo osquery-s3-rpm-repo 安装 osquery -y
您可以使用以下命令启动 Osquery 服务:
osqueryctl启动
要停止 Osquery 服务,请运行以下命令:
osqueryctl 停止
第 3 步 – 在独立模式下运行 Osquery/h2>
您可以使用以下命令以独立模式运行 Osquery:
奥斯奎里
要获取所有命令的列表,请运行以下命令:
。帮助
您将获得以下输出:
欢迎使用 osquery shell。请探索您的操作系统! 您已连接到一个临时的“内存中”虚拟数据库。 .all [TABLE] 从表中选择所有 .bail ON|OFF 遇到错误后停止 .connect PATH 连接到 osquery 扩展套接字 .disconnect 断开连接的扩展套接字 .echo ON|OFF 打开或关闭命令回显 .exit 退出这个程序 .features 列出osquery的特性及其状态 .headers ON|OFF 打开或关闭标题显示 .help 显示这条消息 .mode MODE 设置输出模式,其中 MODE 是以下之一: csv 逗号分隔值 列 左对齐列 请参见 .width line 每行一个值 列出由 .separator 字符串分隔的值 漂亮漂亮打印的 SQL 结果(默认) .nullvalue STR 使用 STRING 代替 NULL 值 .print STR... 打印文字字符串 .quit 退出这个程序 .schema [TABLE] 显示 CREATE 语句 .separator STR 更改输出模式使用的分隔符 .socket 显示本地 osquery 扩展套接字路径 .show 显示各种设置的当前值 .summary show meta 命令的别名 .tables [TABLE] 列出表名 .types [SQL] 显示给定查询的 getQueryColumns 结果 .width [NUM1]+ 为“列”模式设置列宽 .timer ON|OFF 打开或关闭 CPU 定时器测量
第 4 步 – 如何使用 Osquery
Osquery 使用一个表来存储所有与系统相关的信息。您可以使用以下命令列出所有表:
.tables
您应该在以下输出中看到所有表的列表:
=> acpi_tables => apparmor_events => apparmor_profiles => apt_sources => arp_cache => 原子包 => augeas => authorized_keys => azure_instance_metadata => azure_instance_tags => 块设备 => bpf_process_events => bpf_socket_events => carbon_black_info => 雕刻 =>证书 => chrome_extension_content_scripts => chrome_extensions => cpu_info => cpu_time => CPUID
要检查操作系统版本,请运行以下命令:
从 os_version 中选择 *;
您将获得以下输出:
+------------------------+-------------------- ----------------------+--------+--------+--------+- ------+------------+----------------+------------+----- ---+ | 姓名 | 版本 | 专业 | 未成年人 | 补丁| 建造 | 平台 | 类似平台 | 代号 | 拱 | +------------------------+-------------------- ----------------------+--------+--------+--------+- ------+------------+----------------+------------+----- ---+ | 红帽企业 Linux | 红帽企业 Linux 8.5 版(Ootpa)| 8 | 5 | 0 | | 雷尔 | 雷尔 | | x86_64 | +------------------------+-------------------- ----------------------+--------+--------+--------+- ------+------------+----------------+------------+----- ---+
要列出 UID 大于1000 的所有用户,请运行以下命令:
从 uid >=1000 的用户中选择 *;
您将获得以下输出:
+--------+--------+------------+------------+------ ---+--------------------+------------+------------ ----+------+ | uid | gid | uid_signed | gid_signed | 用户名 | 说明 | 目录 | 壳 | uuid | +--------+--------+------------+------------+------ ---+--------------------+------------+------------ ----+------+ | 65534 | 65534 | 65534 | 65534 | 没有人 | 内核溢出用户 | / | /sbin/nologin | | +--------+--------+------------+------------+------ ---+--------------------+------------+------------ ----+------+
要列出所有活动的登录用户,请运行以下命令:
从 logged_in_users 中选择用户、tty、主机、时间,其中 tty 不像“~”;
您将获得以下输出:
+--------+--------+------------+------------+ | 用户 | 终端 | 主持人 | 时间 | +--------+--------+------------+------------+ | 登入 | tty1 | | 1662011298 | | 根 | 分/0 | 117.99.59.26 | 1662011331 | +--------+--------+------------+------------+
要检查系统正常运行时间,请运行以下命令:
从正常运行时间中选择 *;
您将获得以下输出:
+------+--------+--------+--------+------------ -+ | 天 | 小时 | 分钟 | 秒| 总秒 | +------+--------+--------+--------+------------ -+ | 0 | 0 | 5 | 57 | 357 | +------+--------+--------+--------+------------ -+
要列出所有网络接口,请运行以下命令:
从 interface_addresses 中选择接口、地址、掩码,其中接口不喜欢 '%lo%';
您将获得以下输出:
+------------+----------------------------+----- ------------------+ | 界面 | 地址 | 面膜 | +------------+----------------------------+----- ------------------+ | eth0 | 208.117.81.163 | 255.255.255.0 | | eth0 | fe80::200:d0ff:fe75:51a3%eth0 | ffff:ffff:ffff:ffff:: | | eth1 | fe80::200:aff:fe75:51a3%eth1 | ffff:ffff:ffff:ffff:: | +------------+----------------------------+----- ------------------+
要启用行模式,请运行以下命令:
.模式线
要检查系统信息并逐行打印输出,请运行以下命令:
从系统信息中选择 *;
您将获得以下输出:
主机名 = oraclelinux8 uuid = 537b369a-6701-4b31-bb3d-5a34d663eb1f cpu_type = x86_64 cpu_subtype = 6 cpu_brand = QEMU 虚拟 CPU 版本 2.5+ cpu_physical_cores = 1 cpu_logical_cores = 1 cpu_microcode = 0x1 物理内存 = 1905364992 硬件供应商 = QEMU hardware_model = 标准 PC (i440FX + PIIX, 1996) hardware_version = pc-i440fx-bionic 硬件_序列号 = board_vendor = board_model = board_version = board_serial = 计算机名 = oraclelinux8 local_hostname = oraclelinux8
您可以使用以下命令退出 Osquery shell:
。出口
第 5 步 – 通过 Systemd 运行 Osquery
要通过 systemd 运行 Osquery,您需要复制 Osquery 配置文件:
cp /opt/osquery/share/osquery/osquery.example.conf /etc/osquery/osquery.conf
接下来,使用以下命令停止 Osquery 守护进程:
osqueryctl 停止
接下来,使用以下命令通过 systemd 启动并启用 Osquery 服务:
systemctl 启动 osqueryd systemctl 启用 osqueryd
要检查 Osquery 的活动状态,请运行以下命令:
系统状态 osqueryd
您将获得以下输出:
● osqueryd.service - osquery 守护进程 已加载:已加载(/usr/lib/systemd/system/osqueryd.service;已禁用;供应商预设:已禁用) 活跃:自美国东部时间周四 2022-09-01 01:57:08 开始活跃(运行);12 秒前 处理:1458 ExecStartPre=/bin/sh -c if [ -f $LOCAL_PIDFILE ]; 然后 mv $LOCAL_PIDFILE $PIDFILE; fi(代码=退出,状态=0/成功) 处理:1456 ExecStartPre=/bin/sh -c if [ ! -f $FLAG_FILE ]; 然后触摸 $FLAG_FILE;fi(代码=退出,状态=0/成功) 主 PID:1459(osqueryd) 任务:14(限制:11409) 内存:7.9M CGroup: /system.slice/osqueryd.service ├─1459 /opt/osquery/bin/osqueryd --flagfile /etc/osquery/osquery.flags --config_path /etc/osquery/osquery.conf └─1462 /opt/osquery/bin/osqueryd
结论
在本文中,我们向您展示了如何在 Oracle Linux 8 上安装 Osquery。我们还解释了如何使用 Osquery 获取系统信息。您现在可以轻松地使用 Osquery 来获取与系统相关的信息。