freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Coraza:一款功能强大的企业级OWASP Web应用程序防火墙
2022-04-25 16:49:46
所属地 广西

关于Coraza

Coraza是一款功能强大的企业级OWASP Web应用程序防火墙框架,该工具基于Golang开发,不仅支持Modsecurity的Seclang语言,而且能够100%兼容OWASP核心规则集。

该工具完全开源,任何开发人员都可以根据自己的需求轻松完成自定义开发。

Coraza v2工具特性

1、内部API重构,公共API未做改动;

2、支持插件的全面审计引擎重构;

3、新增了很多插件接口;

4、完全兼容Modsecurity的Seclang语言;

5、删除了部分功能,并转换成了插件的形式,例如XML、GeoIP和PCRE正则表达式;

6、优化调试日志;

7、更新错误日志功能;

8、更好的性能;

工具要求

1、Linux发型版操作系统(推荐Debian或CentOS,当前版本暂不支持Windows);

2、Golang编译器v1.16+环境;

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/corazawaf/coraza.git

运行测试

下列命令可以直接运行Go测试:

go test ./...

go test -race ./...

使用pre-commit:

pip install pre-commit

pre-commit run --all-files

我们还可以直接通过下列命令来安装pre-commit Git钩子:

pre-commit install

你的第一个Coraza Web应用防火墙项目

package main

import(

"fmt"

"github.com/corazawaf/coraza/v2"

"github.com/corazawaf/coraza/v2/seclang"

)

 

func main() {

// 首先,我们初始化WAF以及Seclang解析器

waf := coraza.NewWaf()

parser, _ := seclang.NewParser(waf)

 

// 解析我们的规则

if err := parser.FromString(`SecRule REMOTE_ADDR "@rx .*" "id:1,phase:1,deny,status:403"`); err != nil {

fmt.Println(err)

}

 

// 接下来,创建一个事务,并分配相关变量

tx := waf.NewTransaction()

defer func(){

tx.ProcessLogging()

tx.Clean()

}()

tx.ProcessConnection("127.0.0.1", 8080, "127.0.0.1", 12345)

 

// 最后是请求Header处理阶段,该阶段可能会返回一个中断

if it := tx.ProcessRequestHeaders(); it != nil {

fmt.Printf("Transaction was interrupted with status %d\n", it.Status)

}

}

疑难解决

依赖问题:

go get: github.com/jptosso/coraza-waf/v2@v2.0.0-rc.3: parsing go.mod:

module declares its path as: github.com/corazawaf/coraza/v2

        but was required as: github.com/jptosso/coraza-waf/v2

如果遇到问题,可以尝试使用下列命令修复:

go get -u github.com/corazawaf/coraza/v2@v2.0.0-rc.3

实用工具

1、GoFTW:规则测试引擎;

2、Coraza仪表盘:使用Web接口实现的规则测试沙盒;

3、OWASP核心规则集:非常好用的规则集,兼容Coraza;

许可证协议

本项目的开发与发布遵循Apache-2.0开源许可证协议。

项目地址

Coraza:GitHub传送门

参考资料

https://github.com/fzipi/go-ftw

https://playground.coraza.io/

https://github.com/coreruleset/coreruleset/

# waf技术 # web应用防火墙 # WAF产品 # WAF安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录