Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
unixhot authored Jul 29, 2020
1 parent 69fa2d3 commit 8cd6f2a
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# waf
# WAF

- 使用Nginx+Lua实现自定义WAF(Web application firewall)
- 看了两天Lua,练练手,参考https://github.com/loveshell/ngx_lua_waf
- 最近发现使用的人越来越多了,计划开始维护和增加新功能 2020.7.29 赵班长

## 项目背景介绍

### 需求产生

由于原生态的Nginx的一些安全防护功能有限,就研究能不能自己编写一个WAF,参考Kindle大神的ngx_lua_waf,自己尝试写一个了,使用两天时间,边学Lua,边写。不过不是安全专业,只实现了一些比较简单的功能:
由于原生态的Nginx的一些安全防护功能有限,就研究能不能自己编写一个WAF,参考Kindle大神的ngx_lua_waf,自己尝试写一个了,使用两天时间,边学Lua,边写。不过不是安全专业,只实现了一些比较简单的功能:

### 功能列表:

Expand All @@ -19,10 +19,11 @@
6. 支持URL过滤,匹配自定义规则中的条目,如果用户请求的URL包含这些,返回403。
7. 支持URL参数过滤,原理同上。
8. 支持日志记录,将所有拒绝的操作,记录到日志中去。
9. 日志记录为JSON格式,便于日志分析,例如使用ELKStack进行攻击日志收集、存储、搜索和展示。
9. 日志记录为JSON格式,便于日志分析,例如使用ELK进行攻击日志收集、存储、搜索和展示。

### WAF实现
WAF一句话描述,就是解析HTTP请求(协议解析模块),规则检测(规则模块),做不同的防御动作(动作模块),并将防御过程(日志模块)记录下来。所以本文中的WAF的实现由五个模块(配置模块、协议解析模块、规则模块、动作模块、错误处理模块)组成。

WAF一句话描述,就是解析HTTP请求(协议解析模块),规则检测(规则模块),做不同的防御动作(动作模块),并将防御过程(日志模块)记录下来。所以本文中的WAF的实现由五个模块(配置模块、协议解析模块、规则模块、动作模块、错误处理模块)组成。

## 安装部署

Expand Down

0 comments on commit 8cd6f2a

Please sign in to comment.