CUPS/IPP через HTTPS через CF/Gorouter - ошибка рукопожатия TLS

Я хочу напечатать PostScripts через CUPS/HTTPS на Cloud Foundry. Он работает, когда я использую HTTP, но не работает для HTTPS с журналом gorouter:

http: TLS handshake error from ...

мой cipher_suites:

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

Я пытался установить router.logging_level в debug (по умолчанию info) но это ничего не меняет...

Есть ли шанс получить больше информации? Какой самый подробный уровень регистрации для gorouter?

1 ответ

Решение

Я решил свою проблему. В моем случае взаимный TLS был включен на gourouter:

По умолчанию Gorouter запрашивает, но не требует клиентских сертификатов в рукопожатиях TLS.

https://docs.cloudfoundry.org/adminguide/securing-traffic.html


Проверка, включен ли mTLS

1. Ведение журнала событий SCHANNEL

Добавьте раздел реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
EventLogging REG_DWORD = 3

https://blogs.technet.microsoft.com/kevinjustin/2017/11/08/schannel-event-logging/

Теперь вы должны найти журналы событий, которые сервер запрашивает у клиента, но его невозможно найти.

2. curl

Посмотрите на жирные линии:

curl -I -v -H "Connection: close" https://your-app.cloud
  • О подключении () к порту 443 your-app.cloud (#0)
  • Подключен к порту 443 your-app.cloud (#0)
  • Инициализация NSS с помощью certpath: sql: / etc / pki / nssdb
  • CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: нет
  • NSS: сертификат клиента не найден (псевдоним не указан)
  • SSL-соединение с использованием TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

3. openssl

Посмотрите на жирные линии:

openssl s_client -connect your-app.cloud:443 -state
  • CONNECTED (00000003)
  • SSL_connect: до / подключить инициализацию
  • SSL_connect: клиент записи SSLv2/v3 привет A
  • SSL_connect: сервер чтения SSLv3 привет A
  • ...
  • подтвердить возврат: 1
  • SSL_connect: SSLv3 читает сертификат сервера A
  • SSL_connect: обмен ключами сервера чтения SSLv3 A
  • SSL_connect: запрос чтения сертификата сервера SSLv3 A
  • SSL_connect: сервер чтения SSLv3 выполнен A
  • SSL_connect: SSLv3 пишет клиентский сертификат A
  • SSL_connect: обмен ключами клиента записи SSLv3 A
  • SSL_connect: спецификация A шифра изменения записи SSLv3
  • SSL_connect: запись SSLv3 завершена A
  • SSL_connect: сброс данных SSLv3
  • SSL_connect: SSLv3 чтение билета сеанса сервера A
  • SSL_connect: чтение SSLv3 завершено A

Отключить Gorouter mTLS

Измените свойства Gorouter с помощью манифеста развертывания CF:

- name: router
  - name: gorouter
    release: routing
    properties:
      router:
        forwarded_client_cert: always_forward
        client_cert_validation: none

Теперь вы можете проверить, включен ли mTLS снова.

Обратите внимание, что эти настройки не для версии маршрутизации 0.164.0 но для 0.178.0 это работает как ожидалось.

Другие вопросы по тегам