jxwaf

基于 OpenResty 的下一代 Web 应用防火墙
授权协议 GPL
开发语言 C/C++
所属分类 服务器软件、 路由器/防火墙
软件类型 开源软件
地区 国产
投 递 者 苍宜修
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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管理中心组成:

Environment 环境

  • jxwaf

    • Centos 7

    • Openresty 1.11.2.4

 相关资料
  • 是否有工具和行业标准来确保和验证补丁或系统更新的完整性。作为发布过程的一部分,有时我会向基于ColdFusion/HTML/JS的应用程序交付更新集。我的问题是,我是否真的可以对软件包或单个更新进行即时签名,然后在安装之前让ColdFusion/application server自动验证它们。 请注意,有时我需要向单个JS文件提供更新,有时需要向一组ColdFusion、cfc/cfm文件提供更

  • 基于 OpenResty 安装 Luarocks 基于 OpenResty 来安装 其实意在基于 OpenResty 自带的 Luajit 来安装 Luarocks, Luarocks 安装时需要指定 lua 目录和 lua 的 include 目录,而 OpenResty 自身带有的 Luajit 就包含所需的 Lua 解释器和头文件。 只不过 Luarocks 安装需要的是 Lua 而不是 L

  • 问题内容: 我正在设计一个简单的基于Web的应用程序。我是这个基于Web的领域的新手,我需要您提供有关设计模式的建议,例如应如何在Servlet之间分配职责,创建新Servlet的条件等。 实际上,我主页上的实体很少,而与每个实体相对应,我们几乎没有添加,编辑和删除等选项。之前,我为每个选项使用一个Servlet,例如Servlet1用于添加实体1,Servlet2用于编辑实体1,依此类推,这样我

  • 二进制版本 Linux OpenResty® 给常见 Linux 发布提供官方预编译安装包。 目前我们为 Ubuntu、Debian、RHEL、CentOS、Fedora、OpenSUSE、Alpine 和 Amazon Linux 提供官方的二进制包仓库。 Windows 所有版本都是用 Yichun Zhang 的 PGP 公钥 A0E98066 签发的。 32 位 Windows: open

  • 问题内容: 我正在设计一个简单的基于Web的应用程序。我是这个基于Web的领域的新手,我需要您提供有关设计模式的建议,例如如何在Servlet之间分配职责,创建新Servlet的标准等。 实际上,我主页上的实体很少,而与每个实体相对应,我们几乎没有添加,编辑和删除等选项。早些时候,我为每个选项使用一个Servlet,例如Servlet1用于添加实体1,Servlet2用于编辑实体1,依此类推,这样

  • null 问题:它总是下载js和css文件。 我想如何开发chrome桌面应用程序 启动chrome桌面应用程序时,请将所有资产保存在本地。 每当chrome桌面应用程序启动时,它都应该引用本地保存的资产(我指的是角js文件和css) 在启动chrome桌面应用程序之前,它应该向服务器请求资产是否被更改。如果更改,请删除本地保存的文件并保存最新的文件。 如果资产没有更改,请使用旧的资产文件。这样,