pbootCMS 3.0 的安全加固核心在于代码更新、后台入口隐藏以及服务器层面的访问控制,防火墙配置应优先依赖云服务商的安全组策略,再辅以 Web 服务器规则。
先说结论:安全加固不是装个插件就行,得从代码层到服务器层层设防,重点防后台爆破和文件上传漏洞。
- 先判断:确认当前版本是否存在已知漏洞,检查服务器是否开放了不必要的端口。
- 优先做:更新到官方最新代码,修改配置文件
config/config.php中的后台入口,限制上传目录的 PHP 执行权限。 - 再验证:尝试访问旧后台地址确认失效,检查网站功能是否正常,观察安全日志。
命令速用版
如果是 Linux 服务器,以下命令可快速收紧文件权限和 Nginx 配置,操作前请务必备份:
# 设置网站目录权限,防止写入漏洞
# 注意:www:www 需替换为实际运行用户,可通过 ps aux | grep php 查看
chmod -R 755 /www/wwwroot/your_site
chown -R <实际用户>:<实际用户组> /www/wwwroot/your_site
# 关键目录禁止 PHP 执行(Nginx 示例)
location ~* /upload/.*\.(php|php5|jsp|asa|asp)$ {
deny all;
}主机防火墙配置
除了云安全组,建议在操作系统层面也开启防火墙,减少暴露面。
CentOS 7+ (firewalld):
# 开放 HTTP/HTTPS
firewall-cmd `--permanent` `--add-service`=http
firewall-cmd `--permanent` `--add-service`=https
# 关闭非必要端口(如 3306)
firewall-cmd `--permanent` `--remove-port`=3306/tcp
firewall-cmd `--reload`Ubuntu (ufw):
ufw allow 80/tcp
ufw allow 443/tcp
ufw deny 3306/tcp
ufw enable为什么会这样
很多站长觉得装了 CMS 就安全了,其实默认安装的 pbootCMS 后台地址、数据库表 Prefix 都是公开的,扫描器很容易批量探测。另外,PHP CMS 最常见的风险在于上传目录被利用,如果上传文件夹允许执行 PHP 脚本,一旦有漏洞上传了 Webshell,服务器就沦陷了。防火墙不仅是防 DDoS,更是为了限制非法请求到达 PHP 解释器。
分步处理
1. 代码层更新与配置
先去 pbootCMS 官网核对最新版本,替换核心文件。注意保留自己的模板和配置文件。打开根目录下的 config/config.php,找到 admin_file 配置项,修改后台入口关键词,不要使用默认的 admin 或 system。
2. 文件权限收紧
网站根目录及子目录通常只需要读取和执行权限,只有缓存、上传等特定目录需要写入权限。建议将上传目录的脚本执行权限在 Web 服务器层面禁用。
3. 防火墙与安全组
登录云服务器控制台,安全组只开放 80、443 端口,SSH 端口建议修改非默认值并限制 IP 访问。如果条件允许,接入云厂商的 WAF 服务能拦截大部分常见 Web 攻击。
4. 数据库安全
确保数据库只允许本地连接,编辑 MySQL 配置文件(通常位于 /etc/my.cnf),设置 bind-address = 127.0.0.1,不要对公网开放 3306 端口。
怎么验证是否生效
修改后台入口后,尝试访问原默认地址,应返回 404 或无响应。使用 curl -I http://your_domain/admin.php 检查状态码。使用 netstat -tulpn | grep 3306 确认数据库未监听公网 IP。检查 Web 服务器错误日志,确认没有异常的 PHP 执行报错或非法访问记录。
常见坑
修改权限时容易误伤,导致网站图片无法加载或缓存无法生成,修改前务必记录原权限。修改后台入口后忘记新地址,导致无法登录,建议修改前先确认配置文件语法正确。防火墙规则过于严格可能拦截正常用户请求,建议先开启日志记录模式观察一段时间再正式拦截。