如何对kong网关的admin-api进行权限管控(容器化部署下),对应CVE-2020-11710漏洞

本文探讨了Kong网关admin-api的安全问题,指出其默认无权限管控的隐患,特别是在容器化部署下。建议通过回环代理方式实现权限管控,详细介绍了配置过程,包括设置acl和key-auth插件以保护接口。此外,强调了测试完成后需关闭8001端口广播,确保只有本地能访问。
摘要由CSDN通过智能技术生成

一、为什么要对admin-api权限管控

  kong网关在启动后会暴露两个http的端口。一个是8000,这个访问网关的入口,配在网关上的服务都是通过这个端口访问,服务可以配置各种各样的插件,包括鉴权,限流等。
  另一个是8001,为admin-api,我们就是通过该接口对kong网关进行增删查改,但是问题是这个端口是没有进行权限管控的,也就是说,如果一不小心暴露出去,任何人都可以通过该接口随意修改kong网关的数据,这显然是一个不小的隐患。
  当然在容器化部署的情况下,我们可以不对外暴露端口,在部署时仅部署集群ip,需要调用admin-api的应用可以通过服务名调用的方式来调用,这样可以防止该k8s集群外的主机调用admin-api。缺点自然也很明显,万一不法分子入侵到k8s集群里的任何一台机子上,都可以调用admin-api。

二、如何通过回环代理方式进行权限管控

  在官方的教程里有回环的方式,就是将8001的对外广播关闭,然后将8001的端口当成一个服务配置到kong网关上,然后我们就可以通过8000/服务名的方式来访问admin-api,并随意增加插件。这样做还有一个额外的好处,一般k8s部署kong的话会部署两个kong的服务,一个暴露8001端口,一个暴露8000端口(因为一个服务职能暴露一个端口),将8001代理到8000后,我们只需要一个服务就可以了。
  下面提供代理,并配置相应权限管控插件的shell脚本,可以在k8s命令行执行,直接输出consumerKey:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值