Spring Eureka未授权访问漏洞是什么?如何修复整改?

小伟 8月前  网络安全   616

收到来自上级部门的网络安全事件通报,说是存在 Spring Eureka 未授权访问安全隐患,必须马上进行修复整改。不知道Spring Eureka是什么东东?更不知道怎么修复,在此请教一下。

2 个回答
  • 小何同志 8月前
    2

    一、什么是 Eureka?

    Spring Cloud Eureka 的简称,是 Spring Cloud Netflix 组件之一。Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。

    目前SpringBoot框架应用越来越广泛,大多数中小型企业,在开发新项目得时候,如果后端语言使用java的情况下,首选都会使用到SpringBoot。

    二、什么是未授权访问?

    未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露。

    三、如何修复 Spring Eureka 未授权访问漏洞?

    1、启用Spring Security进行身份验证:在Eureka Server的配置文件中添加如下配置,启用Spring Security进行身份验证,需要在Eureka Server中配置用户名和密码。

    security:

      basic:

        enabled: true

      user:

        name: admin

        password: password

    2、配置Eureka Server的防火墙:可以配置防火墙,只允许指定IP地址或者网段访问管理界面。在Eureka Server的配置文件中添加如下配置:

    eureka:

      server:

        # 允许访问Eureka Server的IP地址或网段

        allow-registry-override: true

        enable-self-preservation: false

        # 禁止修改Eureka Server的注册信息

        disable-self-registration: true

        # 配置Eureka Server的防火墙规则

        firewall:

          # 允许的IP地址或网段

          allow:

            - 192.168.1.0/24

            - 127.0.0.1

    3、对于生产环境中的Eureka Server,建议使用VPN等安全通道进行访问,避免直接暴露在公网上。

    2 回复引用 引用
  • 野溜小子 8月前
    3

    未授权漏洞修复方法楼上已经写得比较全面了,我这里说说 Spring Eureka。

    服务治理是什么?

    Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理。服务治理就是提供了微服务架构中各微服务实例的快速上线或下线且保持各服务能正常通信的能力的方案总称。服务治理的用处或优点:

    1. 更高的可用性:服务治理可以支持动态的服务实例集群环境,任何服务实例可以随时上线或下线。并且当一个服务实例不可用时,治理服务器可以将请求转给其他服务提供者,当一个新的服务实例上线时,也能够快速地分担服务调用请求。

    2. 负载均衡:服务治理可以提供动态的负载均衡功能,可以将所有请求动态地分布到其所管理的所有服务实例中进行处理。

    3. 提升应用的弹性:服务治理的客户端会定时从服务治理服务器中复制一份服务实例信息缓存到本地中,这样即使当服务治理服务器不可用时,服务消费者也可以使用本地的缓存去访问相应的服务,而不至于中断服务。通过这种机制,极大地提高了应用的弹性。

    4. 高可用性集群:可以构建服务治理集群,通过互相注册机制,将每个治理服务器所管辖的服务信息列表进行交换,使服务治理服务拥有更高的可用性。

    Eureka 是什么?

    Eureak 是Netflix 开源微服务框架中一系列项目中的一个。Spring Cloud对其进行了二次封装,形成了Spring Cloud Netflix 子项目,但未对Netflix微服务实现原理进行更改,只是进行了Spring Boot化,使开发者更容易使用和整合。在Eureka中,对于服务治理有如下3个概念:

    服务治理服务器(Eureka服务器) :Eureka采用了CS的设计架构,Eureka Server 作为服务注册功能的服务器,也就是服务注册中心(这里的Eureka Server指的是我们自己专门写一个Java应用来引用Eureka Server的依赖,将这个应用作为注册中心)。而系统中的其他微服务,使用 Eureka的客户端连接到 Eureka Server并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。

    服务注册代理(服务提供者):如果一个微服务是一个服务提供者,那么可以通过服务注册代理将服务配置信息注册到治理服务器上。服务注册代理可以理解为一个Eureka客户端,负责将微服务所提供的服务向Eureka服务器执行注册、续约和注销等操作,以使服务消费者可以发现并进行消费。在服务注册时需要向服务治理服务器提供服务名称、宿主服务器IP地址、服务端口号、域名等主要数据。

    服务发现客户端(服务消费者):也是一个Eureka客户端。它在启动时会默认从所服务治理服务器中获取所有的服务注册表信息,通过所获取到的服务注册列表信息来消费相应的服务。

    2 回复引用 引用
    • 探知网
      4
        立即登录 立即注册
返回
发新帖