一句话:提出 Kubesonde,在 Kubernetes 集群上以低开销插桩运行中的应用,分析微服务连通性并揭示网络隔离问题。
现代云应用由大量通过网络交互的微服务构成,其分布式复杂性使开发者往往不清楚微服务之间以及与互联网的实际连接情况,从而可能严重损害应用安全。本文针对该问题提出一套评估微服务连通性的方法,并实现了云原生工具 Kubesonde:它在 Kubernetes 集群中插桩正在运行的应用,以对性能影响极小的方式分析微服务连通性。作者利用 Kubesonde 评估了 200 个流行云应用,发现其中超过 60% 存在声明连通性与实际连通性不一致的问题,且没有任何一个限制对互联网的出站连接。结果表明,Kubesonde 能提供现有工具无法给出的连通性洞察。
Modern cloud-based applications are composed of several microservices that interact over a network. They are complex distributed systems, to the point that developers may not even be aware of how microservices connect to each other and to the Internet. As a consequence, the security of these applications can be greatly compromised. This work explicitly targets this context by providing a methodology to assess microservice connectivity, a software tool that implements it, and findings from analyzing real cloud applications. Specifically, it introduces Kubesonde, a cloud-native software that instruments live applications running on a Kubernetes cluster to analyze microservice connectivity, with minimal impact on performance. An assessment of microservices in 200 popular cloud applications with Kubesonde revealed significant issues in terms of network isolation: more than 60% of them had discrepancies between their declared and actual connectivity, and none restricted outbound connections towards the Internet. Our analysis shows that Kubesonde offers valuable insights on the connectivity between microservices, beyond what is possible with existing tools.