一家企业官网被挂了赌博广告,客户来问怎么回事。排查结果让人哭笑不得:后台admin账号密码是admin123,建站时设的,三年没改过。漏洞不在代码,在人。定制建站上线前,安全这四道检查走一遍,多数事故能提前挡住。四道工序都不难,难的是别嫌麻烦。
第一道:漏洞自查
上线前用免费工具把站点扫一遍,SQL注入、跨站脚本这类常见问题,工具能报出大半。表单是重点检查对象:在输入框里塞一段特殊字符提交,看程序会不会报错或执行,会的话就要让开发堵上。扫描报告里标高危的项,修完再复扫一次,别带病上线。这道工序半天能做完,成本极低,跳过它的代价却是不可控的。扫描工具挑口碑好的免费款就够用,关键是真去扫,别让工具躺在收藏夹里。
扫描工具不是万能的,它认得出的都是老面孔。业务逻辑上的漏洞——比如改一下请求参数就能看到别人的询盘数据——还得靠人工把关键接口挨个试一遍,尤其是带编号的页面地址,把序号加减一试试能不能越权。试出来问题不丢人,试不出来才是真踏实。
第二道:备份与回滚演练
问一句「昨晚的数据能恢复吗」,再当场演示一次:从备份恢复出一个能跑的站点,才算真有保险。很多服务器买了自动备份服务,但从没人验证过能不能恢复,真出事时才发现备份文件是坏的。定两个规矩:数据库每天备份、文件每周备份;每季度做一次恢复演练。备份文件异地存一份,服务器整个沦陷时还能从别处拉回来。演练时特意让不熟悉备份的员工操作一遍,流程写得不够傻瓜,现场就暴露了。
第三道:权限清理
- 后台账号按人分配,禁止共用一个账号。
- 测试账号、演示数据上线前全部删除。
- 离职人员的账号当天停用。
- 数据库、服务器的管理口令和后台口令分开设置。
权限清单每半年复核一次,人员流动多的公司一季一次,账号干净,网站才干净。
第四道:口令体检
所有后台密码强制十二位以上,字母数字符号混排,登录连续错五次锁定半小时。就这两条,能挡掉绝大多数暴力破解——开头那家企业的遭遇,就是败在没这两条。密码策略写进员工手册,跟考勤纪律一个待遇,才算真当回事。
四道检查加起来一两天,建议写进项目验收流程。自己没有技术人手的,可以请比格网络这类团队做一次定制建站上线前的安全体检,拿着报告逐项整改,比事后补救体面得多。安全投入看不见回报,出一次事就知道花得多值。