Osquery 是一种免费的开源工具,允许您获取操作系统信息以进行性能、安全性和合规性审计分析。它可以安装在所有主要操作系统上,如 Linux、FreeBSD、macOS、Windows 系统等。使用 Osquery,您可以获取所有重要的系统信息,包括正在运行的进程、加载的内核模块、活动用户帐户、网络连接等. 系统管理员使用它来解决性能和操作问题。
在本文中,我们将向您展示如何在 Oracle Linux 8 上安装 Osquery。
先决条件
第 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 来获取与系统相关的信息。