【问题标题】:CUPS/IPP over HTTPS via CF/Gorouter - TLS handshake error通过 CF/Gorouter 通过 HTTPS 的 CUPS/IPP - TLS 握手错误
【发布时间】:2018-10-21 17:06:12
【问题描述】:

我想在 Cloud Foundry 上通过 CUPS/HTTPS 打印 PostScript。 当我使用 HTTP 时它可以工作,但使用 gorouter 日志的 HTTPS 失败:

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 P>

我尝试将router.logging_level 设置为debugdefaultinfo)但它没有任何改变......

有没有机会获得更多信息? gorouter最详细的日志级别是多少?

【问题讨论】:

    标签: cloud-foundry tls1.2 sslhandshakeexception cups gorouter


    【解决方案1】:

    我解决了我的问题。 在我的情况下,在 gourouter 上启用了双向 TLS:

    默认情况下,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
    
    • 关于 connect() 到 your-app.cloud 端口 443 (#0)
    • 已连接到 your-app.cloud 端口 443 (#0)
    • 使用证书路径初始化 NSS:sql:/etc/pki/nssdb
    • CA 文件:/etc/pki/tls/certs/ca-bundle.crt CApath:无
    • NSS:未找到客户端证书(未指定昵称)
    • 使用 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 的 SSL 连接

    3。 openssl

    看粗线:

    openssl s_client -connect your-app.cloud:443 -state
    
    • 已连接(00000003)
    • SSL_connect:在/连接初始化之前
    • SSL_connect:SSLv2/v3 写客户端hello 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

    使用 CF 部署清单更改 Gorouter 属性:

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

    现在您可以检查是否再次启用了 mTLS。

    请注意,这些设置不适用于路由版本 0.164.0,但对于 0.178.0,它按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-12
      • 2018-05-16
      • 1970-01-01
      • 2016-03-21
      • 2014-12-09
      • 2017-01-17
      • 1970-01-01
      • 2021-11-25
      相关资源
      最近更新 更多