如何使用Osquery监控Linux服务器安全

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 服务器后,运行以下命令以使用最新的可用程序包更新您的基本系统。

  1. dnf更新-y

第 2 步 – 在 Oracle Linux 8 上安装 Osquery

默认情况下,Osquery 包不包含在 Oracle Linux 默认存储库中,因此您需要将 Osquery 存储库添加到您的系统中。您可以使用以下命令添加它:

  1. 卷曲-L https :// pkg 查询io / rpm / GPG | tee /etc/pki/rpm-gpg/RPM-GPG-KEY-osquery
  2. dnf 配置管理器 --add-repo https :// pkg 查询io / rpm / osquery - s3 - rpm 回购

接下来,使用以下命令验证添加的 repo:

  1. dnf 回复 | grep osquery

您将获得以下输出:

  1. osquery-s3-rpm-repo 名称=osquery RPM 存储库 - x86_64

接下来,使用以下命令安装 Osquery 包:

  1. dnf --enablerepo osquery-s3-rpm-repo 安装 osquery -y

您可以使用以下命令启动 Osquery 服务:

  1. osqueryctl启动

要停止 Osquery 服务,请运行以下命令:

  1. osqueryctl 停止

第 3 步 – 在独立模式下运行 Osquery/h2>

您可以使用以下命令以独立模式运行 Osquery:

  1. 奥斯奎里

要获取所有命令的列表,请运行以下命令:

  1. 。帮助

您将获得以下输出:

  1. 欢迎使用 osquery shell。请探索您的操作系统!
  2. 您已连接到一个临时的“内存中”虚拟数据库。
  3. .all [TABLE] 从表中选择所有
  4. .bail ON|OFF 遇到错误后停止
  5. .connect PATH 连接到 osquery 扩展套接字
  6. .disconnect 断开连接的扩展套接字
  7. .echo ON|OFF 打开或关闭命令回显
  8. .exit 退出这个程序
  9. .features 列出osquery的特性及其状态
  10. .headers ON|OFF 打开或关闭标题显示
  11. .help 显示这条消息
  12. .mode MODE 设置输出模式,其中 MODE 是以下之一:
  13. csv 逗号分隔值
  14. 左对齐列 请参见 .width
  15. line 每行一个值
  16. 列出由 .separator 字符串分隔的值
  17. 漂亮漂亮打印的 SQL 结果(默认)
  18. .nu​​llvalue STR 使用 STRING 代替 NULL
  19. .print STR... 打印文字字符串
  20. .quit 退出这个程序
  21. .schema [TABLE] 显示 CREATE 语句
  22. .separator STR 更改输出模式使用的分隔符
  23. .socket 显示本地 osquery 扩展套接字路径
  24. .show 显示各种设置的当前值
  25. .summary show meta 命令的别名
  26. .tables [TABLE] 列出表名
  27. .types [SQL] 显示给定查询的 getQueryColumns 结果
  28. .width [NUM1]+ 为“列”模式设置列宽
  29. .timer ON|OFF 打开或关闭 CPU 定时器测量

第 4 步 – 如何使用 Osquery

Osquery 使用一个表来存储所有与系统相关的信息。您可以使用以下命令列出所有表:

  1. .tables

您应该在以下输出中看到所有表的列表:

  1. => acpi_tables
  2. => apparmor_events
  3. => apparmor_profiles
  4. => apt_sources
  5. => arp_cache
  6. => 原子包
  7. => augeas
  8. => authorized_keys
  9. => azure_instance_metadata
  10. => azure_instance_tags
  11. => 块设备
  12. => bpf_process_events
  13. => bpf_socket_events
  14. => carbon_black_info
  15. => 雕刻
  16. =>证书
  17. => chrome_extension_content_scripts
  18. => chrome_extensions
  19. => cpu_info
  20. => cpu_time
  21. => CPUID

要检查操作系统版本,请运行以下命令:

  1. os_version 中选择 *;

您将获得以下输出:

  1. +------------------------+-------------------- ----------------------+--------+--------+--------+- ------+------------+----------------+------------+----- ---+
  2. | 姓名 | 版本 | 专业 | 未成年人 | 补丁| 建造 | 平台 | 类似平台 | 代号 | |
  3. +------------------------+-------------------- ----------------------+--------+--------+--------+- ------+------------+----------------+------------+----- ---+
  4. | 红帽企业 Linux | 红帽企业 Linux 8.5 版(Ootpa)| 8 | 5 | 0 | | 雷尔 | 雷尔 | | x86_64 |
  5. +------------------------+-------------------- ----------------------+--------+--------+--------+- ------+------------+----------------+------------+----- ---+

要列出 UID 大于1000 的所有用户,请运行以下命令:

  1. uid >=1000 的用户中选择 *;

您将获得以下输出:

  1. +--------+--------+------------+------------+------ ---+--------------------+------------+------------ ----+------+
  2. | uid | gid | uid_signed | gid_signed | 用户名 | 说明 | 目录 | | uuid |
  3. +--------+--------+------------+------------+------ ---+--------------------+------------+------------ ----+------+
  4. | 65534 | 65534 | 65534 | 65534 | 没有人 | 内核溢出用户 | / | /sbin/nologin | |
  5. +--------+--------+------------+------------+------ ---+--------------------+------------+------------ ----+------+

要列出所有活动的登录用户,请运行以下命令:

  1. logged_in_users 中选择用户、tty、主机、时间,其中 tty 不像“~”;

您将获得以下输出:

  1. +--------+--------+------------+------------+
  2. | 用户 | 终端 | 主持人 | 时间 |
  3. +--------+--------+------------+------------+
  4. | 登入 | tty1 | | 1662011298 |
  5. | | 分/0 | 117.99.59.26 | 1662011331 |
  6. +--------+--------+------------+------------+

要检查系统正常运行时间,请运行以下命令:

  1. 从正常运行时间中选择 *;

您将获得以下输出:

  1. +------+--------+--------+--------+------------ -+
  2. | | 小时 | 分钟 | 秒| 总秒 |
  3. +------+--------+--------+--------+------------ -+
  4. | 0 | 0 | 5 | 57 | 357 |
  5. +------+--------+--------+--------+------------ -+

要列出所有网络接口,请运行以下命令:

  1. interface_addresses 中选择接口、地址、掩码,其中接口不喜欢 '%lo%'

您将获得以下输出:

  1. +------------+----------------------------+----- ------------------+
  2. | 界面 | 地址 | 面膜 |
  3. +------------+----------------------------+----- ------------------+
  4. | eth0 | 208.117.81.163 | 255.255.255.0 |
  5. | eth0 | fe80::200:d0ff:fe75:51a3%eth0 | ffff:ffff:ffff:ffff:: |
  6. | eth1 | fe80::200:aff:fe75:51a3%eth1 | ffff:ffff:ffff:ffff:: |
  7. +------------+----------------------------+----- ------------------+

要启用行模式,请运行以下命令:

  1. .模式线

要检查系统信息并逐行打印输出,请运行以下命令:

  1. 从系统信息中选择 *;

您将获得以下输出:

  1. 主机名 = oraclelinux8
  2. uuid = 537b369a-6701-4b31-bb3d-5a34d663eb1f
  3. cpu_type = x86_64
  4. cpu_subtype = 6
  5. cpu_brand = QEMU 虚拟 CPU 版本 2.5+
  6. cpu_physical_cores = 1
  7. cpu_logical_cores = 1
  8. cpu_microcode = 0x1
  9. 物理内存 = 1905364992
  10. 硬件供应商 = QEMU
  11. hardware_model = 标准 PC (i440FX + PIIX, 1996)
  12. hardware_version = pc-i440fx-bionic
  13. 硬件_序列号 =
  14. board_vendor =
  15. board_model =
  16. board_version =
  17. board_serial =
  18. 计算机名 = oraclelinux8
  19. local_hostname = oraclelinux8

您可以使用以下命令退出 Osquery shell:

  1. 。出口

第 5 步 – 通过 Systemd 运行 Osquery

要通过 systemd 运行 Osquery,您需要复制 Osquery 配置文件:

  1. cp /opt/osquery/share/osquery/osquery.example.conf /etc/osquery/osquery.conf

接下来,使用以下命令停止 Osquery 守护进程:

  1. osqueryctl 停止

接下来,使用以下命令通过 systemd 启动并启用 Osquery 服务:

  1. systemctl 启动 osqueryd
  2. systemctl 启用 osqueryd

要检查 Osquery 的活动状态,请运行以下命令:

  1. 系统状态 osqueryd

您将获得以下输出:

  1. osqueryd.service - osquery 守护进程
  2. 已加载:已加载(/usr/lib/systemd/system/osqueryd.service;已禁用;供应商预设:已禁用)
  3. 活跃:自美国东部时间周四 2022-09-01 01:57:08 开始活跃(运行);12 秒前
  4. 处理:1458 ExecStartPre=/bin/sh -c if [ -f $LOCAL_PIDFILE ]; 然后 mv $LOCAL_PIDFILE $PIDFILE; fi(代码=退出,状态=0/成功)
  5. 处理:1456 ExecStartPre=/bin/sh -c if [ ! -f $FLAG_FILE ]; 然后触摸 $​​FLAG_FILEfi(代码=退出,状态=0/成功)
  6. PID1459osqueryd
  7. 任务:14(限制:11409
  8. 内存:7.9M
  9. CGroup: /system.slice/osqueryd.service
  10. ├─1459 /opt/osquery/bin/osqueryd --flagfile /etc/osquery/osquery.flags --config_path /etc/osquery/osquery.conf
  11. └─1462 /opt/osquery/bin/osqueryd

结论

在本文中,我们向您展示了如何在 Oracle Linux 8 上安装 Osquery。我们还解释了如何使用 Osquery 获取系统信息。您现在可以轻松地使用 Osquery 来获取与系统相关的信息。

文章链接: https://www.mfisp.com/18968.html

文章标题:如何使用Osquery监控Linux服务器安全

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    IDC云库

    HIPAA网络安全要求:实用指南

    2023-3-28 10:19:32

    服务器vps推荐

    了解裸机服务器和专用云主机以及专用服务器有何不同

    2023-3-28 10:39:53

    0 条回复 A文章作者 M管理员
    如果喜欢,请评论一下~
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索

    梦飞科技 - 最新云主机促销服务器租用优惠

    可以介绍下你们的服务器产品么

    云服务器你们是怎么收费的呢

    租用vps现在有优惠活动吗