【问题标题】:Spring Cloud Microservices - Eureka Server Security [closed]Spring Cloud Microservices - Eureka Server Security [关闭]
【发布时间】:2019-01-29 20:37:32
【问题描述】:
由于 Eureka 使用 http/https 协议与其注册者(客户端)进行交互,因此您可以通过假装是其客户端之一向其发布虚假/错误数据来告知服务已关闭,从而轻松欺骗 eureka 服务器,这最终导致从注册表中删除这些服务。在具有许多用户的大型系统中,这种情况很可能发生。
有哪些替代安全/身份验证方案可以防止此类攻击?
【问题讨论】:
标签:
spring
security
microservices
netflix-eureka
discovery
【解决方案1】:
如果你的服务发现可以从外部访问,你需要给它增加一些安全性,而 HTTPS 只能防止中间人攻击,所以这还不够。
如果您将 Eureka 与 spring cloud starter (@EnableEurekaServer) 一起使用,您可以使用 spring security 来保护您的服务器。
举个简单的例子,你可以添加:
security:
user:
name: admin
password: password
并在 spring-boot 客户端像这样声明 eureka:
eureka:
client:
serviceUrl:
defaultZone: http://admin:password@localhost:8002/eureka
您还可以使用 oauth,以及 spring 提供的所有其他安全协议。