【问题标题】:Disable TLS 1.0 and TLS 1.1 in nginx-ingress on GKE在 GKE 上的 nginx-ingress 中禁用 TLS 1.0 和 TLS 1.1
【发布时间】:2021-08-12 13:27:09
【问题描述】:

我想从我的网站禁用 TLS 1.0 和 TLS 1.1。

网站托管在谷歌云平台Kubernetes引擎上。

我使用了这个 Nginx 入口https://cloud.google.com/community/tutorials/nginx-ingress-gke

对于 SSL 证书,我使用了本教程中的 cert-manager https://youtu.be/hoLUigg4V18

我不知道应该在哪里进行更改。是否应该从:

  • 入口 YAML 文件
  • 证书管理器
  • GCP 上的负载平衡器

我尝试在 GCP 上创建 SSL 策略,但我无法添加目标,因为它应该是 GCE 入口,而不是 Nginx(由于 GCE 中缺少必需的元数据,我必须使用 Nginx) 我也尝试创建一个配置映射文件,但它们仍然被启用。

【问题讨论】:

    标签: nginx ssl google-kubernetes-engine nginx-ingress cert-manager


    【解决方案1】:

    似乎默认的 nginx-ingress 默认只使用 TLS 1.2 和 1.3,请查看有关 Nginx Ingress 的文档。

    您可以通过如下方式使用openssl进行验证:

    要验证是否禁用了 TLSv1.0,请运行以下命令:

    echo|openssl s_client -servername  -connect :443 -tls1 2>&1 | grep -c 'ssl handshake failure'
    

    要验证是否禁用了 TLSv1.1,请运行以下命令:

    echo|openssl s_client -servername  -connect :443 -tls1_1 2>&1 | grep -c 'ssl handshake failure'
    

    返回整数大于 0 表示禁用 TLSv1.0 或 TLSv1.1

    通过 OpenSSL 验证:启用 TLSv1.2

    echo|openssl s_client -servername  -connect :443 -tls1_2 2>&1 | grep -c 'ssl handshake failure'
    

    返回整数 0 表示启用 TLSv1.2

    确定通过 Nmap 启用哪些 TLS 版本和密码

    您可以使用以下命令确定为每个主机名启用了哪些 TLS 版本和密码:

    nmap -sV --script ssl-enum-ciphers -p 443 
    

    另一个工具是https://github.com/drwetter/testssl.sh

    【讨论】:

      猜你喜欢
      • 2021-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-18
      • 2017-03-14
      • 2022-01-09
      • 2015-09-20
      • 2021-05-14
      相关资源
      最近更新 更多