开源WEB应用防火墙jxwaf怎么用

jxwaf

开源WEB应用防火墙jxwaf怎么用开源WEB应用防火墙jxwaf怎么用

jxwaf(锦衣盾)是一款基于openresty(nginx+lua)开发的下一代web应用防火墙,独创的业务逻辑防护引擎和机器学习引擎可以有效对业务安全风险进行防护,解决传统WAF无法对业务安全进行防护的痛点。内置的语义分析引擎配合机器学习引擎可以避免传统WAF规则叠加太多导致速度变慢的问题,同时增强检测精准性(低误报、低漏报)。

Feature 功能

  • 基础攻击防护

    • SQL注入攻击

    • XSS攻击

    • 目录遍历漏洞

    • 命令注入攻击

    • WebShell上传防护

    • 扫描器攻击等…

  • 机器学习

    • 支持向量机(SVM)

  • 语义分析

    • SQL注入语义分析

    • XSS攻击语义分析

  • 业务逻辑漏洞防护

    • 注册保护

    • 登陆保护

    • 活动防刷

    • 短信炸弹防护

    • 越权漏洞防护

    • 短信验证码校验绕过防护等…

  • 高级CC攻击防护

    • 可针对不同URL,不同请求参数单独设置不同防护变量

    • 人机识别

  • Cookie安全防护

  • 前端参数加密防护

    • 支持AES加解密

    • 支持DES加解密

    • 支持RSA加解密

  • 透明部署动态口令功能

    • 可对后台管理系统和网站用户提供动态口令(OTP)功能

  • 检测缓存功能

    • 对已经过WAF检测请求进行MD5缓存,提高检测效率

  • 支持协议

    • HTTP/HTTPS

  • 性能&可靠性

    • 毫秒级响应,请求处理时间小于一毫秒

    • 支持主备部署,避免单点故障

    • 支持集群反向代理模式部署,可处理超大数据流量

    • 支持嵌入式部署,无需改变原有网络拓扑结构

    • 支持云模式部署

  • 管理功能

    • 基础配置

    • 规则配置

    • 报表展示

    • 告警配置

Architecture 架构

jxwaf(锦衣盾)由jxwaf与jxwaf管理中心组成:

  • jxwaf : 基于openresty(nginx+lua)开发

  • jxwaf管理中心:http://www.jxwaf.com

Environment 环境

  • jxwaf

    • Centos 7

    • Openresty 1.11.2.4

Install 安装

将代码下载到/tmp目录,运行jxwaf_install.sh文件,jxwaf将安装在/opt/jxwaf目录,具体如下:

  1. $ cd /tmp

  2. $ git clone https://github.com/jx-sec/jxwaf.git

  3. $ cd jxwaf

  4. $ sh install_waf.sh

  5. 安装后显示如下即安装成功

    nginx: the configuration file /opt/jxwaf/nginx/conf/nginx.conf syntax is ok

    nginx: configuration file /opt/jxwaf/nginx/conf/nginx.conf test is successful

  6. 访问 http://www.jxwaf.com 并注册账号,在 WAF规则管理->查看官方规则组 页面按照自身需求加载规则,之后在 WAF规则配置->WAF全局配置 页面获取 “WAFAPIKEY”

  7. 修改/opt/jxwaf/nginx/conf/jxwaf/jxwafconfig.json 中的”waf_api_key”为你自己账号的”WAF_API_KEY”

  8. $ /opt/jxwaf/nginx/sbin/nginx 启动openresty,openresty会在启动或者reload的时候自动到jxwaf管理中心拉取用户配置的最新规则

Docs 文档

  • JXWAF使用说明

  • 基于Openresty实现业务安全防护

  • 基于Openresty实现透明部署动态口令功能

  • WAF开发之Cookie安全防护

Contributor 贡献者

  • chenjc 安全工程师

  • jiongrizi 前端开发工程师

BUG&Requirement BUG&需求

  • github 提交BUG题或需求

  • QQ群 730947092

  • 邮箱 jx-sec@outlook.com

Other 其他

目前开源版本已经可以正常使用,基础功能和官方基础规则均测试完成,可以满足中小企业基本的防护需求。

但是功能还没有全部上线,还有一些功能没有从线下版本迁移到开源版本,现在仅上线了基础攻击防护,Cookie安全防护功能和语义分析功能。其他功能会陆续上线,进度取决于某前端能扣出来的时间,预计年内能全部搞完。

以上是存量的功能,下面列些To do:

  1. 通过规则配置实现机器学习数据清洗,特征获取,模型训练,简单说就是个轻量级的机器学习训练-应用平台,用户只需关注最核心的特征获取,其他”脏话累活”由平台解决,降低机器学习应用门槛。目前核心功能已开发完成,与现存其他功能整合中。

  2. 命令执行,代码执行等语义分析库开发

  3. 官方规则完善

  4. 第三方安全应用接口整合

  5. 业务安全防护场景开发

  6. 报表报警功能完善

  7. 云WAF系统开发

Github地址:https://github.com/jx-sec/jxwaf

JXWAF管理中心:http://www.jxwaf.com/

这个项目从最开始的构思到现在开发得七七八八,也差不多一年了。最开始搞这个项目,是因为在深度使用Modsecurity后,发现坑太多Hold不住,没办法我一搞渗透的也只能转行开发WAF了,然后因为职业病的原因,在写的时候特别对一些容易被绕过的地方重点关注,具体体现在代码的方方面面,这算是这款WAF的一个优点。

接下来谈谈性能这块,目前测试的结果是在1ms以内,核心模块处理时间大概在0.001ms,得益于luajit技术,增加规则几乎没影响。并发的话,单台2G 1核虚拟机测试在5000上下,我这没资源,有兴趣可以测试配置好的实体机的性能,达到10K以上应该没问题。按照之前用Modsecurity的经验,单日PV一亿以下的就不用考虑啥性能问题了,没”富人命”就不用考虑”富人病”。至于并发大流量大的情况,可以上集群或者自研。

简单总结下目标用户:

  1. 一个人的安全部/没预算的安全部

  2. 有WAF需求没WAF预算没安全人员的公司

  3. 给内网/线上应用上二次验证功能

  4. 有机器学习防护需求

  5. 有业务安全防护需求

  6. 盒子WAF扛不住,不想上云/无法上云

  7. 有高定制规则/功能需求的公司

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

文章标题:开源WEB应用防火墙jxwaf怎么用,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/29138

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云认证作者
上一篇 2022年9月24日 上午12:07
下一篇 2022年9月24日 上午12:08

相关推荐

  • Android基于方法池与回调怎么实现登录拦截

    一、使用通知与回调 其实本质逻辑就是想判断用户是否已经登录,然后跳转到登录页面,登录完成之后再跳转到个人中心,那我们使用通知回调不就行了吗? 在登录完成之后发出通知,在首页我们接受这个通知就调用去个人中心的方法不就行了吗? 使用通知的方式有很多,这里我们以LiveEventBus为例: public…

    2022年8月27日
    46000
  • javascript数值型只有一种吗

    javascript数值型只有一种:浮点类型。JavaScript内部存储数字都是按64位浮点类型存储的,所以在JavaScript中实际上是没有整数类型的。按照JavaScript中的数字格式能够表示的整数范围为“[-2^53 ~ 2^53]”,包含边界值;但需要注意的是,数组索引、位操作符等使用…

    2022年9月24日
    57500
  • 0xc000007b无法启动软件如何解决

    因为有些应用程序在运行时需要安装必须的组件,如果没有安装的话,可能就会在启动时弹出0xc000007b无法启动软件的提示,这时候我们只要为电脑安装他们就可以了,下面一起来看看吧。 0xc000007b无法启动软件怎么办: 方法一: 1、如果我们不知道安装什么组件,那么可以下载安装一个修复软件。【di…

    2022年9月16日
    72200
  • 如何进行bee-box LDAP注入的靶场练习

    如果说sql注入的本质是拼接字符串的话,那么一切可以注入的本质都是拼接字符串,LDAP注入作为注入的一种也不例外,更有趣一点的说它是在拼接圆括号(sql注入也拼接圆括号,但是更习惯性的是说它拼接字符串)。 在环境配置篇里面已经很详细的说了bee-box中ldap环境的配置,靶场练习篇更多的是php与…

    2022年9月18日
    82100
  • 怎么用Intellij IDEA创建web项目

    Idea创建web项目 1.打开idea,选择file->New->Project 2.点击Java,点击下一步. 3.修改项目名。 4. 右键项目,选择add framework support 5. 完成之后,项目结构变成了这样 6. 接下来,我们在WEB-INF下创建classes…

    2022年8月30日
    1.1K00
  • win7如何清理微信和qq缓存

    win7清理微信和qq缓存的方法 微信清理: 1、打开微信,点击左侧下方三条横杠,打开后点击“设置” 2、 点击“通用设置” 3、点击右侧的“存储空间管理” 4、找到缓存这里,点击对应的管理和清理就可以了。 QQ缓存清理: 1、打开QQ主面板,点击左下方三条杠,点击“设置” 2、点击左边的“文件管理…

    2022年9月24日
    57100
  • mysql如何删除表的一行数据

    在mysql中,可以使用DELETE语句配合WHERE子句和LIMIT子句来删除表的一行数据,语法为“DELETE FROM 表名 WHERE 删除条件 LIMIT 1;”;DELETE语句用于删除表中一行或者多行数据,而WHERE子句用于设置删除条件,LIMIT子句用于设置删除数据的行数。 本教程…

    2022年9月21日
    2.6K00
  • windows edge浏览器js错误表示如何解决

    edge浏览器js错误表示解决方法: 1、进入edge浏览器,点击右上角三个点依次打开“更多工具—>使用Internet explorer打开”。 2、点击右上方的齿轮设置,点击“Internet 选项”。 3、在Internet选项中选择“安全”点击下方的“自定义级别”。 4、下滑找到“脚本…

    2022年9月8日
    81300
  • win8如何取消开机账户登录

    win8取消开机账户登录的方法 1、win+r打开运行界面。 2、对话框输入“netplwiz”,回车确定。 3、然后把“要使用本计算机,用户必须输入用户名和密码”前面的勾去掉。 4、点击确定之后系统会再次弹出一个密码输入框,这个时候我们再次输入密码点击确定就可以了。 关于“win8如何取消开机账户…

    2022年9月24日
    40800
  • Vue中slot插槽作用与原理是什么

    1、作用 父组件向子组件传递内容 扩展、复用、定制组件 2、插槽内心 2.1、默认插槽 把父组件中的数组,显示在子组件中,子组件通过一个slot插槽标签显示父组件中的数据。 子组件 <template> <div class=”slotChild”> <h5>{{…

    2022年9月22日
    95800
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部