前言
Linux系统默认的openssl 存在漏洞,需要升级新版本的openss.
版本:OpenSSL1.1.1o
说明:本人之前已经编译安装过OpenSSL1.1.1g版本,安装目录位于/usr/local/openssl。这样要升级到OpenSSL1.1.1o版本。
查看原版本的OpenSSL
[root@node2 ~]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
[root@node2 ~]# which openssl
/usr/bin/openssl
[root@node2 ~]# ll /usr/bin/openssl
-rwxr-xr-x. 1 root root 555280 Mar 28 23:42 /usr/bin/openssl
[root@node2 ~]#
[root@node2 ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
下载OpenSSL1.1.1o
#内网环境的话可以先下载再上传到服务器
[root@node2 ~]# wget https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1o.tar.gz
安装OpenSSL1.1.1o
yum install pam* zlib* #安装依赖
tar -xf openssl-OpenSSL_1_1_1o.tar.gz #解压源码包
./config --prefix=/usr/local/OpenSSL_1_1_1o shared zlib #预编译,加上shared zlib两个参数
make -j 4 #编译
make install #安装
echo '/usr/local/openssl/lib' >> /etc/ld.so.conf #这步之前版本已经做过,所不在重复执行,如果你没有做过,请执行
ldconfig -v #重新加载动态库
cd /usr/local/OpenSSL_1_1_1o/bin #进入到安装目录
./openssl version #查看安装的版本
mv /usr/bin/openssl /usr/bin/openssl_old #把/usr/bin/openssl 这个可执行文件重命名备份
mv /usr/include/openss /usr/include/openss_old #把/usr/include/openssl这个目录重命名备份
ln -s /usr/local/OpenSSL_1_1_1o/bin/openssl /usr/bin/openssl #建一个/usr/bin/openssl软链接,链接到我们新安装的
ln -s /usr/local/OpenSSL_1_1_1o/include/openssl /usr/include/openssl #建一个/usr/include/openssl软链接,链接到我们新安装的OpenSSL_1_1_1o下的include的openssl目录
之前ssh编译安装的时候引用了--with-ssl-dir=/usr/local/openssl ,为了不需要改动ssh,所以这里将/usr/local/openssl目录备份,并做一个/usr/local/openssl软链接,链接到我们新安装的OpenSSL_1_1_1o,如下:
mv /usr/local/openssl /usr/local/openssl_1_1_1g
ln -s /usr/local/OpenSSL_1_1_1o /usr/local/openssl #这样ssh就不需要改动
openssl verison
ssh -V