python - 在 Python 中禁用 TLS 重新协商

标签 python ssl cherrypy

我在我的 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 重新协商?谢谢!

最佳答案

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

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

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

关于python - 在 Python 中禁用 TLS 重新协商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15760099/

相关文章:

python - "No module named"Python Sphinx 中的几个导入错误

python - 使用 nditer 进行 Numpy 数组比较

python - Cherrypy 表单验证

python - Linux 历史到 Python 变量

docker - 在 Rancher 中使用 cert-manager 获取自签名证书

ssl - NGINX Ingress Controller 后端协议(protocol)注释如何在基于路径的路由中工作?

ssl - nginx 响应所有域

python - OpenCV,cherrypy,使用按键在浏览器中显示图像

python - 使用 sys.stdin 进行多行输入

python:积分分段函数