基于云原生网关插件实现WAF防护能力

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 一起体验云原生网关开箱即用,支持热插拔的WAF防护能力,同时您将掌握云原生网关上的插件使用方式

基于云原生网关插件实现WAF防护能力


1. 实验资源方式简介及开始实验

云起实验室实验资源方式介绍

云起实验室支持领取免费试用额度、个人账户资源两种实验资源方式。

  • 领取免费试用额度
  • 使用个人账号开通试用,平台仅提供手册参考。
  • 所有实验操作将保留至您的账号,请谨慎操作。
  • 在实验页面下方卡片会展示本实验支持的试用规格,可以选择你要试用的云产品资源进行开通。您在实验过程中,可以随时用右下角icon唤起试用卡片。阿里云支持试用的产品列表、权益及具体规则说明请参考开发者试用中心
  • 说明:试用云产品开通在您的个人账号下,并占用您的试用权益。如试用超出免费试用额度,可能会产生一定费用。

  • 个人账户资源
  • 使用您个人的云资源进行操作,资源归属于个人。
  • 所有实验操作将保留至您的账号,请谨慎操作。
  • 平台仅提供手册参考,不会对资源做任何操作。
  • 说明:使用个人账户资源,在创建资源时,可能会产生一定的费用,请您及时关注相关云产品资源的计费概述。

准备开始实验

在实验开始前,请您选择其中一种实验资源,单击确认开启实验

2. 领取免费试用资源

实验前必看!

  • 如果您的阿里云账号只能领取部分免费试用产品,请您领取符合免费试用资格的产品,然后进入实验,不满足免费试用资格的产品将会使用个人账户资源进行创建,并会产生一定的费用,请您及时关注账户扣费。例如,您若无法领取传统负载均衡CLB的免费试用,那么本实验会产生负载均衡CLB的费用,以云原生网关运行2小时为例,预计消耗不到2元。
  • 为了避免资源浪费并造成账号扣费的情况,请严格按照本文提供的参数进行配置。在实验完成之后,请您及时删除或禁用压测任务。
  1. 在实验开始前,请您选择开通免费试用

  1. 开通微服务引擎云原生网关MSE免费试用。

2.1 首先您需要为MSE创建关联角色AliyunServiceRoleForMSE。前往MSE微服务引擎控制台

2.2 如果您已在欢迎访问微服务引擎MSE 2.0页面,单击立即授权

2.3 在确认授权对话框中,单击确认,然后单击下一步

2.4 单击立即体验微服务引擎MSE

2.5 在实验室页面下方,选择服务引擎云原生网关MSE,单击立即试用

2.6 在微服务引擎云原生网关MSE面板,完成参数信息配置。本试用教程以表格中的参数信息为例,未提及参数保持默认值,勾选服务协议后,单击立即试用,并根据页面提示完成试用申请。

参数

示例值

地域

华东1(杭州)

网关名称

自定义网关名称

资源组

默认资源组

专有网络

选择已创建的VPC。

如需创建新的专有网络,您可单击下方的前往控制台创建

可用区

杭州 可用区I,选择已创建的交换机

如需创建新的交换机,您可单击下方的添加VSwitch

公网SLB规格

简约型(slb.s1.small)

2.7 在网关列表页面,等待状态变为运行正常,即可正常使用。

  1. 领取完免费试用后,返回资源领取界面,单击我已开通,进入实验

说明:如果您的阿里云账号只能领取部分免费试用产品,请您领取符合免费试用资格的产品,然后进入实验,不满足免费试用资格的产品将会使用个人账户资源进行创建,并会产生一定的费用,请您及时关注账户扣费。

3. 创建资源

说明:如果您选择的个人资源,请您根据如下操作,创建微服务引擎云原生网关MSE实例,会产生一定的费用,具体计费详情,请参见计费概述。如果您已创建微服务引擎云原生网关MSE实例,请您跳过本步骤,直接进行下一小节操作。

  1. 前往MSE网关管理控制台

说明:如果提示需要创建关联角色AliyunServiceRoleForMSE,请您单击立即授权

  1. 网关列表页面,单击创建网关

  1. 在云原生网关购买页面,完成参数信息配置。本试用教程以表格中的参数信息为例,未提及参数保持默认值,单击立即购买

参数

示例值

付费模式

本教程以按量付费为例

地域

华东1(杭州)

网关名称

自定义网关名称

网关实例规格

2核4G

资源组

默认资源组

专有网络

选择已创建的VPC。

如需创建新的专有网络,您可单击下方的前往控制台创建

可用区

杭州 可用区I,选择已创建的交换机

如需创建新的交换机,您可单击下方的添加VSwitch

公网SLB规格

简约型(slb.s1.small)

日志服务

开启日志服务,费用请参考费用详情

链路追踪

开启链路追踪,费用请参考费用详情

  1. 确认订单页面,选中服务协议,单击立即开通

  1. 在购买完成页面,单击前往控制台

  1. 实例列表页面,等待状态变为运行中,即可正常使用。

4. 创建服务

本步骤指导您如何配置网关代理的服务。

  1. 前往MSE网关管理控制台
  2. 在左侧导航栏,选择云原生网关>网关列表

  1. 网关列表页面,找到您创建的网关,单击名称

  1. 在左侧导航栏,选择服务管理>服务列表

  1. 服务列表页面,单击创建服务

  1. 创建服务面板,服务来源选择DNS域名服务名称设置为test服务端口设置为80域名列表输入为higress.cn,单击确定

说明:higress.cn域名为测试域名,仅限实验中使用,请勿乱用。

5. 创建路由

本步骤指导您如何配置网关路由。

  1. 在左侧导航栏,选择路由管理>路由配置

  1. 路由配置页面,单击创建路由

  1. 创建路由面板的请求信息配置中,路由名称设置为test关联域名选择*匹配规则区域的路径选择前缀匹配和输入/,单击下一步

  1. 创建路由面板的目标服务配置中,目标服务选择单服务服务选择上一小节创建的名称为test的服务,单击保存并上线

6. 安装waf插件

本步骤指导您如何安装waf插件并配置插件规则。

  1. 在左侧导航栏,选择插件市场

  1. 在全部插件页签,在搜索框中输入waf,找到waf的插件,然后单击waf插件的未启用

  1. 使用引导页签,单击插件配置

  1. 插件配置页签的插件配置区域,单击编辑

  1. 插件配置页签的插件配置区域,添加如下YAML,然后单击保存
useCRS: true
secRules: 
- "SecRuleEngine On"
- "SecRule REQUEST_URI \"@streq /admin\" \"id:101,phase:1,t:lowercase,deny\""

参数说明:

  • useCRS: true可使OWASP CRS规则生效,并覆盖了常见的攻击类型。例如,SQL注入、XSS攻击、Log4j漏洞等。
  • "SecRuleEngine On"表示开启插件的防护功能。
  • "SecRule REQUEST_URI \"@streq /admin\" \"id:101,phase:1,t:lowercase,deny\""为自定义规则,拒绝url为/admin的请求,您可根据自身需求添加规则。

  1. 插件配置页签的生效开关区域,打开生效开关

  1. 开启对话框中,单击确定

  1. 点击插件日志页签,在日志投递配置对话框中,单击确定

7. 使用waf插件来防御SQL注入和SHELL注入攻击

您可以构建不同攻击类型的请求,测试waf插件的防护功能。

  1. 打开本机的命令行窗口,执行如下命令,构建url为/admin的请求。

说明:您需要将<slb ip>替换为网关实例的公网。

curl http://<slb ip>/admin -i

SLB ip 可以在基本概览中找到,选择公网的 SLB ip 方便测试:

请求返回如下结果。

  1. 插件配置页签,单击插件日志

  1. 插件日志页签,您可查看到waf插件产生的日志。

  1. 在命令行窗口,执行如下命令,进行SQL注入。
curl http://<slb ip>/bytes -d "mysql -uroot -p123456 -e 'select * from users'" -i

返回如下结果。

  1. 插件日志页签,我们可以观察到使用waf来防御SQL攻击的日志。

  1. 在命令行窗口,执行如下命令,使用shell注入进行攻击。
curl "http://<slb ip>/byte" -d "bash -c 'rm -rm /'" -i

返回如下结果。

  1. 插件日志页签,我们可以观察到使用waf来防御shell注入攻击的日志。

至此,我们体验了如何通过waf插件来加码网关的安全防护示例。

8. 清理及后续

完成教程后,请及时清理测试数据和试用资源。

  • 微服务引擎云原生网关MSE
  • 如果无需继续使用微服务引擎云原生网关MSE,请前往MSE网关管理控制台,找到目标网关,选择右侧操作列中的图标>释放实例。在释放对话框中,选中是否同时删除网关创建时代购的SLB实例,单击确定
  • 如果仍需要继续使用微服务引擎云原生网关MSE,请随时关注账户扣费情况。

实验地址:https://developer.aliyun.com/adc/scenario/0f542b390e8344d4849c974d02c3c076

相关文章
|
存储 安全 网络协议
绕过WAF和多个防护软件提权案例
绕过WAF和多个防护软件提权案例
180 0
|
6月前
|
Kubernetes Cloud Native Docker
云原生|kubernetes|网络插件flannel二进制部署和calico的yaml清单部署总结版
云原生|kubernetes|网络插件flannel二进制部署和calico的yaml清单部署总结版
812 0
|
2月前
|
人工智能 JSON Rust
用 Rust 实现敏感信息拦截插件,提升 AI 网关安全防护能力
本⽂对敏感信息拦截插件的使用方式和实现原理进行了简单介绍,它能够自动检测并处理请求和响应中的敏感词,有效防止敏感信息泄露。通过对不同数据范围的支持和灵活的配置选项,该插件能够适应各种应用场景,确保数据的安全性和合规性。
|
29天前
|
域名解析 弹性计算 负载均衡
通过联合部署DDoS高防和WAF提升网站防护能力
通过联合部署DDoS高防和WAF提升网站防护能力
|
3月前
|
存储 容器
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
|
4月前
|
Cloud Native 关系型数据库 Java
云原生数据仓库使用问题之如何安装PL/Java插件
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
5月前
|
存储 负载均衡 应用服务中间件
Web架构&OSS存储&负载均衡&CDN加速&反向代理&WAF防护
Web架构&OSS存储&负载均衡&CDN加速&反向代理&WAF防护
|
6月前
|
SQL 监控 安全
【阿里云云原生专栏】云原生安全体系构建:阿里云云防火墙与WAF的应用
【5月更文挑战第27天】阿里云云防火墙和WAF是构建云原生安全体系的关键产品,提供网络、主机和Web应用多维度防护。云防火墙采用分布式架构抵御网络攻击,确保应用安全稳定;WAF专注Web应用安全,防止SQL注入、XSS和DDoS等威胁。简单部署配置,结合使用可实现全面安全防护,提升企业云上应用安全性,保障业务安全运行。未来,阿里云将持续强化云原生安全建设。
339 1
|
6月前
|
Kubernetes Cloud Native Java
云原生|kubernetes|ingress-nginx插件部署(kubernetes-1.23和最新版controller-1.6.4)
云原生|kubernetes|ingress-nginx插件部署(kubernetes-1.23和最新版controller-1.6.4)
1330 0
|
6月前
|
存储 Kubernetes Cloud Native
云原生|kubernetes|centos7下离线化部署kubesphere-3.3.2---基于kubernetes-1.22.16(从网络插件开始记录)
云原生|kubernetes|centos7下离线化部署kubesphere-3.3.2---基于kubernetes-1.22.16(从网络插件开始记录)
179 0