使用PbootCMS制作网站如何免费做好防护

一、前期准备:备份与版本升级(关键第一步)

1. 全量备份(避免操作失误)
  • 登录宝塔面板 →【网站】 →【备份】→【立即备份】(备份网站文件+数据库)。
  • 额外备份:通过阿里云控制台→【OSS】→创建Bucket(如tcm-backup),用宝塔【计划任务】同步备份文件至OSS(免费5GB额度足够)。
2. 升级PbootCMS到最新版(修复已知漏洞)
  • 旧版本PbootCMS存在SQL注入、后台越权等漏洞,必须升级。
  • 操作:
    ① 官网下载最新版PbootCMS(https://www.pbootcms.com/ )→解压备用;
    ② 宝塔【文件】→进入网站根目录(/www/wwwroot/你的网址),删除除/template/(模板)、/static/(静态资源)、/uploads/(上传文件)外的所有文件
    ③ 将新版PbootCMS的核心文件(core/app/config/index.php等)上传覆盖;
    ④ 恢复自定义模板和静态资源(确保模板无恶意代码)。

二、PbootCMS核心配置优化(阻断常见攻击入口)

1. 修改后台路径与默认账号(防暴力破解)
  • 参考网页重点:默认后台/admin.php易被扫描,需修改。
  • 操作:
    ① 宝塔【文件】→编辑/config/config.php,找到'admin_prefix'参数,修改为随机字符串(如'admin_prefix' => 'OxF9kLm2');
    ② 登录后台(新路径:https://你的网址/OxF9kLm2.php)→【用户管理】→修改默认账号admin为自定义用户名(如tcm_admin),密码设为12位以上(大小写+数字+符号)(用Bitwarden生成)。
2. 关闭调试模式与错误提示(防信息泄露)
  • 参考网页强调:调试模式会暴露数据库路径、代码结构

  • 操作:编辑/config/config.php,修改:

    复制代码
    复制代码
    'debug' => false,          // 关闭调试模式
    'show_error' => false,     // 关闭错误提示(生产环境必关)
    'url_rule_suffix' => '.html', // 启用伪静态(防URL注入)
3. 限制文件上传类型(防Webshell上传)
  • 参考网页提到:恶意文件上传是挂马主要途径

  • 操作:
    ① 后台→【系统设置】→【上传设置】→仅允许上传图片(jpg/png/gif)、文档(pdf/docx) ,禁止.php/.asp/.jsp等可执行文件;
    ② 宝塔【文件】→进入/uploads/目录→右键【权限】→设置为755(目录)、644(文件),并禁止PHP执行 (Nginx配置添加):

    复制代码
    复制代码
    location ~* ^/uploads/.*\.(php|php5|phtml)$ {
        deny all;
    }
4. 删除冗余文件与目录(减少攻击面)
  • 参考网页建议:删除无用文件降低被利用风险
  • 操作:宝塔【文件】→删除以下目录/文件:
    • /install/(安装目录,升级后无用);
    • /demo/(演示文件);
    • /core/old/(旧版本核心文件);
    • 后台未使用的模块(如留言板、友情链接,在【应用管理】中卸载)。

三、服务器与宝塔面板安全加固(底层防护)

1. 系统更新与SSH安全(阿里云ECS)
  • 登录阿里云控制台→【ECS】→【实例】→【远程连接】(Workbench)→执行命令:

    复制代码
    复制代码
    # 更新系统(Ubuntu/Debian示例,CentOS用yum)
    sudo apt update && sudo apt upgrade -y
    # 修改SSH端口(避免22端口被扫描)
    sudo nano /etc/ssh/sshd_config → 改Port 2210(自定义端口)
    # 禁用ROOT登录+启用密钥登录(更安全)
    PermitRootLogin no
    PasswordAuthentication no (需先配置密钥)
    # 重启SSH
    sudo systemctl restart sshd
2. 宝塔面板强化(避免面板被黑)
  • 修改默认端口:宝塔【面板设置】→【端口】→改为8899(避免8888被扫描);
  • 设置强密码:用16位以上混合密码,绑定IP白名单(可选,仅允许您的IP访问面板);
  • 开启面板SSL:宝塔【面板设置】→【SSL】→申请Let's Encrypt免费证书。
3. 阿里云安全组配置(限制端口访问)
  • 阿里云控制台→【ECS】→【安全组】→【配置规则】:
    • 入方向 :仅开放80(HTTP)、443(HTTPS)、2210(SSH)、8899(宝塔面板);
    • 出方向:允许所有(默认)。

四、免费防火墙与入侵检测(主动拦截攻击)

1. 安装宝塔免费安全插件
  • 宝塔【软件商店】→搜索安装:
    Nginx防火墙(免费版) :防御SQL注入、XSS、恶意爬虫(默认规则已够用,无需付费);
    Fail2ban:自动封禁暴力破解IP(拦截SSH、后台登录失败尝试)。

  • Fail2ban安装命令(宝塔终端执行):

    复制代码
    复制代码
    wget https://raw.githubusercontent.com/FunctionClub/Fail2ban4Nginx/master/fail2ban.sh && bash fail2ban.sh
2. 启用UFW防火墙(系统级防护)
  • 宝塔终端执行:

    复制代码
    复制代码
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw allow 2210/tcp   # SSH新端口
    sudo ufw allow 8899/tcp   # 宝塔面板
    sudo ufw enable          # 启用防火墙

五、数据安全与自动备份(防丢失)

1. 数据库加固
  • 宝塔【数据库】→找到PbootCMS数据库→【权限】→创建独立用户 (如tcm_user),仅授予"增删改查"权限(禁止DROP/ALTER);
  • 修改数据库密码为强密码(用宝塔【数据库】→【修改密码】)。
2. 自动备份计划
  • 宝塔【计划任务】→添加:
    每日备份网站文件 :选择 网站文件目录→备份至阿里云OSS(需先在OSS创建Bucket并获取API密钥);
    每周备份数据库 :选择PbootCMS数据库→备份至本地/backup/目录(压缩为zip)。

六、日常监控与应急响应(长期维护)

1. 每周检查项
  • 宝塔【安全】→查看【登录日志】,封禁可疑IP(如多次登录失败的IP);
  • 阿里云控制台→【云盾】→【态势感知】→处理免费告警(如异常文件修改);
  • 检查PbootCMS核心文件哈希(宝塔【文件监控】插件,对比官方哈希值)。
2. 应急响应流程(被挂马时)
  • 立即恢复最近一次备份(宝塔【备份】→【还原】);
  • 用宝塔【文件】→【查找】→搜索.php后缀的异常文件(如shell.php);
  • 扫描服务器木马:rkhunter --checkall(需先安装:sudo apt install rkhunter)。

关键提醒(零成本核心)

  • 所有工具均免费:宝塔插件、阿里云OSS 5GB、Fail2ban脚本、系统自带防火墙;
  • 强密码是底线:用Bitwarden生成并保存密码,避免重复使用;
  • 定期更新:每月检查PbootCMS、宝塔、系统更新(修复新漏洞)。

通过以上步骤,您的网站将具备PbootCMS专项防护+服务器底层加固+免费主动防御的完整体系,完全满足零成本要求。如需更详细的截图或命令解释,可随时补充说明!

相关推荐
YJlio2 小时前
磁盘工具学习笔记(13.7):分析可用空间碎片化程度——为大文件“预留整块地”
数据库·笔记·学习
weixin_462446232 小时前
利用qoder开发React + HanziWriter 实现幼儿园汉字描红(支持笔顺演示 / 判错 / 拼音 / 组词)
前端·react.js·前端框架
张较瘦_2 小时前
前端 | CSS animation 与 transform 协同使用完全教程
前端·css
程序猿20232 小时前
SQL性能优化-2
数据库·sql
黎明初时2 小时前
React基础框架搭建1-计划:react+router+redux+axios+Tailwind+webpack
前端·react.js·webpack·架构
啃火龙果的兔子2 小时前
edge浏览器设置深色模式
前端·edge
网络风云2 小时前
HTTP协议与Web通信原理
前端·网络协议·http
彷徨的蜗牛2 小时前
深入理解整洁架构 - 第六章 - DDD领域模型
数据库·架构
秋邱2 小时前
Java匿名内部类的使用场景:从语法本质到实战优化全解析
android·java·开发语言·数据库·python