跳到主要内容

安全性是任何基于 Web 的业务的关键组成部分,因为在线应用可能以多种方式遭受攻击或泄露。在提交前确保您的应用是安全的,以保护商家免受潜在风险。

安全性

  1. 您的应用不得收集 Shoplazza 用户凭据。如 Shoplazza API 鉴权中所述,公有应用必须使用 OAuth

  2. 如果您的应用存储自己的凭据,则必须仅存储加盐的密码哈希值,而不是实际密码,如开放 Web 应用安全项目网站所述。

  3. 您的应用必须防范常见 Web 安全漏洞。

  4. 应用必须通过使用有效 TLS 证书的 HTTPS 提供服务。

  5. 您的应用不得不必要地暴露网络服务。

  6. 您的应用不得暴露其共享密钥。

  7. 您的应用必须生成安全 token,包括过期时间和搜索索引保护(如适用)。

  8. 您的应用不得在 Shoplazza 结账流程外处理支付或订单。

  9. 您的应用不得修改 Shoplazza 的结账流程。

常见 Web 安全漏洞

防范常见 Web 安全漏洞

Shoplazza 要求所有第三方应用防范常见 Web 安全漏洞,包括但不限于 OWASP Top 10。OWASP Top 10 是由开放 Web 应用安全项目(OWASP)发布的 Web 应用最关键安全风险清单,是开发者和 Web 应用安全专家的标准意识文档。

如果我们在应用审核期间发现您应用中的任何漏洞,您的应用将被拒绝,您需要在重新提交审核之前修复这些漏洞。

OWASP Top Ten 清单包含理解常见 Web 应用漏洞及其防护方法的所有必要信息,还包括 OWASP 速查表和外部参考资料。另一个可用资源是 Web Security Academy,一个免费的 Web 应用安全在线培训中心。Web Security Academy 包含互动实验室,可以让您在实践中检验所学知识。

TLS 证书

通过有效 TLS 证书以 HTTPS 提供应用服务

客户端(如商家的 Web 浏览器)与您的应用服务器之间交换的所有数据都应使用传输层安全(TLS)进行加密,确保传输的任何数据只能由您的应用服务器读取。TLS 证书用于在数据传输过程中保护终端用户信息,并验证网站的组织身份。由 TLS 证书保护的网站将在浏览器地址栏显示 HTTPS 和小锁图标。

如果您的 TLS 证书在审核过程中无法验证,您的应用将被拒绝,直到问题解决。

如果您还没有有效的 TLS 证书,可以从 Let's Encrypt 免费获取,这是一个免费、自动化和开放的证书颁发机构。但是,任何受信任的证书颁发机构颁发的 TLS 证书均可接受。您不能使用自签名证书。

创建 TLS 证书后,您可以访问 SSL Checker 并输入您应用的主机名来验证其是否正确安装。

不必要地暴露网络服务

为确保应用的安全性,除非服务对其功能至关重要,否则避免公开暴露任何服务。不应暴露的常见服务包括 MySQL、Redis、Memcached 和 Elasticsearch。在应用审核过程中,我们使用安全工具 Nmap 识别开放端口来发现可公开访问的服务。

如果我们的扫描在审核期间检测到意外的开放端口,您将收到通知,并需要重新评估这些服务是否必须保持公开可访问。如果服务需要保持可访问,您将收到一个 Google 表单,需要说明以下内容:

  • 检测到的开放端口上运行的是什么服务
  • 每个服务为何对应用正常运行是必要的
  • 为何服务必须公开可访问
  • 已实施哪些安全措施以确保服务对 Shoplazza 商家和买家是安全的

安全 Token

生成安全 Token

如果您的应用依赖 token 对用户进行鉴权,则 token 必须随机生成,且至少具有 128 位的,以确保 Shoplazza 商家数据的安全。在 token 长度受限的某些情况下,我们允许 64 位。

对于将公开可访问的 token(例如作为 URL 参数包含的 token),请确保满足以下要求:

  • 过期时间不超过七天。
  • 防止被第三方泄露或索引。

如果您应用中的 token 熵不足、不会过期,或容易被第三方泄露或索引,您的应用将在审核过程中被拒绝。识别的问题必须在重新提交前解决。

以下链接可用于为多种流行编程语言生成安全随机 token:

当 token 用于鉴权访问私有信息时,您必须确保私有信息不会被搜索引擎索引。Google 的指南使用"noindex"阻止搜索索引解释了如何正确配置 HTML meta 标签以防止搜索索引。此外,任何接受 token 的应用 URL 必须确保 HTTP 响应中包含值为 origin-when-cross-origin 或(更优先地)no-referrer 的 Referrer-Policy header。