
核心要点(TL;DR)
- AegisX部署后不生效,先查服务状态和端口监听。
- 检查反向代理配置,确保流量经过AegisX。
- 规则未加载或冲突是常见原因,需查看日志。
- 使用tcpdump和curl验证流量路径,快速定位。
刚部署完AegisX,却发现攻击请求依然畅通无阻?别急,这是运维常见问题。本文从实战角度出发,提供一套完整的排查流程,帮你快速定位AegisX部署后不生效的原因,并给出具体解决命令,让安全防护真正落地。
一、检查AegisX服务状态与端口监听
首先确认AegisX服务是否正常运行。执行以下命令:
systemctl status aegisx若状态不是active (running),则启动服务:
systemctl start aegisx接着检查端口监听情况,AegisX默认监听80或443,使用netstat确认:
netstat -tlnp | grep -E '80|443'如果端口未被AegisX占用,可能是配置文件中监听端口错误,检查/etc/aegisx/aegisx.conf中的listen指令。
二、验证流量是否经过AegisX
即使服务运行,流量也可能绕过AegisX直接到达后端。使用tcpdump抓包分析:
tcpdump -i eth0 -nn port 80 -c 10观察请求是否先到达AegisX的IP。同时,检查反向代理配置(如Nginx),确保proxy_pass指向AegisX的监听地址。例如:
location / { proxy_pass http://127.0.0.1:8080; }其中8080是AegisX的监听端口。如果直接指向后端应用端口,则流量不会经过AegisX。
三、检查规则加载与日志分析
AegisX依赖规则库进行防护,若规则未加载,则防护失效。查看AegisX错误日志:
tail -f /var/log/aegisx/error.log常见错误包括规则文件权限不足、语法错误等。使用以下命令测试规则文件:
aegisx -t -c /etc/aegisx/rules.conf若无报错,则重启服务加载规则。同时,检查访问日志/var/log/aegisx/access.log,确认请求是否被记录。如果日志为空,说明流量未到达AegisX。
四、排查常见配置错误
以下表格列出常见故障现象及解决方法:
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 攻击未被拦截 | 规则未启用或模式为检测 | 修改配置为拦截模式,启用规则 |
| 网站无法访问 | 端口冲突或防火墙阻挡 | 检查端口占用,开放防火墙端口 |
| 日志无记录 | 流量未经过AegisX | 检查反向代理配置 |
五、使用测试请求验证防护效果
发送模拟攻击请求,验证AegisX是否生效:
curl -H "User-Agent: sqlmap" http://yourdomain.com如果返回403 Forbidden,说明防护生效。若返回200,则检查规则是否包含User-Agent检测。也可以尝试SQL注入 payload:
curl "http://yourdomain.com/?id=1' OR '1'='1"观察响应状态码和AegisX日志。
六、行动建议与检查清单
按照以下清单逐项排查,确保AegisX部署后生效:
- 服务状态:systemctl status aegisx
- 端口监听:netstat -tlnp | grep aegisx
- 反向代理配置:确认proxy_pass指向AegisX
- 规则加载:aegisx -t 测试规则,查看错误日志
- 日志记录:检查access.log和error.log
- 测试验证:使用curl模拟攻击请求
若仍不生效,可尝试重启服务或查看AegisX官方文档。作为进阶防护,AegisX提供实时规则更新和智能学习模式,能有效应对新型攻击,建议开启。
常见问题(FAQ)
AegisX部署后为什么没有拦截攻击?
AegisX部署后不拦截攻击,通常是因为流量没有经过AegisX处理。请检查反向代理配置,确保所有请求都转发到AegisX的监听端口。同时确认AegisX服务已启动,且规则库已正确加载。使用curl -I测试请求头是否包含AegisX标识,或查看AegisX访问日志确认请求是否到达。
如何检查AegisX服务是否正常运行?
检查AegisX服务运行状态,可以使用systemctl status aegisx命令查看服务是否active (running)。如果服务未运行,使用systemctl start aegisx启动,并检查日志journalctl -u aegisx -f排查启动错误。确保配置文件语法正确,端口未被占用。
AegisX规则加载失败怎么办?
AegisX规则加载失败,首先检查规则文件路径和权限,确保AegisX进程可读。然后查看AegisX错误日志,通常位于/var/log/aegisx/error.log,根据错误信息修复规则语法。可使用aegisx -t测试规则文件,若无错误再重启服务。
如何验证AegisX是否生效?
验证AegisX是否生效,可以发送一个已知的攻击请求,如SQL注入尝试,观察是否被拦截并返回403。同时检查AegisX日志是否有对应记录。也可以使用curl -H 'User-Agent: sqlmap'测试,若返回403则说明防护生效。
AegisX部署后网站访问变慢怎么办?
AegisX部署后网站变慢,可能是规则过多或性能配置不当。检查AegisX的CPU和内存使用率,优化规则集,禁用不必要的规则。调整工作进程数和缓存设置,如增加worker_processes和启用缓存。同时确保服务器资源充足。