自建站安全清单:备份、防注入与权限管理

平台的网站有平台的安全团队兜底,自建站的一切都要自己负责。听起来吓人,其实个人站的安全就是几件朴素的常规事,形成习惯后并不费劲。这份清单按优先级排列,可以逐项打勾。
一、备份:唯一能救命的措施
其他所有措施都是在降低出事概率,只有备份是出事后的救命稻草。策略建议:数据库每天自动备份一次,程序文件每周备份一次,备份文件保留至少两份,其中一份放在另一台机器或网盘上——和网站同机的备份在主机挂掉时会一起消失。特别提醒:备份文件是敏感数据,绝不能放在网站目录下,否则一个下载链接就把整站数据送出去了。
定期做一次恢复演练,把备份导到测试环境跑一遍。没有验证过的备份等于没有备份,这句话值得写在服务器墙上。
二、防注入:不信任任何输入
SQL 注入是动态站最常见的漏洞,根源是把用户输入直接拼进了 SQL。防护原则一句话:所有进入 SQL 的变量都必须经过处理,要么用参数化查询,要么走统一的转义层。我的做法是在框架的模型层统一封装数据库访问,业务代码不手写 SQL 拼接,从结构上消灭犯错机会。同理,输出到页面的内容要过转义,防止脚本注入;涉及文件上传的,校验类型和扩展名,上传目录禁止执行脚本。
三、权限与口令:管住后门
- 后台路径不外泄、登录加验证码,失败次数过多自动锁定;
- 数据库账号最小权限原则,程序运行账号不使用 root;
- 配置文件里的数据库口令、接口密钥与代码分开放置,仓库不留明文;
- 对外接口做签名验证,时间戳加密钥的组合能有效防重放;
- 服务器 SSH 关闭密码登录,只留密钥。
四、习惯:把安全变成例行公事
每月做一次例行检查:程序有没有新版本补丁、备份有没有正常跑、日志里有没有异常访问记录。安全不是一次工程,而是一组习惯。个人自建站的目标从来不是「绝对安全」,而是让攻击者发现你这座「碉堡」的攻破成本明显高于收益——做到这一点,你就已经超过绝大多数疏于打理的站点了。
评论列表:0