大多数被拿下的机器,不是被什么零日漏洞打穿的,是门压根没锁。做运维这些年看过的入侵现场,真正靠未知漏洞进来的少之又少,更多是自己把入口敞着:后台弱口令、数据库裸奔、旧插件一直没删、远程端口对全网开放。所以聊漏洞防范措施,我更愿意按入口来数,而不是按漏洞编号去背——编号天天变,入口就那么几个。

后台入口:路径和密码都别用默认的
第一个入口是网站后台。攻击者根本不用会什么高级手段,拿一份从别处泄露的账号密码库,对着 /admin、/wp-admin、/dede 这类常见路径跑一遍撞库就行。默认管理员名是 admin,密码是 123456 或者域名加个年份,这种组合撑不过一个晚上。
能做的其实不复杂:后台路径改成不好猜的,管理员账号名换掉,登录失败几次就锁定或加验证码,条件允许再上二次验证。有固定办公 IP 的,后台干脆只对这几个 IP 开放,安全性立刻上一个台阶。顺手提一句,安装完 CMS 之后那个 install 目录、README、phpinfo.php 测试文件,都记得删掉,很多人就是被这几个残留文件卖了底。
数据库入口,不少人压根不知道它开着
云服务器买回来默认安全组放行了哪些端口,很多人从来没点开看过。3306 对着 0.0.0.0/0 开放,root 密码还是初始那串,这种配置我见得太多。数据库这种服务,本来只该让本机的应用连,绑 127.0.0.1 就够了,真要远程管理,走 SSH 隧道或者跳板机,也比直接把端口摊在公网上踏实。
还有 phpMyAdmin 这类管理工具,装完就扔在网站根目录下的 /phpmyadmin,随便扫一下就出来了。用完删掉,或者至少加一层访问限制。MySQL 这边,除了 root 之外的业务账号别给 FILE、DROP 这类权限,库和库之间按需隔离,哪天某个站被人从注入点摸进来,也不至于连累整台机器上的其他库。不确定服务商默认策略的,以服务商控制台和官方文档说明为准,别凭感觉。
漏洞防范措施里最容易跳过的是远程运维端口
漏洞防范措施这四个字,很多人第一反应就是打补丁、装 WAF,可真正每天被暴力破解的是 SSH 的 22 和 Windows 的 3389。改端口号只能减少扫描噪音,挡不住有心人,真正的差别在认证方式:SSH 关掉密码登录,只留密钥;RDP 加白名单加账户锁定策略;面板类工具像宝塔的 8888,别用默认端口、别用默认入口,绑个自己的域名再配 SSL,比什么都强。
顺手说个细节。云厂商的安全组和机器里的 firewalld、iptables 是两套东西,安全组放行了不代表系统里也放行,反过来也一样。有人改完安全组发现还是连不上,折腾半天,其实是系统防火墙没开对应规则。这两层对一遍,能省下不少半夜的抓狂。
上传和插件这个入口,删掉比修更省事
内容管理系统被打,八成不是核心代码出问题,是某个装了两三年没更新的插件或者主题。停用不等于安全,文件还在服务器上,照样能被直接访问到。不用的插件老老实实删掉,主题留一个在用的,其余清理干净。
另外上传目录得单独看一眼。正常的图片目录里不应该能执行 PHP,nginx 上加一段 location 匹配就够,Apache 里用 .htaccess 限制也行。传上去一个改名成 jpg 的脚本,再想办法让它跑起来——这是很老的套路了,可每年都还有人中招。文件上传处对类型、大小、后缀做白名单校验,别只在前端用 JS 拦一下,那玩意儿随手就绕过去了。
补丁要打,但别把它当唯一的兜底
从漏洞被披露到出现批量扫描,中间的窗口期越来越短,有的补丁发出来没两天就有人在扫了。所以补丁要打,但节奏得跟上:CMS 核心、常用插件、面板程序、SSH 和 OpenSSL 这类基础组件,订阅个邮件列表或者关注官方公告,别等出事才想起来看。
更现实的一点是,跑着老系统的机器根本打不了补丁。这时候漏洞防范措施就得换成另一种思路:机器只开必须的端口,网站跑在低权限用户下,数据库账号按最小权限分配,重要数据定期备份到另一台机器上。备份这件事,能做快照做快照,能异地就异地,并且一定要试过能不能恢复——躺在目录里但恢复不出来的备份,等于没有。
最后的检查清单我一般这么过:安全组里的规则一条条对,删掉不认识的那些;后台路径和管理员账号全换掉;3306 只留本机访问;SSH 关密码登录;不要的插件和主题清理干净;上传目录禁止执行脚本;备份跑一遍恢复演练。七条做完,不敢说固若金汤,但至少把最常见的几个入口都关上了。真正危险的从来不是那些高深的漏洞,而是你压根没意识到它一直开着的那扇门。
【版权声明】:本站内容若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!