如何使用ASM网关对接阿里云WAF

简介: Web应用防火墙(Web Application Firewall,简称WAF)为您的网站或App业务提供一站式安全防护。WAF可以有效识别Web业务流量的恶意特征,在对流量清洗和过滤后,将正常、安全的流量返回给服务器,避免网站服务器被恶意入侵导致性能异常等问题,从而保障网站的业务安全和数据安全。ASM网关支持对接WAF,并且可以通过自定义访问日志格式来查看WAF对回源请求添加的Header,更方便线上运维。本文将介绍ASM网关如何对接WAF,以及如何使用ASM的自定义访问日志能力进行调试。

前提条件

已创建ASM实例。具体操作,请参见创建ASM实例

已创建ACK集群。具体操作,请参见创建Kubernetes托管版集群

添加集群到ASM实例。具体操作,请参见添加集群到ASM实例

已部署入口网关服务。具体操作,请参见添加入口网关服务

已经部署了httpbin应用,暴露在网关的80端口。

步骤1:将ASM网关接入WAF

进入WAF控制台,创建WAF3.0实例(如果已经有WAF实例,可以忽略)。

点击“接入管理”菜单,选择“CNAME接入”,然后点击“接入”按钮。

填写有效域名(中国内地的WAF会校验域名是否备案)。然后按照上图填写配置即可。点击下一步。

image.png

在“服务器地址”处选择“IP”,然后填写ASM网关的公网地址。然后勾选“启用流量标记”,如图所示添加三个Header(该配置会在通过WAF发往ASM网关的请求中添加对应的三个Header)。

image.png

点击上图的提交,进入如下界面。

image.png

记录WAF提供的CNAME地址。点击“完成”,至此已经将ASM网关和WAF对接完成。

步骤2(可选):自定义ASM访问日志格式

由于经过WAF校验的请求可能会携带一些特殊的Header。比如步骤1中配置在请求中携带了一个自定义Header和两个标识请求源IP、源端口的Header。在将线上应用接入WAF时,如果不能在请求链路上看到这个Header,将会给链路联调造成极大困难。此时,可以使用ASM可观测能力的自定义访问日志功能。

ASM的自定义访问日志功能支持打印请求中的自定义Header,配置完成之后就可以在网关和Sidecar的日志中,看到请求的这个Header值,下面将演示如何配置。

image.png

步骤3:测试

使用WAF提供的CNAME地址,用如下方式访问httpbin应用的/status/418路径。

curl-HHost:${WAF处配置的域名}"http://${WAF提供的CNAME地址}/status/418"-v*   Trying x.x.x.x:80...
* Connected to geszcfxxxxxxxxxxxxxxxxxxxxppbeiz.aliyunwaf1.com (x.x.x.x) port 80 (#0)> GET /status/418 HTTP/1.1
> Host:xxxx
> User-Agent: curl/7.84.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 418 Unknown
< Date: Wed, 22 Feb 202305:07:23 GMT
< Content-Length: 135< Connection: keep-alive
< Set-Cookie: acw_tc=0bc1599a16770424432844282e82xxxxxxxxxxxxxxxxxxx1ad989e7e5245f;path=/;HttpOnly;Max-Age=1800< server: istio-envoy
< x-more-info: http://tools.ietf.org/html/rfc2324
< access-control-allow-origin: *
< access-control-allow-credentials: true< x-envoy-upstream-service-time: 1< 
-=[ teapot ]=-       _...._
     .'  _ _ `.    | ."` ^ `". _,    \_;`"---"`|//      |       ;/      \_     _/        `"""`* Connection #0 to host geszcxxxxxxxxxxxxxxxxxxxxcppbeiz.aliyunwaf1.com left intact

可以看到,成功访问了httpbin的/status/418路径。

此处并没有使用原始域名访问。如需使用原始域名访问,需要您自行修改域名解析规则,将原始域名解析到WAF提供的CNAME地址上去。

接下来查看ASM控制台上的日志。点击“可观测管理中心”菜单,进入“日志中心”页面,在“网关日志”标签页下,搜索418,可以看到如下日志:

image.png

可以看到,网关的日志中已经打印出了WAF添加的Header值。

对接完成之后,您可以在WAF控制台上配置其他更高级的防护能力,保护您的网站不受攻击。如果您还有其他自定义Header需要全链路观测的话,可以仿照步骤2中的方式配置。

目录
相关文章
|
10月前
|
监控 安全 物联网
阿里云WAF是什么?
Web应用防火墙(WAF)是保护网站、APP及API的关键防线,可实时监控并阻断恶意流量,防范数据泄露与常见攻击。它通过分析HTTP请求,识别威胁,保障敏感信息,满足合规要求,支持云、主机、网络多场景部署,助力企业构建坚实的安全屏障。
|
运维 Kubernetes 安全
利用服务网格实现全链路mTLS(一):在入口网关上提供mTLS服务
阿里云服务网格(Service Mesh,简称ASM)提供了一个全托管式的服务网格平台,兼容Istio开源服务网格,用于简化服务治理,包括流量管理和拆分、安全认证及网格可观测性,有效减轻开发运维负担。ASM支持通过mTLS提供服务,要求客户端提供证书以增强安全性。本文介绍如何在ASM入口网关上配置mTLS服务并通过授权策略实现特定用户的访问限制。首先需部署ASM实例和ACK集群,并开启sidecar自动注入。接着,在集群中部署入口网关和httpbin应用,并生成mTLS通信所需的根证书、服务器证书及客户端证书。最后,配置网关上的mTLS监听并设置授权策略,以限制特定客户端对特定路径的访问。
599 2
|
云安全 数据采集 安全
阿里云热门云安全产品简介:Web应用防火墙与云防火墙产品各自作用介绍
在阿里云的安全类云产品中,Web应用防火墙与云防火墙是用户比较关注的两款安全产品,二者在作用上各有侧重,共同构成了阿里云强大的安全防护体系。本文将对Web应用防火墙与云防火墙产品各自的主要作用进行详细介绍。
|
开发框架 Prometheus 监控
使用阿里云服务网格高效管理LLM流量:(二)流量可观测
本文介绍如何使用阿里云服务网格提供的增强能力灵活、全面的观测集群中的LLM流量。
|
安全 大数据 数据挖掘
课时9:阿里云Web应用防火墙:全面保障网站的安全与可用性
阿里云Web应用防火墙(WAF)基于阿里巴巴十年攻防经验,提供全面的网站安全防护。它通过Web应用防护、CC攻击防护和业务风控,有效应对各类网络威胁,确保网站的安全与可用性。智能双引擎技术降低误报率,实时数据分析和虚拟补丁更新保障系统安全。WAF已成功护航多个重大活动,为企业提供高效、简便的安全解决方案。
539 0
|
Kubernetes 测试技术 微服务
结合阿里云ASM泳道与Kruise Rollout进行全链路灰度发布
本文将介绍如何结合阿里云ASM泳道与Kruise Rollout进行低成本,自动化的全链路灰度发布。
|
Kubernetes 大数据 调度
使用Kmesh作为阿里云服务网格ASM Sidecarless模式数据面
阿里云服务网格ASM支持Sidecar和Sidecarless两种模式,本文介绍了如何在阿里云ACK集群中部署Kmesh作为Sidecarless数据面并连接ASM控制面。
|
Kubernetes 安全 Cloud Native
解锁安全新纪元:利用服务网格Istio,打造全链路mTLS加密隧道,从入口网关到出口网关,守护数据安全的每一步
【8月更文挑战第2天】随着云原生技术的发展,服务网格(Service Mesh)如Istio已成为微服务架构的核心,通过双向TLS(mTLS)确保通信安全。首先,在Kubernetes部署Istio以管理服务通信。接着,配置入口网关实现所有入向流量的加密处理,防止数据泄露。最后,通过配置Sidecar代理如Envoy,确保服务网格安全访问外部mTLS服务,从而构建起全链路的数据安全防护。
742 11
|
Kubernetes 调度 容器
使用Kmesh作为阿里云服务网格ASM Sidecarless模式数据面
阿里云服务网格ASM支持Sidecar和Sidecarless两种模式,其中Sidecarless模式如Istio Ambient、ACMG和Kmesh等,可减少延迟和资源消耗。Kmesh基于eBPF技术,通过内核空间拦截流量,结合Waypoint Proxy处理L7流量,实现高效的服务治理。本文介绍了如何在阿里云ACK集群中部署Kmesh并连接ASM控制面,包括安装步骤、检查服务状态和流量调度示例。
485 0
|
Kubernetes 安全 数据安全/隐私保护
利用服务网格实现全链路mTLS(二):通过出口网关访问外部mTLS服务
阿里云服务网格(Service Mesh,简称ASM)提供了一个全托管式的服务网格平台,兼容Istio开源服务网格,简化服务治理,包括流量管理、服务间通信安全及网格可观测性。ASM出口网关统一管理网格内的出口流量,实现全链路加密通信与精细访问控制。本文介绍如何配置ASM出口网关以管理出口流量并发起mTLS通信,涉及配置ServiceEntry、创建出口网关、设置虚拟服务及目标规则等步骤,最终实现安全可控的mTLS服务访问。
558 3