使用教程中心

安全设置

SSH密钥管理,数据加密,访问控制,安全最佳实践

提示:本教程将帮助您了解系统的安全机制,确保您的数据和服务器安全。

SSH密钥管理

系统使用SSH密钥对进行服务器连接认证,比密码认证更安全可靠。

密钥生成

添加服务器时,系统会自动生成SSH密钥对:

  • 公钥:用于添加到目标服务器的authorized_keys文件中
  • 私钥:由系统加密存储,用于SSH连接认证
  • 密钥类型:使用RSA-4096或ED25519算法

密钥轮换

为了提高安全性,建议定期轮换SSH密钥:

  1. 进入服务器详情页面
  2. 点击"轮换密钥"按钮
  3. 系统会生成新的密钥对
  4. 将新的公钥添加到目标服务器
  5. 测试连接确保正常

注意:密钥轮换后,旧的公钥将失效,请确保及时更新目标服务器上的公钥。

密钥加密存储

系统使用AES-256加密算法对SSH私钥进行加密存储:

  • 加密密钥由环境变量SSH_KEY_ENCRYPTION_KEY提供
  • 加密密钥长度必须为32字节
  • 私钥仅在内存中解密,不写入磁盘
  • 连接断开后立即清除内存中的私钥

数据加密

系统在多个层面实施数据加密,确保数据安全。

传输加密

所有数据传输都使用加密协议:

  • SSH协议:使用SSH-2协议进行服务器连接,支持多种加密算法(AES、ChaCha20等)
  • SFTP协议:使用SFTP进行文件传输,确保传输安全
  • HTTPS协议:Web界面使用HTTPS,防止中间人攻击
  • WebSocket:WebSocket连接使用WSS协议

存储加密

敏感数据在存储时进行加密:

  • SSH私钥:使用AES-256加密
  • 用户密码:使用bcrypt哈希算法
  • JWT令牌:使用HMAC-SHA256签名
  • 注册密钥:使用随机生成并加密存储

访问控制

系统实施严格的访问控制机制,确保只有授权用户才能访问相应资源。

用户认证

系统使用JWT令牌进行用户认证:

  • 访问令牌:有效期7天,用于API请求认证
  • 刷新令牌:有效期30天,用于刷新访问令牌
  • 令牌存储:存储在HttpOnly Cookie中,防止XSS攻击
  • 令牌验证:每次API请求都会验证令牌有效性

权限控制

系统基于角色的访问控制(RBAC):

权限普通用户VIP用户管理员
服务器数量3台10台无限制
存储空间10GB100GB无限制
并发任务1个2个10个
用户管理--
系统配置--

资源隔离

系统确保用户之间的资源隔离:

  • 用户只能访问自己的服务器和备份文件
  • 备份文件按用户ID和服务器ID分层存储
  • 所有API请求都验证用户权限
  • 文件路径验证防止目录遍历攻击

安全最佳实践

遵循以下安全最佳实践,确保系统安全:

服务器安全

  • 使用强密码或SSH密钥认证
  • 定期更新系统和软件包
  • 禁用root远程登录(如可能)
  • 配置防火墙规则,只开放必要端口
  • 定期检查系统日志,发现异常行为
  • 使用fail2ban防止暴力破解

账户安全

  • 使用强密码(至少8位,包含大小写字母、数字和特殊字符)
  • 定期更换密码
  • 不要在多个网站使用相同密码
  • 启用双因素认证(如系统支持)
  • 不要在公共设备上保存登录状态
  • 及时退出登录

备份安全

  • 定期备份重要数据
  • 备份文件存储在安全位置
  • 定期测试备份恢复流程
  • 保留多个备份版本
  • 备份敏感数据时考虑加密
  • 定期清理过期备份

网络安全

  • 使用HTTPS访问Web界面
  • 不要在公共WiFi上进行敏感操作
  • 使用VPN访问远程服务器
  • 定期检查网络流量异常
  • 配置网络隔离和访问控制列表

常见安全问题

如何防止SSH密钥泄露?

采取以下措施防止SSH密钥泄露:

  • 定期轮换SSH密钥
  • 使用强加密算法(RSA-4096或ED25519)
  • 为私钥设置密码保护(如可能)
  • 限制authorized_keys文件权限(600)
  • 监控SSH登录日志,发现异常立即处理

备份文件是否安全?

系统采取多种措施确保备份文件安全:

  • 备份文件按用户和服务器分层存储,确保隔离
  • 文件路径验证防止目录遍历攻击
  • 定期清理过期备份
  • 支持备份文件加密(可选)
  • 详细的操作日志记录

如何保护JWT令牌安全?

系统采取以下措施保护JWT令牌:

  • 令牌存储在HttpOnly Cookie中,防止XSS攻击
  • 使用强密钥进行签名
  • 设置合理的过期时间
  • 支持令牌刷新机制
  • 每次请求都验证令牌有效性

系统如何防止SQL注入?

系统使用Prisma ORM,自动防止SQL注入:

  • 使用参数化查询
  • 自动转义特殊字符
  • 类型安全的查询构建器
  • 输入验证和过滤

下一步

了解安全设置后,您可以: