CUPS / IPP через HTTPS через CF / Gorouter - ошибка рукопожатия TLS - PullRequest
0 голосов
/ 11 мая 2018

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

http: TLS handshake error from ...

My 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 Ответ

0 голосов
/ 31 мая 2018

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

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

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


Проверка, включен ли 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)
  • Подключен к порту your-app.cloud 443 (# 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: спецификация шифра изменения записи SSLv3 A
  • 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 она работает как ожидалось.

...