大连密封材料 发表于 2024-7-31 12:58:12

API网关工具Kong或nginx ingress实现对客户端IP的白名单限制,提高对外服务

一、背景

部署在生产情况的应用,供内部服务调用外,还必要袒露外网访问。
好比consul ui管理界面,我们必要给到开辟和测试职员,观察服务的注册情况。
再好比前端页面和后端接口在一起的服务,后端接供词内部服务接口调用,调用安全通过颁发访问令牌来保证;而前端页面则是后台管理界面,必要袒露到外网,以便网站管理职员可以登录并操作设置。
再好比公司研发情况想要访问生产的接口,使得测试最接近真实数据及网络,当然我们不能任意袒露给全部外网访问。
既然提供了外网访问,如何适当地提高应用安全就摆在我们面前。
本文将介绍两种api网关工具来实现对客户端Ip的限制(设置白名单机制):


[*]kong
[*]nginx ingress
二、kong配置

Kong有自带的插件ip-restriction可以设置IP白名单
https://img-blog.csdnimg.cn/direct/95dce71e92784cbeb7724edc0acebda4.png
https://img-blog.csdnimg.cn/direct/da2c69840c5642e1a1b21ff31ac8a48a.png


[*] IP白名单
https://img-blog.csdnimg.cn/direct/e0050395f6884b59b06b6f2299b71847.png
[*] IP黑名单
   添加至黑名单的ip客户端,则禁止访问外部域名。
https://img-blog.csdnimg.cn/direct/378cbb60b4d540e898c92af294a7f551.png
可以说,kong网关因为有上面的操作界面,直观又方便,还黑白常简单的。
下面介绍如安在nginx ingress中实现同样功能。
三、nginx ingress

通过注解(annotations)实现IP访问控制,您可以使用nginx.ingress.kubernetes.io/whitelist-source-range和nginx.ingress.kubernetes.io/block-source-range这两个注解类型。这些注解可以添加到Ingress资源中,以限制或允许特定的IP所在或IP所在范围访问您的服务。


[*]使用白名单(whitelist):
通过nginx.ingress.kubernetes.io/whitelist-source-range注解,您可以指定一个或多个CIDR格式的IP所在范围,以允许这些范围内的IP所在访问您的服务。(注意:多个ip所在间逗号隔开)
https://img-blog.csdnimg.cn/direct/5574f1e97df44c91a767211071ca147d.png
完整的yaml文本示例:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
    nginx.ingress.kubernetes.io/whitelist-source-range: '122.xx.xx.66,39.xx.xx.220'
name: xxx
namespace: xx-service
spec:
ingressClassName: ack-nginx
rules:
    - host: {你的外网域名}
      http:
      paths:
          - backend:
            service:
                name: {你的service服务名称}
                port:
                  number: {你的service服务端口号}
            path: /
            pathType: ImplementationSpecific
如果你的外网IP不在上面的白名单列表,则会报错403被禁止:
https://img-blog.csdnimg.cn/direct/c9727b461b9d47729a1c40f5e785a395.png
四、总结

如许,我们就能在公司研发情况下,访问部署在生产的服务,既方便了联调测试,又肯定程度地提高了网络安全。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: API网关工具Kong或nginx ingress实现对客户端IP的白名单限制,提高对外服务