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 結果(默認) .nu??llvalue 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 來獲取與系統相關的信息。