文章目录
- Linux升级OpenSSL和OpenSSH
- 一、软件版本
- 二、升级OpenSSL和OpenSSH
- 1.安装依赖包
- 2.安装OpenSSL
- 3.安装OpenSSH
- 其它
- 1.报错一
- 2.报错二
- 3.在线更新OpenSSL软件包
Linux升级OpenSSL和OpenSSH
- 解决一些已知的 CVE 漏洞,比如:CVE-2011-1473、CVE-2015-8325、CVE-2016-10012、CVE-2018-15473 等
一、软件版本
- OpenSSL版本:openssl-1.1.1c.tar.gz
- OpenSSH版本:openssh-8.0p1.tar.gz
其它:
Linux发行版:CentOS-7-x86_64-DVD-1804.isorpm依赖包下载:https://pkgs.org/
OpenSSL下载:https://www.openssl.org/source/
OpenSSH下载:http://www.openssh.com/releasenotes.html
二、升级OpenSSL和OpenSSH
1.安装依赖包
- 相关软件包
gcc、gcc-c++、glibc、make、autoconf、automake、zlib、zlib-devel、pcre-devel、pam-devel
openssl、openssl-devel、openssl-libs
- 检查是否安装
# rpm -qa | grep gcc
- [在线安装]软件包
# yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel pcre-devel pam-devel
# yum install -y openssl openssl-devel openssl-libs
- [离线安装]除了需要下载以上软件包外,还要下载与软件包关联的依赖包(安装软件包时,系统会提示需要先安装相关的依赖包)
- 经过检查,只有 pcre-devel 和 openssl-devel 没有安装(具体看本地环境)
- rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm (先下载软件包,在运行指令安装)
- openssl-libs 可以下载与当前系统中 openssl 版本相同的软件包进行安装,或者同时下载 openssl、openssl-devel、openssl-libs 三个软件包进行更新安装
备用(强制批更新安装):rpm -Uvh *.rpm --nodeps --force
2.安装OpenSSL
- 解压,并进入根目录
# tar -zxvf openssl-1.1.1c.tar.gz
# cd openssl-1.1.1c/
- 开始安装
# ./config --prefix=/usr/local/openssl
# make && make install
#-- 输出 0 ,说明上面 make install 没有报错
# echo $?
# mv /usr/bin/openssl /usr/bin/openssl.bak
# ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
# echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
# ldconfig -v
#-- 查看版本
# openssl version
3.安装OpenSSH
- 解压,并进入根目录
# tar -zxvf openssh-8.0p1.tar.gz
# cd openssh-8.0p1/
- 开始安装
# rm -rf /etc/ssh/*
# ./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/ssl/include --with-ssl-dir=/usr/local/ssl --with-zlib --with-md5-passwords --with-pam && make && make install
#-- 输出 0 ,说明上面 make install 没有报错
# echo $?
#-- 修改配置文件
# vim /etc/ssh/sshd_config
PermitRootLogin yes
UseDNS no
#-- 将原来的 sshd 文件删除或移动
# mkdir /root/upload/backup
# mv /usr/lib/systemd/system/sshd.service /root/upload/backup
# cp -a contrib/redhat/sshd.init /etc/init.d/sshd
# cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
# chmod +x /etc/init.d/sshd
# chkconfig --add sshd
# systemctl enable sshd
#-- 开机自启动
# chkconfig sshd on
#-- 查看版本
# ssh -V
- 管理命令
# systemctl stop sshd
# systemctl start sshd
# systemctl restart sshd
# netstat -lntp
# /etc/init.d/sshd stop
# /etc/init.d/sshd start
# /etc/init.d/sshd restart
其它
1.报错一
configure: error: *** OpenSSL headers missing - please install first or check config.log ***
- 解决:
yum install -y openssl-devel
2.报错二
configure: error: PAM headers not found
- 解决:
yum install -y pam-devel
3.在线更新OpenSSL软件包
- 为分析 openssl 的依赖关系提供参考
# yum install -y openssl
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 openssl.x86_64.1.1.0.2k-16.el7 将被 升级
---> 软件包 openssl.x86_64.1.1.0.2k-16.el7_6.1 将被 更新
--> 正在处理依赖关系 openssl-libs(x86-64) = 1:1.0.2k-16.el7_6.1,它被软件包 1:openssl-1.0.2k-16.el7_6.1.x86_64 需要
--> 正在检查事务
---> 软件包 openssl-libs.x86_64.1.1.0.2k-16.el7 将被 升级
--> 正在处理依赖关系 openssl-libs(x86-64) = 1:1.0.2k-16.el7,它被软件包 1:openssl-devel-1.0.2k-16.el7.x86_64 需要
---> 软件包 openssl-libs.x86_64.1.1.0.2k-16.el7_6.1 将被 更新
--> 正在检查事务
---> 软件包 openssl-devel.x86_64.1.1.0.2k-16.el7 将被 升级
---> 软件包 openssl-devel.x86_64.1.1.0.2k-16.el7_6.1 将被 更新
--> 正在处理依赖关系 krb5-devel(x86-64),它被软件包 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64 需要
--> 正在检查事务
---> 软件包 krb5-devel.x86_64.0.1.15.1-37.el7_6 将被 安装
--> 正在处理依赖关系 libkadm5(x86-64) = 1.15.1-37.el7_6,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
--> 正在处理依赖关系 krb5-libs(x86-64) = 1.15.1-37.el7_6,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
--> 正在处理依赖关系 libverto-devel,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
--> 正在处理依赖关系 libselinux-devel,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
--> 正在处理依赖关系 libcom_err-devel,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
--> 正在处理依赖关系 keyutils-libs-devel,它被软件包 krb5-devel-1.15.1-37.el7_6.x86_64 需要
--> 正在检查事务
---> 软件包 keyutils-libs-devel.x86_64.0.1.5.8-3.el7 将被 安装
---> 软件包 krb5-libs.x86_64.0.1.15.1-19.el7 将被 升级
--> 正在处理依赖关系 krb5-libs(x86-64) = 1.15.1-19.el7,它被软件包 krb5-workstation-1.15.1-19.el7.x86_64 需要
---> 软件包 krb5-libs.x86_64.0.1.15.1-37.el7_6 将被 更新
---> 软件包 libcom_err-devel.x86_64.0.1.42.9-13.el7 将被 安装
--> 正在处理依赖关系 libcom_err(x86-64) = 1.42.9-13.el7,它被软件包 libcom_err-devel-1.42.9-13.el7.x86_64 需要
---> 软件包 libkadm5.x86_64.0.1.15.1-19.el7 将被 升级
---> 软件包 libkadm5.x86_64.0.1.15.1-37.el7_6 将被 更新
---> 软件包 libselinux-devel.x86_64.0.2.5-14.1.el7 将被 安装
--> 正在处理依赖关系 libselinux(x86-64) = 2.5-14.1.el7,它被软件包 libselinux-devel-2.5-14.1.el7.x86_64 需要
--> 正在处理依赖关系 libsepol-devel(x86-64) >= 2.5-10,它被软件包 libselinux-devel-2.5-14.1.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libsepol),它被软件包 libselinux-devel-2.5-14.1.el7.x86_64 需要
---> 软件包 libverto-devel.x86_64.0.0.2.5-4.el7 将被 安装
--> 正在检查事务
---> 软件包 krb5-workstation.x86_64.0.1.15.1-19.el7 将被 升级
---> 软件包 krb5-workstation.x86_64.0.1.15.1-37.el7_6 将被 更新
---> 软件包 libcom_err.x86_64.0.1.42.9-12.el7_5 将被 升级
--> 正在处理依赖关系 libcom_err(x86-64) = 1.42.9-12.el7_5,它被软件包 libss-1.42.9-12.el7_5.x86_64 需要
--> 正在处理依赖关系 libcom_err(x86-64) = 1.42.9-12.el7_5,它被软件包 e2fsprogs-libs-1.42.9-12.el7_5.x86_64 需要
--> 正在处理依赖关系 libcom_err(x86-64) = 1.42.9-12.el7_5,它被软件包 e2fsprogs-1.42.9-12.el7_5.x86_64 需要
---> 软件包 libcom_err.x86_64.0.1.42.9-13.el7 将被 更新
---> 软件包 libselinux.x86_64.0.2.5-12.el7 将被 升级
--> 正在处理依赖关系 libselinux(x86-64) = 2.5-12.el7,它被软件包 libselinux-python-2.5-12.el7.x86_64 需要
--> 正在处理依赖关系 libselinux(x86-64) = 2.5-12.el7,它被软件包 libselinux-utils-2.5-12.el7.x86_64 需要
---> 软件包 libselinux.x86_64.0.2.5-14.1.el7 将被 更新
--> 正在处理依赖关系 libsepol(x86-64) >= 2.5-10,它被软件包 libselinux-2.5-14.1.el7.x86_64 需要
---> 软件包 libsepol-devel.x86_64.0.2.5-10.el7 将被 安装
--> 正在检查事务
---> 软件包 e2fsprogs.x86_64.0.1.42.9-12.el7_5 将被 升级
---> 软件包 e2fsprogs.x86_64.0.1.42.9-13.el7 将被 更新
---> 软件包 e2fsprogs-libs.x86_64.0.1.42.9-12.el7_5 将被 升级
---> 软件包 e2fsprogs-libs.x86_64.0.1.42.9-13.el7 将被 更新
---> 软件包 libselinux-python.x86_64.0.2.5-12.el7 将被 升级
---> 软件包 libselinux-python.x86_64.0.2.5-14.1.el7 将被 更新
---> 软件包 libselinux-utils.x86_64.0.2.5-12.el7 将被 升级
---> 软件包 libselinux-utils.x86_64.0.2.5-14.1.el7 将被 更新
---> 软件包 libsepol.x86_64.0.2.5-8.1.el7 将被 升级
---> 软件包 libsepol.x86_64.0.2.5-10.el7 将被 更新
---> 软件包 libss.x86_64.0.1.42.9-12.el7_5 将被 升级
---> 软件包 libss.x86_64.0.1.42.9-13.el7 将被 更新
--> 解决依赖关系完成
依赖关系解决
=======================================================================================
Package 架构 版本 源 大小
=======================================================================================
正在更新:
openssl x86_64 1:1.0.2k-16.el7_6.1 updates 493 k
为依赖而安装:
keyutils-libs-devel x86_64 1.5.8-3.el7 base 37 k
krb5-devel x86_64 1.15.1-37.el7_6 updates 271 k
libcom_err-devel x86_64 1.42.9-13.el7 base 31 k
libselinux-devel x86_64 2.5-14.1.el7 base 187 k
libsepol-devel x86_64 2.5-10.el7 base 77 k
libverto-devel x86_64 0.2.5-4.el7 base 12 k
为依赖而更新:
e2fsprogs x86_64 1.42.9-13.el7 base 699 k
e2fsprogs-libs x86_64 1.42.9-13.el7 base 167 k
krb5-libs x86_64 1.15.1-37.el7_6 updates 803 k
krb5-workstation x86_64 1.15.1-37.el7_6 updates 816 k
libcom_err x86_64 1.42.9-13.el7 base 41 k
libkadm5 x86_64 1.15.1-37.el7_6 updates 178 k
libselinux x86_64 2.5-14.1.el7 base 162 k
libselinux-python x86_64 2.5-14.1.el7 base 235 k
libselinux-utils x86_64 2.5-14.1.el7 base 151 k
libsepol x86_64 2.5-10.el7 base 297 k
libss x86_64 1.42.9-13.el7 base 46 k
openssl-devel x86_64 1:1.0.2k-16.el7_6.1 updates 1.5 M
openssl-libs x86_64 1:1.0.2k-16.el7_6.1 updates 1.2 M
事务概要
=======================================================================================
安装 ( 6 依赖软件包)
升级 1 软件包 (+13 依赖软件包)
总计:7.3 M
总下载量:2.1 M
Downloading packages:
Delta RPMs reduced 1.5 M of updates to 266 k (82% saved)
(1/7): keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm | 37 kB 00:00:00
(2/7): libcom_err-devel-1.42.9-13.el7.x86_64.rpm | 31 kB 00:00:00
(3/7): krb5-devel-1.15.1-37.el7_6.x86_64.rpm | 271 kB 00:00:00
(4/7): libsepol-devel-2.5-10.el7.x86_64.rpm | 77 kB 00:00:00
(5/7): libselinux-devel-2.5-14.1.el7.x86_64.rpm | 187 kB 00:00:00
(6/7): openssl-devel-1.0.2k-16.el7_1.0.2k-16.el7_6.1.x86_64.drp | 266 kB 00:00:00
(7/7): libverto-devel-0.2.5-4.el7.x86_64.rpm | 12 kB 00:00:00
Finishing delta rebuilds of 1 package(s) (1.5 M)
---------------------------------------------------------------------------------------
总计 366 kB/s | 881 kB 00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
** 发现 2 个已存在的 RPM 数据库问题, 'yum check' 输出如下:
icedtea-web-1.7.1-1.el7.x86_64 有缺少的需求 java-1.8.0-openjdk
jline-1.0-8.el7.noarch 有缺少的需求 java >= ('0', '1.5', None)
正在更新 : libcom_err-1.42.9-13.el7.x86_64 1/34
正在更新 : libsepol-2.5-10.el7.x86_64 2/34
正在更新 : libselinux-2.5-14.1.el7.x86_64 3/34
正在更新 : 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 4/34
正在更新 : krb5-libs-1.15.1-37.el7_6.x86_64 5/34
正在更新 : libkadm5-1.15.1-37.el7_6.x86_64 6/34
正在更新 : libss-1.42.9-13.el7.x86_64 7/34
正在安装 : libsepol-devel-2.5-10.el7.x86_64 8/34
正在安装 : libselinux-devel-2.5-14.1.el7.x86_64 9/34
正在安装 : libcom_err-devel-1.42.9-13.el7.x86_64 10/34
正在更新 : e2fsprogs-libs-1.42.9-13.el7.x86_64 11/34
正在安装 : libverto-devel-0.2.5-4.el7.x86_64 12/34
正在安装 : keyutils-libs-devel-1.5.8-3.el7.x86_64 13/34
正在安装 : krb5-devel-1.15.1-37.el7_6.x86_64 14/34
正在更新 : 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64 15/34
正在更新 : e2fsprogs-1.42.9-13.el7.x86_64 16/34
正在更新 : krb5-workstation-1.15.1-37.el7_6.x86_64 17/34
正在更新 : 1:openssl-1.0.2k-16.el7_6.1.x86_64 18/34
正在更新 : libselinux-python-2.5-14.1.el7.x86_64 19/34
正在更新 : libselinux-utils-2.5-14.1.el7.x86_64 20/34
清理 : krb5-workstation-1.15.1-19.el7.x86_64 21/34
清理 : 1:openssl-1.0.2k-16.el7.x86_64 22/34
清理 : e2fsprogs-1.42.9-12.el7_5.x86_64 23/34
清理 : 1:openssl-devel-1.0.2k-16.el7.x86_64 24/34
清理 : libkadm5-1.15.1-19.el7.x86_64 25/34
清理 : 1:openssl-libs-1.0.2k-16.el7.x86_64 26/34
清理 : krb5-libs-1.15.1-19.el7.x86_64 27/34
清理 : libselinux-utils-2.5-12.el7.x86_64 28/34
清理 : e2fsprogs-libs-1.42.9-12.el7_5.x86_64 29/34
清理 : libss-1.42.9-12.el7_5.x86_64 30/34
清理 : libselinux-python-2.5-12.el7.x86_64 31/34
清理 : libselinux-2.5-12.el7.x86_64 32/34
清理 : libsepol-2.5-8.1.el7.x86_64 33/34
清理 : libcom_err-1.42.9-12.el7_5.x86_64 34/34
验证中 : keyutils-libs-devel-1.5.8-3.el7.x86_64 1/34
验证中 : krb5-workstation-1.15.1-37.el7_6.x86_64 2/34
验证中 : libcom_err-devel-1.42.9-13.el7.x86_64 3/34
验证中 : krb5-devel-1.15.1-37.el7_6.x86_64 4/34
验证中 : e2fsprogs-1.42.9-13.el7.x86_64 5/34
验证中 : libverto-devel-0.2.5-4.el7.x86_64 6/34
验证中 : krb5-libs-1.15.1-37.el7_6.x86_64 7/34
验证中 : 1:openssl-1.0.2k-16.el7_6.1.x86_64 8/34
验证中 : libss-1.42.9-13.el7.x86_64 9/34
验证中 : libsepol-2.5-10.el7.x86_64 10/34
验证中 : 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 11/34
验证中 : libsepol-devel-2.5-10.el7.x86_64 12/34
验证中 : 1:openssl-devel-1.0.2k-16.el7_6.1.x86_64 13/34
验证中 : libselinux-python-2.5-14.1.el7.x86_64 14/34
验证中 : e2fsprogs-libs-1.42.9-13.el7.x86_64 15/34
验证中 : libselinux-utils-2.5-14.1.el7.x86_64 16/34
验证中 : libkadm5-1.15.1-37.el7_6.x86_64 17/34
验证中 : libselinux-devel-2.5-14.1.el7.x86_64 18/34
验证中 : libcom_err-1.42.9-13.el7.x86_64 19/34
验证中 : libselinux-2.5-14.1.el7.x86_64 20/34
验证中 : libselinux-python-2.5-12.el7.x86_64 21/34
验证中 : 1:openssl-libs-1.0.2k-16.el7.x86_64 22/34
验证中 : 1:openssl-devel-1.0.2k-16.el7.x86_64 23/34
验证中 : libss-1.42.9-12.el7_5.x86_64 24/34
验证中 : krb5-workstation-1.15.1-19.el7.x86_64 25/34
验证中 : 1:openssl-1.0.2k-16.el7.x86_64 26/34
验证中 : e2fsprogs-1.42.9-12.el7_5.x86_64 27/34
验证中 : e2fsprogs-libs-1.42.9-12.el7_5.x86_64 28/34
验证中 : krb5-libs-1.15.1-19.el7.x86_64 29/34
验证中 : libsepol-2.5-8.1.el7.x86_64 30/34
验证中 : libcom_err-1.42.9-12.el7_5.x86_64 31/34
验证中 : libselinux-2.5-12.el7.x86_64 32/34
验证中 : libselinux-utils-2.5-12.el7.x86_64 33/34
验证中 : libkadm5-1.15.1-19.el7.x86_64 34/34
作为依赖被安装:
keyutils-libs-devel.x86_64 0:1.5.8-3.el7 krb5-devel.x86_64 0:1.15.1-37.el7_6
libcom_err-devel.x86_64 0:1.42.9-13.el7 libselinux-devel.x86_64 0:2.5-14.1.el7
libsepol-devel.x86_64 0:2.5-10.el7 libverto-devel.x86_64 0:0.2.5-4.el7
更新完毕:
openssl.x86_64 1:1.0.2k-16.el7_6.1
作为依赖被升级:
e2fsprogs.x86_64 0:1.42.9-13.el7 e2fsprogs-libs.x86_64 0:1.42.9-13.el7
krb5-libs.x86_64 0:1.15.1-37.el7_6 krb5-workstation.x86_64 0:1.15.1-37.el7_6
libcom_err.x86_64 0:1.42.9-13.el7 libkadm5.x86_64 0:1.15.1-37.el7_6
libselinux.x86_64 0:2.5-14.1.el7 libselinux-python.x86_64 0:2.5-14.1.el7
libselinux-utils.x86_64 0:2.5-14.1.el7 libsepol.x86_64 0:2.5-10.el7
libss.x86_64 0:1.42.9-13.el7 openssl-devel.x86_64 1:1.0.2k-16.el7_6.1
openssl-libs.x86_64 1:1.0.2k-16.el7_6.1
完毕!