Skip to content

Latest commit

 

History

History
132 lines (99 loc) · 4.37 KB

File metadata and controls

132 lines (99 loc) · 4.37 KB

🔒 项目安全处理总结

本文档总结了为保护项目敏感信息而采取的安全措施。

✅ 已完成的安全措施

1. 敏感配置文件处理

  • 删除原始配置文件:移除了包含敏感信息的 application.ymlapplication-dev.ymlapplication-prod.yml
  • 创建配置模板:创建了 .template 后缀的配置文件模板,使用环境变量占位符
  • 更新.gitignore:添加了敏感文件到忽略列表

2. 敏感信息移除

已移除以下类型的敏感信息:

数据库配置

  • 数据库连接地址:47.119.165.234:3308
  • 数据库用户名:modules
  • 数据库密码:8YdLnk7KsPAyDXGA

Redis配置

  • Redis服务器:8.134.169.209:16379
  • Redis密码:redis_WSDb88

邮件服务器配置

  • 邮箱账号:170083662@qq.com
  • 邮箱密码:mnfokualhfaucaie

阿里云OSS密钥

  • AccessKeyId:LTAI*************** (已移除)
  • AccessKeySecret:*************** (已移除)

JWT Token密钥

  • Token密钥:WLgNsWJ8rPjRtnjzX/Gx2RGS80Kwnm/ZeLbvIL+NrBs=

MQTT服务器信息

  • MQTT服务器:tcp://1.14.159.185:1883
  • 用户名:swdev
  • 密码:Sw20250523

支付相关敏感信息

  • 微信支付API密钥
  • 支付宝密钥
  • 支付证书文件

3. 证书文件处理

  • 删除证书文件:移除了所有支付相关的证书文件
  • 创建说明文档:在 src/main/resources/cert/README.md 中提供了证书配置说明

4. 代码中硬编码信息处理

  • 生成器文件:将测试代码生成器中的硬编码数据库信息改为环境变量
  • 翻译服务:将阿里云翻译API的硬编码密钥改为环境变量
  • 支付服务:将微信支付相关的硬编码配置改为环境变量
  • AI服务:将AI服务的硬编码token改为环境变量

5. 环境变量配置

  • 创建示例文件:创建了 .env.example 文件,包含所有必需的环境变量
  • 生成密钥脚本:提供了JWT密钥生成脚本(Linux/macOS和Windows版本)

6. 文档更新

  • README.md:添加了安全配置说明和快速开始指南
  • SECURITY_SETUP.md:创建了详细的安全配置指南
  • 安全检查脚本:创建了自动化安全检查脚本

📁 新增文件列表

配置模板文件

  • src/main/resources/application.yml.template
  • src/main/resources/application-dev.yml.template
  • src/main/resources/application-prod.yml.template
  • .env.example

文档文件

  • SECURITY_SETUP.md - 安全配置指南
  • SECURITY_SUMMARY.md - 安全处理总结(本文件)
  • src/main/resources/cert/README.md - 证书配置说明

工具脚本

  • scripts/generate-jwt-key.sh - JWT密钥生成脚本(Linux/macOS)
  • scripts/generate-jwt-key.bat - JWT密钥生成脚本(Windows)
  • scripts/security-check.sh - 安全检查脚本

🚀 首次运行配置步骤

  1. 复制环境变量文件

    cp .env.example .env
  2. 编辑环境变量

    vim .env  # 填入实际的配置信息
  3. 创建配置文件

    cp src/main/resources/application.yml.template src/main/resources/application.yml
    cp src/main/resources/application-dev.yml.template src/main/resources/application-dev.yml
    cp src/main/resources/application-prod.yml.template src/main/resources/application-prod.yml
  4. 生成JWT密钥

    ./scripts/generate-jwt-key.sh
  5. 配置证书文件(如需支付功能):

    • 将支付证书文件放入 src/main/resources/cert/ 目录

⚠️ 重要提醒

  1. 环境变量文件.env 文件包含敏感信息,已添加到 .gitignore,不会被提交到版本控制
  2. 配置文件:实际的配置文件(非模板)已添加到 .gitignore,不会被提交
  3. 证书文件:证书目录已添加到 .gitignore,证书文件不会被提交
  4. 密钥安全:请使用强随机字符串作为JWT密钥和其他敏感配置

🔍 安全验证

运行安全检查脚本验证项目安全性:

./scripts/security-check.sh

📞 技术支持

如果在配置过程中遇到问题,请参考:

  1. 安全配置指南
  2. README.md 中的快速开始部分
  3. 各配置文件中的注释说明

项目现在可以安全地提交到GitHub公开仓库!