简介:mPaas上线利用检测
1. 背景
随着越来越多的金融行业基于mPaas[1]搭建并上线新的App,App的上线品质也成为各个客户关注的重点。上线前检测哪些项目,如何检测,检测数据指标包含哪些成为咱们思考的次要方向。借着上次去XX农信客户去做线上性能检测,加上之前多个mPaas历史我的项目踩过的坑,将App上线前mPaas相干检测内容整顿积淀如下。
2. 检测方向
2.1 安全性
2.1.1 RPC是否开启国密加密
对应金融性质的App来说,数据通信平安至关重要,mPaas曾经反对 ECC、RSA 和国密(SM2)三种形式,
在金融行业App内倡议开启加密配置为SM2国密加密,满足行业监管要求。配置能够参考文档[2]。
2.1.2 离线包是否开启验签
图1
为了保障下发到本地离线包的安全性,mPaas提供了离线包验签机制,保障了离线包的安全性。整体示意图如上所示,用户设置流程如下:
- 开发者配置好一对公私钥,私钥放在服务端用于对离线包签名,公钥放在客户端,用于对签名对验证。
- 在离线包公布平台,如果配置了签名私钥,平台下发的amr文件就会带上签名信息(通过私钥对离线包的hash值加密后失去的密文)。
- 客户端在拿到amr包并解压后,客户端会应用在我的项目中预置的公钥进行签名的验证(解密上一步的密文失去一个hash值,同时本地计算离线包的hash值,判断两者是否雷同),如果雷同则通过验证。
- 如果签名校验失败,则删除离线包走fallback地址。
通过离线包的验签机制,能够达到以下的目标:
- 保障了离线包的内容残缺,解决解压异样,读取异样下的失常显示。
- 保障了离线包的起源正确,不被本地歹意篡改。
2.1.3 userId信息是否设置正确
因为userId会被后续用到很多中央,比方推送,白名单。所以个别倡议抉择服务端的userId字段作为存储字段,不便后续和服务端做userId字段同步,不倡议存储集体手机号或者身份证等个人信息作为userId。
2.1.4 埋点信息是否蕴含敏感信息,比方交易单号
思考到埋点的量级很大,所以mPaas的埋点默认本地是没有做数据加密的,所以埋点信息不倡议蕴含敏感字段,避免因为埋点导致信息透露。敏感字段倡议走RPC的数据通道上报,保障数据安全。如果有埋点埋敏感字段的诉求,须要被动开启埋点的本地加密配置。
2.1.5 隐衷权限配置
因为当初监管机构对隐衷权限管控比拟严格,mPaas针对权限管控做了对应的接入计划。须要须要确保上线前隐衷权限相干配置曾经失常接入。
2.2 稳定性
2.2.1 验证在Android4.X版本的是否能够失常应用
mPaas最低反对Android4.3版本以上,所以公布前须要验证下低版本Android设施的可用性,遇到比拟多的是在Android4.X设施上因为多dex加载导致的类找不到导致的装置闪退问题。
2.2.2 iOS符号表是否失常上传
公布前须要确保iOS的符号表曾经上传到mPaas后盾,不便后盾反解闪退信息。
2.2.3 热修复模块是否接入并且验证通过
公布前须要确保热修复模块的失常接入以及验证通过,保障上线有针对Native模块的热修复能力,保障异样场景下的修复能力。
2.2.4 离线包Fallback域名确认
确认Fallback域名是否是外网可拜访的地址,遇到过公布后下发的还是内网地址的case。
2.2.5 离线包模块接入CDN
上线前做好容量评估,默认mPaas的离线包是存储在OSS内的,然而个别倡议针对离线包模块接入CDN,通过CDN的缓存性能解决因为离线包下载导致带宽打满的危险,同时绝对于OSS存储来说,CDN的费用更低。接入示意图如下:
图2
2.2.6 RPC外围链路接口压测
上线前须要对App外围链路的RPC接口做性能压测,获取接口性能瓶颈,能够用做后续的限流值的设定参考。同时须要针对RPC限流场景做演练,避免上线限流后客户端呈现各种异样。
2.2.7 公布更新性能可用
上线前须要验证公布apk性能可用,包含公布更新的强制更新性能,保障在极其场景下,须要强制降级应用。
2.3 性能体验
2.3.1 离线包离线性能是否失常失效
确保离线包的离线性能失常应用,避免因为离线包各种配置问题导致离线性能不失效。
2.3.2 UC内核是否失常接入
确保UC内核正确配置接入,次要解决零碎Webview下的各种兼容性问题。同时UC提供了很好的稳定性,比零碎webview更稳固。
2.3.3 外围链路离线包是否预制
在公布前,须要预制外围链路离线包,保障外围链路在极其异样场景下依然能够关上。
参考文档
[1]挪动开发平台 mPaaS:https://www.aliyun.com/product/mobilepaas/mpaas
[2]数据加密:https://help.aliyun.com/document\_detail/72752.html?spm=a2c4g.11186623.6.732.6bb85ed3LyuYtO
咱们是阿里云智能寰球技术服务-SRE团队,咱们致力成为一个以技术为根底、面向服务、保障业务零碎高可用的工程师团队;提供业余、体系化的SRE服务,帮忙广大客户更好地应用云、基于云构建更加稳固牢靠的业务零碎,晋升业务稳定性。咱们冀望可能分享更多帮忙企业客户上云、用好云,让客户云上业务运行更加稳固牢靠的技术,您可用钉钉扫描下方二维码,退出阿里云SRE技术学院钉钉圈子,和更多云上人交换对于云平台的那些事。
版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。