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

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 一、概述 阿里云云盾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。

相关文章
|
2月前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
77 3
|
3月前
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
204 1
|
21天前
|
域名解析 缓存 网络协议
Web基础与HTTP协议
通过掌握这些基础知识和技术,开发者可以更加高效地构建和优化Web应用,提供更好的用户体验和系统性能。
68 15
|
16天前
|
缓存 安全 搜索推荐
阿里云先知安全沙龙(北京站) ——浅谈Web快速打点
信息收集是网络安全中的重要环节,常用工具如Hunter、Fofa和扫描工具可帮助全面了解目标系统的网络结构与潜在漏洞。遇到默认Nginx或Tomcat 404页面时,可通过扫路径、域名模糊测试、搜索引擎缓存等手段获取更多信息。AllIN工具(GitHub: P1-Team/AllIN)能高效扫描网站路径,发现敏感信息。漏洞利用则需充分准备,以应对突发情况,确保快速拿下目标站点。 简介:信息收集与漏洞利用是网络安全的两大关键步骤。通过多种工具和技术手段,安全人员可以全面了解目标系统,发现潜在漏洞,并制定有效的防御和攻击策略。
|
2月前
|
缓存 安全 网络安全
HTTP/2与HTTPS在Web加速中的应用
HTTP/2与HTTPS在Web加速中的应用
|
2月前
|
前端开发 安全 应用服务中间件
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第26天】随着互联网的快速发展,前端性能调优成为开发者的重要任务。本文探讨了HTTP/2与HTTPS在前端性能优化中的应用,介绍了二进制分帧、多路复用和服务器推送等特性,并通过Nginx配置示例展示了如何启用HTTP/2和HTTPS,以提升Web应用的性能和安全性。
44 3
|
3月前
|
缓存 网络协议 前端开发
Web 性能优化|了解 HTTP 协议后才能理解的预加载
本文旨在探讨和分享多种预加载技术及其在提升网站性能、优化用户体验方面的应用。
|
4月前
|
缓存 Kubernetes Java
阿里云 SAE Web:百毫秒高弹性的实时事件中心的架构和挑战
SAE 事件中心通过智能诊断显示通知与用户连接起来,SAE WEB 百毫秒弹性实例给事件中心带来了新的实时性、海量数据和高吞吐的挑战,本篇将带您了解 SAE 整体事件中心的架构和挑战。
210 10
|
4月前
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
237 8
|
4月前
|
缓存 安全 应用服务中间件
Web安全-HTTP Host头攻击
Web安全-HTTP Host头攻击
190 7