kamalanathankaviprasath-cyber/project-1-network-security-lab
GitHub: kamalanathankaviprasath-cyber/project-1-network-security-lab
一个基于 pfSense 和 Nmap 的家庭网络安全实验项目,演示从漏洞扫描到 CIS 标准加固的完整企业级网络防护流程。
Stars: 0 | Forks: 0

# 🔐 项目 1 — 家庭网络安全实验室与强化




## 📋 概述
在 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)

## 🔒 应用的强化步骤
### 步骤 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)

## 📸 证据
| 证据 | 位置 |
|---|---|
| 强化前的 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, 插件系统, 服务器监控, 系统安全加固, 网络安全, 网络架构, 防火墙, 隐私保护