galagtek/defend-the-core
GitHub: galagtek/defend-the-core
该项目通过 VLAN 分段、Wazuh SIEM 监控和 NixOS 不可变堡垒机三大支柱,为中小企业提供符合零信任原则的完整安全基础设施加固方案。
Stars: 0 | Forks: 0
# 🏗️ Defend-The-Core — 中小企业安全基础设施加固方案
## 🎯 解决的痛点
在大多数中小企业中,网络通常是“扁平化”的:如果某台终端因网络钓鱼而被攻陷,攻击者就可以进行横向移动,直至蔓延到数据库服务器。本项目通过**三大支柱**来应对这一风险:
1. **区域划分与分段** — 网络被划分为由配置为 *default-deny* 的防火墙隔离的多个 VLAN。被攻陷的终端只能看到其权限范围内的内容。
2. **监控与检测** — SIEM (Wazuh) 对所有机器的日志进行关联分析,并自动作出响应(实时封锁 IP)。
3. **安全管理** — **NixOS bastion** (PAW) 保证了配置的不可变性:杜绝任何配置漂移,攻击者无法实现持久化。
## 🗺️ 网络架构
```
┌─────────────┐
│ Internet │
└──────┬──────┘
│ WAN (NAT VirtualBox)
┌────────┴────────┐
│ OPNsense │ Pare-feu / routeur inter-VLAN
│ (default-deny) │ Règles strictes, NAT, DHCP relay
└──┬─────┬────┬───┘
┌────────────────┘ │ └─────────────────┐
│ │ │
┌─────────┴──────────┐ ┌─────────┴──────────┐ ┌─────────┴──────────┐
│ VLAN 10 │ │ VLAN 20 │ │ VLAN 30 │
│ ZONE BUREAUTIQUE │ │ ZONE DMZ │ │ ZONE CRITIQUE │
│ 10.10.10.0/24 │ │ 10.10.20.0/24 │ │ 10.10.30.0/24 │
│ Non fiable │ │ Publique │ │ Serveurs métier │
│ │ │ │ │ │
│ • Win10 (employé) │ │ • Reverse proxy │ │ • Ubuntu (Web+BDD) │
│ • Kali (attaquant) │ │ • VPN gateway │ │ • Win Server (AD) │
└────────────────────┘ └────────────────────┘ └────────────────────┘
│
┌──────────┴──────────┐
│ VLAN 99 │
│ ZONE ADMIN / SIEM │
│ 10.10.99.0/24 │
│ Très restreint │
│ │
│ • Wazuh (SIEM/XDR) │
│ • Bastion NixOS │
└─────────────────────┘
```
完整的** IP 地址分配规划**和**允许的流量矩阵**位于
[`architecture/`](architecture/) 中。
## 🧩 组件与技术栈
| 虚拟机 | 角色 | 技术 | VLAN |
|----|------|-------------|------|
| **OPNsense** | 防火墙 / VLAN 间路由器 | OPNsense (API + XML) | 所有 |
| **Wazuh** | SIEM / XDR,日志关联,主动响应 | Wazuh + Elastic/Kibana | 99 |
| **Bastion** | PAW,安全管理,不可变 | NixOS (声明式配置) | 99 |
| **Windows Server** | AD, DNS, DHCP | Windows Server 2022 | 30 |
| **Ubuntu Server** | Web 服务器 + 数据库 | Ubuntu 26.04, Nginx, PostgreSQL | 30 |
| **Windows 10** | 员工终端 | Windows 10 + Wazuh 代理 | 10 |
| **Kali Linux** | 模拟攻击者 | Kali + 攻击场景 | 10 |
## 📁 仓库结构
```
defend-the-core/
├── architecture/ # Topologie réseau, plan d'adressage, matrice de flux
├── opnsense/ # Scripts de config du pare-feu (API + XML export)
├── wazuh/ # Installation manager, agents, règles, active response
├── bastion-nixos/ # configuration.nix durci (la star du projet)
├── windows-server/ # AD, DNS, DHCP, durcissement, GPO (PowerShell)
├── ubuntu-server/ # Durcissement CIS, auditd, UFW, SSH clés (shell)
├── windows-client/ # Agent Wazuh + durcissement Win10
├── kali-attacker/ # Scénarios d'attaque reproductibles (démos)
├── docs/ # Documentation PDF (maître + annexes par domaine)
├── demos/ # Scénarios de validation pour l'entretien
└── README.md
```
## 🚀 快速部署
每个子目录都包含其对应的 `README.md` 详细说明。
建议的部署顺序如下:
1. **OPNsense** — 部署防火墙和区域划分 ([`opnsense/`](opnsense/))
2. **Wazuh** — 安装 SIEM ([`wazuh/`](wazuh/))
3. **Bastion NixOS** — 配置 PAW ([`bastion-nixos/`](bastion-nixos/))
4. **业务服务器** — Ubuntu + Windows Server ([`ubuntu-server/`](ubuntu-server/), [`windows-server/`](windows-server/))
5. **客户端终端** — Win10 + Kali ([`windows-client/`](windows-client/), [`kali-attacker/`](kali-attacker/))
## 🎬 演示场景(用于面试展示)
| # | 场景 | 展示内容 |
|---|----------|--------------------|
| 1 | [SIEM 检测](demos/scenario-1-detection.md) | 检测到 SSH 暴力破解 → 通过主动响应自动封锁 IP |
| 2 | [零信任 / 分段](demos/scenario-2-zero-trust.md) | Win10 无法 ping 通 VLAN 30 和 VLAN 99 |
| 3 | [安全管理 (PAW)](demos/scenario-3-paw-nixos.md) | 通过 ProxyJump 进行 SSH:Win → NixOS Bastion → 服务器;不可变性 |
## 🛡️ 合规性与参考标准
- **ANSSI** 建议:区域划分,隔离,最小权限原则
- **CIS Benchmark** 加固 (Ubuntu, Windows Server)
- **零信任**:默认拒绝所有流量,强身份验证 (SSH 密钥 + FIDO2)
- **不可变性**:NixOS 声明式配置,Git 可追溯性
## 📄 文档
完整的文档以 PDF 格式生成在 [`docs/`](docs/) 目录中:
- `00_architecture_maitre.pdf` — 架构总结与方案选型依据
- `01_reseau_opnsense.pdf` — 区域划分,VLAN,防火墙
- `02_securite_wazuh.pdf` — SIEM,检测,主动响应
- `03_durcissement_serveurs.pdf` — Linux & Windows 加固
- `04_admin_bastion_nixos.pdf` — PAW,ProxyJump,NixOS 不可变性
## 📜 许可证
基于 MIT 许可证分发。详见 [`LICENSE`](LICENSE)。
标签:AI合规, NixOS, OPNsense, Wazuh SIEM, 测试用例, 网络安全, 网络架构, 越狱测试, 隐私保护, 零信任架构