由于Ubuntu 16.04带的 openssl、openssh 版本太低,过不了漏洞扫描。需要手动去官网下载最新版本自行编译安装。一下记录一下步骤。
openssl 从 https://www.openssl.org/ 下载。 下载 openssl-1.xx.tar.gz 同时下载 openssl-fips-2.0.xx.tar.gz
openssh 从 https://www.openssh.com/portable.html 下载。
ubuntu 上,先执行 apt update && apt upgrade 升级相关包。
###安装 gcc,build-essential apt install gcc apt install build-essential
###安装 zlib (openssh 需要) apt install zlib1g-dev
泪流满面,改了很多次,终于用下面这种方案成功了。
1.先安装 openssl-fips 模块
tar zxf openssl-fips-xxxx.tar
cd openssl-fips-xxx
./config
make
make install
3.安装 openssl
apt-get install checkinstall
tar zxf openssl-1.0.2xxx
cd openssl-1.0.2
patch -p1 </PATH_TO_THE_FILE_HERE/version-script.patch
./config --prefix=/usr --openssldir=/usr/lib/ssl --libdir=lib/x86_64-linux-gnu no-idea no-mdc2 no-rc5 no-zlib enable-tlsext no-ssl2 enable-ec_nistp_64_gcc_128 enable-ec_nistp_64_gcc_128 shared fips
make depend
make
sudo checkinstall
执行 openssl version 查看版本。
将系统默认的 lib 更换为新版本的 lib
rm /lib/x86_64-linux-gnu/libssl.so.1.0.0
rm /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /lib/x86_64-linux-gnu/libssl.so.1.0.0
tar zxf openssh-xxxx
cd openssh-xx
apt install libpam0g-dev libkrb5-dev
./configure -prefix=/usr -sysconfdir=/etc/ssh
make
make install
安装完成后,执行 sshd -V 可以查看版本。
参考文章: https://mechanus.io/zai-ubuntu-shang-da-bao-an-zhuang-zui-xin-ban-openssl/ http://chienleebug.blogspot.com/2016/10/ubuntuopenssl-110.html