公开文集
0x01 SRC 资产管理系统
0x02 Web 漏洞案例库
0x03 小程序漏洞案例库
第一章:小程序渗透基础
1.1 微信小程序反编译与动态调试
1.2 微信小程序强制开启开发者模式
0x99 信息安全学习体系
01-网络安全基础
Day-001-TCP-IP协议栈安全分析
Day-002-DNS协议安全与DNS劫持攻防
Day-003-IPv6 安全基础与过渡
Day-004-HTTP-HTTPS协议深度解析
Day-005-网络嗅探与流量分析技术
Day-006-防火墙原理与配置实践
Day-007-网络地址转换 NAT 安全分析
Day-008-路由协议安全 RIP-OSPF-BGP
Day-009-VLAN 安全与 VLAN-Hopping
Day-010-无线网络基础与安全 802.11
Day-011-网络访问控制 802.1X-NAC
Day-012-网络分段与微隔离设计
Day-013-负载均衡器安全配置
Day-014-CDN安全与防护
Day-015-NTP安全
Day-016-DHCP安全与攻击防护
Day-017-ICMP协议安全分析
Day-018-网络协议模糊测试基础
Day-019-网络流量基线建立
Day-020-网络取证基础
Day-021-网络入侵检测系统 NIDS
Day-022-网络入侵防御系统 NIPS
Day-023-网络流量加密与解密
Day-024-网络协议逆向工程基础
Day-025-网络性能与安全权衡
Day-026-SDN 安全
Day-027-网络虚拟化安全
Day-028-网络欺骗技术
Day-029-网络威胁情报应用
Day-030-网络容量规划与安全
Day-031-网络安全架构设计实战
02-Web 安全
Day-032-OWASP-Top-10-2021详解
Day-033-SQL 注入原理与手工检测
Day-034-SQL注入进阶报错注入与盲注
Day-035-XSS跨站脚本攻击基础
Day-036-XSS 进阶绕过与利用
Day-037-XSS进阶绕过与利用
Day-038-CSRF 跨站请求伪造
Day-039-文件上传漏洞
Day-040-反序列化漏洞基础
Day-041-PHP反序列化深入
Day-042-Java反序列化深入
Day-043-SSTI 服务端模板注入
Day-044-文件包含漏洞 LFI-RFI
Day-045-命令注入漏洞
Day-046-XXE-XML 外部实体注入
Day-047-反序列化漏洞进阶
Day-048-API 安全基础
Day-049-API认证与授权安全
Day-050-API漏洞挖掘实战
Day-051-文件上传漏洞进阶
Day-052-反序列化漏洞实战
Day-053-Web 安全综合实战
Day-054-移动安全基础
Day-055-Android 应用安全测试
Day-056-iOS 应用安全测试
Day-057-移动应用综合实战
Day-058-云安全基础
Day-059-AWS 安全实战
Day-060-Azure 安全实战
Day-061-GCP 安全实战
Day-062-云安全综合实战
Day-063-容器安全基础
Day-064-Docker 安全实战
Day-065-Kubernetes 安全实战
Day-066-容器安全综合实战
Day-067-API 安全进阶
Day-068-服务端请求伪造 SSRF 深入
Day-069-文件上传漏洞进阶
Day-070-反序列化漏洞实战进阶
Day-071-业务逻辑漏洞深入
Day-072-前端安全深入
Day-073-Web 安全综合实战
Day-074-云安全进阶
Day-075-移动安全进阶
Day-076-API 安全进阶
Day-077-前端安全进阶
Day-078-业务逻辑漏洞进阶
Day-079-反序列化漏洞实战进阶
Day-080-文件上传漏洞实战进阶
Day-081-SSTI 服务端模板注入进阶
Day-082-XXE-XML 外部实体注入进阶
Day-083-SSRF 服务端请求伪造进阶
Day-084-命令注入漏洞进阶
Day-085-文件包含漏洞进阶
Day-086-反序列化漏洞实战进阶
Day-087-文件上传漏洞实战进阶
Day-088-SSTI 服务端模板注入实战进阶
Day-089-XXE-XML 外部实体注入实战进阶
Day-090-SSRF 服务端请求伪造实战进阶
Day-091-命令注入漏洞实战进阶
Day-092-Web 安全综合实战
Day-093-GraphQL 安全
Day-094-JWT 与 OAuth2 安全
03-系统安全
Day-095-系统监控与检测
Day-096-主机防火墙配置
Day-097-系统审计与合规
Day-098-Linux 系统安全进阶
Day-099-Windows 系统安全进阶
Day-100-容器安全进阶
Day-101-容器编排安全进阶
Day-102-Linux 内核安全
Day-103-Windows 内核安全
Day-104-系统安全总结与实战
Day-105-Linux 系统安全基础
Day-106-Windows 系统安全基础
Day-107-容器安全基础
Day-108-系统加固技术
Day-109-日志分析技术
Day-110-威胁狩猎技术
04-应用安全
Day-111-安全编码规范
Day-112-输入验证技术
Day-113-输出编码技术
Day-114-错误处理安全
Day-115-会话管理安全
Day-116-认证安全
Day-117-授权安全
Day-118-数据保护安全
Day-119-日志安全
Day-120-API 安全
Day-121-微服务安全
Day-122-新兴技术安全概论
Day-123-DevSecOps 流水线安全
Day-124-云原生安全架构
Day-125-API 安全最佳实践
Day-126-安全编码规范
Day-127-SDL 安全开发生命周期
Day-128-威胁建模实战
Day-129-安全需求分析
Day-130-安全架构设计
Day-131-安全编码实践Java
Day-132-安全编码实践Python
Day-133-代码审计方法论
Day-134-静态代码分析SAST
Day-135-动态应用测试DAST
Day-136-交互式测试IAST
Day-137-软件成分分析SCA
Day-138-依赖漏洞管理
Day-139-安全测试自动化
Day-140-漏洞管理与响应
Day-141-应用安全总结与展望
Day-142-OWASP-Top10-2024 详解
Day-143-CWE-Top25 分析
Day-144-漏洞挖掘方法论
Day-145-模糊测试技术
Day-146-逆向工程基础
Day-147-漏洞利用开发基础
Day-148-漏洞复现与验证
Day-149-漏洞披露流程
Day-150-CVE 申请与管理
Day-151-漏洞赏金计划
Day-152-等保2.0详解
Day-153-GDPR 合规实践
Day-154-数据安全法解读
Day-155-个人信息保护法与合规指南
Day-156-个人信息保护法解读
Day-157-ISO-27001 信息安全管理体系
Day-158-SOC-2 合规与审计
Day-159-PCI-DSS 支付卡行业数据安全标准
Day-160-网络安全审查办法解读
Day-161-数据出境安全评估办法
Day-162-应用安全评估实战
Day-163-红蓝对抗演练
Day-164-安全应急响应
Day-165-安全运营中心建设
Day-166-应用安全总结与展望
05-密码学
Day-167-密码学基础
Day-168-对称加密算法详解
Day-169-非对称加密算法详解
Day-170-哈希函数与数字签名
Day-171-密钥管理与PKI
Day-172-TLS-SSL 协议详解
Day-173-国密算法详解
Day-174-认证与密钥协议
Day-175-随机数生成与熵源
Day-176-椭圆曲线密码学详解
Day-177-后量子密码学详解
Day-178-高级密码学主题
Day-179-密码学行业应用精选
Day-180-常用加密算法原理与实现
Day-181-密码学总结与展望
Day-182-密码学系列总结与展望
06-渗透测试
Day-183-渗透测试方法论
Day-184-信息收集技术详解
Day-185-漏洞扫描技术详解
Day-186-漏洞利用技术详解
Day-187-渗透测试中的漏洞利用框架
Day-188-漏洞利用框架与 Metasploit 深入
Day-189-渗透测试中的 WAF 绕过技术
Day-190-渗透测试中的模糊测试技术
Day-191-渗透测试中的代码审计与静态分析
Day-192-渗透测试中的密码哈希破解技术
Day-193-渗透测试报告编写指南
Day-194-Web 应用渗透测试
Day-195-渗透测试中的 API 安全测试
Day-196-渗透测试中的 GraphQL 安全测试
Day-197-渗透测试中的前后端分离应用测试
Day-198-渗透测试中的小程序安全测试
Day-199-渗透测试中的浏览器安全测试
Day-200-OAuth-SSO安全测试
Day-201-渗透测试中的业务逻辑漏洞测试
Day-202-渗透测试中的厚客户端安全测试
Day-203-渗透测试综合实战演练
Day-204-内网渗透技术详解
Day-205-渗透测试中的内网信息收集进阶
Day-206-渗透测试中的域森林渗透技术
Day-207-渗透测试中的权限维持技术
Day-208-渗透测试中的横向移动技术
Day-209-渗透测试中的痕迹清理与反取证技术
Day-210-渗透测试中的数据窃取与 Exfiltration 技术
Day-211-渗透测试中的内部威胁与数据泄露测试
Day-212-渗透测试中的物理安全渗透
Day-213-社会工程学攻击技术
Day-214-移动应用渗透测试
Day-215-云安全渗透测试
Day-216-渗透测试中的容器与 Kubernetes 安全渗透
Day-217-渗透测试中的 Serverless 安全测试
Day-218-渗透测试中的微服务安全测试
Day-219-物联网安全渗透测试
Day-220-工业控制系统安全渗透测试
Day-221-无线网络安全渗透测试
Day-222-数据库安全渗透测试
Day-223-渗透测试中的供应链安全测试
Day-224-红队演练技术详解
Day-225-渗透测试中的红队基础设施搭建
Day-226-渗透测试中的威胁情报与狩猎
Day-227-渗透测试中的综合指纹识别技术
Day-228-自动化渗透测试技术
Day-229-渗透测试中的运维安全测试
Day-230-渗透测试中的区块链与智能合约安全测试
Day-231-渗透测试中的漏洞管理与修复验证
Day-232-渗透测试法律与合规
Day-233-后渗透攻击技术详解
Day-234-渗透测试中的人工智能应用
Day-235-漏洞利用开发深入
Day-236-云原生渗透测试深入
07-应急响应
Day-237-应急响应概述与核心概念
Day-238-应急响应流程框架
Day-239-CSIRT 团队组建与职责分工
Day-240-应急响应工具包准备
Day-241-应急响应法律与合规要求
Day-242-安全事件检测方法与指标
Day-243-云原生应急响应
Day-244-日志收集与分析技术
Day-245-网络流量分析与异常识别
Day-246-自动化响应与 SOAR
Day-247-端点监控与 EDR 技术
Day-248-威胁狩猎方法论
Day-249-威胁情报在检测中的应用
Day-250-数字取证基础与证据链管理
Day-251-内存取证技术
Day-252-磁盘取证与文件恢复
Day-253-网络取证与数据包分析
Day-254-云环境与容器取证
Day-255-恶意代码静态分析技术
Day-256-恶意代码动态分析技术
Day-257-恶意代码行为分析方法
Day-258-逆向工程基础与工具
Day-259-沙箱技术与自动化分析
Day-260-事件隔离与遏制策略
Day-261-威胁根除与系统修复
Day-262-系统恢复与数据重建
Day-263-业务连续性计划
Day-264-事件复盘与经验总结
Day-265-APT 攻击事件复盘分析
Day-266-勒索软件事件响应实战
Day-267-数据泄露事件处置流程
Day-268-内部威胁调查与取证
Day-269-综合应急响应演练
08-安全运维
Day-270-安全运营中心 SOC 概述
Day-271-安全监控指标体系
Day-272-安全告警管理
Day-273-安全可视化与仪表盘
Day-274-监控工具选型
Day-275-日志采集技术
Day-276-日志标准化与解析
Day-277-日志存储与归档
Day-278-日志分析技术
Day-279-日志合规要求
Day-280-SIEM 架构与设计
Day-281-关联规则引擎
Day-282-高级关联分析
Day-283-UEBA 用户实体行为分析
Day-284-威胁狩猎
Day-285-SOAR 基础概念
Day-286-剧本设计
Day-287-自动化响应技术
Day-288-安全工具集成
Day-289-SOAR 度量与优化
Day-290-安全基线管理
Day-291-漏洞管理流程
Day-292-补丁管理策略
Day-293-变更安全管理
Day-294-合规审计技术
Day-295-7x24 安全运营
Day-296-安全事件管理流程
Day-297-安全运营度量体系
Day-298-持续改进机制
Day-299-安全运维综合演练
Day-300-云原生安全运营
Day-301-AI 与机器学习安全运营
Day-302-安全自动化脚本实战
09-移动安全
Day-303-移动安全威胁概述
Day-304-移动设备安全架构
Day-305-移动操作系统安全模型
Day-306-移动应用权限管理
Day-307-移动端数据加密
Day-308-330-Android 安全合集
Day-309-Android 安全架构
Day-310-Android 组件安全
Day-311-Android 权限与隐私
Day-312-Android 逆向工程
Day-313-Android 应用加固
Day-314-iOS 安全架构
Day-315-iOS 应用沙盒机制
Day-316-越狱与反越狱
Day-317-iOS 逆向工程
Day-318-iOS 企业分发安全
Day-319-移动安全开发生命周期
Day-320-移动应用安全测试
Day-321-移动应用加固技术
Day-322-移动威胁防护
Day-323-移动安全合规
10-云安全
Day-324-云计算安全模型
Day-325-责任共担模型
Day-326-云安全威胁模型
Day-327-云安全合规框架
Day-328-云安全架构设计
Day-329-AWS IAM 安全
Day-330-AWS 网络安全
Day-331-AWS 存储安全
Day-332-AWS 安全监控
Day-333-AWS 安全最佳实践
Day-334-Azure AD 安全
Day-335-Azure 网络安全
Day-336-Azure 存储安全
Day-337-Azure 安全中心
Day-338-Azure 安全最佳实践
Day-339-容器安全基础
Day-340-Kubernetes 安全
Day-341-Serverless 安全
Day-342-云原生 DevSecOps
Day-343-云安全态势管理 CSPM
11-物联网工控
Day-344-物联网安全概述
Day-345-IoT 通信协议安全
Day-346-IoT 设备安全
Day-347-IoT 平台安全
Day-348-IoT 应用安全
Day-349-工业控制系统概述
Day-350-工控协议安全
Day-351-PLC 安全
Day-352-SCADA 系统安全
Day-353-工控安全防护
12-综合与总结
Day-354-安全职业发展路径
Day-355-安全技术趋势展望
Day-356-安全建设方法论
Day-357-经典攻防案例复盘
Day-358-安全学习资源指南
Day-359-信息安全行业求职指南
-
+
首页
Day-012-网络分段与微隔离设计
# Day 11: 网络分段与微隔离设计 > 网络安全系列第 11 天 | 预计阅读时间:30 分钟 | 难度:★★★★☆ --- ## 清单 目录 1. [引言](#引言) 2. [网络分段基础](#网络分段基础) 3. [传统分段技术](#传统分段技术) 4. [微隔离架构](#微隔离架构) 5. [零信任网络](#零信任网络) 6. [实验环境搭建](#实验环境搭建) 7. [实战演练](#实战演练) 8. [防护策略](#防护策略) 9. [总结与思考](#总结与思考) 10. [参考资料](#参考资料) --- ## 引言 ### 为什么需要网络分段 2024 年 Verizon 数据泄露调查报告显示,**78%** 的数据泄露涉及内部网络横向移动。攻击者一旦突破边界防御,如果没有有效的网络分段,就可以长驱直入访问核心资产。 **真实案例**: - **Target 数据泄露**(2013):攻击者通过 HVAC 供应商网络进入,横向移动到 POS 系统,窃取 4000 万信用卡数据 - **Equifax 泄露**(2017):Web 应用漏洞后,攻击者横向移动到多个数据库,泄露 1.47 亿人信息 - **SolarWinds 攻击**(2020):供应链攻击后,攻击者在受害网络内自由移动数月 **网络分段的价值**: - **限制攻击范围**:将泄露控制在单个区域 - **阻止横向移动**:增加攻击者难度和成本 - 统计 **简化合规**:满足 PCI DSS、HIPAA 等要求 - **改善监控**:区域边界便于异常检测 ### 分段演进历程 ``` 1990s: 物理隔离 独立网络设备、物理分离 优点:完全隔离 缺点:成本高、灵活性差 2000s: VLAN 逻辑分段 802.1Q 标签、交换机 VLAN 优点:成本降低、灵活配置 缺点:配置复杂、仍依赖边界 2010s: 微隔离 工作负载级隔离、策略跟随 优点:细粒度、动态适应 缺点:管理复杂、需要新工具 2020s: 零信任架构 身份为中心、持续验证 优点:最细粒度、适应云环境 缺点:实施复杂、文化转变 ``` --- ## 网络分段基础 ### 安全区域划分 典型的 enterprise 网络应划分为以下安全区域: ``` ┌─────────────────────────────────────────────────────┐ │ 互联网区域 │ │ (不可信,威胁来源) │ └─────────────────────┬───────────────────────────────┘ │ ┌────────▼────────┐ │ 边界防火墙 │ │ (第一道防线) │ └────────┬────────┘ │ ┌─────────────────────▼───────────────────────────────┐ │ DMZ 区域 │ │ (半可信,公共服务) │ │ Web 服务器 │ 邮件服务器 │ DNS 服务器 │ CDN 节点 │ └─────────────────────┬───────────────────────────────┘ │ ┌────────▼────────┐ │ 内部防火墙 │ │ (第二道防线) │ └────────┬────────┘ │ ┌─────────────────────▼───────────────────────────────┐ │ 内网区域 │ │ (可信,办公网络) │ │ 办公电脑 │ 打印机 │ 会议室设备 │ WiFi 接入点 │ └─────────────────────┬───────────────────────────────┘ │ ┌────────▼────────┐ │ 核心防火墙 │ │ (最后一道防线) │ └────────┬────────┘ │ ┌─────────────────────▼───────────────────────────────┐ │ 核心区域 │ │ (高可信,关键资产) │ │ 数据库 │ 备份系统 │ 管理系统 │ 密钥管理系统 │ └─────────────────────────────────────────────────────┘ ``` ### 访问控制矩阵 区域间访问控制应遵循**最小权限原则**: | 源区域 → 目标区域 | 互联网 | DMZ | 内网 | 核心 | |------------------|--------|-----|------|------| | **互联网** | - | ✓ (80,443) | ✗ | ✗ | | **DMZ** | ✓ (响应) | - | ✗ | ✗ | | **内网** | ✓ (代理) | ✓ (管理) | - | ✓ (特定服务) | | **核心** | ✗ | ✗ | ✓ (响应) | - | **图例**: - ✓ 允许(特定端口/协议) - ✗ 默认拒绝 - - 不适用 ### 流量流向分析 ``` 正常业务流量: 互联网 → DMZ(Web) → 内网 (无) → 核心 (数据库查询) 管理流量: 内网 (管理终端) → DMZ (SSH/RDP) → 核心 (管理接口) 异常流量(需告警): DMZ → 内网 (直接访问) 内网 → 互联网 (非常用端口) 核心 → 互联网 (任何流量) ``` --- ## 传统分段技术 ### VLAN 分段实现 VLAN(Virtual LAN)是最常用的网络分段技术,通过 802.1Q 标签实现逻辑隔离。 #### Cisco 交换机配置示例 ```bash ! 创建 VLAN vlan 10 name DMZ-Web vlan 20 name Internal-Office vlan 30 name Core-Database vlan 99 name Management ! 配置 Access 端口(连接终端) interface GigabitEthernet1/0/1 description DMZ-Web-Server-01 switchport mode access switchport access vlan 10 switchport port-security switchport port-security maximum 2 spanning-tree portfast spanning-tree bpduguard enable ! 配置 Trunk 端口(交换机互联) interface GigabitEthernet1/0/48 description Uplink-to-Core-Switch switchport mode trunk switchport trunk native vlan 99 switchport trunk allowed vlan 10,20,30,99 ! 配置 SVI(VLAN 接口,用于路由) interface Vlan10 description DMZ Gateway ip address 10.0.1.1 255.255.255.0 ip access-group DMZ-IN in ip access-group DMZ-OUT out interface Vlan20 description Internal Gateway ip address 192.168.1.1 255.255.255.0 interface Vlan30 description Core Gateway ip address 172.16.0.1 255.255.0.0 ``` #### VLAN 间路由控制 ```bash ! 配置 ACL 控制 VLAN 间访问 ip access-list extended DMZ-IN ! 允许 HTTP/HTTPS 从互联网进入(已通过边界防火墙) ! 允许 DMZ 访问核心数据库特定端口 permit tcp host 10.0.1.10 host 172.16.0.100 eq 3306 permit tcp host 10.0.1.10 host 172.16.0.100 eq 5432 ! 拒绝访问内网 deny ip any 192.168.0.0 0.0.255.255 ! 允许响应流量 permit tcp any any established ! 默认拒绝 deny ip any any log ip access-list extended DMZ-OUT ! 允许响应互联网请求 permit tcp any any established ! 拒绝主动发起连接到互联网 deny ip any any log ``` ### 防火墙分段 #### 多区域防火墙配置(pfSense) ``` 网络拓扑: WAN (eth0) → 互联网 LAN (eth1) → 内网 192.168.1.0/24 DMZ (eth2) → DMZ 10.0.1.0/24 CORE (eth3) → 核心 172.16.0.0/16 ``` **防火墙规则配置**: ```bash # DMZ 区域规则 # 允许互联网访问 Web 服务 pass in on dmz inet proto tcp from any to (dmz) port {80, 443} keep state # 允许 DMZ 访问核心数据库(特定服务器) pass in on dmz inet proto tcp from 10.0.1.10 to 172.16.0.100 port 3306 keep state # 拒绝 DMZ 访问内网 block in log on dmz inet from 10.0.0.0/8 to 192.168.0.0/16 # 内网区域规则 # 允许内网访问互联网(通过代理) pass out on wan inet proto tcp from 192.168.1.0/24 to any port {80, 443} keep state # 允许内网管理 DMZ pass in on lan inet proto tcp from 192.168.1.0/24 to 10.0.1.0/24 port {22, 3389} keep state # 核心区域规则 # 仅允许特定访问 pass in on core inet proto tcp from 10.0.1.10 to 172.16.0.0/16 port {3306, 5432} keep state pass in on core inet proto tcp from 192.168.1.50 to 172.16.0.0/16 port {22, 443} keep state block in log on core inet from any to 172.16.0.0/16 ``` ### 路由分段 #### OSPF 区域划分 ```bash # Cisco OSPF 配置 router ospf 1 router-id 1.1.1.1 # 区域 0 - 骨干区域(核心) network 172.16.0.0 0.0.255.255 area 0 # 区域 1 - 内网区域 network 192.168.0.0 0.0.255.255 area 1 # 区域 2 - DMZ 区域 network 10.0.0.0 0.255.255.255 area 2 # 区域间路由过滤 area 1 filter-list prefix INTERNAL-FILTER in area 2 filter-list prefix DMZ-FILTER in # 前缀列表定义 ip prefix-list INTERNAL-FILTER seq 5 permit 192.168.0.0/16 le 24 ip prefix-list INTERNAL-FILTER seq 10 deny 0.0.0.0/0 le 32 ip prefix-list DMZ-FILTER seq 5 permit 10.0.1.0/24 ip prefix-list DMZ-FILTER seq 10 deny 0.0.0.0/0 le 32 ``` --- ## 微隔离架构 ### 微隔离 vs 传统分段 | 特性 | 传统分段 | 微隔离 | |------|----------|--------| | 隔离粒度 | 网络/子网 | 工作负载/应用 | | 策略依据 | IP/端口 | 应用/身份/标签 | | 拓扑依赖 | 强依赖 | 独立于拓扑 | | 策略位置 | 网络边界 | 工作负载附近 | | 云适配性 | 低 | 高 | | 动态适应 | 手动 | 自动跟随 | ### 容器环境微隔离(Kubernetes) #### NetworkPolicy 详解 ```yaml # 默认拒绝所有流量(零信任起点) apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: default-deny-all namespace: production spec: podSelector: {} policyTypes: - Ingress - Egress --- # API 服务隔离策略 apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: api-policy namespace: production spec: podSelector: matchLabels: app: api tier: backend policyTypes: - Ingress - Egress ingress: # 仅允许前端访问 - from: - podSelector: matchLabels: app: frontend - namespaceSelector: matchLabels: name: production podSelector: matchLabels: app: nginx-ingress ports: - protocol: TCP port: 8080 egress: # 仅允许访问数据库 - to: - podSelector: matchLabels: app: postgresql ports: - protocol: TCP port: 5432 # 允许 DNS 解析 - to: - namespaceSelector: {} podSelector: matchLabels: k8s-app: kube-dns ports: - protocol: UDP port: 53 --- # 数据库严格隔离 apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: database-policy namespace: production spec: podSelector: matchLabels: app: postgresql policyTypes: - Ingress ingress: # 仅允许 API 服务访问 - from: - podSelector: matchLabels: app: api ports: - protocol: TCP port: 5432 # 仅允许备份任务访问 - from: - podSelector: matchLabels: app: backup-job ports: - protocol: TCP port: 5432 egress: # 数据库不允许主动出站(除 DNS) - to: - namespaceSelector: {} podSelector: matchLabels: k8s-app: kube-dns ports: - protocol: UDP port: 53 ``` #### Calico 高级策略 ```yaml # Calico GlobalNetworkPolicy apiVersion: crd.projectcalico.org/v1 kind: GlobalNetworkPolicy metadata: name: production-isolation spec: selector: namespace == "production" types: - Ingress - Egress ingress: # 允许监控命名空间访问 - action: Allow source: namespaceSelector: name == "monitoring" protocol: TCP destination: ports: - 9090 # Prometheus - 3000 # Grafana egress: # 允许访问外部 API - action: Allow protocol: TCP destination: nets: - 0.0.0.0/0 ports: - 443 # 拒绝访问内部网络 - action: Deny protocol: TCP destination: nets: - 192.168.0.0/16 - 172.16.0.0/16 - 10.0.0.0/8 ``` --- ## 零信任网络 ### 零信任核心原则 1. **从不信任,始终验证** - 不信任网络位置 - 不信任内部用户 - 每次访问都验证 2. **最小权限访问** - 仅授予必要权限 - 基于上下文动态调整 - 定期审查权限 3. **假设已遭入侵** - 限制爆炸半径 - 持续监控异常 - 快速响应隔离 ### 零信任架构组件 ``` ┌─────────────────────────────────────────────────────┐ │ 策略决策点 (PDP) │ │ ┌───────────┬───────────┬───────────┬───────────┐ │ │ │ 身份引擎 │ 设备健康 │ 行为分析 │ 风险评估 │ │ │ └───────────┴───────────┴───────────┴───────────┘ │ └─────────────────────┬───────────────────────────────┘ │ 策略决策 (Permit/Deny) ┌────────────▼────────────┐ │ 策略执行点 (PEP) │ │ (网关/代理/防火墙/EDR) │ └────────────┬────────────┘ │ 强制执行 ┌─────────────────┼─────────────────┐ │ │ │ ┌───▼───┐ ┌────▼────┐ ┌───▼───┐ │ 应用 │ │ 数据 │ │ 网络 │ │ 访问 │ │ 访问 │ │ 访问 │ └───────┘ └─────────┘ └───────┘ ``` ### 实施路线图 ``` 阶段 1 (1-3 月): 身份与访问管理 ✓ 部署多因素认证 (MFA) ✓ 实施单点登录 (SSO) ✓ 特权访问管理 (PAM) ✓ 用户行为基线建立 阶段 2 (3-6 月): 设备安全 ✓ 设备清单管理 ✓ 设备健康检查 ✓ 移动设备管理 (MDM) ✓ 合规性验证 阶段 3 (6-12 月): 网络分段 ✓ 关键资产识别 ✓ 微隔离部署 ✓ 东西向流量控制 ✓ 加密通信实施 阶段 4 (12-18 月): 工作负载保护 ✓ 应用安全加固 ✓ 数据分类保护 ✓ 端点检测响应 (EDR) ✓ 持续监控 阶段 5 (18-24 月): 自动化响应 ✓ 威胁检测自动化 ✓ 策略动态调整 ✓ 自动隔离响应 ✓ 持续改进优化 ``` --- ## 实验环境搭建 ### 虚拟化环境需求 **硬件要求**: - CPU: 8 核以上(支持虚拟化) - 内存:32GB 以上 - 存储:500GB SSD - 网卡:2 个以上(或 USB 网卡) **软件选择**: - VMware Workstation / ESXi - Proxmox VE(开源) - VirtualBox(轻量级) ### 实验拓扑 ``` ┌─────────────────────────────────────────────────────┐ │ Proxmox Host │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ pfSense │ │ Kali │ │ Windows │ │ │ │ 防火墙 │ │ 攻击机 │ │ 客户端 │ │ │ │ WAN: DHCP │ │ 10.0.1.50 │ │ 192.168.1 │ │ │ │ LAN: .1.1 │ │ │ │ │ │ │ │ DMZ: .0.1 │ │ │ │ │ │ │ │ CORE:.0.1 │ │ │ │ │ │ │ └──────┬──────┘ └─────────────┘ └─────────────┘ │ │ │ │ │ ┌────┴────┐ │ │ │ │ │ │ ┌──▼──┐ ┌──▼──┐ │ │ │ Web │ │ DB │ │ │ │10.0.│ │172.1│ │ │ │1.10 │ │6.10 │ │ │ └─────┘ └─────┘ │ │ DMZ CORE │ └─────────────────────────────────────────────────────┘ ``` ### pfSense 初始配置 ``` 1. 安装 pfSense - 下载 ISO: https://www.pfsense.org/download/ - 创建 VM,分配 2GB RAM, 2 vCPU - 添加 4 个网络接口(WAN, LAN, DMZ, CORE) 2. 接口配置 - WAN: DHCP(模拟互联网) - LAN: 192.168.1.1/24(内网) - DMZ: 10.0.1.1/24(DMZ) - CORE: 172.16.0.1/16(核心) 3. 启用 DHCP 服务 - LAN: 192.168.1.100-200 - DMZ: 10.0.1.100-150 4. 配置 NAT - WAN → LAN/DNZ/CORE: MASQUERADE ``` --- ## 实战演练 ### 实验 1: 基础分段验证 **目标**:验证 VLAN 间隔离 **步骤**: ```bash # 1. 从 DMZ 主机扫描内网 # 在 DMZ 主机 (10.0.1.10) 执行 nmap -sS 192.168.1.0/24 # 预期结果: # - 如果分段正确,应该无法扫描到内网 # - 所有端口显示 filtered 或无法到达 # 2. 从内网访问 DMZ # 在内网主机 (192.168.1.100) 执行 curl http://10.0.1.10 nc -zv 10.0.1.10 22 # 预期结果: # - 根据防火墙规则,可能允许或拒绝 # 3. 检查防火墙日志 # 在 pfSense 界面 Status → System Logs → Firewall # 查看被阻止的连接尝试 ``` ### 实验 2: 横向移动测试 **目标**:测试微隔离效果 **步骤**: ```bash # 1. 假设攻击者已攻陷 Web 服务器 # 在 Kali 执行 ssh user@10.0.1.10 # 假设已获取凭证 # 2. 尝试横向移动到数据库 # 在 Web 服务器上执行 mysql -h 172.16.0.100 -u root -p nc -zv 172.16.0.100 3306 # 预期结果: # - 如果微隔离正确,应该被拒绝 # - NetworkPolicy 应阻止直接访问 # 3. 尝试其他横向移动 # 扫描核心区域 nmap -sS 172.16.0.0/16 # 尝试访问管理接口 curl -k https://172.16.0.1:443 ``` ### 实验 3: Kubernetes 网络策略测试 **目标**:验证 NetworkPolicy 效果 **步骤**: ```bash # 1. 部署测试应用 kubectl apply -f test-apps.yaml # 2. 应用 NetworkPolicy kubectl apply -f network-policies.yaml # 3. 测试策略效果 # 从 frontend pod 访问 api(应该允许) kubectl exec -it frontend-pod -- \ curl -v http://api-service:8080 # 从 backend pod 直接访问 database(应该拒绝) kubectl exec -it backend-pod -- \ nc -zv postgresql-service 5432 # 4. 查看策略日志 kubectl logs -n calico-system -l k8s-app=calico-node ``` ### 实验 4: 零信任策略验证 **目标**:测试基于身份的访问控制 **步骤**: ```bash # 1. 配置身份感知策略 # 在 PDP 配置: # - 仅允许合规设备访问 # - 仅允许工作时间访问 # - 仅允许特定地理位置访问 # 2. 测试合规设备 # 使用已注册、已安装 EDR 的设备 curl -H "Device-Id: registered-device-001" \ -H "User-Token: valid-user-token" \ https://app.example.com # 3. 测试非合规设备 # 使用未注册设备 curl -H "Device-Id: unknown-device" \ https://app.example.com # 应该返回 403 Forbidden # 4. 测试非工作时间 # 模拟非工作时间访问 # 应该被拒绝或要求额外验证 ``` --- ## 防护策略 ### 企业分段最佳实践 #### 1. 关键资产隔离 ``` 必须隔离的资产: ✓ 数据库服务器 ✓ 备份系统 ✓ 密钥管理系统 ✓ 域控制器 ✓ 管理系统 ✓ 开发/测试环境 隔离方法: - 独立 VLAN - 专用防火墙 - 严格 ACL - 跳板机访问 ``` #### 2. 访客网络隔离 ```bash # 完全隔离配置 vlan 100 name Guest-WiFi interface Vlan100 ip address 10.100.0.1 255.255.0.0 # 仅允许互联网访问 ip access-guest OUT # 拒绝访问所有内部网络 deny ip any 192.168.0.0 0.0.255.255 deny ip any 172.16.0.0 0.0.255.255 deny ip any 10.0.0.0 0.255.255.255 # 允许互联网 permit ip any any ``` #### 3. IoT 设备隔离 ``` IoT 设备风险: - 固件更新不及时 - 默认凭证 - 不安全协议 - 隐蔽后门 隔离策略: - 独立 VLAN - 仅允许必要通信 - 出站流量监控 - 定期漏洞扫描 ``` ### 云环境分段 #### AWS 实施 ```yaml # CloudFormation 模板片段 Resources: VPC: Type: AWS::EC2::VPC Properties: CidrBlock: 10.0.0.0/16 EnableDnsSupport: true EnableDnsHostnames: true # 公共子网(DMZ) PublicSubnet: Type: AWS::EC2::Subnet Properties: VpcId: !Ref VPC CidrBlock: 10.0.1.0/24 MapPublicIpOnLaunch: true # 私有子网(内网) PrivateSubnet: Type: AWS::EC2::Subnet Properties: VpcId: !Ref VPC CidrBlock: 10.0.2.0/24 MapPublicIpOnLaunch: false # 数据库子网(核心) DatabaseSubnet: Type: AWS::EC2::Subnet Properties: VpcId: !Ref VPC CidrBlock: 10.0.3.0/24 MapPublicIpOnLaunch: false # 安全组 WebSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Web servers VpcId: !Ref VPC SecurityGroupIngress: - IpProtocol: tcp FromPort: 80 ToPort: 80 CidrIp: 0.0.0.0/0 - IpProtocol: tcp FromPort: 443 ToPort: 443 CidrIp: 0.0.0.0/0 # 不允许从互联网直接访问 SSH DatabaseSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Database servers VpcId: !Ref VPC SecurityGroupIngress: - IpProtocol: tcp FromPort: 3306 ToPort: 3306 SourceSecurityGroupId: !Ref WebSecurityGroup # 仅允许 Web 安全组访问 ``` --- ## 总结与思考 ### 核心要点回顾 1. **分段必要性** - 78% 泄露涉及横向移动 - 分段可限制爆炸半径 - 合规要求(PCI DSS 等) 2. **技术选择** - VLAN:基础隔离 - 防火墙:区域控制 - 微隔离:细粒度防护 - 零信任:未来方向 3. **实施要点** - 从关键资产开始 - 默认拒绝策略 - 持续监控验证 - 文档化策略 ### 深入思考问题 1. **微隔离合规挑战** - 如何证明策略有效性? - 审计日志如何收集? - 变更管理如何实施? 2. **零信任 ROI 衡量** - 安全改进如何量化? - 用户体验影响评估? - 运维成本增加多少? 3. **云原生分段** - Serverless 如何分段? - 容器 ephemeral 特性挑战? - 多云环境一致性? ### 实战建议 **对于中小企业**: 1. 从基础 VLAN 分段开始 2. 优先隔离关键资产 3. 实施访客网络隔离 4. 逐步向微隔度过渡 **对于大型企业**: 1. 制定分段标准架构 2. 部署微隔离平台 3. 实施零信任试点 4. 自动化策略管理 **对于云环境**: 1. 使用云原生安全组 2. 实施 VPC 对等限制 3. 部署云防火墙 4. 监控东西向流量 ### 下一步学习建议 - **深入微隔离**:学习 VMware NSX、Illumio - **零信任实施**:研究 Google BeyondCorp - **云安全架构**:AWS/Azure 安全最佳实践 - **自动化运维**:Infrastructure as Code 安全 --- ## 参考资料 ### 标准与框架 - NIST SP 800-207 (Zero Trust Architecture) - NSA Microsegmentation Guidelines - PCI DSS Requirement 1 (Network Segmentation) - CIS Controls v8 (Control 4: Secure Configuration) ### 工具资源 - [pfSense](https://www.pfsense.org/) - 开源防火墙 - [Calico](https://projectcalico.org/) - K8s 网络策略 - [Illumio](https://www.illumio.com/) - 微隔离平台 - [Tigera](https://www.tigera.io/) - 云原生网络策略 ### 书籍推荐 - 《Zero Trust Networks》- Evan Gilman - 《Network Security Assessment》- Chris McNab - 《Practical Network Segmentation》- 多种中文教材 ### 在线资源 - [SANS Network Security](https://www.sans.org/) - [NSA Cybersecurity Advisories](https://www.nsa.gov/Cybersecurity/) - [Cloud Security Alliance](https://cloudsecurityalliance.org/) --- **标记 明日预告**:Day 12 - 负载均衡器安全配置 > 本文内容仅供学习和研究使用,请勿用于非法目的。所有实验请在隔离环境中进行。 --- *本文是 365 天信息安全技术系列的第 11 篇,精编版本*
myh0st
2026年4月13日 23:13
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码