kamalanathankaviprasath-cyber/project-1-network-security-lab

GitHub: kamalanathankaviprasath-cyber/project-1-network-security-lab

一个基于 pfSense 和 Nmap 的家庭网络安全实验项目,演示从漏洞扫描到 CIS 标准加固的完整企业级网络防护流程。

Stars: 0 | Forks: 0

project1_network_diagram # 🔐 项目 1 — 家庭网络安全实验室与强化 ![Security](https://img.shields.io/badge/Type-Home%20Lab-blue) ![Tools](https://img.shields.io/badge/Tools-pfSense%20%7C%20Nmap%20%7C%20VirtualBox-darkgreen) ![Level](https://img.shields.io/badge/Level-Beginner-green) ![Status](https://img.shields.io/badge/Status-Complete-brightgreen) ## 📋 概述 在 VirtualBox 上使用 pfSense、Ubuntu Server 和 Windows 10 虚拟机构建了一个模拟企业环境的分段虚拟网络。使用 Nmap 进行了全面的安全审计,识别了默认配置中的实际漏洞,并应用了结构化的安全强化控制措施。 本项目演示了: - 网络分段和防火墙配置 - 通过主动扫描识别漏洞 - 使用 CIS benchmark 原则进行安全强化 - 前后证据收集与文档记录 ## 🏗️ 网络架构 Internet (VirtualBox NAT) │ ▼ ┌─────────────────────────┐ │ pfSense Firewall VM │ │ WAN: 10.0.2.15 (DHCP) │ │ LAN: 192.168.1.1/24 │ │ Roles: Firewall, DHCP, │ │ DNS, NAT, Router │ └─────────┬───────────────┘ │ LabNet (Internal Network) │ 192.168.1.0/24 ┌─────┴──────┐ ▼ ▼ ┌────────┐ ┌──────────┐ │ Ubuntu │ │ Windows │ │ Server │ │ 10 VM │ │.100 │ │ .101 │ └────────┘ └──────────┘ ### 本实验室中 pfSense 的角色 本项目记录了 pfSense 在企业级网络中同时扮演的全部五个角色: - 🛡️ **守门员** — 阻挡未经请求流量的边缘防火墙 - 📡 **DHCP server** — 自动为内部 VM 分配 IP - 🔥 **流量过滤器** — 基于接口的允许/阻止规则 - 🌐 **DNS resolver** — 通过 Unbound 进行名称解析(端口 53) - 🔄 **NAT router** — 隐藏私有 IP 的共享 Internet 连接 ## 🛠️ 使用的工具 | 工具 | 版本 | 用途 | |---|---|---| | VirtualBox | 7.x | Hypervisor — 运行所有 VM | | pfSense | 2.6.0 | 防火墙/路由器 VM | | Nmap | 7.94 | 网络扫描和审计 | | Ubuntu Server | 22.04 LTS | 内部服务器 VM / 扫描主机 | | Windows 10 | — | 内部客户端 VM | | draw.io | Web | 网络图表创建 | ## 🔍 安全发现(强化前) 使用的 Nmap 扫描命令: ``` sudo nmap -sV -O -p- 192.168.1.1 -oN before_hardening.txt ``` | 发现 | 严重性 | 端口 | 详情 | |---|---|---|---| | 默认凭证 | 🔴 严重 | N/A | admin/pfsense 公开已知 | | 纯 HTTP 管理员访问 | 🟠 中等 | 80 | 凭证以明文形式发送 | | WAN 上暴露了 IPv6 | 🟡 低 | N/A | 不必要的攻击面 | | OS 指纹置信度 | 🟡 低 | N/A | FreeBSD 识别率为 97% | **强化前的扫描结果:** 参见 [scans/before_hardening.txt](./scans/before_hardening.txt) ![强化前扫描](https://raw.githubusercontent.com/kamalanathankaviprasath-cyber/project-1-network-security-lab/main/Screenshots/before_hardening_scan.png) ## 🔒 应用的强化步骤 ### 步骤 1 — 更改默认凭证 🔴 严重 - 将管理员密码从默认的 `pfsense` 更改 - 这是现实组织中防火墙遭到破坏的最常见原因 - 参考:CIS Benchmark Control 5.2 ### 步骤 2 — 强制仅使用 HTTPS 🟠 中等 - 更改 webConfigurator 协议:HTTP → HTTPS - 端口 80 现在仅提供 301 重定向至 HTTPS - 管理员凭证在传输过程中现在始终处于加密状态 - 参考:CIS Benchmark Control 9.2 ### 步骤 3 — 添加 HTTP 阻止防火墙规则 🟠 中等 - 添加了 LAN 规则:阻止 TCP → 此防火墙 → 端口 80 - 防止 HTTP 传递流量到达管理面板 - 纵深防御:保护同一风险的两个层级 ### 步骤 4 — 禁用 IPv6 🟡 低 - 在 系统 → 高级 → 网络 中禁用了 IPv6 - 从攻击面中移除不必要的协议 - 此前在 WAN 接口上可见 IPv6 地址 ### 步骤 5 — 确认已禁用 SSH 🟡 低 - 验证了在 Admin Access 设置中已禁用 SSH - 不允许对防火墙进行远程命令行访问 - 仅能通过来自 LAN 的 HTTPS Web 仪表板进行管理 ## 📊 结果(强化后) 使用的 Nmap 扫描命令: ``` sudo nmap -sV -O -p- 192.168.1.1 -oN after_hardening.txt ``` | 发现 | 之前 | 之后 | 改进 | |---|---|---|---| | 默认凭证 | 🔴 暴露 | ✅ 已更改 | 消除了严重风险 | | 端口 80 行为 | 🟠 提供明文 HTTP | ✅ 仅 HTTPS 重定向 | 防止了凭证拦截 | | WAN 上的 IPv6 | 🟡 可见 | ✅ 已消除 | 减小了攻击面 | | OS 指纹 | 🟡 97% 置信度 | ✅ 91% 置信度 | 更难被指纹识别 | | SSH 访问 | 已禁用 | 确认已禁用 | 远程访问被阻止 | **强化后的扫描结果:** 参见 [scans/after_hardening.txt](./scans/after_hardening.txt) ![强化后扫描](https://static.pigsec.cn/wp-content/uploads/repos/cas/89/8946fb4f65eac11f143a3fc18b3b536a7303567ac8defb9b40311604febff066.png) ## 📸 证据 | 证据 | 位置 | |---|---| | 强化前的 Nmap 扫描 | [scans/before_hardening.txt](./scans/before_hardening.txt) | | 强化后的 Nmap 扫描 | [scans/after_hardening.txt](./scans/after_hardening.txt) | | LAN 防火墙规则截图 | [Screenshots/Lan.jpg](./Screenshots/Lan.jpg) | | WAN 防火墙规则截图 | [Screenshots/Wan.jpg](./Screenshots/Wan.jpg) | | 之前的 pfSense 仪表板 | [Screenshots/pfsense_dashboard 1.png](./Screenshots/pfsense_dashboard%201.png) | | 之后的 pfSense 仪表板 | [Screenshots/pfsense_dashboard 2.png](./Screenshots/pfsense_dashboard%202.png) | | 防火墙规则文档 | [configs/firewall_rules.md](./configs/firewall_rules.md) | | 已脱敏的 pfSense 配置 | [configs/pfsense-config.xml](./configs/pfsense-config.xml) | ## 📚 关键经验教训 记录了 12 条经验教训,涵盖了在实践中犯下的真实错误和发现的概念。 **亮点:** - 安全工具需要 root 权限才能进行原始数据包访问 - 默认凭证是优先级最高的强化目标 - 端口行为和端口关闭是不同的安全控制措施 - 防火墙规则和本地服务配置保护不同的流量 - 配置文件包含隐藏的秘密 — 发布前务必进行脱敏处理 - 安全强化关乎分层,而不是追求完美 ➡️ 完整文档:[lessons_learned.md](./lessons_learned.md) ## 🎯 展示的技能 网络安全 ████████████████░░░░ 中级 防火墙配置 ████████████████░░░░ 中级 Nmap 扫描 ████████████░░░░░░░░ 基础 Linux 管理 ████████████░░░░░░░░ 基础 安全文档编写 ████████████████░░░░ 中级 风险评估 ████████████░░░░░░░░ 基础 纵深防御 ████████████████░░░░ 中级 **参考标准:** - CIS Benchmarks(强化指南) - NIST 800-53(安全控制框架) - NIST 800-61(事件响应参考) ## 🔜 下一步计划 这是我的网络安全作品集中的 **11 个项目中的第 1 个**。 **项目 2:** 使用 Wazuh 进行 SIEM 部署与日志分析 - 部署 Wazuh SIEM 并连接 Ubuntu/Windows 代理 - 为暴力破解和端口扫描编写自定义检测规则 - 构建警报分类工作流文档 **完整路线图:** [github.com/kamalanathankaviprasath-cyber](https://github.com/kamalanathankaviprasath-cyber) *由 Kamalanathan Kaviprasath 构建* *正从 IT 支持专业人员转型为网络安全专家* *📍 斯里兰卡科伦坡*
标签:CTI, 插件系统, 服务器监控, 系统安全加固, 网络安全, 网络架构, 防火墙, 隐私保护