2024年7月12日凌晨2点17分,网安网站我司官网首页被植入境外赌博广告链接。通报监控日志显示,篡改攻击者利用后台编辑器漏洞上传了Webshell,信息篡改了三个栏目页面。整改从入侵到被发现,报告整个过程持续了43分钟。网安网站
这不是通报一次复杂的攻击。对方用的篡改是公开的漏洞利用代码,连IP都没做跳转伪装。信息也正因如此,整改整改工作反而容易定位问题根源——我们连基础的报告安全基线都没做好。
漏洞出在三个环节。网安网站第一,通报后台管理地址使用默认路径/admin,篡改且未限制访问IP。第二,编辑器组件版本停留在三年前,已知的任意文件上传漏洞未修复。第三,服务器安全组策略放行了不必要的443端口外部访问权限。说白了,门没锁,钥匙还挂在门口。
发现问题的当天上午,我们切断了网站外网访问,先做应急处置。备份被篡改页面原始数据后,用干净备份重置了所有文件。同时修改了后台路径,加上了双因素认证,并限制仅允许公司办公网段访问。这一步花了四个小时,到下午三点网站恢复访问。
接下来的两周是深度整改。技术层面,我们升级了所有中间件和编辑器组件,关闭了除80和443外的全部非必要端口。安全组规则改为白名单模式,只放行业务必须的IP段。代码层面,对上传功能做了格式白名单校验,增加了文件类型二次检查。这些改动不大,但每一条都对应着这次攻击的实际路径。
真正花时间的是流程层面的调整。以前安全运维是兼职的,由研发部一位同事顺带负责。现在单独设立了安全岗位,每周做一次漏洞扫描,每月做一次渗透测试。扫描报告直接抄送公司负责人——这很重要,不然容易流于形式。另外,我们建立了发布审批制度,任何前台改动必须走git提交+人工复核流程,不能再直接改服务器上的文件。
还有一个细节值得说说。攻击者留下的Webshell文件只有3KB,藏在一个图片目录里。常规扫描软件没扫出来,最后是人工排查文件修改时间时发现的。这说明安全工具不是万能的,日常巡检不能过度依赖自动化。我们的新制度里特意要求,每周至少一次人工检查关键目录的文件变动记录。
这次事件还有个意外收获。因为要溯源,我们翻看了近三个月的访问日志,发现那个漏洞至少被扫描了二十多次,只是之前没人关注日志告警。现在日志系统接入了企业微信告警,高危行为会实时推送。上周有个IP连续尝试登录五次,我手机上立刻收到了提醒——虽然最后确认是误报,但这种反应速度让人安心多了。
整改完成后的第七天,我们请第三方做了次模拟攻击测试,结果是未发现可利用漏洞。但这不意味着可以放松。安全是动态的,新漏洞每天都在出现。我们计划每季度做一次外部审计,同时订阅了厂商的安全公告,确保补丁更新及时。网站现在运行稳定,访问量没受什么影响。但说实话,这次事件让我个人最大的改变是——再也不敢觉得“小公司不会被盯上”了。攻击者不看你公司大小,只看你防护弱不弱。