系统环境
1
| Linux clay 3.10.0-1160.49.1.el7.x86_64
|
升级 OpenSSL
1 2
| # openssl version OpenSSL 1.0.2k-fips 26 Jan 2017
|
1 2
| # mv /usr/bin/openssl /usr/bin/openssl.bak # mv /usr/include/openssl /usr/include/openssl-bak
|
1
| # yum install -y perl perl-devel perl-Test-Simple gcc gcc-c++ make
|
注意事项
- 建议从 OpenSSL 官网 下载源码包,最新的稳定版本是
1.1.1
系列 ./config
命令必须加上 shared
参数,否则生成的 lib
目录里面只有 .a
静态库文件, 没有 .so
动态链接库文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| # wget https://www.openssl.org/source/openssl-1.1.1m.tar.gz
# tar -xvf openssl-1.1.1m.tar.gz
# cd openssl-1.1.1m
# make -j4
# make install
# echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
# ldconfig -v
# ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl # ln -sf /usr/local/openssl/include/openssl /usr/include/openssl
|
1 2
| # openssl version OpenSSL 1.1.1m 14 Dec 2021
|
升级后的维护
更新 OpenSSL 后,需要排查系统的第三方服务是否以静态编译方式使用了 OpenSSL;如果第三方服务是静态编译的,则需要指定新的 OpenSSL 库重新进行编译,否则会影响服务的正常运行或者容易让其受到安全攻击。
提示
一般以静态编译方式使用了 OpenSSL 的第三方服务有:OpenSSH、Nginx、Apache,尤其当 Web 服务器支持 HTTPS 协议的时候
参考博客