Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
dmz-security-monitoring-hardening — CY376 蓝队项目 — pfSense DMZ、Suricata IDS/IPS 以及针对 CVE-2014-6271 的自动化主机加固 | Kitploit
工具/GitHubGitHub/freeguy-6/dmz-security-monitoring-hardening
防御工具漏洞分析配置审计Web安全网络安全入侵检测学习与教育日志分析
GitHub

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
freeguy-6/dmz-security-monitoring-hardening

dmz-security-monitoring-hardening

CY376 蓝队项目 — pfSense DMZ、Suricata IDS/IPS 以及针对 CVE-2014-6271 的自动化主机加固

查看仓库
121个月前尚未审核

DMZ 安全监控与加固

CY376:网络监控、安全与审计——期末项目 蓝队 | 塔夸矿业技术大学

作者: Kennedy Kumi Holomah 学号: FCM.41.018.148.23 学生 ID: 9013004623

概述

本项目在完全隔离的 VMware Workstation 实验环境中,构建、加固并监控一个非军事区(DMZ),其中托管着一台面向公众的 Ubuntu/Apache Web 服务器,其后端为 pfSense 防火墙。该项目作为塔夸矿业技术大学 CY376(网络监控、安全与审计)课程的蓝队练习而构建,展示了完整的防御生命周期,而非孤立地展示单一控制措施:分段的网络边界、该边界上的内联检测、针对指定 CVE 的真实利用尝试、自动化修复,以及重新验证修复确实填补了漏洞。

该项目刻意将每一层防御与证据配对,而不仅仅是配置截图:Suricata 的检测被展示为实时捕获一次真实的 Shellshock 漏洞利用尝试;同一 payload 在加固后被证明完全失效;以及在此过程中遇到的那些不易察觉的基础设施问题(硬件卸载设置静默阻止数据包捕获、默认 HOME_NET 作用域静默破坏方向性签名、加固脚本自身的权限锁定反而破坏了它本想保护的服务器)都被作为独立发现记录在案,而非删除了事。

  • 检测: Suricata 在 DMZ 接口上以内联模式(IPS 模式)运行,使用 Emerging Threats (ET) Open 规则集,且 HOME_NET 被正确限定到 DMZ 子网,因此源自 LAN 的攻击流量被当作外部流量处理。
  • 利用与验证: 从 Kali 攻击机向 DMZ 主机发起一个真实的、已映射 CVE 的漏洞利用(CVE-2014-6271,即"Shellshock")。Suricata 能够检测到它(SID 2022028),并可通过自定义丢弃规则主动阻止它。
  • 加固: 一个幂等的 Bash 脚本(scripts/dmz_web_hardening.sh)会修补 Bash、禁用 Shellshock 所依赖的 CGI 处理器、将 SSH 限制为仅 LAN 访问、启用主机防火墙(UFW)和 fail2ban,并锁定 Web 根目录权限。
  • 重新验证: 加固后重新运行完全相同的 Shellshock payload,返回的是 HTTP 404 而非执行成功,从而确认漏洞已被封堵。
  • 监控: 在 LAN 上部署 Wazuh 管理器(OVA 设备),用于集中式日志和文件完整性监控,DMZ 代理端注册为进行中的下一步。

完整报告、证据截图和分析:docs/CY376_DMZ_Report_Kennedy_Kumi_Holomah.pdf。

使用的工具

  • VMware Workstation — 隔离的主机专用实验环境(WAN/LAN/DMZ VMnet)
  • pfSense(社区版) — 防火墙、路由、WAN/LAN/DMZ 分段
  • Suricata(pfSense 软件包)— DMZ 接口上的内联 IDS/IPS
  • Emerging Threats (ET) Open 规则集 — 签名覆盖
  • Kali Linux — 攻击机(Nmap、基于 curl 的漏洞利用)
  • Ubuntu Server + Apache — DMZ Web 服务器(目标 / 受保护资产)
  • Wazuh(OVA 设备)— 集中式日志收集和文件完整性监控
  • UFW、fail2ban、unattended-upgrades — DMZ 服务器上的主机级加固

实验拓扑

所有跨网段流量均只经由 pfSense 传输;不存在绕过防火墙的路径。

仓库结构

root@kitploit:~
.
├── README.md
├── .gitignore
├── scripts/
│   └── dmz_web_hardening.sh   # DMZ Web 服务器主机加固脚本
├── docs/
│   └── CY376_DMZ_Report_Kennedy_Kumi_Holomah.pdf   # 完整项目报告
└── evidence/
    └── figure01_lab_topology.png ... figure11_wazuh_dashboard.png
        # 报告中的 11 张带标题截图,编号与
        # docs/CY376_DMZ_Report_*.pdf 中使用的图号一致

使用加固脚本

scripts/dmz_web_hardening.sh 针对 DMZ Ubuntu/Apache 主机。该脚本可安全地重复运行:它接触的每个配置文件都会先被备份(.bak-YYYYmmdd-HHMMSS 后缀),并且所有操作都会记录到 /var/log 下的一个带时间戳的文件中。

root@kitploit:~
# 在 DMZ Web 服务器上执行
sudo bash scripts/dmz_web_hardening.sh

运行之前,请检查脚本顶部的 CONFIG 部分(LAN 子网、HTTP/HTTPS 端口),使其与您自己的拓扑相匹配。

脚本执行的操作:

  1. 更新系统软件包并显式修补 Bash(针对 CVE-2014-6271 的实际修复)。
  2. 加固 SSH(如果存在):禁用 root 登录和密码认证,并将其限制到 LAN 子网。
  3. 配置 UFW:默认拒绝入站流量,开放 HTTP/HTTPS,SSH 仅限 LAN 访问。
  4. 加固 Apache:隐藏版本横幅、禁用目录列表、提示禁用 mod_cgi/mod_cgid(彻底移除 Shellshock 攻击面),并锁定 Web 根目录的所有权/权限。
  5. 安装并配置适用于 SSH 和 Apache 特定 jail 的 fail2ban。
  6. 启用无人值守安全升级。
  7. 清除遗留的高风险服务(telnet、ftp、rsh)(如果存在)。

脚本结束时将打印一份完成摘要,每个步骤的详细信息见报告。

关键结果

已知限制

  • Suricata 的 SID 管理更改(将 SID 2022028 从仅警报转换为主动丢弃)在 pfSense GUI 中执行规则重建后未能持久保存——已记录为未解决问题。
  • 针对 DMZ 主机的 Wazuh 代理注册已发起,但截至撰写本文时尚未确认上报。
  • 检测仅针对一个记录完备的 CVE 进行了验证;ET Open 规则集对新颖/特定应用漏洞的覆盖不在本实验的讨论范围内。

完整讨论请参见报告第 6 节(分析与建议)。

参考资料

  • MITRE ATT&CK T1190 — 利用面向公众的应用程序
  • NVD — CVE-2014-6271
  • pfSense 文档
  • Suricata 用户指南
  • Emerging Threats Open 规则集
  • Wazuh 文档
下载工具
主机角色接口 / VMnetIP 地址
pfSense防火墙 / 路由器WAN (em0)192.168.248.138 (DHCP, NAT)
pfSense防火墙 / 路由器LAN (em2)192.168.20.1/24
pfSense防火墙 / 路由器DMZ (em1)192.168.10.1/24
Kali Linux攻击机VMnet4 (LAN)192.168.20.102
LAN 客户端常规 LAN 主机VMnet4 (LAN)192.168.20.100
DMZ Web 服务器目标 / 受保护资产VMnet3 (DMZ)192.168.10.10
Wazuh 管理器SIEM / 日志平台VMnet4 (LAN)192.168.20.103
测试加固前加固后
Shellshock 漏洞利用尝试Payload 被接受;Suricata 触发警报(SID 2022028)HTTP 404 — CGI 处理器已移除
从 LAN(Kali)SSH可用,无限制可用,限制为 192.168.20.0/24
Web 根目录访问提供默认内容加固期间短暂出现 403,随后恢复
自定义 Suricata 丢弃规则不适用确认命中时主动阻断