当前位置:网站首页 >  攻略

零门槛纯干货:三步加固DedeCMS后台+全站恶意访问拦截

时间:2026年05月20日 00:10:44 来源:易频IT社区

一、前期准备:检查DedeCMS版本并补全核心漏洞

零门槛纯干货:三步加固DedeCMS后台+全站恶意访问拦截(0)

先确认您的DedeCMS版本,无论之前用没用过补丁,都必须优先覆盖官方最新安全包——大部分恶意访问是利用已知未修补漏洞发起的。

  • 步骤1:查看DedeCMS版本
  • 登录后台→点击左侧“系统”→“系统基本参数”→右侧底部“版权信息”栏,查看类似“DedeCMS V5.7 UTF-8 SP2 正式版(版本号:2024.02.18)”的文字,记下版本。

  • 步骤2:下载对应最新安全包
  • DedeCMS官方唯一安全下载地址:https://www.dedecms.com/resource/security.html(直接点击下载,无需注册),注意选择与您后台版本一致的“字符集(UTF-8/GBK)”安全包。

  • 步骤3:覆盖安装安全包
  • ①用FTP工具(如FileZilla,免费下载地址:https://filezilla-project.org/download.php?type=client)连接您的网站服务器; ②解压下载的安全包,将解压后所有文件/文件夹直接拖到FTP工具的网站根目录(根目录一般为public_html、wwwroot或您安装时指定的目录); ③覆盖时FTP工具会提示是否替换,必须选择“全部替换”,覆盖完成后刷新后台重新登录。

二、第一步核心加固:彻底隐藏并锁定DedeCMS后台入口

DedeCMS默认后台入口是/dede/,恶意扫描工具会100%优先尝试这个地址,修改后可拦截90%以上的后台扫描型恶意访问。

2.1 修改后台入口文件夹名称

零门槛纯干货:三步加固DedeCMS后台+全站恶意访问拦截(5)

①在FTP工具根目录找到/dede/文件夹,右键重命名为您专属的复杂名称(建议混合大小写+数字,如/A8d7E3x/); ②打开重命名后的文件夹,找到index.phpconfig.php两个文件,下载到本地电脑; ③用记事本或VS Code(轻量免费编辑器,下载地址:https://code.visualstudio.com/Download)打开本地的config.php,找到第12行左右的: ```php $cfg_ml = dirname(__FILE__).'/'; ``` 将其修改为: ```php $cfg_ml = dirname(__FILE__).'/'; $cfg_backup_dir = $cfg_cmspath.'/data/backupdata'; // 防止备份目录权限异常 ``` ④VS Code打开本地的index.php,无需修改,但后续要一起上传回去; ⑤将修改后的config.php和原index.php上传到重命名后的后台文件夹,覆盖原有文件

2.2 禁止IP以外的设备访问后台

如果您只有固定IP(可通过https://www.ip138.com/查询)办公,这是最安全的后台防护方式。

①进入重命名后的后台文件夹,新建一个.htaccess文件(注意文件名前有个点,Windows系统新建时要命名为“.htaccess.”,上传后自动去掉末尾的点); ②将以下完整代码复制到.htaccess文件中,替换您的固定IP: ```apache 禁止所有IP访问后台入口 Order Deny,Allow Deny from all 允许您的固定IP访问,多IP可换行添加,格式相同 Allow from 123.45.67.89 禁止访问所有.txt、.log、.zip等敏感文件 Order Allow,Deny Deny from all ``` ③保存后上传到后台文件夹即可。

三、第二步加固:全站拦截恶意访问(通用.htaccess规则)

此规则适用于Apache或Nginx伪静态的虚拟主机/服务器,可拦截恶意扫描、SQL注入、XSS攻击、恶意蜘蛛等常见恶意行为。

3.1 检查网站是否支持.htaccess

①在网站根目录新建test.txt,随便写几个字; ②重命名为test.htaccess; ③如果重命名后能正常访问https://您的域名/test.htaccess(会显示403 Forbidden或内容被隐藏),则支持;如果不显示或报错,请联系服务器商开启Apache的mod_rewrite模块(Nginx用户见下文补充)。

3.2 上传全站恶意拦截.htaccess

零门槛纯干货:三步加固DedeCMS后台+全站恶意访问拦截(10)

①在网站根目录找到原有的.htaccess文件(如果没有,新建一个,同上处理Windows文件名问题),备份一份到本地电脑; ②将以下完整代码添加到原有.htaccess文件的最顶部(Nginx用户需转换规则,见3.3): ```apache 开启Rewrite引擎 RewriteEngine On 1. 拦截恶意SQL注入关键词 RewriteCond %{QUERY_STRING} (union|select|insert|update|delete|drop|alter|truncate|exec|execute|md5|benchmark|load_file|outfile) [NC,OR] RewriteCond %{QUERY_STRING} (\.\./|\.\.\\|%2e%2e/|%2e%2e\\|base64_decode|eval\(|assert\(|system\(|shell_exec\() [NC] RewriteRule ^(.)$ - [F,L] 2. 拦截恶意UA(User-Agent)蜘蛛/爬虫 RewriteCond %{HTTP_USER_AGENT} (scanner|hacker|bot|spider|curl|wget|python|java|perl|ruby) [NC,OR] RewriteCond %{HTTP_USER_AGENT} (MJ12bot|AhrefsBot|SemrushBot|DotBot|BaiduSpider2|Googlebot-Mobile2|Sogou web spider/4.0(;+http://www.sogou.com/docs/help/webmasters.htm07)) [NC] RewriteRule ^(.)$ - [F,L] 3. 拦截恶意IP段(可自行添加,每行一个) Order Allow,Deny Deny from 192.168.1.0/24 Allow from all 4. 拦截空Referer访问(防止盗链和部分扫描,可根据情况开启) RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https?://(www\.)?您的域名\.com/ [NC] RewriteRule \.(jpg|jpeg|png|gif|pdf|doc|docx|xls|xlsx)$ - [F,L] ``` ③保存后上传到网站根目录,覆盖原有文件; ④测试规则是否生效:在浏览器地址栏输入https://您的域名/?test=union select 1,若显示403 Forbidden,则SQL注入拦截生效;用Chrome浏览器开发者工具(F12→Network→设置UA为hacker)刷新首页,若显示403,则UA拦截生效。

3.3 Nginx用户规则转换与配置

Nginx不支持.htaccess,需将规则转换后添加到网站的Nginx配置文件中:

  • 虚拟主机用户:联系服务器商提供配置文件入口或让技术人员添加;
  • 云服务器(如阿里云ECS、腾讯云CVM)用户: ①用SSH工具(如PuTTY,免费下载地址:https://www.putty.org/)连接服务器; ②找到您的网站配置文件(一般在/etc/nginx/conf.d/目录下,名为您的域名.conf); ③用vi编辑器打开: ```bash vi /etc/nginx/conf.d/您的域名.conf ``` ④按i键进入编辑模式,将以下转换后的规则添加到server块内的root/伪静态规则下方: ```nginx 拦截恶意SQL注入关键词 if ($query_string ~ "(union|select|insert|update|delete|drop|alter|truncate|exec|execute|md5|benchmark|load_file|outfile)") { return 403; } if ($query_string ~ "(\.\./|\.\.\\|%2e%2e/|%2e%2e\\|base64_decode|eval\(|assert\(|system\(|shell_exec\()") { return 403; } 拦截恶意UA if ($http_user_agent ~ "(scanner|hacker|bot|spider|curl|wget|python|java|perl|ruby|MJ12bot|AhrefsBot|SemrushBot|DotBot)") { return 403; } ``` ⑤按Esc键退出编辑模式,输入:wq保存并退出; ⑥重启Nginx使规则生效: ```bash nginx -t 先检查配置文件是否有语法错误 systemctl restart nginx 重启Nginx ```

四、第三步收尾:关闭DedeCMS不必要的功能

关闭不用的功能可减少攻击面,操作更简单:

  • 登录重命名后的后台→点击左侧“系统”→“系统基本参数”;
  • “核心设置”栏:关闭“是否启用会员功能”“是否允许前台投稿”“是否开启留言板”(用不到的话);
  • “附件设置”栏:将“允许上传的附件类型”改为仅您需要的(如jpg|jpeg|png|gif|pdf),删除php|asp|jsp等可执行文件类型;
  • 点击左侧“系统”→“系统用户管理”→删除多余的后台账号,仅保留您自己的账号,并修改您的账号密码为混合大小写+数字+特殊字符的12位以上密码
  • 点击左侧“系统”→“系统日志管理”→开启“系统日志记录”,设置保留天数为30天,定期查看日志(点击左侧“系统”→“系统日志管理”→“查看系统日志”),发现异常IP立即添加到拦截规则中。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图