码迷,mamicode.com
首页 > 编程语言 > 详细

使用cherrypy(python 2)禁用弱密码

时间:2020-02-05 09:57:58      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:python   host   模块   http   pat   join   import   pre   code   

我使用带有Python 2的Cherrypy 3.8.0来使用pyOpenSSL使用SSL / TLS。

我想禁用SSL3以避免POODLE(或其他弱密码)。

这是我到目前为止所拥有的:

  server_config={
          ‘server.socket_port‘: 443,
          ‘server.ssl_module‘:‘pyopenssl‘,
          ‘server.ssl_certificate‘:‘/path/myserver.crt‘,
          ‘server.ssl_private_key‘:‘/path/myserver.key‘,
      }

这与this question类似,但对于python 2和pyopenssl。

如何指定或排除特定密码?谢谢!

1 个答案:

 

答案 0 :(得分:6)

要禁用SSL3,您应该自己设置ssl_context变量,而不是接受默认值。以下是使用Python内置ssl模块(代替内置cherrypy ssl模块)的示例。

import cherrypy
from OpenSSL import SSL

ctx = SSL.Context(SSL.SSLv23_METHOD)
ctx.set_options(SSL.OP_NO_SSLv2 | SSL.OP_NO_SSLv3)

...

server_config = {
    ‘server.socket_host‘: ‘0.0.0.0‘,
    ‘server.socket_port‘: 443,
    ‘server.ssl_context‘: ctx
}

cherrypy.config.update(server_config)

在这种情况下,SSL来自OpenSSL模块。

值得注意的是,从Python 3.2.3开始,ssl模块默认禁用某些弱密码。

此外,您可以使用

专门设置所需的所有密码
ciphers = {
    ‘DHE-RSA-AE256-SHA‘,
    ...
    ‘RC4-SHA‘
}

ctx.set_cipher_list(‘:‘.join(ciphers))

如果您正在使用CherryPyWSGIServer模块中的web.wsgiserver,则可以使用

设置默认密码
CherryPyWSGIServer.ssl_adapter.context.set_cipher_list(‘:‘.join(ciphers)

使用cherrypy(python 2)禁用弱密码

标签:python   host   模块   http   pat   join   import   pre   code   

原文地址:https://www.cnblogs.com/qiumingcheng/p/12262463.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!