首页 > 编程语言 >Python-Flask配置https证书

Python-Flask配置https证书

时间:2023-08-24 10:44:05浏览次数:52  
标签:pd Python work Flask https italent -- com

零、问题

错误:SSL Version 2 and 3 Protocol Detection

一、说明

1、通过使用flask 框架配置https证书进行HTTPs证书配置后会被扫描到漏洞, 漏洞描述如下:

远程服务接受使用SSL2.0和/或SSL3.0加密的连接。这些版本的SSL受到多个加密缺陷的影响,包括:-带CBCCiphers的不安全的填充方案。-不安全的会话重新协商和恢复方案。攻击者可以利用这些缺陷来进行中间人攻击或解密受影响服务和客户之间的通信。尽管SSL/TLS具有用于选择协议的最高支持版本的安全方法(但是只有当客户端或服务器支持更好时,才会使用这些版本,许多Web浏览器以不安全的方式实现这一点,允许攻击者降级连接(如贵宾犬)。因此,建议完全禁用这些协议。NIST已确定SSL3.0不再可接受安全通信。截至在PCIDSSV3.1中的执行之日,任何版本的SSL都不会符合PCISSC对“强密加密”的定义。 

2、修改建议

请参阅应用程序的文档以禁用SSL2.0和3.0。使用TLS1.2(具有批准的密码套件)或更高。

3、参考文档

https://www.schneier.com/academic/paperfiles/paper-ssl.pdf
http://www.nessus.org/u?b06c7e95
http://www.nessus.org/u?247c4540
https://www.openssl.org/~bodo/ssl-poodle.pdf
http://www.nessus.org/u?5d15ba70
https://www.imperialviolet.org/2014/10/14/poodle.html
https://tools.ietf.org/html/rfc7507
https://tools.ietf.org/html/rfc7568 

二、修改方法

原配置方法

gunicorn -w 20 -b 0.0.0.0:8081 --certfile=/run/secrets/[5573733_work.pd-italent.com](http://5573733_work.pd-italent.com/).pem --keyfile=/run/secrets/[5573733_work.pd-italent.com](http://5573733_work.pd-italent.com/).key run:flask_app --timeout 300

修改为

gunicorn -w 20 -b 0.0.0.0:8081 --ssl-version 5 --ciphers ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256 --certfile=/run/secrets/[5573733_work.pd-italent.com](http://5573733_work.pd-italent.com/).pem --keyfile=/run/secrets/[5573733_work.pd-italent.com](http://5573733_work.pd-italent.com/).key run:flask_app --timeout 300

三、参数说明

1, --ssl-version 表示使用的ssl加密的版本, 5 表示 TSLv1.2, 目前效果较好的加密方式

2, --ciphers 表示加密算法, 默认支持的算法较多,大部分的安全性不高, 建议使用:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256 进行加密。

标签:pd,Python,work,Flask,https,italent,--,com
From: https://www.cnblogs.com/chiyun/p/17653570.html

相关文章

  • 《流畅的python》— 列表推导与生成器表达式
    列表推导是构建列表(list)的快捷方式,而生成器表达式则可以用来创建其他任何类型的序列。如果你的代码里并不经常使用它们,那么很可能你错过了许多写出可读性更好且更高效的代码的机会。很多Python程序员都把列表推导(listcomprehension)简称为listcomps,生成器表达式(generatorexpre......
  • python-flask小结
    1.flask和django区别1.flask是一个轻量级的,django是一个重量级的,包含了很多组件,包括admin,orm等,flask虽然没有但可以引入第三方组件。2.flask是基于上下文管理做的一个应用上下文appcontext和请求上下文requestcontext管理。django只是通过参数传递。2.flask生命周期......
  • python rasa聊天机器人教程六:服务器部署
    1.准备环境:宝塔+nginx+docker首先在服务器上安装好宝塔,然后在宝塔里面安装nginx+docker2.创建站点宝塔站点里面创建一个站点 3.上传rasa项目的代码到站点目录把之前在本地运行正常的rasa项目代码上传到服务器站点目录上4.修改index.html代码修改站点目录下/www/wwwroo......
  • python - 文件md5校验
    通过md5校验文件,我们可以判断文件内容是否改变,用python实现代码如下importhashlib#1.txt为空文本withopen('1.txt','rb')asf:data=f.read()md5Old=hashlib.md5(data).hexdigest()print(md5Old)#d41d8cd98f00b204e9800998ecf8427e#1.txt内容为12......
  • Python基础
    python学习后缀.py纯Python文件.ipynbJupyterNotebook文件的扩展名,代表IpythonNotebook.pyi类型提示文件,提供代码静态类型信息,帮助开发人员进行类型检查和静态分析命名和对应py文件相同,以便编译器将二者进行关联.pycPython字节码文件的扩展名,存储已编......
  • Python结合文件名将文件复制到匹配的多个文件夹内
       本文介绍基于Python语言,针对一个文件夹下的大量栅格遥感影像文件,基于其各自的文件名,分别创建指定名称的新文件夹,并将对应的栅格遥感影像文件复制到不同的新文件夹下的方法。  首先,我们来看一下本文需要实现的需求。现有一个文件夹,其中有大量.tif格式的栅格遥感影像文件,以......
  • python3_获得文件大小
    1、os.path.getsize(file_path),返回文件字节大小,int类型。importosfile_size=os.path.getsize('/home/pi/jodie/log/jodie-test.log')print(file_size,type(file_size))#947642<class'int'>#显示文件大小为:925kB2、os.stat(file_path).st_size,返回文件字......
  • python for循环
     格式:for变量in序列:执行的代码块 实例1:fruits=["apple","banana","cherry"]forfruitinfruits:print(fruit)      ......
  • python3_关于数字的一些操作记录
    1、数字整数、小数部分分离方法1:math模块提供的floor方法xs=num-math.floor(num)zs=num-xsreturn 'zhengShu: {0}, xiaoShu: {1}'.format(str(zs),str(xs))方法2:将浮点类型的数字转化为字符串zs,xs=str(num).split('.')return 'zhengShu: {0}, xiaoShu: {1}'.fo......
  • python+selenium+pytest-(3)_基本操作方法
    浏览器操作#浏览器实例化driver=webdriver.Chrome()#窗口最大化driver.maximize_window()#窗口最小化driver.miximize_window()#浏览器长、宽设置,单位:像素driver.set_window_size(100,200)#获取浏览器大小driver.get_window_size()#前进/后退/刷新driver.forwa......