OpenSSL漏洞升级修复

本文详细记录了修复 OpenSSL 漏洞的过程,包括安装必要的支撑包、升级 OpenSSL 到最新版本并解决编译过程中遇到的 gcc 和 zlib-devel 安装问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


最近OpenSSL的漏洞让人都不敢登陆网银、淘宝这些网站了。

于是我也倒360  OpenSSL“心血”漏洞检查

检测我自己的微信后台开发网站,看看有没有漏洞,还真有。所以就得解决了,先是谷歌了一下,看看别人怎么修复的。

这里 http://blog.youkuaiyun.com/dcwnb1/article/details/23444807  写得很好。如下,是他的方法:


先进行支撑包的安装:
yum install -y zlib 
openssl升级步骤: 
0. 首先通过 #openssl version –a 查看系统中存在的OpenSSL版本号 
下载最新版本的openssl源码包 
# wget ftp://ftp.openssl.org/source/openssl-1.0.1g.tar.gz
2. 安装openssl 
1. tar xzvf openssl-1.0.1g.tar.gz  

 2. cd openssl-1.0.1g  

 3. ./config shared zlib 

 4. make         在这里我系统没有GCC ,需要安装GCC,然后又没有安装 zlib-devel,又需要安装这个,其他的都一样

 5. make install  

 6. mv /usr/bin/openssl /usr/bin/openssl.OFF 

 7. mv /usr/include/openssl /usr/include/openssl.OFF 

 8. ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl 

 9. ln -s /usr/local/ssl/include/openssl /usr/include/openssl 

 配置库文件搜索路径

 10. echo “/usr/local/ssl/lib” >> /etc/ld.so.conf 

 11. ldconfig -v 

但是我在第4步的时候,出现问题了,提示如下:

make[1]: gcc:命令未找到

make[1]: *** [cryptlib.o] 错误 127

make[1]: Leaving directory `/root/openssl-1.0.1g/crypto'

make: *** [build_crypto] 错误 1


于是就安装gcc  两个命令

1.[root@server openssl-1.0.1g]# yum -y install gcc

2.[root@server openssl-1.0.1g]# yum -y install gcc-c++

3.[root@server openssl-1.0.1g]# yum install make


安装完gcc ,接着继续 第4步 make ,但是又报错了,错误如下 ,只贴一部分。

c_zlib.c:25:18: 错误:zlib.h:没有那个文件或目录

c_zlib.c:133: 错误:expected specifier-qualifier-list before ‘z_stream’

c_zlib.c: 在函数‘zlib_stateful_init’中:

c_zlib.c:148: 错误:‘struct zlib_state’没有名为‘istream’的成员

c_zlib.c:149: 错误:‘struct zlib_state’没有名为‘istream’的成员

c_zlib.c:150: 错误:‘struct zlib_state’没有名为‘istream’的成员

c_zlib.c:150: 错误:‘Z_NULL’未声明(在此函数内第一次使用)

c_zlib.c:150: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其

c_zlib.c:150: 错误:所在的函数内也只报告一次。)

c_zlib.c:151: 错误:‘struct zlib_state’没有名为‘istream’的成员

c_zlib.c:152: 错误:‘struct zlib_state’没有名为‘istream’的成员

c_zlib.c:153: 错误:‘struct zlib_state’没有名为‘istream’的成员

c_zlib.c:154: 错误:‘struct zlib_state’没有名为‘istream’的成员

c_zlib.c:155: 警告:隐式声明函数‘inflateInit_’

c_zlib.c:155: 错误:‘struct zlib_state’没有名为‘istream’的成员

c_zlib.c:156: 错误:‘ZLIB_VERSION’未声明(在此函数内第一次使用)

c_zlib.c:156: 错误:‘z_stream’未声明(在此函数内第一次使用)

c_zlib.c:157: 错误:‘Z_OK’未声明(在此函数内第一次使用)

c_zlib.c:160: 错误:‘struct zlib_state’没有名为‘ostream’的成员

c_zlib.c:161: 错误:‘struct zlib_state’没有名为‘ostream’的成员

c_zlib.c:162: 错误:‘struct zlib_state’没有名为‘ostream’的成员

c_zlib.c:163: 错误:‘struct zlib_state’没有名为‘ostream’的成员

c_zlib.c:164: 错误:‘struct zlib_state’没有名为‘ostream’的成员

c_zlib.c:165: 错误:‘struct zlib_state’没有名为‘ostream’的成员

c_zlib.c:166: 错误:‘struct zlib_state’没有名为‘ostream’的成员

c_zlib.c:167: 警告:隐式声明函数‘deflateInit_’

c_zlib.c:167: 错误:‘struct zlib_state’没有名为‘ostream’的成员

c_zlib.c:167: 错误:‘Z_DEFAULT_COMPRESSION’未声明(在此函数内第一次使用)

c_zlib.c: 在函数‘zlib_stateful_finish’中:


这个是因为zlib-devel 没有安装的原因。然后又安装 zlib-devel

[root@server openssl-1.0.1g]# yum install zlib-devel


安装完成后,接着执行第4步,make 然后就 能正常,接着继续执行其他步奏就OK了。


最后 使用 命令 查看版本,升级成功。但是360检测还是有漏洞,不知道为什么会这样。

[root@server ~]# openssl version

OpenSSL 1.0.1g 7 Apr 2014


### 如何修复 OpenSSL 漏洞 对于存在安全风险的 OpenSSL 版本,及时应用官方发布的最新补丁和更新措施至关重要。针对 OpenSSL漏洞修复工作主要集中在获取并安装最新的稳定版本上。 #### 获取并安装最新版 OpenSSL 为了确保系统的安全性,建议将 OpenSSL 升级到最新版本。具体操作如下: 1. **确认现有版本** 需要先了解当前系统中已有的 OpenSSL 版本号以便判断是否需要升级以及应该采取何种方式来完成升级过程[^1]。 2. **下载源码包** 访问官方网站或可信镜像站点下载对应平台架构下的 OpenSSL 官方发行版压缩文件,并验证其完整性与合法性。 3. **编译安装** 使用 `./config` 或者 `./Configure` 脚本来配置构建选项;接着运行 `make` 进行编译;最后通过 `sudo make install` 将新版本部署至目标位置。此过程中可能需要用到 GCC 编译器及其相关工具链的支持。 4. **重启服务** 更新完成后应当重新启动依赖于 OpenSSL 库的应用程序和服务实例以使更改生效。 #### 处理特定版本的安全问题 如果正在使用的 OpenSSL 是受影响的 1.0.2、1.1.1 或 3.0 版本,则应尽快迁移到已经修正了这些问题的新子版本上去。例如,在某些情况下,可以考虑迁移至 1.0.2zd(仅限付费支持客户)、1.1.1n 或更高版本中的任意一个[^2]。 此外,还可以查阅详细的公告文档了解更多有关此次事件的信息[^3]。 ```bash # 查看当前 OpenSSL 版本 openssl version # 下载指定版本的 OpenSSL 源代码 wget https://www.openssl.org/source/openssl-<version>.tar.gz # 解压 tarball 文件 tar -xf openssl-<version>.tar.gz # 切换到解压后的目录下执行后续命令 cd openssl-<version> # 执行配置脚本 ./config --prefix=/usr/local/ssl shared zlib # 开始编译过程 make # 测试编译结果 (可选) make test # 安装新的库文件 sudo make install ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值