最佳安全实践
更新时间:2023.04.28# 1. 商户平台安全使用
对于商户平台的安全使用,我们从 申请入驻、收到开户邮件、登录商户平台、商户平台日常使用 四个方面来展开。
# 1.1.申请入驻
- 申请入驻微信支付不会收取任何费用,谨防上当受骗。
- 提交申请资料后,需注意申请资料的保管,防止泄露或丢失。
# 1.2.收到开户邮件
- 开户邮件内容中包含了账户、初始登录密码等敏感信息,需妥善保管,防止泄露。
# 1.3.登录商户平台
- 首次登录请修改登录密码,密码复杂度建议大于8位字符,并且同时含有大、小写、数字、特殊符号。
- 仔细检查域名是否为
https://pay.weixin.qq.com
或https://pay.wechatpay.cn
,防止误登录钓鱼网站导致密码等信息的泄露。
# 1.4.商户平台日常使用
# 1.4.1. 登录权限保护
- 定期(至多6个月)修改登录密码。
- 保护好注册管理员的手机设备,因为资金等敏感操作需要验证这个短信验证码。
- 合理的划分操作员及其权限,实施最小化权限原则。
- 离职或工作调动后员工操作权限的清理和定期回收。
- 为每一个员工建立员工账号,而不是多个人混用同一个账户。
# 1.4.2. 浏览器选择
- 使用较新的主流浏览器并检查开启浏览器和系统的自动更新机制。
# 1.4.3. 功能使用
- 企业营销功能需要设置防刷级别、限领次数等安全功能,如果是调用API,建议设置访问IP白名单等。
# 2. 系统开发注意事项
对于需要自行或外包开发信息系统的商户来说,有一些安全的注意事项,我们从 需求、设计、编码、测试、部署&运维 五个方面来展开。
# 2.1. 需求
商户自建营销活动需设计防刷机制。
# 2.2. 设计
# 2.2.1. 数据采集
- 法律禁止企业记录和存储的数据(如磁道信息、信用卡CVV码等)不能收集。
- 客户端敏感数据必须先进行加密处理。
# 2.2.2. 数据传输
- 使用HTTPS确保网络传输安全性。
- 禁用SSL等不安全协议和算法,建议使用TLS1.2。
- 不要轻易的尝试设计和实现自己的加密传输算法,几乎都会存在问题。
# 2.2.3. 数据保存
- 敏感信息禁止出现在日志中,如确实需要,需进行脱敏处理。
- 缓存和DB中的敏感数据需进行加密或者虚化(Hash)。
- 密码等关键认证必须采用加盐Hash方式保存。
# 2.2.4. 数据访问
- 外部请求数据访问必须进行鉴权操作。
- 对于内部的数据访问要严加控制,降低用户信息泄露风险。
# 2.2.5. 审计日志
- 记录的操作日志要包括5W信息(Who、When、Why、How、What)。
# 2.2.6. 资金处理
- 建立对账机制,每天对系统收支数据与微信支付数据进行对账,避免资金出现问题。
- DB或者KV需要设计数据防篡改机制。
# 2.3. 编码
# 2.3.1. 防止参数处理不当导致的常见漏洞
# 2.3.2. 防止逻辑处理不当导致的漏洞
- 支付成功回调通知必须验证微信支付签名,避免被恶意攻击。
- 在后台进行商户价格的判断逻辑,避免客户端篡改价格导致商户损失。
- 避免在App或者网站页面里面出现商户APIkey或API证书等信息,防止泄露。
# 2.3.3. App开发安全注意事项
- IOS应用安全开发参考 Apple NextPrevious Security Development Checklists (opens new window)
- andriod应用安全开发参考 Andriod Security Tips (opens new window)
# 2.4. 测试
- 对输入输出参数进行专项安全测试。
- 通过众测或自建、第三方的安全扫描机制对系统进行安全扫描并对问题进行修复。
# 2.5. 部署&运维
- 确保系统所使用商业和开源组件的版本是最新稳定版。
- 参考此份checklist进行安全配置 系统漏洞检测及修复 (opens new window)。
- 考虑系统和数据服务容灾,至少有主备机制,建议多机房多地部署。
- 建议采用各大云系统,并且启用相关的云安全防控机制。
- 如有条件,建议自建或者购买一些安全监控服务或设备。
- 设定关键指标项,进行实时数据上报和监控。
- 有专门的人员来跟进安全事件的处置。
- 关注信息系统所使用框架及组件的安全信息情况。
- 按时打补丁,定期检查系统升级。
- 服务端口开启最小化原则。
- 服务器登录操作可审计。
- 内部管理运营系统必须认证登录做操作日志记录以供审计。
- 建立业务下线机制,不再使用的业务做下线操作减少被攻击面。
文档是否有帮助