创业前端架构:合规、可信、安全三位一体
|
我原以为挂马是后端的事,前端顶多配个WAF挡挡CC——去年2月那个凌晨三点十七分,监控告警没响,是运维老张甩来的一张截图:首页按钮点开跳转到一个域名,连HTTPS都没配,证书报错弹窗都叠了三层。我一边抓包一边骂自己手欠,不该在测试环境顺手把devtools打开着,结果看见那串base64后面嵌着的js加载路径,歪得像醉汉写的字。 手机一直在震。不是告警平台,是业务方小陈,她说话带喘,说“用户投诉量翻了四倍”,可她刚说完就挂了,估计又被运营总监拽去开站会。我盯着防火墙日志一直在刷,每秒七八条出向连接,目标IP全是陌生段,但协议头又规整得过分——不像扫描器,倒像……人肉点的。可谁会半夜三点手点七八百次? 反正我先断了CDN回源,切到备节点,重签证书,清缓存,再把所有静态资源哈希后缀全轮一遍。来回折腾三趟,天亮了。窗外光是灰的,路灯还没灭,泡面凉在桌上,汤面浮着一层白膜。我没动它。 其实最烦的不是修,是吵。第二天上午十一点,在茶水间撞见小陈,她抱着MacBook Air,键盘上还粘着半颗薄荷糖。我说:“你们上周上线的埋点SDK,签名验了没?”她愣了一下:“不是走npm官方源么?”我说:“官方源不等于可信源。”她低头抠键盘缝隙里那颗糖渣,半天才说:“开发说他们测过兼容性……”我没接话。测过兼容性,不等于测过你从CDN拉下来的那份是不是被中间换过。我早该想到的。 我原以为问题出在构建链路——后来发现不是。是构建完,有人手动把dist目录打包上传到OSS,密码写在钉钉群文件夹命名里:“2024前端部署_密码123”。不是弱口令的问题,是“密码123”根本就没进任何密钥管理系统,就躺在那里,跟去年年会抽奖名单一个文件夹。同事老赵翻到的时候“啧”了一声,顺手把文件夹重命名成“已归档_勿动”,然后继续去调VPN策略去了。没人删,没人改,就搁那儿,像一块发霉的饼干,谁路过都绕开,但没人伸手扔掉。 合规?我们过等保三级材料时,那份前端静态资源完整性校验报告是业务方自己填的,写了“已启用Subresource Integrity”。我没拦,因为当时刚连上新租的BGP线路,忙着配AS-path filter,心想反正SRI只是防CDN劫持,跟我们这波流量毛关系没有。结果呢?劫持压根没走CDN,是直接改了OSS bucket policy,让匿名PUT变成公开可写。我查日志时才发现,修改记录里操作人是“admin@company”,邮箱后缀跟我们公司不一样——但账号确实是管理员组里的。到现在也没搞清是哪个子账户被钓鱼导出的凭证,还是某次内部权限审批流程漏了双因子验证。没查清。就不写结论。 着火那天下午,我坐在机房角落凳子上啃冷掉的韭菜盒子,旁边工单系统弹窗不停:「【高】用户反馈首页弹窗频闪」「【中】埋点上报成功率跌至12%」「【低】favicon.ico返回404」。我点了两下“忽略”,又点了第三下“转给前端组”。手指悬着没放下去。转过去又能怎样?他们连webpack配置里externals字段怎么写都还在查文档。可信不是加个SRI tag,是知道你信的是谁、怎么信的、不信了怎么砍断。可这话讲出来,业务方要翻白眼,开发组长会叹气,CTO正在跟投资人聊“增长飞轮”。我闭嘴,把韭菜盒子最后一口塞进嘴里,油蹭到键盘F5键上。 去年双十一前夜,也是我值的班。那天服务器崩了两次,原因都是同一批请求打穿了API网关熔断阈值。查到⭐️⭐️⭐️⭐️源头是个H5页面,用iframe嵌了三方营销组件,而那个组件又悄悄往window上挂了三个polyfill脚本,其中两个早就被浏览器弃用了,第三个……触发了某个老版本V8引擎的GC死锁。用户刷不出来,就狂点刷新,形成正反馈循环。我们连夜切掉了iframe,可第二天运营说转化率跌了7%。没人问那7%里有多少是被卡死的真用户,多少是机器人。大家只记得损失,不记得怎么丢的。
文章配图,仅供参考 所以现在我信“合规、可信、安全三位一体”这话,不是因为它多漂亮,是它真他妈熬人。你合规做全套,但CDN厂商运维换岗没交接密钥;你可信建机制,可业务方坚持“快速上线优先”,连CSP header都要砍掉report-uri;你安全堆纵深,可前端工程师连source map关没关都分不清。优胜劣汰不是神话——就是淘汰那些以为“加个WAF就万事大吉”的人,淘汰那些把“前端无状态”当免责金牌的架构师,淘汰那些觉得“用户不点恶意链接就不会中招”的产品经理。活下来的,不是防得住,是摔得多了,皮厚了,知道哪块地雷是哑的、哪块踩下去真炸。下周一得补个事:把所有前端构建产物的sha256摘要,自动推到区块链存证服务里——不是为了上链装X,是下次再有人问“你凭什么说这个JS没被改过”,我能指着那个哈希,说:“喏,2024年2月14号下午四点零三分二十九秒,它就在那儿。” 至于能不能防住下一次?我不知道。反正这次应急报告还没交,工单还挂着“处理中”。老张刚发消息问我:“你泡面碗还占着洗碗池吗?” (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


代码即文档:逻辑清晰、规范至上的AI安全实践
政策合规:数据安全创业的深度学习加速器
创业公司后端架构生死线:政策、数据、安全三足鼎立
创业合规避坑指南:科技企业政策红线与数据安全底线
合规风控官私藏的12个零风险科技外链清单
iOS创业生死线:流量、合规、运营的性能硬仗
网页游戏卡顿?三步热更新,零停机保安全