7Secure by Design

安全架构

架构安全

安全边界零信任安全网关安全通信

🎯 AI 时代的学习建议:不要只读理论。理解这一章的设计动机(为什么需要这个概念?)和边界条件(什么情况下会失效?)。当 AI 生成的代码涉及这些概念时,你能判断它是否用对了场景。AI 能帮你总结内容,但无法替代你亲手阅读、思考、建立直觉的过程。

第7章:安全架构(Security Architecture)

一、导读

1.1 本章学习目标

第7章讲解安全架构设计——从系统层面构建安全。

本章的核心学习目标包括:

  • 理解安全边界的设计
  • 掌握零信任架构
  • 学会设计安全网关
  • 理解安全通信的最佳实践

1.2 为什么本章如此重要

安全不是单个组件的问题,而是系统架构的问题。好的安全架构能让安全成为系统的内在属性,而不是外在补丁。

1.3 核心问题引导

安全边界应该如何划分?

零信任架构的核心原则是什么?

安全网关应该承担什么职责?

微服务架构中的安全挑战有哪些?


二、核心概念详解

2.1 安全边界

安全边界设计:
┌─────────────────────────────────┐
│  外部网络(不可信)               │
│  ┌───────────────────────────┐  │
│  │  DMZ(半可信)              │  │
│  │  ┌─────────────────────┐  │  │
│  │  │  内部网络(可信)     │  │  │
│  │  │  ┌───────────────┐  │  │  │
│  │  │  │  安全区域      │  │  │  │
│  │  │  │  (高可信)      │  │  │  │
│  │  │  └───────────────┘  │  │  │
│  │  └─────────────────────┘  │  │
│  └───────────────────────────┘  │
└─────────────────────────────────┘

每一层边界都需要独立的认证和授权

2.2 零信任架构

零信任原则:
1. 永不信任,始终验证
2. 最小权限访问
3. 假设被攻破
4. 显式验证

实现:
- 每个请求都需要认证和授权
- 网络分段,微隔离
- 持续验证,不依赖网络位置
- 端到端加密

2.3 API 网关安全

java
public class SecurityGateway {
    // 1. 认证
    public AuthContext authenticate(Request request) {
        String token = request.getHeader("Authorization");
        return tokenService.validate(token);
    }
    
    // 2. 限流
    public void rateLimit(AuthContext auth) {
        if (rateLimiter.isExceeded(auth.getUserId())) {
            throw new RateLimitExceededException();
        }
    }
    
    // 3. 输入过滤
    public Request sanitize(Request request) {
        return request.sanitize();    // 移除危险字符
    }
    
    // 4. 审计
    public void audit(Request request, Response response) {
        auditLogger.log(request, response);
    }
}

2.4 微服务安全

微服务安全挑战:
1. 服务间认证:如何验证服务身份?
   → mTLS、JWT、服务网格

2. 数据隔离:如何防止跨服务数据泄露?
   → 每个服务独立数据库、API 级别权限

3. 统一策略:如何管理分散的安全策略?
   → 策略即代码、集中式策略管理

4. 可观测性:如何监控分布式系统的安全事件?
   → 分布式追踪、集中式日志、安全仪表盘

三、实战案例

3.1 案例一:零信任网络架构

企业零信任架构:

1. 身份层:
   - 所有用户和设备都有唯一身份
   - 多因素认证
   - 持续身份验证

2. 设备层:
   - 设备健康检查
   - 端点安全
   - 设备合规性

3. 网络层:
   - 微分段
   - 加密通信
   - 软件定义边界

4. 应用层:
   - 细粒度访问控制
   - 数据分类和标记
   - 动态访问策略

5. 数据层:
   - 端到端加密
   - 数据脱敏
   - DLP(数据防泄漏)

四、本章小结

安全边界:层次化的信任区域,每层独立验证。

零信任:永不信任,始终验证,最小权限。

安全网关:统一的认证、限流、过滤、审计。

微服务安全:服务间认证、数据隔离、统一策略。


五、思考与练习

设计一个零信任架构来保护一个电商系统。

微服务架构中的服务间认证有哪些方案?各有什么优缺点?

如何实现"策略即代码"的安全管理?


7/7安全架构
0%