首页 >  编程教程 >  环境搭建 >  正文

OpenSSL 拒绝服务漏洞修复教程

 作者:潘某人SEO
1118

2020年12月08日,OpenSSL官方发布安全公告,披露CVE-2020-1971 OpenSSL GENERAL_NAME_cmp 拒绝服务漏洞。不久收到了腾讯云官方推送的关于“OpenSSL 拒绝服务漏洞”的消息,这里不得不说腾讯主机安全(云镜)支持检测还是很给力不光可以检测还可以第一时间通知到你。


漏洞描述:

2020年12月08日,OpenSSL官方发布安全公告,披露CVE-2020-1971 OpenSSL GENERAL_NAME_cmp 拒绝服务漏洞。当两个GENERAL_NAME都包含同一个EDIPARTYNAME时,由于GENERAL_NAME_cmp函数未能正确处理,从而导致空指针引用,并可能导致拒绝服务。

CVE-2020-1971: OpenSSL 拒绝服务漏洞是一个高危漏洞,对于服务器应用安全会收到验证的威胁。受影响的版本:OpenSSL 1.1.1 ~ 1.1.1h和OpenSSL 1.0.2 ~ 1.0.2w。安全版本是OpenSSL 1.1.1i和OpenSSL 1.0.2x。


漏洞修复


第一步:查看版本

openssl版本查看

确定自己服务器的OpenSSL的版本使用openssl version命令进行查询如上图所示,看到本机的版本是“OpenSSL 1.0.2k-fips  26 Jan 2017”;然后核对一下是不是受影响的版本,不过既然做这件事就做彻底,不管是不是有影响版本,我们都对openssl服务进行一个升级。


第二步:下载最新版本


 openssl最新版本

当前最新版本是openssl-1.1.1i.tar.gz (2020-Dec-08 14:39:04 ),下载方式有官网下载地址: https://www.openssl.org/source/  或者Github地址:

https://github.com/openssl/openssl/releases。推荐大家去官网进行下载,然后直接上传服务器,速度会比较快。我们把下载的安装包“openssl-1.1.1i.tar.gz”上传到服务器“/usr/local/src”目录。


第三步:编译安装


[www.seeodd.cn@loacalhost root]$ cd /usr/local/src                        //切换到安装包上传位置
[www.seeodd.cn@loacalhost root]$ tar xzvf ./openssl-1.1.1i.tar.gz         //解压安装包,注意命令中的安装包的名称和安装包的名称需要一致
[www.seeodd.cn@loacalhost root]$ cd /usr/local/src/openssl-1.1.1i/        //切换到安装包解压目录
[www.seeodd.cn@loacalhost root]$ ./config                                 //执行编译
[www.seeodd.cn@loacalhost root]$ make
[www.seeodd.cn@loacalhost rootc]$ sudo make install
[www.seeodd.cn@loacalhost root]$ sudo mv /usr/bin/openssl /usr/bin/oldopenssl            //对旧版本openssl进行替换
[www.seeodd.cn@loacalhost root]$ sudo ln -s /usr/local/bin/openssl /usr/bin/openssl


linux安装程序的时候需要编译,需要多等待一会。执行到这一步基本上已经完成了,我们重复第一步操作查看openssl版本,查看是否成功升级了openssl版本。对于部分的机器会出现报错,提示信息“openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory”;遇到这种情况不要慌我们继续执行一下命令。


[www.seeodd.cn@loacalhost root]$ sudo ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/
[www.seeodd.cn@loacalhost root]$ sudo ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/


然后继续在重复第一步查询一下openssl的版本,就可以知道是否成功升级了openssl。在升级的时候大家记得对服务器进行一个备份,对于意外情况下可以快速的进行一个恢复,这一点个人感觉腾讯云服务使用起来非常的棒,对于实例机器不仅提供漏洞警告的推送,同时提供50GB的免费快照空间,对于任何的大动作之前建立一份快照,就可以在意外情况中快速的回滚到备份点。

申明:本站内容仅代表个人观点,仅供学习参考;未经授权任何个人或组织单位不得复制、转载、摘编以及其它形式的应用! 本站文章可能使用到互联网上的资料,若对您造成困扰,请联系 kk19@foxmail.com除理 本文地址:https://www.chateach.com/it/huanjing/619
相关文章
  • .gitignore不生效问题解决方法

    gitignore不生效

    git push的时候 .gitignore中已经标明忽略的文件目录下的文件,git push的时候还会出现在push的目录中,或者用git status查看状态,想要忽略的文件还是显示被追踪状态。

    1148
    • gitignore不生效
  • Java如何生成随机字符串

    Java字符串

    Java如何生成随机字符串,先定义一个基础字符串(即生成的每一个随机字符串里的每一个字符都要包含在这个基础字符串里面),包含字符"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"。

    1245
    • Java字符串
  • Laravel邮件发送功能的实现例子

    Laravel邮件发送

    Laravel如何发送邮件呢?Laravel邮件发送功能的实现例子,从邮箱注册配置到,laravel邮件参数配置,提供纯文本邮件和富文本邮件发送两种邮件发送实例。

    1694
    • Laravel邮件发送
  • 如何解决Vue中mounted不能获取到data

    mounted获取data

    Vue中使用mounted时,无法获取到data的原因是,this无法指向data中的数据。在mounted生命周期中this指向的是window对象而不是Vue对象,所以真正找的是window对象下的data,但是window下没有data,所以就报错了。

    1771
    • mounted获取data
  • php生成n位随机数

    php随机数

    php如何生成n位的随机数,给大家分享一个简单高效的方法,这里以随机生成6位数作为一个例子给大家演示。使用php的str_pad()和mt_rand()函数生成随机数。

    1560
    • php随机数
  • Java获取IP,如何获取到访客的真实公网ip

    Java获取IP

    springboot,java如何获取用户的真实ip地址呢?项目开发中,不管是什么应用不管是什么语言,获取ip地址是非常关键的一环,因为管是操作日志的记录还是业务的需求上都不可或缺的用到访客的ip地址,那么在java中如何获取到IP地址呢?

    909
    • Java获取IP
  • SpringBoot--Thymeleaf日期格式处理

    Thymeleaf,日期格式

    Thymeleaf作为众多模板引擎中的一种,我最初也是对它充满了陌生,在SpringBoot如何处理时间格式,SpringBoot--Thymeleaf日期格式处理。

    996
    • Thymeleaf
    • 日期格式
  • linux系统下使用Vue CLI脚手架安装vue3

    Vue CLI,vue3

    linux系统下使用Vue CLI脚手架安装vue3。Vue 提供了一个官方的 CLI,为单页面应用 (SPA) 快速搭建繁杂的脚手架。它为现代前。端工作流提供了功能齐备的构建设置。

    1537
    • Vue CLI
    • vue3
  • springBoot之Thymeleaf常见语法

    springBoot,Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成。

    1269
    • springBoot
    • Thymeleaf
  • html网页如何禁止打印页面

    禁止打印页面

    html网页如何禁止打印页面方式,可以禁止打印键盘的快捷键组合,但是用户可以直接鼠标操作浏览器来实现打印;所以通过css来屏蔽打印内容的输出更加的合理有效,代码如下所示。

    1649
    • 禁止打印页面
  • 什么是html

    什么是html

    html,全称Hypertext Markup Language,也就是“超文本链接标示语言”。HTML文本是由 HTML命令组成的描述性文本,HTML 命令可以说明文字、 图形、动画、声音、表格、链

    1260
    • 什么是html
  • 解决Incorrect result size: expected 1, actual 0异常

    Spring,queryForObject报错

    在Spring中使用queryForObject做数据库查询时出现如下异常Incorrect result size: expected 1, actual 0异常,是什么原因造成,如何解决呢?

    1492
    • Spring
    • queryForObject报错
  • Spring Boot 如何解决跨域问题

    SpringBoot跨域

    SpringBoot 如何解决跨域问题方法,CORS全称Cross-Origin Resource Sharing,意为跨域资源共享。当一个资源去访问另一个不同域名或者同域名不同端口的资源时,就会发出跨域请求。如果此时另一个资源不允许其进行跨域资源访问,那么访问的那个资源就会遇到跨域问题。

    826
    • SpringBoot跨域
  • Sudo 本地提权漏洞修复

    Sudo提权漏洞,

    Unix和Linux系统Sudo 本地提权漏洞修复,国外研究团队发现sudo堆溢出漏洞(CVE-2021-3156),漏洞隐藏十年之久,普通用户可以通过利用此漏洞,在默认配置的 sudo 主机上获取root权限。

    1397
    • Sudo提权漏洞
  • 网站本地服务器搭建

    centos系统安装

    网站搭建第一步本地服务器的架设centos系统安装,对于刚接触网站编程的小伙伴不要先急着去购买服务器,当然土豪请随意。我们可以现在自己电脑上本地搭建一个虚拟服务器环境来运行,可以检测下自己是不是真的能力去搭建一个网站。

    1014
    • centos系统安装
  • linux服务器如何部署java运行环境

    linux服务,部署java

    linux服务器需要运行java程序那么就需要jvm服务,同时为了方便开发维护直接安装jdk即可。对于java网站的运行则还需要安装Tomcat。下面就以在centos服务器上演示一下java运行环境的部署。

    1154
    • linux服务
    • 部署java
  • Vue3 中全局引入 axios及其使用方法

    axios使用方法,Vue3

    Vue3如何安装axios,如何在全局使用axios,定义全局属性来使用axios,基本上每个页面都要使用到axios,因此在main.js中定义全局属性来实现axios告别繁杂的引用。

    890
    • axios使用方法
    • Vue3
  • php获取当前时间操作

    php获取时间

    在PHP语言中我们如何获取当前时间呢?只要通过date()和time()函数组合使用实现。

    1339
    • php获取时间
-- 这已经是底线了,看看别的把! --