如何禁用SSLv3.0并在Gunicorn中使用TLS1.0

时间:2015-05-15 12:15:37

标签: ssl gunicorn

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

当我通过geotrust ssl工具验证我的服务器时,它表示一切正常,除了 -

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

我是新手,并不能理解如何做到这一点。这是与机器有关还是与gunicorn有关?

2 个答案:

答案 0 :(得分:1)

在这里回复一个旧线程,以禁用除 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 单元文件中,则需要删除单引号。

答案 1 :(得分:0)

gunicorn -ssl版本TLSv1_2 -b 0.0.0.0:8000 project:app

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

openssl s_client -connect主机名:port -tls1

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