当前位置:   article > 正文

eureka注册中心的安全问题(对eureka也要授信用户才能访问)_当eureka没有配置认证授权时,未经授权的攻击者可以访问eureka,并获取敏感信息

当eureka没有配置认证授权时,未经授权的攻击者可以访问eureka,并获取敏感信息
  1. 在eureka 模块中pom.xml中引入security
   <!-- 引入spring的security -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 在eureka模块的application.yml中加入安全配置
	spring:
      security:
        user:
          name: admin
          password: a
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 再重启eureka,测试一下授权登录访问 http://localhost:端口号

此时 其他服务也无法在eureka上注册了,所以要在其他服务端中加入登录配置
在这里插入图片描述
解决方案; 在 其他服务端的application.yml中修改登录eureka登录配置

eureka:
  client: # 客户端进行Eureka注册的配置
    service-url:
      #defaultZone: http://localhost:7001/eureka
      defaultZone: http://admin:a@localhost:7001/eureka  #授信用户登录
  • 1
  • 2
  • 3
  • 4
  • 5

并且要求在eureka模块中增加一个类: 关闭 csrf

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
@EnableWebSecurity
public class EurekaSecurityConfig extends WebSecurityConfigurerAdapter {
  @Override
  protected void configure(HttpSecurity http)throws Exception{
      http.csrf().disable();
      super.configure(http);
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

关于什么是csrf 可以查看 :https://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
之后
再重启eureka,再重启 服务端,可以看到 服务端在eureka中注册成功
在这里插入图片描述

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号