Skip to content
On this page

ODC Web 应用防火墙插件

ODC 智能合约引擎支持扩展功能及插件,基于 JVM 的合约引擎支持以 SpringBoot Starter 的方式进行集成。

WAF 插件

智能合约对外提供基于 Open API 3.0 规范的数据访问接口,可通过配置反向代理方式提供外网的访问,为避免网站服务器被恶意入侵,保障业务的核心数据安全,解决因恶意攻击导致的服务器性能异常等问题,研发 WAF 插件保障 ODC 智能合约正常、稳定运行。

  1. 为满足审计要求,可设置拦截所有 HTTP/HTTPS 请求地址及数据或某些特定会话规则等,记录相关日志进行分析;
  2. 可进行访问控制,包括主动及被动安全模式;
  3. WEB 应用的安全加固,保护 WEB 应用的安全性,屏蔽 WEB 应用弱点及相关安全隐患。

引入 WAF

Maven 引用 WAF 防火墙配置详见 使用 SDK 章节

<!-- ODC WAF -->
<dependency>
    <groupId>cn.opendatachain</groupId>
    <artifactId>waf-spring-boot-starter</artifactId>
    <version>1.0.0</version>
</dependency>

配置 WAF

修改合约 resources 目录下的 application.yml 文件,增加以下配置

路径匹配规则

? 匹配任意单字符
* 匹配任意数量的字符,示例 /api/* 匹配 /api/a 或 /api/b 或 /api/odc.*.contract 等路径
** 匹配任意层级路径或目录 注意:/** 只能出现在路径结尾,示例 /api/** 匹配 /api/a 及 /api/a/b/c 等路径

# 防火墙设置,注意以下配置可任意删减或任意组合使用
waf:
  # 验证请求头信息
  auth-header: 需验证的请求头信息一般通过请求头 Authorization 属性传递,格式如 Basic xxx 或 Bearer xxx 在 ODC 合约引擎中一般使用节点或合约的公钥
  # 验证请求来源 IP,设置为 0.0.0.0 不进行验证,多个 IP 使用英文逗号分隔
  bind-ip: 0.0.0.0
  # 验证访问路径,设置为 all 合约开放所有访问接口,多个访问地址使用英文逗号分隔,支持 Ant 风格路径配置
  bind-path: all
  # 验证来源网站,多个域名使用英文逗号分隔,支持通配符 * 配置,匹配任意子域名 https://*.scichain.cn
  domain-name: https://www.scichain.cn

版权所有@2019-2022 中国科学院计算机网络信息中心 京ICP备 09112257号-115