用过一段 ngx_lua_waf,但是由于这个项目很久不更新了,而且由于缺少拉黑整个网段,不支持 IPV6 等缺点就没有再用下去。但我确实有用防火墙的需求,所以自己用 C 写了一个 nginx 防火墙模块。
欢迎指教!
192.168.0.0/16
这种方式指定一个网段。IPV6 支持冒号十六进制写法,同时支持 fe80::/80
这种方式指定一个网段。从 v2.2.0-beta-2 开始本模块开始支持 IPV6,如果有需要请下载对应的版本。
1
Nangle 2020-12-12 23:11:52 +08:00
好,不错!怎样才能防采集呢?
|
2
37Y37 2020-12-12 23:16:02 +08:00
有点厉害呀,支持
|
3
Nangle 2020-12-12 23:16:33 +08:00
我有上百个包含 IP 段的黑名单文本文件,如不合并成一个文件的情况下,该如批量何引用进去呢?
|
4
c137rick OP @Nangle 从防火墙角度来说防采集一般通过限制 IP 的访问频率和拉黑 IP 实现,前者可以用本模块的 CC 防御功能。
目前暂未支持多个 IP 黑名单,目前只能合并到同一个文件内。如果觉得有必要可以在 Github 上开一个 issuse 讨论一下。 |
5
IvanLi127 2020-12-12 23:23:54 +08:00 via Android
给大佬点赞😘
|
6
s609926202 2020-12-12 23:47:59 +08:00 via iPhone
同问,如何防止一些恶意请求
|
7
raaaaaar 2020-12-12 23:49:49 +08:00 via Android
你们都是写得差不多了才开始宣传的吗,这都几个月了。。
|
8
PerFectTime 2020-12-13 00:19:51 +08:00 1
@raaaaaar #7 要不然开个坑自己写不下去了,不就被人说放鸽子
|
9
c137rick OP @s609926202 模块带有一些默认的规则,可以在 `rules` 文件夹下查看。对于一些常规的脚本扫描请求,定期看看 access.log 写点正则就差不多了,CC 防御也能限制一下扫站的脚本。
|
11
learningman 2020-12-13 11:26:11 +08:00 via Android
提个小建议,progress 可以改叫 roadmap
|
12
c137rick OP @learningman #11 progress 指向一个纯文字的项目开发进度说明,感觉 roadmap 最好有图,文字类的通常不像图那么直观。
|
13
privil 2020-12-14 10:32:26 +08:00
@c137rick #10 你好,想请问一下 CC 防护 是否可以考虑增加一个 访问频繁转跳验证码的功能,验证码通过则可以访问,否则锁定一段时间持续要求填写验证码,大部分 toC 的业务层可能更需要这种功能,尤其是业务规模不大的情况下,又遇到刷单的问题。
|
14
privil 2020-12-14 12:15:39 +08:00
error: ‘for’ loop initial declarations are only allowed in C99 mode 编译安装报错了……
|
15
c137rick OP @privil #10 #11 两个问题去 Github 上各开一个 issue 吧,不知为什么 V2EX 这里有时收不到回复通知。
|
16
c137rick OP @privil #13 #14 两个问题去 Github 上各开一个 issue 吧,不知为什么 V2EX 这里有时收不到回复通知。
|
17
myqoo 2020-12-17 14:49:48 +08:00
还是用 OpenResty LUA 实现比较稳妥。用 C 一个不小心出现个内存 bug 问题就大了。
|