【问题标题】:Client SubjectName validation on NGINX IngressNGINX Ingress 上的客户端 SubjectName 验证
【发布时间】:2020-07-24 10:30:55
【问题描述】:

我正在尝试配置 NGINX 入口控制器,它还可以验证来自客户端的唯一 CN 或 Subjectname。原因是,我们只希望将客户端配置为访问 NGINX 入口控制器,其余使用相同 CA 和密钥签名的客户端可以被删除。

    Certificate:
Data:
    Version: 1 (0x0)
    Serial Number: 2 (0x2)
Signature Algorithm: sha256WithRSAEncryption
    Issuer: CN=testAuthority
    Validity
        Not Before: Apr  5 08:02:23 2020 GMT
        Not After : Apr  5 08:02:23 2021 GMT
    Subject: CN=**client**
    Subject Public Key Info:
        Public Key Algorithm: rsaEncryption
            Public-Key: (4096 bit)
       Public Key Algorithm: rsaEncryption
            Public-Key: (4096 bit)
            Modulus:
       <snipped>
            Exponent: 65537 (0x10001)
Signature Algorithm: sha256WithRSAEncryption
<snipped>
-----BEGIN CERTIFICATE-----
<snipped>
 -----END CERTIFICATE-----

如果从上述证书(如 Subject: CN 或 Certificate Key 或 Fingerprint )收到对 NGINX 控制器的请求,则应将其转发到后端。 其余证书应被拒绝。

如果有一些注解或 configmap 可以在 Ingress 中配置,那可能会有所帮助。

【问题讨论】:

    标签: kubernetes certificate tls1.2 kubernetes-ingress nginx-ingress


    【解决方案1】:

    您可以尝试extract CNinto variable,然后通过configuration snippet 拒绝基于此变量的访问。一种可能的解决方法是使用具有专用 CA + 客户端证书身份验证的附加 Ingress,并仅向允许的客户端颁发客户端证书。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-17
      • 1970-01-01
      • 2020-08-31
      • 2017-10-02
      • 1970-01-01
      • 2017-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多