在Python中禁用TLS重新协商

3
我正在web.py中实现SSL连接,但服务器未能通过安全扫描,并卡在了TLS重协商DoS漏洞上。
以下是我的代码片段:
import web

from web.wsgiserver import CherryPyWSGIServer

CherryPyWSGIServer.ssl_certificate = "path/to/ssl_certificate"
CherryPyWSGIServer.ssl_private_key = "path/to/ssl_private_key"

urls = ("/.*", "hello")
app = web.application(urls, globals())

class hello:
    def GET(self):
        return 'Hello, world!'

if __name__ == "__main__":
    app.run()

有没有可能在web.py中禁用TLS重协商?谢谢!
1个回答

1
五年没有答案?我假设你现在使用的API已经发生了变化。但由于问题标题涉及Python,我将回答这个问题。
Python 3.7有一个禁用重新协商的标志,但需要openssl 1.1.0或更高版本。对于旧版Python,技巧似乎是更新底层的openssl库。
有关背景,请参见此问题中的讨论:https://bugs.python.org/issue32257

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接