如何限制通过未授权api访问rancher : https://ip/v3-public/authtokens

Rancher Server 设置

  • Rancher 版本:2.7.6
  • 安装选项 (Docker install/Helm Chart): Docker install
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:RKE1
  • 在线或离线部署:离线部署

下游集群信息

  • Kubernetes 版本: v1.26.15
  • Cluster Type (Local/Downstream):
    • 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等):

用户信息

  • 登录用户的角色是什么? (管理员/集群所有者/集群成员/项目所有者/项目成员/自定义):admin
    • 如果自定义,自定义权限集:

主机操作系统: Kylin Linux v10

问题描述: 访问rancher 管理页面 https://ip/dashboard/home 是需要使用admin账户登录的。但是在未登录的情况下,通过https://ip/v3-public/authtokens?sort=uuid&token=12313131313 可以直接访问并且返回相关信息。这被认定是安全漏洞,已经在ECS上设置了安全组限制端口对外访问,还是不满足要求。要如何完全避免直接访问上面的api呢?

重现步骤: 访问 https://master/v3-public/authtokens?sort=uuid&token=12313131313

**结果:**返回json信息

{
    "actions": {
    },
    "data": [
    ],
    "filters": {
        "created": null,
        "creatorId": null,
        "expiresAt": null,
        "name": null,
        "removed": null,
        "token": [
            {
                "modifier": "eq",
                "value": "12313131313"
            }
        ],
        "uuid": null
    },
    "links": {
        "self": "…/v3-public/authtokens"
    },
    "pagination": {
        "limit": 1000,
        "total": 0
    },
    "resourceType": "authToken",
    "sort": {
        "links": {
            "expiresAt": "…/v3-public/authtokens?sort=expiresAt&token=12313131313",
            "token": "…/v3-public/authtokens?sort=token&token=12313131313",
            "uuid": "…/v3-public/authtokens?sort=uuid&token=12313131313"
        },
        "name": "uuid",
        "order": "asc",
        "reverse": "…/v3-public/authtokens?order=desc&sort=uuid&token=12313131313"
    },
    "type": "collection"
}

预期结果: 限制未授权访问

截图:

其他上下文信息:

日志


这个是可以公共访问的接口(就像登录接口一样),也没有暴露任何有用的信息,不知道为啥要认定安全漏洞
如果要限制,估计得在 rancher api 接口之上添加拦截

2 个赞