mod_block
模块简介
mod_block基于自定义的规则,对连接或请求进行封禁。
基础配置
配置描述
模块配置文件: conf/mod_block/mod_block.conf
配置项 | 描述 |
---|---|
Basic.ProductRulePath | String 封禁规则文件路径 |
Basic.IPBlocklistPath | String 全局IP黑名单文件路径 |
- 全局IP黑名单文件说明:
- 可以配置单独的 IP,也可配置起始 IP
- 全局IP黑名单文件配置示例
192.168.1.253 192.168.1.254
192.168.1.250
配置示例
[Basic]
# product rule config file path
ProductRulePath = mod_block/block_rules.data
# global ip blocklist file path
IPBlocklistPath = mod_block/ip_blocklist.data
规则配置
配置描述
配置项 | 描述 |
---|---|
Version | String 配置文件版本 |
Config | Object 各产品线的封禁规则 |
Config{k} | String 产品线名称 |
Config{v} | Object 产品线下的封禁规则列表 |
Config{v}[] | Object 封禁规则详细信息 |
Config{v}[].Cond | String 描述匹配请求或连接的条件, 语法详见Condition |
Config{v}[].Name | String 规则名称 |
Config{v}[].Action | Object 匹配成功后的动作 |
Config{v}[].Action.Cmd | String 匹配成功后执行的指令 |
Config{v}[].Action.Params | Object 执行指令的相关参数列表 |
Config{v}[].Action.Params[] | String 参数信息 |
模块动作
动作 | 含义 |
---|---|
CLOSE | 关闭连接 |
ALLOW | 允许请求 |
配置示例
{
"Version": "20190101000000",
"Config": {
"global": [
{
"action": {
"cmd": "ALLOW",
"params": []
},
"cond": "req_host_in(\"n.example.org\") && req_path_prefix_in(\"/index/\", false) && req_query_key_in(\"space\")",
"name": "example whiterule"
}
],
"example_product": [
{
"action": {
"cmd": "CLOSE",
"params": []
},
"name": "example rule",
"cond": "req_path_in(\"/limit\", false)"
}
]
}
}
监控项
监控项 | 描述 |
---|---|
CONN_TOTAL | 连接总数 |
CONN_REFUSE | 连接拒绝的总数 |
CONN_ACCEPT | 连接接受的总数 |
REQ_TOTAL | 请求总数 |
REQ_REFUSE | 请求拒绝的总数 |
REQ_ACCEPT | 请求接受的总数 |
REQ_TO_CHECK | 检查的请求数 |