WAF 网站应用防火墙
功能介绍
WAF(Web Application Firewall)网站应用防火墙是如意面板内置的安全防护模块,用于保护您的网站免受常见的 Web 攻击。
主要功能
攻击类型防护
| 攻击类型 | 说明 | 防护状态 |
|---|---|---|
| SQL 注入 | 防止恶意 SQL 语句注入数据库 | ✅ 默认开启 |
| XSS 跨站脚本 | 阻止恶意脚本执行 | ✅ 默认开启 |
| CSRF 跨站请求伪造 | 防止伪造用户请求 | ✅ 默认开启 |
| 命令注入 | 阻止系统命令执行攻击 | ✅ 默认开启 |
| 文件包含 | 防止恶意文件包含 | ✅ 默认开启 |
| 路径遍历 | 阻止目录穿越攻击 | ✅ 默认开启 |
| CC 攻击 | 防止高频恶意请求 | ✅ 建议开启 |
防护模式
- 记录模式: 只记录攻击日志,不拦截请求(适合测试)
- 拦截模式: 自动拦截恶意请求并返回 403 错误(生产环境推荐)
使用说明
开启 WAF 防护
- 登录如意面板
- 进入「WAF 防护」
- 选择需要防护的网站
- 开启「WAF 开关」
- 选择防护模式(记录/拦截)
配置防护规则
自定义规则
您可以添加自定义防护规则:
规则名称: 拦截特定 IP
匹配条件: IP 地址 = 192.168.1.100
执行动作: 拦截URL 白名单
对于某些不需要防护的路径,可以添加到白名单:
/api/webhook/*
/static/*自定义拦截页面
支持自定义被拦截时显示的页面内容。
查看防护日志
在「WAF 防护」→「防护日志」中可以查看:
- 攻击时间
- 攻击 IP
- 攻击类型
- 请求 URL
- 拦截状态
支持按时间、IP、攻击类型筛选查询。
高级配置
频率限制
设置单个 IP 的请求频率限制:
- 每秒最大请求数: 100
- 每分钟最大请求数: 1000
- 超过限制自动封禁: 是/否
CC 防护配置
检测时长: 60 秒
请求阈值: 300 次
封禁时长: 300 秒敏感词过滤
添加需要过滤的敏感词列表,支持正则表达式。
常见问题
Q: WAF 开启后网站访问变慢?
A: 这是正常现象,因为每个请求都需要经过安全检测。如性能影响较大,可以:
- 调整 CC 防护阈值
- 将静态资源路径加入白名单
- 升级服务器配置
Q: 正常请求被误拦截?
A: 可以:
- 先切换到「记录模式」观察
- 将误拦截的 URL 加入白名单
- 调整防护规则严格程度
Q: 如何查看被封禁的 IP?
A: 在「WAF 防护」→「IP 黑名单」中查看和管理被封禁的 IP 地址。
Q: WAF 和 Fail2ban 有什么区别?
A:
- WAF: 针对 Web 应用层攻击(HTTP/HTTPS)
- Fail2ban: 针对系统服务层攻击(SSH/FTP/面板登录等)
建议两者同时开启,形成立体防护。
最佳实践
- 生产环境务必开启拦截模式
- 定期检查防护日志,了解攻击趋势
- 及时更新规则库,保持最新防护能力
- 配合 Fail2ban 使用,实现全方位防护
