安全最佳实践
其实Chaindoc的安全机制是开箱即用的。文档在静态存储时用AES-256加密,传输时用TLS 1.3保护,每次操作都会记录日志,完整性还能通过区块链验证。这里讲的是系统自带的功能,以及上线前你需要手动开启的设置。
说实话,大部分安全措施已经默认启用。但有些设置需要你手动打开,比如MFA多因素认证、IP访问限制。另外团队也需要养成一些习惯,比如定期轮换密钥、审查访问权限。这篇指南会涵盖这两方面。
身份认证
多因素认证(MFA)
MFA是给所有人开的,不只是管理员。说实话,这是你能做的最有效的一件事。Chaindoc支持以下几种方式:
- 验证器应用(TOTP)—— Google Authenticator、Authy、1Password都可以
- 短信验证码——能用,但安全性稍差。建议优先用验证器应用
- 硬件安全密钥(FIDO2/WebAuthn)—— 最安全的选择
- 移动设备上的生物识别认证
密码策略
如果没开SSO单点登录,那就得强制用强密码。Chaindoc允许你配置最小长度(建议12位以上)、复杂度要求、过期时间,还有失败锁定次数。你还可以设置禁止重复使用最近10个密码。
基于角色的访问控制
每个人只给需要的权限。Chaindoc内置了几种角色:Owner(所有者)、Admin(管理员)、Manager(经理)、Member(成员)、Guest(访客)、Auditor(审计员)。也支持自定义角色,可以细到每个操作。建议每季度审查一次权限,把用不到的都删掉。具体怎么设置可以看团队管理文档。
加密机制
静态存储加密
所有文档在存储时都用AES-256加密。备份数据用单独的密钥加密。加密密钥通过专门的KMS(密钥管理服务)管理,每季度轮换一次。
传输加密
所有连接都用TLS 1.3。弱密码套件已被禁用。HSTS头已设置,浏览器不会降级到HTTP。这适用于Web应用、API接口,以及区块链交易。
API密钥安全
API密钥是最常见的安全问题来源。密钥一旦泄露,别人就能完全控制你的Chaindoc账户。
公钥(`pk_`)专门设计给前端用,只有只读权限,所以放在客户端包里是安全的。想了解更多密钥类型,可以看看API集成指南。
区块链验证
每份发布的文档都会把哈希值写入区块链。这是防篡改的核心。就算有人直接访问数据库,也无法修改文档而不让区块链哈希失效。
- 文档哈希在发布时记录,每次状态变更(签名、作废等)都会更新
- 交易回执和文档一起存储,方便验证
- 任何人都可以独立验证文档与区块链记录是否一致
- 记录是永久的——就算Chaindoc不在了,记录还在
对于高价值文档,签名后验证一下区块链记录是值得的,确保一切匹配。
Webhook安全
如果你在用webhooks,每个收到的请求都要验证HMAC签名。不做这个的话,别人可能往你的接口发假事件。Webhook指南里有验证代码。
合规认证
Chaindoc的基础设施通过了SOC 2 Type II认证。根据你的行业,可能还需要配置一些额外设置:
- GDPR —— 数据驻留选项(欧盟、美国、亚洲)、删除权、数据可携带性。文档保留策略支持自动删除。
- HIPAA —— 医疗文档的审计日志和访问控制。需要BAA的话请联系客服。
- SOC 2 —— 安全控制已文档化。每年接受第三方审计。
- eIDAS / ESIGN Act / UETA —— 签名合规性已内置,支持三种签名类型。
- ISO 27001 —— 信息安全管理实践符合ISO 27001标准。
审计日志
Chaindoc会记录每个操作:登录、文档访问、编辑、签名事件、权限变更、API调用。日志存储在防篡改系统里,至少保留一年(如果你的保留策略要求更久,可以设置更长)。
你可以导出审计日志用于外部合规审查。如果配置了监控,登录失败和可疑活动会触发告警。
监控与事件响应
给登录失败、异常API活动、权限提升设置告警。如果你的安全团队用SIEM系统,Chaindoc可以对接。
准备好事件响应计划。知道该联系谁、该关闭什么、怎么通报泄露。每年至少测试一次计划。如果发生涉及Chaindoc的安全事件,请联系security@chaindoc.com。
上线前检查清单
正式上线前过一遍这个清单:
- 所有账户启用MFA
- 配置密码策略(12位以上,失败5次后锁定)
- 按最小权限原则分配角色
- 确认AES-256加密已启用(默认开启)
- 所有端点强制TLS 1.3
- API密钥存在环境变量或密钥管理工具里
- 测试密钥已换成生产密钥
- API端点配置了速率限制
- Webhook HMAC验证已实现
- 审计日志已启用,保留期已设置
- 安全监控和告警已配置
- 事件响应计划已文档化
- 备份已测试(试着恢复一次)
- 合规要求已记录并满足