Belial WAF 项目安装与使用教程
Belial 基于nginx lua module 的一个 waf . 项目地址: https://gitcode.com/gh_mirrors/be/Belial
1. 项目的目录结构及介绍
Belial WAF 项目的目录结构如下:
Belial/
├── allow/
│ └── belial/
├── belial/
│ ├── belial.lua
│ ├── config.lua
│ ├── init.lua
│ └── rule/
├── example/
│ ├── config.lua
│ └── nginx.conf
├── .gitignore
├── LICENSE
└── README.md
目录结构介绍:
- allow/: 包含允许的配置文件。
- belial/: 核心目录,包含 Belial WAF 的主要脚本和配置文件。
- belial.lua: 主脚本文件,负责 WAF 的核心功能。
- config.lua: 配置文件,定义 WAF 的各项参数。
- init.lua: 初始化脚本,用于启动 WAF。
- rule/: 包含各种规则文件,用于定义 WAF 的防御策略。
- example/: 包含示例配置文件和 Nginx 配置文件。
- config.lua: 示例配置文件。
- nginx.conf: 示例 Nginx 配置文件。
- .gitignore: Git 忽略文件列表。
- LICENSE: 项目许可证文件。
- README.md: 项目说明文件。
2. 项目的启动文件介绍
Belial WAF 的启动文件是 belial/init.lua
。该文件负责初始化 WAF 并加载必要的配置和规则。
init.lua
文件介绍:
-- 初始化 Belial WAF
require "belial.belial"
require "belial.config"
require "belial.rule"
-- 加载配置文件
local config = require "belial.config"
-- 启动 WAF
belial.start(config)
启动步骤:
- 加载主脚本:
require "belial.belial"
加载 WAF 的主脚本。 - 加载配置文件:
require "belial.config"
加载配置文件,定义 WAF 的各项参数。 - 加载规则文件:
require "belial.rule"
加载防御规则。 - 启动 WAF:
belial.start(config)
启动 WAF,并应用配置。
3. 项目的配置文件介绍
Belial WAF 的配置文件是 belial/config.lua
。该文件定义了 WAF 的各项参数,包括防御策略、日志路径、IP 封禁规则等。
config.lua
文件介绍:
-- 配置文件示例
local config = {
-- 日志路径
log_path = "/var/log/belial/",
-- IP 封禁规则
block_ips = {
"192.168.1.1",
"192.168.1.2"
},
-- 防御策略
defense_policy = {
sql_injection = true,
file_upload = true,
post_whitelist = true,
path_traversal = true,
cc_defense = true
}
}
return config
配置项说明:
- log_path: 定义 WAF 日志的存储路径。
- block_ips: 定义需要封禁的 IP 列表。
- defense_policy: 定义各项防御策略的开关,包括 SQL 注入防御、文件上传控制、POST 白名单审核、路径遍历防御和 CC 防御。
通过修改 config.lua
文件,可以灵活配置 Belial WAF 的各项功能和参数。
Belial 基于nginx lua module 的一个 waf . 项目地址: https://gitcode.com/gh_mirrors/be/Belial
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考