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
это работает как ожидалось.