插件窝 干货文章 Web应用防火墙JXWAF怎么部署

Web应用防火墙JXWAF怎么部署

JXWAF 规则 配置 Redis 144    来源:    2025-04-21

JXWAF Web应用防火墙部署指南

JXWAF是一款开源的Web应用防火墙(WAF),主要用于防护Web应用免受SQL注入、XSS、命令注入等常见Web攻击。以下是JXWAF的详细部署步骤:

一、部署前准备

  1. 系统要求

    • Linux操作系统(推荐CentOS 7+/Ubuntu 16.04+)
    • Python 3.6+
    • Redis服务
    • Nginx或OpenResty
  2. 下载JXWAF

    git clone https://github.com/jx-sec/jxwaf.git
    cd jxwaf
    

二、安装部署步骤

1. 安装依赖

# 安装Python依赖
pip3 install -r requirements.txt

# 安装Redis
yum install redis -y  # CentOS
或
apt-get install redis-server -y  # Ubuntu

2. 配置JXWAF

编辑config.py文件进行基本配置:

# Redis配置
REDIS_HOST = '127.0.0.1'
REDIS_PORT = 6379
REDIS_PASS = None

# WAF监听端口
WAF_PORT = 80

# 日志配置
LOG_PATH = '/var/log/jxwaf/'

3. 启动JXWAF服务

# 启动WAF核心服务
python3 jxwaf.py start

# 启动管理后台(可选)
python3 manage.py runserver 0.0.0.0:8000

4. 配置Nginx反向代理

修改Nginx配置,将流量导向JXWAF:

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8000;  # JXWAF监听端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

重启Nginx:

nginx -s reload

三、运行模式选择

JXWAF支持两种运行模式:

  1. 透明代理模式

    • 直接处理Web请求
    • 配置简单,性能较高
  2. 反向代理模式

    • 作为反向代理前置
    • 可灵活配置多后端

四、规则配置与管理

  1. 默认规则

    • JXWAF自带基础防护规则
    • 位于rules/目录下
  2. 自定义规则

    • 可通过管理界面或直接编辑规则文件添加
    • 支持正则表达式匹配规则
  3. 规则更新

    git pull origin master
    python3 jxwaf.py reload
    

五、日常维护

  1. 日志查看

    tail -f /var/log/jxwaf/access.log
    
  2. 性能监控

    • 通过Redis统计接口访问量
    • 使用jxwaf_stat.py脚本生成报表
  3. 更新升级

    git pull
    pip3 install -r requirements.txt
    python3 jxwaf.py restart
    

六、常见问题解决

  1. WAF不生效

    • 检查Nginx配置是否正确转发
    • 确认JXWAF服务已启动
    • 查看防火墙是否放行相关端口
  2. 性能问题

    • 调整规则顺序,高频规则前置
    • 启用缓存机制
    • 考虑分布式部署
  3. 误拦截问题

    • 检查拦截日志确定触发规则
    • 调整规则灵敏度或添加白名单

通过以上步骤,您可以成功部署JXWAF并开始保护您的Web应用。建议定期更新规则库以应对新型攻击。