0x1本周话题
话题:请教各位,小程序安全有什么解决方案吗?特别是内部人员使用的小程序,无法纳入vpn或零信任里,怎么收敛暴露面呢?
A1:严格控制用户权限,访问代理检测,多重认证,api权限控制,报文和字段级加密,设置小程序不可检索,常态化安全评估。精简功能减少不必要的暴露。
A2:首先需要搞清楚有多少个小程序,自己公司名称运营的还是挂在别的公司下面的代运营。然后看涉及到的数据类型收集和处理情况,主动收集隐私政策有没有,小程序合规这块参考四部委的APP合法合规来做。最后做好小程序对外暴露面和公司后台系统的接口控制,做个渗透测试保底。
A3:以腾讯内部小程序为例,前面放了个认证网关,做多重认证。(提前让员工登记微信号)。
Q:小程序认证网关是指串进去一台api网关吗?还是集成公司的微信端sso。
A4:应该是后端程序暴露给前端小程序的调用的API都需要通过这个网管来管理。实现方式可以有多种,目的还是要保证访问的用户是可信的。串进去一台api网关。员工入职后,登录HR系统,更新个人信息(填写微信号)。再访问这个小程序就可以自动进入了。员工登记个人微信号,打开小程序时连接认证服务器获取访问票据,认证网关强制验证每一个对后端的请求包。
Q:没用企业微信吗?
A5:有用企业微信。
A6:正好,我这也碰到个场景,顺路问下,业务部门说需要拿企业微信扫码签到,企业微信管理部门让业务部门找安全出方案,我理解,业务部门是需求方,企业微信管理部门是承建方,这个常见场景企业微信应该有成熟方案?安全只需要评估承建方成熟方案即可,不用单独设计吧 认证授权都是前面网关做的,扫码其实是个内部链接,算后端应用的内部交互了才对,只需要网关屏蔽所有外部链接即可。
A7:得把小程序看作互联网暴露应用来管理,基本的包括客户端代码混淆对抗、服务端API侧的安全和通信鉴权和加解密,如果是办公应用建议还是能纳入零信任的访问控制体系。
Q:企业微信能纳入零信任么?有这么实践的么?我们也不放心企业微信的api,希望能收到SDP后面。
A8:企业微信的H5可以纳入,但是小程序貌似不行啊,是不是得用腾讯出品的零信任网关,之前我们咨询深信服说小程序不可以。
Q:话说你们笔记本或者台式机上安装企业微信了吗?要是安装了感觉信息泄露风险很大啊。
A9:办公电脑装了,电脑端啥都能搞,手机端要保持长连接,外来设备还真不太好搞。主要还是后端的H5和认证的纳入,终端环境采集就比较难了。
A10:这个是可以用应用层零信任方案解决,逻辑上小程序不直接对互联网开放,请求通过零信任网关转发,因为是应用层网关可以不依赖终端agent引流。请求到网关后经策略引擎做鉴权后来决定是否放行,之后访问过程中进行持续验证,这样就隔离了非正常的请求和攻击。然后网关这个口其实是面临被入侵的风险的,然后后端应用这都能打了。
A11:我们通过网关口控制智能手机APP登录的企业微信才能通过网关并完成鉴权后访问内置应用。
A12:攻击面实际上是大幅收敛了,后端应用是不可见的,不通过验证数据包不转发,也到达不了后端应用,会更安全。逻辑上是这样,任何收敛攻击面的方案都是存在这个逻辑问题,但选择就变成了是分散资源保障所有暴露面的安全,还是集中力量做加强保护。
A13:现在其实就是把压力给到了网关、如果网管出了漏洞那可能基本就穿了。
A14:还有一个问题,自从上了零信任,安全团队的运维压力陡增啊。把所有的应用都收敛了,也就存在单点故障。
A15:可用性要求变得很高,尤其内网接入时。小程序接入网关要解决的是身份和鉴权方式打通问题。最好找个开发部门承接零信任,自己当业务需求部门。