帝国 CMS 后台怎么加固
照这篇做下来,你能把帝国 CMS 最容易被扫描器盯上的几个默认入口全部堵死,后台从“裸奔”变成需要多道门槛才能进。
第一步:把后台目录 /e/admin 改名
这一步要做的是让自动化扫描工具找不到你的后台登录页,做完之后默认的 http://你的域名/e/admin/ 会直接返回 404。
帝国 CMS 的后台目录默认就是网站根目录下的 /e/admin/,几乎所有的批量扫描脚本都拿这个路径当特征。用 FTP 或者宝塔面板的「文件」功能,进到网站根目录,把 e 目录下的 admin 文件夹重命名为一个别人猜不到的名字,比如 manage_8f3k。改完之后你的后台入口就变成 http://你的域名/e/manage_8f3k/。
如果重命名后访问新地址出现样式错乱、或者跳回旧路径,打开 /e/config/config.php,查找是否有 adminpath 这一项,有的话把值同步改成新目录名,然后删除 /e/data/cache/ 下的缓存文件。
注意:改名前先记下原来后台里「系统」→「备份与恢复数据」能不能正常用。改名后所有旧书签、旧收藏都会失效,团队里其他人要同步通知。
第二步:换掉默认管理员账号
这一步要做的是消除“用户名已知、只剩密码要猜”的风险,做完之后攻击者连账号名都对不上。
用原来的账号登录后台后,走「系统」→「管理管理员」→「增加管理员」,新建一个管理员:用户名不要用 admin、root、webmaster 这类词,密码至少 16 位,大小写字母、数字、符号混排。保存后退出,用新账号重新登录,确认新账号有全部权限,再回到「管理管理员」把默认的 admin 账号删掉。
注意:帝国 CMS 不允许删除当前登录的账号,所以必须先登录新账号再去删旧账号,顺序反了会删不掉。
第三步:限制后台只允许你的 IP 访问
这一步要做的是让后台在公网上“隐身”,做完之后即使目录名泄露,非白名单 IP 也打不开。
如果你家里或公司是固定公网 IP,用 Nginx 的话,在站点的 server 配置块里加:
location ^~ /e/manage_8f3k/ {
allow 你的公网IP;
deny all;
}
改完先执行 nginx -t 确认语法没问题,再 nginx -s reload。用 Apache 的话,在新后台目录下放一个 .htaccess:
Order deny,allow
Deny from all
Allow from 你的公网IP
注意:IP 写错会把自己也锁在外面,改配置前先开着 SSH 或面板的文件管理器,别只靠后台一个入口。家里宽带 IP 会变的话,这一条要么放弃,要么改用动态 DNS。
第四步:删掉安装目录、开启登录验证码
这一步要做的是清掉历史遗留漏洞点并增加一道人机验证,做完之后安装程序被重复执行、脚本暴力登录这两条路都断了。
安装完帝国 CMS 后,/e/install/ 这个目录就没用了,直接在文件管理器里整个删除。然后进后台「系统」→「安全参数配置」(部分版本叫「安全设置」),把「后台登录验证码」设为开启并保存。
注意:删的是
/e/install/,别手滑删成/e/data/,后者存着缓存和附件信息,删了站点会报错。
第五步:收一收目录权限和错误回显
这一步要做的是降低被写马和泄露路径信息的可能,做完之后站点目录不能随便被写入,报错页也不会吐出服务器路径。
Linux 环境下,网站目录权限设成 755、文件 644;只有 /e/data/、/d/ 这类需要上传和写缓存的目录才给写权限。然后在 PHP 配置里把 display_errors 设为 Off、expose_php 设为 Off。
注意:不要图省事把整个网站 chmod 成 777,那等于给任何上传漏洞开后门。
第六步:备份与日志留痕
这一步要做的是确保出事能还原、能追溯,做完之后你手上有一份可回滚的数据和一份登录记录。
后台走「系统」→「备份与恢复数据」→「备份数据库」,选全表备份,备份文件生成后立刻下载到本地电脑,别留在服务器上。同时定期查看后台的登录日志,看有没有异常的失败记录。
注意:备份文件如果放在网站目录里,等于把整个数据库挂到了公网上,文件名稍微用点心也挡不住,务必下载后删除服务器上的副本。
小结
- 后台目录改名,是性价比最高的一步,先做这个
- 管理员账号换名、密码加长,删掉默认 admin
- 固定 IP 场景直接上 allow/deny,比什么插件都管用
- 删
/e/install/,开后台验证码 - 目录权限 755/644,关掉 PHP 错误回显
- 备份要下载到本地,日志要定期翻
原文链接:https://www.gj0.com/thread-457.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。