{T}

高安全架构 学习笔记(第 15 部分)

7.2 安全响应头设置

javascript
// 设置安全响应头
const securityHeaders = (req, res, next) => {
  // 防止点击劫持
  res.setHeader('X-Frame-Options', 'DENY')
  
  // XSS 保护
  res.setHeader('X-XSS-Protection', '1; mode=block')
  
  // 防止 MIME 类型嗅探
  res.setHeader('X-Content-Type-Options', 'nosniff')
  
  // HTTPS 强制
  res.setHeader('Strict-Transport-Security', 'max-age=31536000; includeSubDomains')
  
  // CSP
  res.setHeader('Content-Security-Policy', [
    "default-src 'self'",
    "script-src 'self'",
    "style-src 'self' 'unsafe-inline'"
  ].join('; '))
  
  // Referrer 策略
  res.setHeader('Referrer-Policy', 'strict-origin-when-cross-origin')
  
  // 权限策略
  res.setHeader('Permissions-Policy', [
    'geolocation=()',
    'microphone=()',
    'camera=()'
  ].join(', '))
  
  next()
}

// 应用安全头
app.use(securityHeaders)

八、常见安全问题与解决方案

安全问题风险等级解决方案
弱密码密码强度验证、bcrypt 加密
SQL 注入严重参数化查询、输入验证
XSS 攻击输出编码、CSP 策略
CSRF 攻击CSRF Token、SameSite Cookie
会话劫持HTTPS、Secure Cookie、Session 轮换
敏感信息泄露数据脱敏、访问控制
DDoS 攻击流量清洗、限流、CDN
未授权访问身份认证、权限控制

九、学习要点总结

核心要点

  1. 五大安全策略

    • 物理安全:机房、设备、门禁、权限
    • 数据安全:访问控制、加密、保护
    • 通信安全:DDoS、DNS劫持、重放攻击防护
    • 身份安全:认证、授权、审计
    • 软件安全:OS、数据库、Web应用
  2. 数据安全三要素

    • 访问权限控制(最小权限原则)
    • 数据加密(对称、非对称、哈希)
    • 数据保护(备份、恢复、脱敏)
  3. 身份安全三要素

    • 认证(JWT、OAuth 2.0)
    • 授权(RBAC、ABAC)
    • 审计(日志记录、异常检测)
  4. 常见攻击防护

    • SQL 注入 → 参数化查询
    • XSS → 输出编码、CSP
    • CSRF → Token 验证
    • DDoS → 限流、流量清洗
  5. 安全最佳实践

    • 输入验证
    • 输出编码
    • 最小权限
    • 安全响应头
    • 定期安全审计

十、延伸学习资源

推荐书籍

  1. 《Web 应用安全权威指南》 - OWASP
  2. 《白帽子讲Web安全》 - 吴翰清
  3. 《黑客攻防技术宝典》 - Dafydd Stuttard
  4. 《应用密码学》 - Bruce Schneier

在线资源

  1. OWASP Top 10https://owasp.org/Top10/
  2. CWE/SANS Top 25https://cwe.mitre.org/top25/
  3. Mozilla 安全指南https://wiki.mozilla.org/Security/Guidelines
  4. 安全响应头检查https://securityheaders.com/

安全工具

  1. SQLMap:SQL 注入检测
  2. OWASP ZAP:Web 应用安全扫描
  3. Burp Suite:渗透测试工具
  4. Nmap:网络扫描工具

笔记整理完成!

这份笔记详细讲解了高安全架构的五大策略(物理安全、数据安全、通信安全、身份安全、软件安全),并结合大量代码示例和最佳实践,帮助理解安全架构设计的核心思想。建议结合实际项目进行安全加固和渗透测试。