【问题标题】:How to disable SSLv3.0 and use TLS1.0 in Gunicorn如何在 Gunicorn 中禁用 SSLv3.0 并使用 TLS1.0
【发布时间】:2015-05-15 12:15:36
【问题描述】:

我正在使用 gunicorn 运行 Django 1.7。通过将证书和密钥文件作为参数传递,我可以使用 gunicorn 使用 https。

当我通过 geotrust ssl 工具验证我的服务器时,它说一切都很好,除了 -

This server may be vulnerable: SSLv3 is enabled
Disable SSLv3 and use TLS 1.0 or higher.

我是新手,无法理解如何执行此操作。这是与机器有关还是与gunicorn有关?

【问题讨论】:

  • 使用ssl-version--ciphers 选项。
  • @ThomasOrozco 看起来会是这样做的方法,但是您是否知道任何指向实际 er... 文档的指针? :) IE。 “stdlib ssl 模块”实际上指的是什么?
  • 你的意思是说我需要添加--ciphers=TLSv1,我应该在--ssl-version=?中使用什么
  • ssl-version 是一个整数,对应于标准库中ssl 模块中的PROTOCOL_* 常量。 ciphers 也有描述:docs.python.org/2/library/ssl.html#ssl.SSLContext.set_ciphers
  • 嗨@anuragal,你找到这个了吗?根据之前的评论,我将 ssl-version 设置为 3,并将密码设置为 TLSv1。我正在让我的安全人员对其进行测试,并将报告回来。

标签: ssl gunicorn


【解决方案1】:

gunicorn --ssl-version TLSv1_2 -b 0.0.0.0:8000 项目:app

这应该在 8000 端口中启用 TLSV1.2。您还可以通过运行以下命令来检查 TLSV1 是否仍处于活动状态。如果连接建立,则目标使用 tlsv1

openssl s_client -connect 主机名:端口 -tls1

您还可以检查 tlsv1.2: openssl s_client -connect 主机名:端口 -tls1_2

【讨论】:

    【解决方案2】:

    在此处回复旧线程,以禁用除 TLSv1.2+ 和弱密码之外的任何内容,允许通过 SSLLabs tests

    Gunicorn 选项--ssl-version 允许设置要使用的最低 SSL 版本。 Gunicorn --ciphers 允许启用/禁用密码集或特定密码。 这两个选项都接受 OpenSSL 标准指令。 好的密码列表可以在cipherli.st

    上找到

    截至 2021 年 4 月,为了根据 SSLLabs 获得安全的 SSL 连接,我做了以下操作

    /usr/bin/gunicorn --ssl-version=TLSv1_2 --ciphers='DEFAULT:!aNULL:!eNULL:!MD5:!3DES:!DES:!RC4:!IDEA:!SEED:!aDSS:!SRP:!PSK' --certfile=/etc/pki/tls/certs/mycert.crt --keyfile=/etc/pki/tls/private/mykey.key
    

    警告:如果要将命令行放在 systemd 单元文件中,则需要删除单引号。

    【讨论】:

      猜你喜欢
      • 2022-07-25
      • 2017-12-11
      • 2019-11-03
      • 2021-08-20
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 2022-06-29
      • 2021-08-10
      相关资源
      最近更新 更多