JXWAF是一款开源的Web应用防火墙(WAF),主要用于防护Web应用免受SQL注入、XSS、命令注入等常见Web攻击。以下是JXWAF的详细部署步骤:
系统要求:
下载JXWAF:
git clone https://github.com/jx-sec/jxwaf.git
cd jxwaf
# 安装Python依赖
pip3 install -r requirements.txt
# 安装Redis
yum install redis -y # CentOS
或
apt-get install redis-server -y # Ubuntu
编辑config.py
文件进行基本配置:
# Redis配置
REDIS_HOST = '127.0.0.1'
REDIS_PORT = 6379
REDIS_PASS = None
# WAF监听端口
WAF_PORT = 80
# 日志配置
LOG_PATH = '/var/log/jxwaf/'
# 启动WAF核心服务
python3 jxwaf.py start
# 启动管理后台(可选)
python3 manage.py runserver 0.0.0.0:8000
修改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支持两种运行模式:
透明代理模式:
反向代理模式:
默认规则:
rules/
目录下自定义规则:
规则更新:
git pull origin master
python3 jxwaf.py reload
日志查看:
tail -f /var/log/jxwaf/access.log
性能监控:
jxwaf_stat.py
脚本生成报表更新升级:
git pull
pip3 install -r requirements.txt
python3 jxwaf.py restart
WAF不生效:
性能问题:
误拦截问题:
通过以上步骤,您可以成功部署JXWAF并开始保护您的Web应用。建议定期更新规则库以应对新型攻击。