【问题标题】:How to enable TLS 1.0 in python container?如何在 python 容器中启用 TLS 1.0?
【发布时间】:2022-01-03 06:56:58
【问题描述】:

我需要连接到使用 TLS 1.0 的旧 FTP 服务器。我正在尝试在我的容器中启用 TLS 1.0 支持,但没有成功。

环境:docker
图片:python:latest

到目前为止我做了什么:

  1. /etc/ssl/openssl.cnf 中的MinProtocol 更改为TLS_v1.0https://github.com/SoftEtherVPN/SoftEtherVPN/issues/1358

  2. 在我的代码中将ssl_version 设置为PROTOCOL_TLSv1

#!/usr/local/bin/python
import ftplib
import ssl
from ftplib import FTP_TLS

ftplib.FTP_TLS.ssl_version = ssl.PROTOCOL_TLSv1
ftp = FTP_TLS('...')
ftp.login('...', '...')
ftp.retrlines('LIST')

ftp.quit()

我收到了这个错误:

  File "/usr/local/lib/python3.10/ftplib.py", line 745, in login
    self.auth()
  File "/usr/local/lib/python3.10/ftplib.py", line 756, in auth
    self.sock = self.context.wrap_socket(self.sock, server_hostname=self.host)
  File "/usr/local/lib/python3.10/ssl.py", line 512, in wrap_socket
    return self.sslsocket_class._create(
  File "/usr/local/lib/python3.10/ssl.py", line 1070, in _create
    self.do_handshake()
  File "/usr/local/lib/python3.10/ssl.py", line 1341, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: NO_CIPHERS_AVAILABLE] no ciphers available (_ssl.c:997)

我应该如何(如果有的话)在 python 容器中使用旧 TLS 版本?

【问题讨论】:

    标签: python docker ssl ftp tls1.0


    【解决方案1】:

    ...没有可用的密码

    这不是 TLS 版本的问题,而是可用的密码。因此,仅设置较低的协议版本无济于事。目前还不清楚服务器支持哪些密码,以及这些密码是否甚至被编译到您从 Python 中使用的 OpenSSL 版本中。例如 RC4 通常不再编译。

    但很可能只是默认情况下禁用了必要的密码,这通常是默认设置的更高安全级别的情况。在这种情况下,它可能有助于降低安全级别,这也涉及到 TLS 版本

    #!/usr/local/bin/python
    import ftplib
    import ssl
    from ftplib import FTP_TLS
    
    ctx = ssl.create_default_context()
    ctx.set_ciphers('DEFAULT:@SECLEVEL=1') # enables weaker ciphers and protocols
    ftp = FTP_TLS(context=ctx)
    ftp.set_debuglevel(10)
    ftp.connect('...',21)
    ftp.login('...','...')
    ftp.quit()
    

    【讨论】:

    • 实际上,您的第二个解决方案(安全级别)对我有用!谢谢史蒂芬!
    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2017-02-23
    • 2016-09-16
    • 2017-03-14
    • 2020-09-07
    • 1970-01-01
    相关资源
    最近更新 更多