Skip to content

Node.js安全实践: 从防护到攻防

系统掌握 Node.js 应用安全,构建坚不可摧的后端服务。


第一部分:安全基础与威胁模型

  1. Node.js 安全全景图
  2. 威胁建模:识别你的攻击面
  3. OWASP Top 10 与 Node.js
  4. 安全开发思维模式
  5. Node.js 安全发布与漏洞响应

第二部分:输入验证与注入防护

  1. 输入验证基本原则
  2. 使用 Joi 和 Zod 进行数据验证
  3. SQL 注入原理与防护
  4. NoSQL 注入:MongoDB 安全实践
  5. 命令注入与防护
  6. 路径遍历攻击防护
  7. 正则表达式拒绝服务(ReDoS)
  8. 原型污染攻击与防护

第三部分:Web 安全防护

  1. XSS 跨站脚本攻击详解
  2. XSS 防护策略与实现
  3. CSRF 跨站请求伪造
  4. CORS 跨域资源共享配置
  5. 安全 HTTP 头配置
  6. 使用 Helmet.js 加固 Express
  7. 点击劫持与 Frame 安全
  8. Cookie 安全配置

第四部分:认证与授权

  1. 认证机制概览
  2. 密码安全:存储与验证
  3. Session 认证实现
  4. JWT 原理与实现
  5. JWT 安全最佳实践
  6. 刷新令牌与令牌轮转
  7. OAuth 2.0 实现指南
  8. OpenID Connect 集成
  9. 多因素认证(MFA)实现
  10. 基于角色的访问控制(RBAC)
  11. 基于属性的访问控制(ABAC)
  12. API 密钥管理

第五部分:数据安全

  1. 敏感数据分类与处理
  2. 加密基础:对称与非对称加密
  3. Node.js crypto 模块实战
  4. 哈希与消息认证码
  5. 数据脱敏与匿名化
  6. 密钥管理最佳实践
  7. 环境变量与密钥安全
  8. 数据库连接安全

第六部分:TLS/HTTPS 安全

  1. TLS/SSL 基础原理
  2. Node.js HTTPS 服务配置
  3. 证书管理与自动更新
  4. TLS 版本与密码套件选择
  5. mTLS 双向认证
  6. HSTS 与证书透明度

第七部分:供应链安全

  1. npm 生态安全威胁
  2. 依赖漏洞扫描:npm audit 与 Snyk
  3. 依赖锁定与版本管理
  4. 识别恶意包的技巧
  5. 私有 npm 仓库安全
  6. 软件物料清单(SBOM)
  7. 依赖更新策略

第八部分:运行时安全与加固

  1. Node.js 沙箱与隔离
  2. Node.js 权限模型(v20+)
  3. 资源限制与 DoS 防护
  4. 速率限制实现
  5. 进程安全与权限降低
  6. 容器化安全最佳实践
  7. 生产环境安全配置清单

第九部分:日志、监控与响应

  1. 安全日志设计
  2. 敏感信息日志脱敏
  3. 入侵检测与告警
  4. 安全事件响应流程
  5. 安全审计与合规

第十部分:安全开发生命周期

  1. 安全编码规范
  2. 代码审查安全检查清单
  3. 静态分析工具(SAST)
  4. 动态分析工具(DAST)
  5. 安全测试实践
  6. 渗透测试基础
  7. 漏洞披露与响应
  8. Node.js 安全总结与展望

Node.js安全实践: 从防护到攻防 has loaded