Apache服务器OpenSSL升级

简介:

OpenSSL心血漏洞吵的风生水起的。。

起初,公司几台rds的小业务机被通知修补OpenSSL漏洞,这几台机器都是单独小业务,当时停掉,找了个简单的文档便将它升级OK(有的是nginx,有的是resin)。修补完成重启服务后OK。

公司的主业务还有一台总的入口机(LVS撑的2台),由于这台机器比较重要,13年有过一次修补OpenSSL的漏洞也出过问题,(老机器呀,有换环境的打算),所以这次比较担心。但是上周突然有客服反映客户浏览本地服务时浏览器警报业务有问题,致使不得不立马来解决这个问题(升级OpenSSL)。


环境查看及检测

PS:Apache编译好的$homedir/build/config.nice文件里面记录了之前编译的参数。


1
2
3
4
5
6
"./configure"  \
"--with-ldap"  \
"--enable-mods-shared=all ssl ldap cache proxy authn_alias file_cache authnz_ldap charset_lite dav_lock cache_disk"  \
"--with-included-apr"  \
"--with-ssl=/usr/local/openssl/"  (第一次这里出了问题)\
"$@"

然后重新编译完之后使用网站检测,还是继续报存在OpenSSL漏洞。。(开始用的360。然后觉得被他坑了,然后又找了个网站。)

https://lastpass.com/heartbleed  (由于这是事后补的文章,所以我拿了个朋友的网站来演示,他的同样是这样的问题。)

wKiom1NUurKw4lPoAAFM1S11YLc290.jpg

然后瞬间明白了点什么。

这里出现了2个问题

-with-ssl=/usr/local/openssl/是老的OpenSSL的路径。

当指定了新的路径的时候,Apache报错。(由于这是事后文章报错信息没记录。大概是这样的:缺少apr-util依赖的相关的ldap.so****大概意思是你编译apr-util的时候就没有把他依赖的ldap编译进去)

得了。不绕了,直接开始正确的流程走吧。




一、安装OpenSSL

升级步骤

0. 首先通过 #openssl version –a 查看系统中存在的OpenSSL版本号

1. 通过#wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz 获得源码包

2. 安装openssl

1
2
3
4
5
6
7
8
9
tar  xf openssl-1.0.1g. tar .gz
cd  openssl-1.0.1g
. /config  -DOPENSSL_NO_HEARTBEATS shared zlib
make
make  install
mv  /usr/bin/openssl  /usr/bin/openssl .OFF
mv  /usr/include/openssl  /usr/include/openssl .OFF
ln  -s  /usr/local/ssl/bin/openssl  /usr/bin/openssl
ln  -s  /usr/local/ssl/include/openssl  /usr/include/openssl

3 配置库文件搜索路径

1
2
echo  "/usr/local/ssl/lib"  >>  /etc/ld .so.conf
#ldconfig -v

4 查看openssl 版本号,验证安装正确性

#openssl version -a

可以看到是新装好的版本。

-DOPENSSL_NO_HEARTBEATS (禁止心跳信息)


二、编译安装apr apr-util

特别需要注意,我下边会直接yum安装ldap相关的组件,原因在于最后编译Apache会依赖apr-util里面的ldap库,所以编译apr-util的时候也需要指定。

1
yum  install  apr apr-devel apr-util apr-util-devel apr-util-ldap  ( 这样做是为了解决apr-util依赖ladp的问题,因为我找不到缺少了具体哪个库)
1
2
3
4
5
6
7
8
9
tar  xf apr-1.4.6. tar .bz2
cd  apr-1.4.6
. /configure  --prefix= /usr/local/apr
make  &&  make  install
cd  ..
tar  xf apr-util-1.5.2. tar .bz2
cd  apr-util-1.5.2
  . /configure  --prefix= /usr/local/apr-util  --with-apr= /usr/local/apr  --with-ldap
  make  &&  make  install


三、编译安装Apache

1
2
3
4
tar  xf httpd-2.4.4. tar .bz2
cd  httpd-2.4.4
$ . /configure  --with-ldap -- enable -mods-shared= "all ssl ldap cache proxy authn_alias file_cache authnz_ldap charset_lite dav_lock cache_disk"  --with-apr= /usr/local/apr  --with-apr-util= /usr/local/apr-util  --with-ssl= /usr/local/ssl/  (需要注意ssl这个地方的路径)
make  &&  make  install


最后补充

操作前我没有压缩去备份Apache原先的文件(日志也打在里面)。

我将它mv过去,然后最后 在编译好的目录下删掉conf htdocs logs 三个目录,然后将备份的目录中的这三个目录mv过来。最便捷(当然你可以复制logs的目录结构过来也行)





大概需要注意的就是ldap依赖的。


其中我在编译做nginx  OpenSSL升级的时候,有一个也是重新编译,好像是环境因素(时间隔太久了),在编译的时候,直接指定了OpenSSL的源码文件,让nginx将需要的OpenSSL的一些依赖的库重新编译了一次。



建议升级线上环境的时候,在测试环境测试完,然后做成rpm包,然后直接线上install。如果本地有自己的yum环境,那更是极好的。










本文转自 陈延宗 51CTO博客,原文链接:http://blog.51cto.com/407711169/1399556,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
存储 自然语言处理 BI
|
2月前
|
存储 SQL 缓存
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
快手 OLAP 系统为内外多个场景提供数据服务,每天承载近 10 亿的查询请求。原有湖仓分离架构,由离线数据湖和实时数仓组成,面临存储冗余、资源抢占、治理复杂、查询调优难等问题。通过引入 Apache Doris 湖仓一体能力,替换了 Clickhouse ,升级为湖仓一体架构,并结合 Doris 的物化视图改写能力和自动物化服务,实现高性能的数据查询以及灵活的数据治理。
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
|
14天前
|
弹性计算 双11 开发者
阿里云ECS“99套餐”再升级!双11一站式满足全年算力需求
11月1日,阿里云弹性计算ECS双11活动全面开启,在延续火爆的云服务器“99套餐”外,CPU、GPU及容器等算力产品均迎来了全年最低价。同时,阿里云全新推出简捷版控制台ECS Lite及专属宝塔面板,大幅降低企业和开发者使用ECS云服务器门槛。
157105 23
|
8天前
|
人工智能 安全 Linux
|
13天前
|
弹性计算 大数据 双11
阿里云ECS“99套餐”再升级!双11一站式满足全年算力需求
弹性计算双11爆款清单来袭,感恩回馈好礼,优惠惊喜不断!
|
29天前
|
存储 SQL 缓存
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
从 3.0 系列版本开始,Apache Doris 开始支持存算分离模式,用户可以在集群部署时选择采用存算一体模式或存算分离模式。基于云原生存算分离的架构,用户可以通过多计算集群实现查询负载间的物理隔离以及读写负载隔离,并借助对象存储或 HDFS 等低成本的共享存储系统来大幅降低存储成本。
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
|
3月前
|
存储 消息中间件 运维
招联金融基于 Apache Doris 数仓升级:单集群 QPS 超 10w,存储成本降低 70%
招联内部已有 40+ 个项目使用 Apache Doris ,拥有超百台集群节点,个别集群峰值 QPS 可达 10w+ 。通过应用 Doris ,招联金融在多场景中均有显著的收益,比如标签关联计算效率相较之前有 6 倍的提升,同等规模数据存储成本节省超 2/3,真正实现了降本提效。
招联金融基于 Apache Doris 数仓升级:单集群 QPS 超 10w,存储成本降低 70%
|
1月前
|
并行计算 Ubuntu 算法
Ubuntu18 服务器 更新升级CUDA版本 pyenv nvidia ubuntu1804 原11.2升级到PyTorch要求12.1 全过程详细记录 apt update
Ubuntu18 服务器 更新升级CUDA版本 pyenv nvidia ubuntu1804 原11.2升级到PyTorch要求12.1 全过程详细记录 apt update
90 0
|
3月前
|
数据库连接 Apache Java
【独家揭秘】图书管理系统的奇幻之旅:一文看透Apache Wicket如何从想法萌芽到服务器上翩翩起舞?
【8月更文挑战第31天】本文通过实战案例,详细介绍从概念到部署的Apache Wicket应用开发全流程。以在线图书管理系统为例,涵盖应用概念定义、项目创建、架构设计、首页编写、数据库交互及应用部署等关键步骤。通过Maven或Gradle引入Wicket依赖,设计包结构,并使用JPA或Hibernate处理数据持久化。最终,将应用配置并部署到Tomcat或Jetty服务器,帮助你全面掌握Wicket开发技巧。
48 0
|
3月前
|
监控 Linux 测试技术

推荐镜像

更多
下一篇
无影云桌面