---
url: "https://pay.weixin.qq.com/doc/v2/partner/4011941588.md"
title: "最佳安全实践"
doc_id: 4011941588
---

>更新时间：2024.11.18

对于接入了微信支付的商户们来说，请仔细阅读和遵守该最佳安全实践，将极大的提升贵公司在使用微信支付时的安全性。我们也会持续关注商户安全性，将最新最好的实践更新于此。



## 商户平台安全使用

对于商户平台的安全使用，我们从 申请入驻、收到开户邮件、登录商户平台、商户平台日常使用 四个方面来展开。

### 1、申请入驻

- 申请入驻微信支付不会收取任何费用，谨防上当受骗。

- 提交申请资料后，需注意申请资料的保管，防止泄露或丢失。


### 2、收到开户邮件

- 开户邮件内容中包含了账户、初始登录密码等敏感信息，需妥善保管，防止泄露。


### 3、登录商户平台

- 首次登录请修改登录密码，密码复杂度建议大于8位字符，并且同时含有大、小写、数字、特殊符号。

- 仔细检查域名是否为 https://pay.weixin.qq.com ，防止误登录钓鱼网站导致密码等信息的泄露。


### 4、商户平台日常使用

- 登录权限保护

  -  定期（至多6个月）修改登录密码。

  - 保护好注册管理员的手机设备，因为资金等敏感操作需要验证这个短信验证码。

  - 合理的划分操作员及其权限，实施最小化权限原则。

  - 离职或工作调动后员工操作权限的清理和定期回收。

  -  为每一个员工建立员工账号，而不是多个人混用同一个账户。
- 浏览器选择

  - 使用较新的主流浏览器并检查开启浏览器和系统的自动更新机制。
- 功能使用

  - 企业营销功能需要设置防刷级别、限领次数等安全功能，如果是调用API，建议设置访问IP白名单等。

## 系统开发注意事项

对于需要自行或外包开发信息系统的商户来说，有一些安全的注意事项，我们从 需求、设计、编码、测试、部署&运维 五个方面来展开。

### 1、需求

- 商户自建营销活动需设计防刷机制。


### 2、设计

- 数据采集

  - 法律禁止企业记录和存储的数据（如磁道信息、信用卡CVV码等）不能收集。

  - 客户端敏感数据必须先进行加密处理。
- 数据传输

  - 使用HTTPS确保网络传输安全性。

  - 禁用SSL等不安全协议和算法，建议使用TLS1.2。

  - 不要轻易的尝试设计和实现自己的加密传输算法，几乎都会存在问题。
- 数据保存

  - 敏感信息禁止出现在日志中，如确实需要，需进行脱敏处理。

  - 缓存和DB中的敏感数据需进行加密或者虚化（Hash）。

  - 密码等关键认证必须采用加盐Hash方式保存。
- 数据访问

  - 外部请求数据访问必须进行鉴权操作。

  - 对于内部的数据访问要严加控制，降低用户信息泄露风险。
- 审计日志

  - 记录的操作日志要包括5W信息（Who、When、Why、How、What）。
- 资金处理

  - 建立对账机制，每天对系统收支数据与微信支付数据进行对账，避免资金出现问题。

  - DB或者KV需要设计数据防篡改机制。

### 3、编码

- 防止参数处理不当导致的常见漏洞

  - [安全漏洞checklist](https://pay.weixin.qq.com/doc/v2/merchant/4012203399.md)

  - [系统漏洞检测及修复](https://pay.weixin.qq.com/doc/v2/merchant/4012203400.md)

  - [Web漏洞检测及修复](https://pay.weixin.qq.com/doc/v2/merchant/4012203401.md)

  - [最新安全漏洞及修复](https://pay.weixin.qq.com/doc/v2/merchant/4012203402.md)
- 防止逻辑处理不当导致的漏洞

  - 支付成功回调通知必须验证微信支付签名，避免被恶意攻击。

  - 在后台进行商户价格的判断逻辑，避免客户端篡改价格导致商户损失。

  - 避免在App或者网站页面里面出现商户APIkey或API证书等信息，防止泄露。
- APP开发安全注意事项

  - IOS应用安全开发参考 [Apple NextPrevious Security Development Checklists](https://developer.apple.com/library/content/documentation/Security/Conceptual/SecureCodingGuide/SecurityDevelopmentChecklists/SecurityDevelopmentChecklists.html)

  - android应用安全开发参考 [Android Security Tips](https://developer.android.com/training/articles/security-tips.html)

### 4、测试

- 对输入输出参数进行专项安全测试。

- 通过众测或自建、第三方的安全扫描机制对系统进行安全扫描并对问题进行修复。


### 5、部署与运维

- 确保系统所使用商业和开源组件的版本是最新稳定版。

- 参考此份checklist进行安全配置 [系统漏洞检测及修复](https://pay.weixin.qq.com/doc/v2/merchant/4012203400.md)

- 考虑系统和数据服务冗灾，至少有主备机制，建议多机房多地部署。

- 建议采用各大云系统，并且启用相关的云安全防控机制。

- 如有条件，建议自建或者购买一些安全监控服务或设备。

- 设定关键指标项，进行实时数据上报和监控

- 有专门的人员来跟进安全事件的处置。

- 关注信息系统所使用框架及组件的安全信息情况。

- 按时打补丁，定期检查系统升级。

- 服务端口开启最小化原则。

- 服务器登录操作可审计。

- 内部管理运营系统必须认证登录做操作日志记录以供审计。

- 建立业务下线机制，不再使用的业务做下线操作减少被攻击面。