第一部分:最高优先级(必须立即执行)
这部分是基础中的基础,能防范绝大多数自动化攻击和已知漏洞。

(图片来源网络,侵删)
修改默认数据库表前缀
这是最经典、最有效的安全措施之一,攻击者通常使用默认的 dede_ 来尝试注入。
- 操作步骤:
- 使用phpMyAdmin登录你的数据库。
- 选择你的DedeCMS数据库。
- 点击“操作” -> “表前缀”。
- 将
dede_修改为一串随机、复杂的字符串,myAbcXyz123_。 - 执行。
- 重要:修改后,你需要手动修改
/data/config.cache.inc.php文件中的$cfg_dbprefix值,使其与你修改的新前缀保持一致。
删除或重命名安装目录 /install/
安装目录是系统初始化时使用的,一旦网站搭建完成,它就成为了安全隐患。
- 操作步骤:
- 登录服务器,进入DedeCMS根目录。
- 最佳实践:直接删除
rm -rf install/。 - 次选方案:如果担心以后需要重装,将其重命名为一个随机字符串,
rm -rf install/ && mv install my_random_install_dir。
修改后台管理目录名和默认入口文件
默认的后台目录是 /dede/,默认入口是 login.php,这是攻击者首先尝试的目标。
- 操作步骤:
- 修改目录名:登录服务器,将
dede文件夹重命名为一个只有你知道的、复杂的名字,my_admin_panel_2025。 - 修改入口文件:
- 进入新的后台目录(如
my_admin_panel_2025)。 - 将
login.php重命名为你自己的文件名,welcome.php。 - 重要:修改后,你需要手动修改
/data/admin目录.php文件,将里面的值改为你新的目录名和入口文件名。
- 进入新的后台目录(如
- 修改目录名:登录服务器,将
设置强密码并定期更换
这是所有安全措施的根本。

(图片来源网络,侵删)
- 密码要求:
- 网站后台/FTP/数据库/服务器SSH:所有密码都必须是12位以上的,包含大小写字母、数字、特殊符号(如
!@#$%^&*)的组合。 - 避免使用:生日、姓名、公司名、
admin、123456等常见或弱密码。 - 定期更换:建议每3-6个月更换一次关键密码。
- 网站后台/FTP/数据库/服务器SSH:所有密码都必须是12位以上的,包含大小写字母、数字、特殊符号(如
及时更新DedeCMS到最新稳定版
开发者会不断修复新发现的安全漏洞。
- 操作步骤:
- 定期访问DedeCMS官网,检查是否有新版本发布。
- 更新前务必备份数据库和网站文件!
- 按照官方提供的更新指南进行操作,通常官方会提供补丁包或完整升级包。
第二部分:重要优先级(强烈建议执行)
这部分能进一步提升服务器的“免疫力”。
修改 data 目录权限
data 目录存储了数据库配置信息、缓存文件等敏感数据,必须严格限制其访问权限。
- 操作步骤 (Linux服务器):
- 登录服务器,进入DedeCMS根目录。
- 执行以下命令,将
data目录的所有者改为Web服务器运行用户(通常是www-data或nginx),并设置正确的权限:# 假设Web用户是 www-data chown -R www-data:www-data data/ # 设置目录为750,文件为640 find data/ -type d -exec chmod 750 {} \; find data/ -type f -exec chmod 640 {} \;
- 作用:这样只有Web进程可以读写,其他用户(包括通过Shell登录的用户)都无法直接访问,防止了跨目录攻击。
关闭或保护 plus 目录
plus 目录下包含了许多独立的功能模块(如反馈、留言、投稿等),这些模块如果存在漏洞,会成为突破口。

(图片来源网络,侵删)
- 操作步骤:
- 方法一(推荐):对
plus目录进行密码保护,在plus目录下创建一个.htaccess文件(如果不存在),内容如下:AuthType Basic AuthName "Restricted Area" AuthUserFile /服务器上的绝对路径/.htpasswd Require valid-user
然后使用
htpasswd命令生成.htpasswd文件,这样访问plus下的任何文件都需要输入用户名和密码。 - 方法二:如果某些
plus功能你完全不用(如guestbook、feedback),直接删除对应的目录。
- 方法一(推荐):对
删除或注释无用文件
- 删除文件:
/install/(已处理)/data/safe或/data/目录下的index.html文件(这些是目录索引文件,可能暴露目录结构)。/dede/目录下的makehtml_homepage.php等文件(如果你不使用其生成静态首页的功能)。
- 注释代码:如果你不使用会员系统,可以注释掉或删除
/include/目录下与会员相关的文件,减少攻击面。
配置Web服务器(Apache/Nginx)安全
- Apache:
- 禁止目录列表:在网站根目录的
.htaccess文件中添加:Options -Indexes
- 屏蔽敏感文件:在
.htaccess中添加,防止直接访问.inc、.bak 等敏感文件:<FilesMatch "\.(inc|bak|conf|sh|sql)$"> Order allow,deny Deny from all </FilesMatch>
- 禁止目录列表:在网站根目录的
- Nginx:
- 禁止目录列表:在
nginx.conf的server块中添加:autoindex off;
- 屏蔽敏感文件:在
server块中添加:location ~* \.(inc|bak|conf|sh|sql)$ { deny all; }
- 禁止目录列表:在
第三部分:常规优先级(良好运维习惯)
这部分是保持服务器长期稳定运行的关键。
定期备份数据
这是最后的防线,也是最可靠的恢复手段。
- :
- 网站文件:所有程序文件、上传的图片、附件等。
- 数据库:完整的数据库结构和数据。
- 备份频率:
- 重要网站:每日全量备份。
- 一般网站:每周全量备份,每日增量备份数据库。
- 备份存储:将备份文件存储在与网站服务器不同的物理位置,最好是异地服务器或云存储(如阿里云OSS、腾讯云COS)。
使用安全组件(如安全狗、云盾)
安装专业的服务器安全软件,可以实时监控和拦截攻击。
- 功能:防SQL注入、防XSS攻击、防CC攻击、文件监控、IP黑名单等。
- 选择:可以选择商业软件(如安全狗、云锁),也可以使用开源方案(如Fail2ban)配合一些自定义规则。
关闭不必要的服务和端口
遵循“最小权限原则”,只开放必要的端口。
- 操作:检查服务器,关闭或限制访问非必要的端口,如
3306(MySQL)、21(FTP) 等,如果必须开放,请通过防火墙(如iptables、firewalld)限制只允许特定IP访问。
监控服务器日志
定期查看Web访问日志(access_log)和错误日志(error_log),可以及时发现异常访问行为,如大量扫描特定文件、SQL注入尝试等。
- 工具:可以使用
grep、awk等命令进行简单分析,或者使用ELK (Elasticsearch, Logstash, Kibana) 等专业日志分析系统。
总结清单
| 安全措施类别 | 具体操作 | 优先级 |
|---|---|---|
| 程序加固 | 修改数据库表前缀 删除/重命名 /install/修改后台目录名和入口文件 及时更新DedeCMS |
最高 |
| 权限控制 | 设置 data 目录为750/640权限关闭/保护 plus 目录 |
重要 |
| 服务器配置 | 禁止目录列表 屏蔽敏感文件访问 关闭不必要端口 |
重要 |
| 密码管理 | 设置强密码(后台、FTP、数据库) 定期更换密码 |
最高 |
| 运维习惯 | 定期备份(文件+数据库,异地存储) 使用安全软件 监控服务器日志 |
常规 |
请严格按照以上步骤,尤其是最高优先级的操作,来加固你的织梦网站服务器,安全是一个持续的过程,需要你时刻保持警惕。
