阿里云Web应用防火墙接入案例分享之http2.0

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
简介: 一、概述 阿里云云盾Web应用防火墙(Web Application Firewall, 简称 WAF)是一款网络安全产品,基于云安全大数据能力,用于防御SQL注入、XSS跨站脚本、常见Web服务器插件漏洞、木马上传、非授权核心资源访问等OWASP常见攻击,并过滤海量恶意CC攻击;在本篇文章中,笔者通过两个http2.0业务的接入案例分享,给后续的业务接入提供参考借鉴的地方。

一、概述

  阿里云云盾Web应用防火墙(Web Application Firewall, 简称 WAF)是一款网络安全产品,基于云安全大数据能力,用于防御SQL注入、XSS跨站脚本、常见Web服务器插件漏洞、木马上传、非授权核心资源访问等OWASP常见攻击,并过滤海量恶意CC攻击;在本篇文章中,笔者通过两个http2.0业务的接入案例分享,给您后续的业务接入提供参考借鉴的地方。

二、接入案例

2.1 案例1-APP登陆报错

2.1.1 案例背景

  该业务属于一款专注于学习技术与教育大数据的APP,经常会遇到小流量CC攻击和网络爬虫的数据爬取,导致业务上受到了较为严重的影响,因此接入WAF进行防护。

2.1.2 问题现象

  业务APP通过域名进行业务访问,将域名DNS修改为WAF的cname后,正常用户登录时会出现“服务器错误”的提示,将业务域名切换为源站服务器后问题消失,图1所示:

image

图一

2.1.3 排查过程

  通过WAF自身提供的日志服务查询发现APP发起的第一个版本比对请求产生了400错误码,一般400错误码主要产生的原因有两个:http请求头过大或者请求数据不全;通过构造相关环境,针对APP客户端的请求数据进行抓包,从抓包中发现客户端完成证书和秘钥协商后主动关闭了连接,由于客户端主动关闭连接导致产生400错误码;
  同时在正常访问时抓包分析发现客户端与服务器之间协商的交互协议为http2.0,于是将WAF的http2.0协议支持开启后观察,APP也能够正常通过WAF访问,将相关情况反馈给客户端开发后确认,由于APP底层使用了某开源框架, 该框架默认情况下启用http2.0进行网络数据交互,在下一版本会进行升级规避该问题。

2.1.4 案例总结

  在业务接入WAF的过程中,我们需要充分了解业务使用的协议情况,配置好WAF后可以先进行本地验证测试,测试通过后再进行业务切换;在业务出现异常时,可通过WAF自身提供的日志服务进行日志排查,快速定位问题原因和现象。

2.2 案例2-部分浏览器访问网站异常

2.2.1 案例背景

  该业务网站是一款用于渠道管理的后台系统,由于近期需要进行等保测评,从网站安全和合规角度出发,将网站接入WAF进行防护。

2.2.2 问题现象

  网站接入WAF访问后,发现部分用户使用chrome和firefox浏览器访问时无法打开网站,但是IE的用户访问没有异常。

2.2.3 排查过程

  首先通过本地chrome浏览器进行调试访问,发现浏览器https的请求出现[ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY]的错误提示, 如图2所示:

image

图二


  同时,针对错误提示环境下的客户端抓包分析,在server hello的回应报文中加密套件协商为TLS_RSA_WITH_3DES_EDE_CBC_SHA(0x000a),同时采用了http2的交互协议,如图3所示:

image


  由于http2在协议启用的情况下只能使用TLS1.2+,而TLS1.3还处于起草阶段,在本案例中协商为TLS1.2,而TLS_RSA_WITH_3DES_EDE_CBC_SHA恰好落在TLS1.2的黑名单列表中,所以导致了浏览器访问交互失败,如图4所示:

image

图四


  那同样是浏览器访问,为什么会有部分浏览器能够正常打开网站呢?笔者又通过不同浏览器的抓包,发现每个浏览器发起client hello请求时的可协商加密套件列表是不一样的,加密套件的协商过程是客户端与服务端可支持加密套件列表的取交集过程,客户端与服务端取交集后按照服务器端配置的加密套件列表返回第一个(tengine开启了ssl_prefer_server_ciphers选项),而在本次问题复现场景中,服务端返回的加密套件为[TLS_RSA_WITH_3DES_EDE_CBC_SHA]导致协商失败。

2.2.4 案例总结

  在本案例中从业务角度出发服务端主动开启了http2.0的支持,但是由于服务端的相关配置问题,导致了本次问题的发生;所以在出现业务接入产品后出现异常,需要进行快速回滚恢复业务,同时在问题复现的基础上进行细节排查,找出问题本质原因进行解决。

三、结束语

  HTTP 2.0作为HTTP协议的的第二个主要版本,较之1.1相比能够最小化网络延迟,提升网络速度,优化用户的网络使用体验,将会越来越多的使用于主流业务交互;云WAF作为安全防护类的产品,在当前主要采用反向代理的模式下,由于流量都需要经过WAF产品进行转发,或多或少都会遇到业务兼容性问题,所以业务方在接入过程中先了解业务架构和应用协议情况,尽量先进行本地灰度测试,验证通过后再做大规模迁移,保证业务接入顺利;
  在遇到紧急问题时,您可以及时联系WAF产品技术支持进行协助:https://help.aliyun.com/knowledge_detail/42193.html?spm=a2c4g.11186631.2.10.76f64a58lWsQXD。

相关文章
|
4月前
|
Java 数据库 网络架构
菜鸟之路Day36一一Web开发综合案例(部门管理)
本文详细记录了基于Spring Boot的Web开发综合案例——部门管理功能的实现过程。从环境搭建到功能开发,涵盖数据库表设计、Spring Boot项目创建、依赖引入、配置文件设置以及Mapper、Service、Controller的基础结构构建。文章重点讲解了查询、删除、新增和修改部门信息的业务逻辑实现,遵循RESTful规范设计接口,并通过统一响应结果类`Result`优化前后端交互体验。借助Spring的IoC容器管理与MyBatis的SQL映射,实现了高效的数据操作与业务处理,最终完成部门管理的全功能开发。
126 12
|
6天前
|
监控 安全 物联网
阿里云WAF是什么?
Web应用防火墙(WAF)是保护网站、APP及API的关键防线,可实时监控并阻断恶意流量,防范数据泄露与常见攻击。它通过分析HTTP请求,识别威胁,保障敏感信息,满足合规要求,支持云、主机、网络多场景部署,助力企业构建坚实的安全屏障。
|
1月前
|
数据采集 JSON Go
Go语言实战案例:实现HTTP客户端请求并解析响应
本文是 Go 网络与并发实战系列的第 2 篇,详细介绍如何使用 Go 构建 HTTP 客户端,涵盖请求发送、响应解析、错误处理、Header 与 Body 提取等流程,并通过实战代码演示如何并发请求多个 URL,适合希望掌握 Go 网络编程基础的开发者。
|
3月前
|
XML SQL 前端开发
菜鸟之路Day37一一Web开发综合案例(员工管理)
本文介绍了基于Web开发的员工管理综合案例,涵盖分页查询、条件分页查询、删除员工和新增员工四大功能模块。通过前后端交互,前端传递参数(如页码、每页记录数、查询条件等),后端使用MyBatis与PageHelper插件处理数据查询与操作。代码结构清晰,包括Controller层接收请求、Service层业务逻辑处理以及Mapper层数据访问,并结合XML动态SQL实现灵活的条件查询。此外,新增与删除功能分别通过POST与DELETE请求完成,确保系统功能完整且高效。
129 7
|
3月前
|
存储 前端开发 Java
菜鸟之路Day38一一Web开发综合案例(三)
本文介绍了Web开发中的文件上传与员工信息修改的综合案例,涵盖前端到后端的完整流程。重点讲解了阿里云OSS的集成,包括Bucket创建、密钥获取及SDK使用,并通过Spring Boot实现文件上传功能。同时,详细描述了员工信息查询与修改的操作逻辑,涉及Controller、Service和Mapper层代码实现。最后探讨了配置文件的优化,对比@Value与@ConfigurationProperties注解,展示了如何通过实体类批量注入配置参数,提升代码可维护性与灵活性。
100 1
|
5月前
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
212 35
|
10月前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
271 3
|
4月前
|
Web App开发 前端开发 JavaScript
鸿蒙5开发宝藏案例分享---Web适配一多开发实践
这是一份实用的鸿蒙Web多设备适配开发指南,针对开发者在不同屏幕尺寸下的布局难题提供了解决方案。文章通过三大法宝(相对单位、媒体查询和窗口监听)详细介绍如何实现智能适配,并提供了多个实战案例,如宫格布局、对话框变形和自适应轮播图等。此外,还分享了调试技巧及工具推荐,帮助开发者快速上手并优化性能。最后鼓励读者实践探索,并提示更多官方资源等待发现。
|
6月前
|
云安全 数据采集 安全
阿里云热门云安全产品简介:Web应用防火墙与云防火墙产品各自作用介绍
在阿里云的安全类云产品中,Web应用防火墙与云防火墙是用户比较关注的两款安全产品,二者在作用上各有侧重,共同构成了阿里云强大的安全防护体系。本文将对Web应用防火墙与云防火墙产品各自的主要作用进行详细介绍。