文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux Openssl升级(详)

2023-09-23 11:42

关注

环境:

系统版本:CentOS Linux release 7.4.1708(Core)

内核版本:3.10.0-514.el7.x86 64

Openssl 由1.0.2k-fips 升级到3.1.0-beta1

升级说明:

OpenSSL缓冲区溢出漏洞(CVE-2021-3711),OpenSSL <= 1.1.1k

OpenSSL缓冲区溢出漏洞(CVE-2021-3712),OpenSSL <= 1.1.1k或OpenSSL <= 1.0.2y

  1. Openssl源码地址

OPENSSL 源码包下载地址:https://ftp.openssl.org/source/

  1. 查看Openssl基本信息

版本 ssh -V 或openssl vervison

位置 whereis openssl

openssl vervison -a也可以看安装位置信息

  1. 部署准备

wget --no-check-certificate https://ftp.openssl.org/source/openssl-3.1.0-beta1.tar.gz //包下载

tar -zxvf openssl-3.1.0-beta1.tar.gz //解压ssl文件包

cd openssl-3.1.0-beta1

mv /usr/bin/openssl /usr/bin/openssl .bak

mv /usr/include/openssl /usr/include/openssl .bak //备份opensll文件

mkdir -p /usr/src/openssl //位置可以随意,创建目录 ,用于openssl安装路径

  1. 安装部署

./config --prefix=/usr/src/openssl --shared //进行源代码配置,生成了Makefile

可能出现报错,信息如下: 没有IPC/Cmd.pm

解决方法:

yum install perl-CPAN -y //注意CPAN为大写

perl -MCPAN -e shell

install IPC/Cmd.pm //输错了可以用Ctrl+Backspace删除

可能出现的问题1:perl -MCPAN -e shell 命令执行后报错,Can't call method "http" on unblessed reference at……可以通过cpan命令进入,如果输入还是有问题,退出来,再通过perl -MCPAN -e shell 进入。

可能出现的问题2:install IPC/Cmd.pm命令执行报错Catching error:“read timeout at……,可以退出后再执行一遍,在安装过程中一直卡在fetching with LWP的位置可以通过Ctrl+C取消提取,会自动进行安装。

装载完成后输入q退出来。

可能出现的问题3:

Failure! build file wasn't produced.

Please read INSTALL.md and associated NOTES-* files. You may also have to

look over your available compiler tool chain or change your configuration.

ERROR!

No C compiler found, please specify one with the environment variable CC,

解决方法:安装依赖包, yum install gcc gcc-++ glibc-devel glibc-headers -y

安装完成后再输入配置命令

make && make install //编译安装,执行make如果没有发生错误就执行make install

替换原openssl

ln -s /usr/src/openssl/bin/openssl /usr/bin/openssl //建立软连接

ln -s /usr/src/openssl/include/openssl /usr/include/openssl //建立软连接

扩展:

新建:ln [参数][源文件或目录][目标文件或目录]

删除:rm -rf [目标文件或目录]

检查软连接建立情况ls -al /usr/bin/openssl ,我们可以看到如下:

echo "/usr/src/openssl/lib" >> /etc/ld.so.conf //添加动态链接库

ldconfig //刷新库

ldconfig是一个动态链接库管理命令,命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表。ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。

检查版本信息。

可能出现显示错误1,没有libssl.so.3不能被打开共享库,找不到该库,动态链接库没有连接成功,可以手动刷

定位libssl.so.3与libcrypto.so.3文件位置,替换库

ln -s /usr/src/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3

ln -s /usr/src/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3

检查连接库

ldd /usr/src/openssl/bin/openssl

刷新库,查看库版本信息

总结:

OpenSSL升级主要关注安装部署的位置./config --prefix=/usr/src/openssl,基于此位置建立软连接。每次调整动态库后要输入ldconfig刷新库,每更新一次动态库,都会在ld.so.conf中生成相关信息,可以通过编辑/etc/ld.so.conf来调整库,保留匹配库。

参考材料:

https://blog.csdn.net/m0_50932526/article/details/128224055

https://www.jianshu.com/p/4e9edc2c678b

来源地址:https://blog.csdn.net/weixin_45447587/article/details/128852767

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯