【案例36】Apache未指向新的openssl

客户发现apache报openssl相关漏洞,于是升级了操作系统的openssl组件。但再次漏扫发现相关版本依旧显示openssl的版本为:1.0.2k。怀疑升级的有问题。

问题分析

查看libssl.so.10指向的是/lib64.so.10

bash 复制代码
ldd mod_ssl.so

libssl.so.10指向的是openssl1.0.2k版本。mod_ssl没有指向新安装的OpenSSL1.1.1q版本,是造成问题的主要原因。

查看新版openssl路径发现与类库ssl有关的文件为:libcrypto.so、libssl.so两个文件。

于是检查了libcrypto.so.10文件指向。发现也指向1.0.2k版本。

于是做了软连接把相关配置关联起来。

bash 复制代码
ln -s /usr/local/openssl-1.1.1q/libcrypto.so.1.1.1k libcrypto.so.10

ln -s /usr/local/openssl-1.1.1q/libssl.so.1.1.1k libssl.so.10

再次通过查看modules/mod_ssl.so文件发现apache无法指定到新的openssl版本(1.1.1q),直接报libssl.so.10 => not found

Apache启动异常,恢复软连接后系统恢复到原来状态,依旧显示1.0.2k版本。

把1.0.2k版本卸载掉,只保留1.1.1q版本,报错依旧。

经过排查资料发现一处细节,发现相关的libssl.so文件后缀并不是一定叫10,资料显示他是升级到3.0版本。于是libssl.so.3代表的应该是相关版本信息。

查看mod_ssl文件,这应该如上述图片所示为新的版本文件,不应该叫libssl.so.10 ,而应该生成新的文件名并指向新的路径。故判断问题发生在apache上。

解决方案

卸载操作系统的openssl1.0.2k版本,重新编译,并指向库地址

bash 复制代码
./configure --prefix=/data/Apache/apache_24 --enable-module=so --with-apr=/data/Apache/apr/bin/apr-1-config --with-apr-util=/data/Apache/apr-util/bin/apu-1-config --with-pcre=/data/Apache/pcre/bin/pcre-config --with-ssl=/usr/local/openssl-1.1.1q --libdir=/usr/lib64

make && make install

再次验证问题解决

相关推荐
阿里云云原生9 小时前
不增加副本,只重构接管路径:RocketMQ 单写有状态服务的高可用新设计
apache·rocketmq
三翼鸟数字化技术团队11 小时前
Apache Paimon:一种新的数据入湖实践
apache·apache hive
蜀道山老天师16 小时前
Zabbix监控Apache与Nginx应用实践完整指南
linux·运维·nginx·apache·zabbix
SelectDB技术团队19 小时前
Apache Doris 与 StarRocks 深度对比:2026 年 OLAP 引擎选型指南
人工智能·apache·知识图谱
SeaTunnel20 小时前
从 JSON 到 JSONL,Apache SeaTunnel 如何解决HTTP 大数据传输的内存难题?
http·开源·json·apache·数据集成·seatunnel
SamChan9020 小时前
对比 4 种主流 PDF 文档解析方案:PyMuPDF vs pdfplumber vs Apache PDFBox vs 大模型 OCR
python·ai·pdf·ocr·apache·机器翻译
海兰2 天前
【Kafka学习3】Apache Kafka 本地部署环境快速入门指南
学习·kafka·apache
海兰2 天前
【Kafka学习2】Apache Kafka 典型应用场景
学习·kafka·apache
Htr_3 天前
Outcome 核心概念与实战应用指南
大数据·hadoop·apache
SelectDB技术团队3 天前
网易 日志与时序数据分析:Apache Doris / SelectDB 的技术能力与实践
数据挖掘·数据分析·apache