一个用于管理SafeLine WAF策略的FastAPI接口服务。
- 支持多雷池WAF实例管理
- 提供策略启用/禁用接口
- 支持查询WAF策略状态
- 完整的日志记录
- Token认证保护
- Python 3.8+
- FastAPI
- uvicorn
1、custom_policy_manager.py - 自定义策略管理 2、api_server.py - API服务,加入自定义策略管理,推荐编辑waf策略在控制台,减少误操作,接口只开启关闭策略,不允许编辑策略
- 安装依赖
pip install -r requirements.txt- 配置WAF实例
编辑
config.py文件,配置WAF实例信息:
WAF_CONFIGS = {
"waf1": [
{
"name": "WAF-1",
"base_url": "https://your-waf-url",
"api_token": "your-api-token",
"policy_ids": ["policy-id-1", "policy-id-2"]
}
]
}- 启动服务
python api_server.pyPOST /api/policies/enable
Header: token: your-api-tokenPOST /api/policies/disable
Header: token: your-api-tokenGET /api/status/{waf_id}
Header: token: your-api-token在config.py中配置API服务参数:
API_CONFIG = {
"host": "0.0.0.0",
"port": 8000,
"tokens": ["your-api-token"],
"log_file": "logs/waf_api.log"
}服务日志默认保存在logs/waf_api.log文件中。
欢迎提交Issue和Pull Request。
本项目采用MIT许可证。详见LICENSE文件。
开发API接口调通:2小时 fastapi输出和配置:2小时 4小时交付