【参赛有奖】云原生编程挑战赛·赛道 2 邀你来战!

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
性能测试 PTS,5000VUM额度
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 【参赛有奖】云原生编程挑战赛·赛道 2 邀你来战!

第四届云原生编程挑战赛,是由阿里云主办,云原生应用平台、天池联合承办的云原生著名品牌赛事。自 2015 年开始,大赛已经成功举办了八届,并从 2020 年开始升级为首届云原生编程挑战赛,共吸引了超过 53000 支队伍,覆盖 10 余个国家和地区。本届大赛将深度探索 Serverless、容器、微服务三大热门领城,为热爱技术的年轻人提供一个挑战云原生技术问题的舞台,希望用技术为全社会创造更大价值。大家赶快参赛吧!


参与赛道 2 挑战,瓜分 120,000 元现金奖励


本次大赛面向全球开放,大赛分为初赛和决赛,各赛道初赛 TOP6 战队入围决赛答辩。最终排行将根据初赛及决赛答辩成绩综合得出。


奖项设置



赛道有奖活动,好礼送不停


提交评测有奖活动

1、大赛评测期间,指定时间点赛道一、赛道二排行榜中尾号带有幸运数字的团队,赠送天猫精灵 1 个。(具体时间可查看赛制详情页)

2、赛道一、赛道二提交 A 榜评测,并在排行榜出分的送手,赠送阿里云定制保温杯一个!

3、赛道一、赛道二提交 B 榜评测,并在排行榜出分的选手,赠送阿里云定制雨伞一把!


【有奖训练营】

邀请赛道 2 明星导师为您深度解析赛题内容和难点,0 基础入门,快速 get 参赛技能。完成打卡任务即可领取官方定制荣誉证书和阿里云定制鸭舌帽!


点击立即报名参营:https://developer.aliyun.com/trainingcamp/dec885be1c8048a5b365f3b7d73309ba


【体验有奖】大赛动手体验活动

活动期间(7.24-8.18),报名大赛并完成动手实验活动,即可领取阿里云定制精美鸭舌帽一个!礼品有限,先到先得,快来体验吧!


点击立即参加:https://edu.aliyun.com/learning/topic/series/mse


赛题解析


赛题背景

Higress 是阿里云开源的下一代云原生网关项目,以 Envoy+Istio 为内核,遵循开源 Ingress/Gateway API 标准,实现了流量网关 + 微服务网关 + 安全网关三合一的高集成能力。


Higress 具有强大的插件扩展机制,WASM 插件为主要的开发形式。Higress 提供了插件市场,网关的二次扩展功能均通过插件提供给用户按需使用。用户通过在控制台配置 WASM 插件,实现插件的热更新,并且对流量无损,如下图所示。



此外 WASM 插件在沙盒中执行,对网关自身稳定性无影响。如果用户希望根据自身业务自己开发插件,Higress 也提供了 C++/Go/Rust 插件开发框架,用户可以自由选择语言编写 WASM 插件。


题目解析

本次赛题就是希望参赛者基于 WASM 实现 Higress 网关安全防护插件,插件需要实现以下三个功能:IP 黑名单、WAF 规则防护、CC 防护。


IP 黑名单要求插件通过配置文件读取IP黑名单列表,为测试方便起见,插件逻辑需要通过 x-real-ip 请求头识别客户端 IP,并查询 IP 黑名单是否命中规则。如果命中规则,需要返回 403 状态码,同时应答为 "denied by ip"。


CC 防护要求插件通过配置文件读取 CC 防护规则,通过 header 或者 cookie 识别调用方,通过 QPS、QPM 等限制调用方访问次数,当调用方访问次数超出限制时,根据配置规则对调用方进行屏蔽。如果命中规则,需要返回 403 状态码,同时应答为 "denied by cc"。


WAF 规则防护对插件配置不做要求;会使用 OWASP 测试集(涵盖 SQL 注入,XSS 攻击,SHELL 注入等)模拟攻击进行防护能力测试,如果命中规则,需要返回 403 状态码,同时应答为 "denied by waf"。


解题思路

IP 黑名单功能可以基于哈希表实现,考虑到 IP 列表较多时哈希表占用内存空间较多,参赛者也可以使用基数树来优化内存占用。


CC 防护功能可以基于限流算法如令牌桶来实现,借助于 WASM SDK 中提供的 SharedQueue 可以实现不同 worker 线程间的同步。


赛题组提供了一个实现了 WAF 防护功能的实例插件,参赛者可以在此基础上进行修改,该插件借助于 Coraza 和 OWASP CRS 实现,处理流程与 ModSecurity 一致,如下图所示:



参赛者也可以充分发挥创意,增加更多实用的功能,实现综合能力更高的插件,例如:


  • IP 黑名单功能支持 ipv6
  • 使用 C++/Rust 实现插件以获得更高的性能
  • ……


请尽情发挥您的聪明才智,解决上述一项或多项挑战,基于 Higress 插件扩展机制打造 WEB 安全防护能力!


点击此处,立即报名!

相关文章
|
2月前
|
机器学习/深度学习 人工智能 Cloud Native
2024 天池云原生编程挑战赛决赛名单出炉,冠军来自中山大学、昆仑数智战队
2024 天池云原生编程挑战赛由阿里云主办,云原生应用平台、天池以及市场营销部联合承办,本届大赛成功吸引了超过 20500 支队伍积极参与,参赛者来自 10 多个国家和地区,大赛规模创下历史新高。
|
3月前
|
存储 Kubernetes Cloud Native
探索Python编程的奥秘云原生时代的容器编排:Kubernetes入门与实践
【8月更文挑战第30天】本文以浅显易懂的方式,探讨了Python编程的核心概念和技巧。从基础语法到高级特性,再到实际应用案例,逐步引导读者深入理解Python编程的精髓。通过本文的学习,读者将能够掌握Python编程的基本技能,并激发进一步探索的兴趣。
40 13
|
2月前
|
Cloud Native Java API
为何这款轻量级框架正悄然改变云原生应用开发格局?——探索Micronaut带来的新编程体验
【9月更文挑战第5天】随着云计算的发展,企业纷纷转向云原生应用开发。Micronaut是一款轻量级、高性能的Java框架,专为微服务架构设计,支持JVM和GraalVM,是构建云原生应用的理想选择。本文介绍Micronaut的基本概念并通过示例展示如何快速搭建云原生应用。使用Micronaut CLI可以轻松创建项目并添加REST接口,其注解驱动的API让开发变得简单直接。Micronaut还提供了健康检查、指标收集等高级功能,支持AOT编译,优化应用性能。对于追求高效开发的团队而言,Micronaut提供了一种全新的解决方案。
58 6
|
3月前
|
运维 Kubernetes Cloud Native
云原生之旅:Kubernetes 集群的搭建与实践Python 编程入门:从零基础到编写实用脚本
【8月更文挑战第30天】在数字化转型的大潮中,云原生技术以其弹性、可扩展性及高效运维能力成为企业IT架构升级的关键。本文将通过实际操作演示如何在本地环境搭建一个简易的Kubernetes集群,带你领略云原生的魅力所在。从集群规划到服务部署,每一步都是对云原生理念的深刻理解和应用。让我们共同探索,如何通过Kubernetes集群的搭建和运维,提升业务灵活性和创新能力。
|
2月前
|
Kubernetes Cloud Native Java
探索未来编程新纪元:Quarkus带你秒建高性能Kubernetes原生Java应用,云原生时代的技术狂欢!
Quarkus 是专为 Kubernetes 设计的全栈云原生 Java 框架,凭借其轻量级、快速启动及高效执行特性,在 Java 社区脱颖而出。通过编译时优化与原生镜像支持,Quarkus 提升了应用性能,同时保持了 Java 的熟悉度与灵活性。本文将指导你从创建项目、编写 REST 控制器到构建与部署 Kubernetes 原生镜像的全过程,让你快速上手 Quarkus,体验高效开发与部署的乐趣。
39 0
|
3天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
5天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
14天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####
|
6天前
|
消息中间件 存储 Cloud Native
云原生架构下的数据一致性挑战与应对策略####
本文探讨了在云原生环境中,面对微服务架构的广泛应用,数据一致性问题成为系统设计的核心挑战之一。通过分析云原生环境的特点,阐述了数据不一致性的常见场景及其对业务的影响,并深入讨论了解决这些问题的策略,包括采用分布式事务、事件驱动架构、补偿机制以及利用云平台提供的托管服务等。文章旨在为开发者提供一套系统性的解决方案框架,以应对在动态、分布式的云原生应用中保持数据一致性的复杂性。 ####
|
2天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
19 5