服务器日志里,/admin.php 一分钟被请求几十次,来源散在几个 IP 段,状态码全是 404 或 200。看到这种曲线,先别慌,这是公网上最常见的一类探测。
这个路径为什么被盯上
大量建站程序默认把后台入口放在 admin.php、admin/、manage 这类位置。扫描器不需要知道你在跑什么,挨个试一遍成本极低。命中之后才谈得上登录页爆破,那是下一步。
第一件事是把入口挪走
后台目录改名,别用 admin、manage、system 这些词。改成只有团队知道的一串字符,改完记得同步更新程序配置里的入口常量,否则前端跳转还在打老地址。
Nginx 上给旧路径直接 return 444,连响应都不给。Apache 用 RewriteRule 把 admin.php 重写到 404 页面。这一步断掉的是大部分无脑扫描,日志量能降一个数量级。
再加一层来源限制
只允许公司固定 IP 访问后台,配置在 Nginx 的 allow 和 deny 里,顺序不能写反。团队出差地址不固定的,上一套 VPN,后台只对 VPN 网段开放,比到处加白名单省心。
管理后台还应该单独绑一个子域名,主页面上不出现任何跳转链接。少一个入口,就少一批被搜索引擎和爬虫顺带发现的机会。
登录环节的三条底线
- 强制双因素,短信、TOTP 都行,验证码别做成可以无限重试。
- 连续失败五次锁账号十五分钟,锁定按账号加 IP 一起算。
- 密码存 bcrypt 或者 argon2,别再用 md5 加盐。
日志要留得住
访问日志里保留完整 URL 和 UA,登录日志单独记账号、结果、IP、时间,至少存 90 天。哪天真的被登进去了,这份记录是唯一能还原过程的材料。有条件把日志同步到另一台机器,攻陷的服务器上的日志并不可信。
这几件事做完,admin.php 的探测请求依然会来,只是它们碰不到任何东西。加固的收益不在清静,在于出事时你有足够的时间发现。