title: 升级openssl及openssh至最新 #标题tags: openssl,openssh #标签
date: 2020-09-22
categories: linux大杂烩 # 分类
解决一些已知的 CVE 漏洞,比如:CVE-2011-1473、CVE-2015-8325、CVE-2016-10012、CVE-2018-15473 等。
修复openssh漏洞,记录下openssl及openssh升级过程(操作系统为CentOS 7.5)。
升级注意事项
- 注意openssl和openssh的版本必须兼容,否则可能会造成升级后无法ssh登录到主机。
- 建议在生产上进行升级操作前,自己先在虚拟机做两遍,并且在升级后一定要重启一下主机,再测试是否可以ssh登录到主机,确保万无一失,尽量规避升级后不能ssh登录到生产主机上的问题。
- 为了保险起见,如果生产上允许暂时开启telnet登录的话,建议在升级openssl/openssh前,先参考博文Centos 7.5开启telnet登录,开启telnet登录,以免ssh无法登录造成不必要的麻烦。
以上事项务必仔细阅读!!!
注:openssh-8.3p1和openssl-3.0.0-alpha3 不能协调工作,升级后,会造成ssh无法登录的问题(不要下载alpha版的任何软件)。
我同时升级为openssh-8.3p1、openssl-3.0.0-alpha3后,ssh登录访问返回如下信息:
官网有段信息如下(截图日期:2020-06-20):
查看当前版本
$ ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
安装依赖
# 下载阿里云epel源
$ wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# 安装依赖
$ yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel pcre-devel pam-devel openssl openssl-devel openssl-libs
升级openssl
cd /usr/local/
wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1g.tar.gz
tar zxf OpenSSL_1_1_1g.tar.gz
cd openssl-OpenSSL_1_1_1g/
./config --prefix=/usr/local/openssl_1_1_1g
make && make install
echo $? # 输出 0 ,说明 make install 没有报错
0
# 备份并替换旧版本
mv /usr/bin/openssl{,.bak$(date +%F)}
ln -sf /usr/local/openssl_1_1_1g/bin/openssl /usr/bin/openssl
echo "/usr/local/openssl_1_1_1g/lib" >> /etc/ld.so.conf
ldconfig
$ openssl version # 确认openssl已更新
OpenSSL 1.1.1g 21 Apr 2020
升级openssh
cd /usr/local/
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz
tar zxf openssh-8.3p1.tar.gz
mkdir /usr/local/backup
mv /etc/ssh/* /usr/local/backup/
cd openssh-8.3p1/
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/openssl_1_1_1g/include --with-ssl-dir=/usr/local/openssl_1_1_1g --with-zlib --with-md5-passwords --with-pam
make && make install
echo $? # 输出为0则表示make install正常
0
$ vim /etc/ssh/sshd_config # 修改配置文件如下两处
PermitRootLogin yes
UseDNS no
# 调整sshd服务启停
mv /usr/lib/systemd/system/sshd.service /usr/local/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 daemon-reload
systemctl enable sshd
systemctl restart sshd
确定版本均已升级
$ ssh -V
OpenSSH_8.3p1, OpenSSL 1.1.1g 21 Apr 2020
注:自行重启主机,再测试ssh是否可以正常登录。