3

我在我的 web.py 中实现 SSL 连接,但是服务器未能通过安全扫描并卡在 TLS Renegotiation 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 重新协商?谢谢!

4

1 回答 1

1

五年没有答案?我假设你一直在使用的 API 现在已经改变了。但由于问题的标题通常指的是 Python,我会回答这个问题。

Python 3.7 有一个禁用重新协商的标志,但它需要 openssl 1.1.0 或更高版本。对于较旧的 Python 版本,诀窍似乎是更新底层的 openssl 库。

有关背景,请参阅本期的讨论:https ://bugs.python.org/issue32257

于 2018-06-28T13:30:48.980 回答