WAF拦截海外SQL注入XSS跨站恶意攻击配置

WAF(Web应用防火墙)的作用是站在网站前面,把常见的恶意请求挡在门外。
本文要解决的是海外IP持续扫描、SQL注入和XSS跨站攻击这三类高频问题。
看完你能在宝塔面板或Nginx环境中完成基础WAF配置,并用真实攻击请求验证是否生效。
适合刚接触服务器安全的站长,照着操作即可。

开始前需要准备什么
先用远程工具登录服务器,确认当前的Web环境。如果你用的是宝塔面板,直接在左侧菜单找到“安全”或“防火墙”即可。如果是自建Nginx环境,需要先确认规则文件存放路径,比如 /www/server/nginx/conf/etc/nginx/conf.d。不管哪种方式,操作前都建议先备份现有配置。

另外建议确认一下服务器是否开启了系统防火墙(如firewalld或iptables),因为部分恶意IP拦截可以直接在系统防火墙层完成,比WAF更省资源。

第一步:封禁高频攻击来源IP
海外攻击大多来自固定网段,可以先按IP或地区封禁。宝塔面板操作路径:安全系统防火墙添加端口规则 旁边选择 IP规则,填入恶意IP段,端口范围选择 ALL,策略设为 拒绝

Nginx环境可以用iptables封禁。
先查询正在尝试登录或扫描的IP:

# 查看SSH登录失败来源
journalctl -u sshd | grep "Failed password" | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head -20

确认来源IP后直接封禁:

iptables -I INPUT -s 203.0.113.5 -j DROP

如果想封禁整个恶意网段,把IP换成 203.0.113.0/24 即可。
iptables -L -n 可以查看当前规则是否生效。

第二步:在Web层拦截SQL注入与XSS特征
IP封禁只能挡住已知来源,攻击者换IP后依然能访问。这时候需要WAF层拦截恶意请求特征。宝塔面板自带的“防火墙”插件可以直接开启:安全宝塔防火墙 → 打开 总开关,并确认 SQL注入XSS攻击常见漏洞 等规则处于开启状态。

如果是自建Nginx,建议使用ngx_http_secure_link_module搭配自定义规则,或直接部署OpenResty环境。
这里给出一段精简的Nginx层过滤示例,放在 server 段内:

# 拦截常见SQL注入关键字
if ($query_string ~* "(union.*select|insert.*into|delete.*from|drop\s+table)") {
    return 403;
}

# 拦截XSS典型脚本标签
if ($request_uri ~* "("

同样返回403就证明XSS规则也生效了。
同时打开网站日常页面,确认没有出现样式错乱或功能异常。
最后再盯几天Nginx访问日志,观察来自海外的恶意请求是否明显减少:

tail -f /www/wwwlogs/你的域名.log | grep -E "(403|444)"

看到大量403日志属于正常现象,说明WAF正在替你挡掉这些攻击。
到此,你已经完成了一套基础的WAF拦截配置。
如果需要处理更复杂的CC攻击或自定义规则,建议参照官方文档按需开启高级功能。

分享到:
上一篇
数据库读写分离高并发外贸站点完整部署方案
下一篇
多C段独立IP站群跨境SEO防关联实操
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意