Проверка имени субъекта клиента на входе NGINX - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь настроить входной контроллер NGINX, где он также может проверять уникальный CN или имя субъекта, поступающие от клиента. Причина в том, что мы только хотим, чтобы клиент был настроен для доступа к 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-----

Если запрос к NGINX Контроллер получен из вышеуказанного сертификата, например Тема: CN или Ключ сертификата или Отпечаток пальца, после чего он должен быть отправлен на сервер. Остальные сертификаты должны быть отклонены.

Если в Ingress есть какая-то аннотация или карта конфигурации, которую можно настроить, это может быть полезно.

1 Ответ

1 голос
/ 12 апреля 2020

Вы можете попытаться извлечь CN в переменную , а затем запретить доступ на основе этой переменной через фрагмент конфигурации . Одним из возможных обходных путей является использование дополнительного Ingress с выделенной аутентификацией сертификата клиента CA + и выдача клиентских сертификатов только разрешенным клиентам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...