网页防篡改是什么:与WAF、文件备份的区别及适用场景 核心要点图解,网页防篡改核心是监控+拦截+恢复,而非单纯备份。;WAF防外部攻击,防篡改防文件被改,二者互补。;文件备份是事后恢复,防篡改强调实时阻断。;选型看场景:静态站用防篡改,动态站需组合方案。
网页防篡改是什么:与WAF、文件备份的区别及适用场景 · 核心要点一图读懂(AegisX)

核心要点(TL;DR)

  • 网页防篡改核心是监控+拦截+恢复,而非单纯备份。
  • WAF防外部攻击,防篡改防文件被改,二者互补。
  • 文件备份是事后恢复,防篡改强调实时阻断。
  • 选型看场景:静态站用防篡改,动态站需组合方案。

痛点引入:网站被篡改,为什么备份和WAF都没拦住?

很多运维都遇到过:页面突然被插入博彩链接,WAF没告警,备份是三天前的。根本原因是网页防篡改缺位——WAF管流量,备份管恢复,而防篡改管文件实时完整性。本文用实战命令和清单,帮你理清三者区别并落地防篡改。

网页防篡改是什么:核心机制与常见实现

网页防篡改(Web Tamper-Proofing)是通过监控网站文件变化,发现非授权修改时立即阻断或恢复的技术。核心三要素:监控、拦截、恢复。

常见实现方式:

  • 文件完整性监控:定时比对哈希,如AIDE、Tripwire。
  • 实时监控:inotify监听文件事件,触发告警或恢复。
  • 内核级驱动:拦截写操作,只允许白名单进程修改。
  • 发布隔离:网站目录只读,更新走发布系统。

轻量实战:用inotifywait监控网站目录,发现修改立即从备份恢复并告警。

#!/bin/bash
WEB_DIR="/var/www/html"
BACKUP_DIR="/backup/web"
inotifywait -m -r -e modify,create,delete --format '%w%f' "$WEB_DIR" | while read FILE; do
  REL=${FILE#$WEB_DIR/}
  cp -a "$BACKUP_DIR/$REL" "$FILE" 2>/dev/null
  echo "$(date) 恢复文件: $FILE" >> /var/log/tamper.log
done

注意:需先安装inotify-tools,并确保备份目录与网站一致。

与WAF、文件备份的区别:一张表看清

维度网页防篡改WAF文件备份
防护对象网站文件完整性HTTP/HTTPS流量数据副本
作用时机篡改发生时实时阻断/恢复攻击请求到达前拦截事后恢复
核心能力监控、拦截、恢复规则匹配、CC防护版本回滚
典型工具AIDE、inotify、内核驱动ModSecurity、云WAFrsync、borg、云备份
局限性不防流量攻击不防文件落地篡改有恢复窗口期

结论:三者互补,不能互相替代。WAF防入侵,防篡改防落地,备份保底。

具体排查:如何发现网站是否被篡改

定期执行以下检查,快速定位异常:

  1. 哈希比对:用find+sha256sum生成基线,对比当前文件。
    find /var/www/html -type f -exec sha256sum {} \; > /tmp/web_baseline.txt
    # 对比时重新生成并diff
  2. 查找最近修改文件:find /var/www/html -type f -mtime -1 -ls
  3. 检查异常进程:ps aux | grep -E 'www-data|apache|nginx',看是否有可疑子进程。
  4. 检查计划任务:crontab -l和ls /etc/cron.*,攻击者常留后门。
  5. 日志分析:grep文件修改记录,如grep 'POST' /var/log/nginx/access.log | grep -i 'eval\|base64'。

分步解决:从零搭建网页防篡改

以Linux+Nginx为例,四步落地:

步骤1:建立文件基线

aideinit
cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db

配置/etc/aide/aide.conf,监控/var/www/html。

步骤2:配置实时监控与自动恢复

使用前文的inotify脚本,配合systemd服务常驻。

步骤3:设置目录只读(发布隔离)

chattr +i /var/www/html/index.html
# 更新时先chattr -i,更新后加回

或使用mount只读挂载,但需评估更新流程。

步骤4:接入告警

脚本中调用邮件或webhook,例如curl发送到钉钉机器人。

防护建议:对于需要内核级拦截的场景,可考虑AegisX的网页防篡改能力,支持实时监控与自动恢复,减少人工干预。

检查清单与适用场景对比

上线前核对清单:

  • □ 网站目录已建立哈希基线
  • □ 实时监控进程运行中
  • □ 备份目录与网站分离
  • □ 告警通道测试通过
  • □ 发布流程已适配只读目录

适用场景:

  • 静态官网/博客:文件变动少,适合只读+监控,成本低。
  • 动态CMS(WordPress等):需防篡改+WAF组合,防插件漏洞。
  • 电商/金融:建议内核级防篡改+备份+WAF,多层防御。

行动建议

今天起,先为网站目录建立哈希基线,并部署一个inotify监控脚本。若人力有限,可选用云防篡改服务或AegisX方案,把实时阻断与恢复交给专业工具。记住:防篡改不是备份的替代品,而是安全闭环的关键一环。

常见问题(FAQ)

网页防篡改和WAF到底有什么区别?

网页防篡改聚焦文件完整性,监控网站目录变化并实时恢复或阻断;WAF聚焦HTTP流量,拦截SQL注入、XSS等攻击。两者互补:WAF防入侵,防篡改防落地。

有了文件备份还需要网页防篡改吗?

需要。备份是事后恢复,存在时间窗口;防篡改能实时发现并阻断篡改,减少损失。建议备份+防篡改组合使用。

网页防篡改一般怎么实现?

常见方式有:文件完整性监控(如AIDE)、内核级驱动拦截、发布隔离(只允许通过发布系统更新)。轻量方案可用inotify+脚本实现监控告警。

小网站需要上网页防篡改吗?

建议上。小网站常因弱口令被篡改挂马,影响SEO和信誉。可从免费工具入手,如配置inotify监控关键目录,或使用云厂商的防篡改服务。