众所周知,OpenSSL是一个开放源代码的软件库包,使用加密算法、证书等提供安全通信功能,目前广泛应用于互联网网页服务器。
但是,OpenSSL漏洞也层出不穷,且出现漏洞不及时修复的话,潜在危害程度相当高,当前最新安全版本是openssl-1.1.1k,因此,特意整理了openssl源码包编译过程,供大家参考。
一、从OpenSSL网站下载源码包
#wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
二、解压源码包
#tar xvf openssl-1.1.1k.tar.gz
三、编译源码包
#cd openssl-1.1.1k
按版本指定路径方式生成Makefile文件,这样的好处是便于系统区分版本,也便于版本回退
#./config --prefix=/usr/local/openssl-1.1.1k shared zlib-dynamic
#make
#make install
四、环境验证
#cd /usr/local/openssl-1.1.1k/bin
#./openssl -V
./openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
出现这个报错是正常的。
我们通过ldd来分析一下。
# ldd openssl
linux-vdso.so.1 => (0x00007ffebd9fa000)
libssl.so.1.1 => not found
libcrypto.so.1.1 => not found
libdl.so.2 => /lib64/libdl.so.2 (0x00007f1185808000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f11855ec000)
libc.so.6 => /lib64/libc.so.6 (0x00007f118521e000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1185a0c000)
可以看到有两个not found的信息,说明操作系统中缺少动态库文件。
怎么解决呢,参照如下操作
#cp /usr/local/openssl-1.1.1k/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
#cp /usr/local/openssl-1.1.1k/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
好了,在用ldd openssl命令看看吧,是不是已经OK了。