网站防篡改实时监控检测恶意植入黑链代码完整部署
## 为什么需要这套监控方案
网站被篡改或植入黑链后,轻则影响用户体验,重则被搜索引擎降权甚至封站。零基础用户往往等到被通知才发现,而**实时监控 + 黑链检测**可以在攻击发生的第一时间告警并定位问题。本文用宝塔面板内置的防篡改功能配合自定义脚本,实现完整部署。
## 环境准备
- 一台运行 Linux(CentOS/Ubuntu)的服务器,已安装宝塔面板(免费版即可)
- 网站已正常上线,Nginx/Apache 环境
- 服务器能正常发送邮件(宝塔面板可配置 SMTP)
- 基本的 SSH 使用能力(会执行命令即可)
## 第一步:开启宝塔面板文件防篡改
1. 登录宝塔面板,进入 **网站** -> 选择需要保护的目标站点 -> 点击 **设置**。
2. 找到 **防篡改** 选项卡,点击 **添加规则**。
3. 填写保护目录(一般设为网站根目录 `/www/wwwroot/你的站点`),并排除更新目录(如 `/runtime`、`/cache`)避免误拦。
4. 开启 **实时监控**,触发动作选择 **禁止修改** 或 **发送告警**,推荐先设为告警模式避免影响正常发布。
5. 保存后,任何被保护目录下的文件变更(创建、修改、删除)都会被拦截并记录。
**提示**:宝塔的防篡改基于内核层监控,对性能影响极小,新手首选。
## 第二步:配置告警通知(邮件/钉钉/企业微信)
- 宝塔面板顶部 **通知设置** -> 选择 **文件监控告警** -> 配置接收方式(推荐 SMTP 邮件或企业微信机器人)。
- 填入接收地址,保存后立刻测试。若告警未收到,检查 SMTP 配置或防火墙是否屏蔽端口(25/465/587)。
## 第三步:编写黑链检测脚本
黑链通常以隐藏 `iframe`、`div` 或 `base64` 的形式出现在 HTML 文件中。创建以下脚本(保存为 `/root/check_blacklink.sh`):
```bash
#!/bin/bash
# 黑链检测脚本 - 扫描网站根目录下所有 .html .php .js 文件
WEB_DIR="/www/wwwroot/你的站点"
ALERT_LOG="/var/log/blacklink_check.log"
# 定义可疑特征(可根据实际情况增删)
PATTERNS=(
'document.write.*
1
服务中心