最近OpenSSL官方公布了OpenSSL的几个漏洞,而修复版本为OpenSSL-1.1.1k。由于OpenSSL属于Linux基础组件,所以很多同学升级不熟悉,所以下面详细进行讲解。
在一般第三方服务组件进行升级可以直接使用yum进行升级,而OpenSSL这样的基础组件是不能从最基础版本【默认:1.0.2k-fips】直接升级到最新版本的。需要进行编译安装升级。操作如下:
1、下载地址
由于官方网站有可能访问不到,所以我直接下载到CSDN了,方便大家下载,下载地址
2、基础环境
首先,安装基础依赖包
yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel wget vim unzip lrzsz
yum install -y pam* zlib*
然后,关闭SELinux,随便创建一个放源文件的目录
#关闭SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sed -i 's/SELINUX=permissive/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
#创建目录
mkdir -p /app/src
3、编译安装OpenSSL
在下载好OpenSSL-1.1.1k源码包后,接下来就开始解压
cd /app/src
#上传openssl源码包
rz
tar xf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k/
接下来进行编译安装【注意:./config的过程非常简短】
mkdir /usr/local/openssl
./config --prefix=/usr/local/openssl
make && make install
检查编译安装结果
ls /usr/local/openssl
4、配置OpenSSL
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
#默认是使用了软连接:/usr/lib64/libssl.so -> libssl.so.1.0.2k
#而真实文件路径则是:/usr/lib64/libssl.so.1.0.2k
unlink /usr/lib64/libssl.so
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so
echo '/usr/local/openssl/lib' >> /etc/ld.so.conf
ldconfig -v
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
5、检查OpenSSL升级是否成功
openssl version
#ping一下看看基础命令是否受影响
ping qq.com
至此,OpenSSL升级完成,接下来会讲解升级OpenSSH,阅读《CentOS 7.4 升级安装OpenSSH》