Appearance
ODC Web 应用防火墙插件
ODC 智能合约引擎支持扩展功能及插件,基于 JVM 的合约引擎支持以 SpringBoot Starter 的方式进行集成。
WAF 插件
智能合约对外提供基于 Open API 3.0 规范的数据访问接口,可通过配置反向代理方式提供外网的访问,为避免网站服务器被恶意入侵,保障业务的核心数据安全,解决因恶意攻击导致的服务器性能异常等问题,研发 WAF 插件保障 ODC 智能合约正常、稳定运行。
- 为满足审计要求,可设置拦截所有 HTTP/HTTPS 请求地址及数据或某些特定会话规则等,记录相关日志进行分析;
- 可进行访问控制,包括主动及被动安全模式;
- 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