1 升级原因
操作系统SSH低版本导致被扫描出很多高危漏洞,搜集了下网上的很多文章(暂且只写在线升级方法,离线升级方法也很简单,就是需要各个依赖库官网下载最新依赖库的安装包,进行离线安装即可)。
爆出漏洞编号有:OpenSSH 输入验证错误漏洞(CVE-2019-16905)
OpenS8H命令注入漏洞(CVE-2020-15778)
OpenSSH 安全漏洞(CYE-2021-41617)
OpenSSH信息泄露漏洞(CVE-2020-14145)
OpenSSH 安全漏洞(CVE-2016-20012)
经过升级ssh版本为最新,解决上述漏洞问题。
2 升级步骤 (以下所有步骤都以麒麟V10作为演示)
2.1 查看当前SSH版本
ssh -V
升级完成之后的ssh -V版本号
说明升级成功。
2.2 升级yum 源
因为麒麟V10自带yum源比较旧,我们替换下yum源
进入目录:/etc/yum.repos.d 查看有两个文件,不需要改动,直接vi增加一个yum文件
vi kylin-aarch64.repo
vi进入之后,复制如下配置文件:
name = Kylin Linux Advanced Server 10 - Os
baseurl = http://archive2.kylinos.cn/rpm/kylin/production/KY-KY10-GFB-aarch64/custom/kylin-server/KY10-GFB-aarch64-2204/
#baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP1/os/adv/lic/base/$basearch/
gpgcheck = 0
enabled = 1
[ks10-adv-updates]
name = Kylin Linux Advanced Server 10 - Updates
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP1/os/adv/lic/updates/$basearch/
gpgcheck = 0
enabled = 0
[ks10-adv-addons]
name = Kylin Linux Advanced Server 10 - Addons
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP1/os/adv/lic/addons/$basearch/
gpgcheck = 0
enabled = 0
然后保存退出。
再次yum update 即可,等到完成即可。yum源升级完成。
2.3 升级ssl 版本(因为ssh依赖ssl,将ssl升级为1.1.1g版本)
我习惯进入 cd /opt 目录下进行软件安装,目录可以自己选择其他:
wget 想将ssl 1.1.1g版本下载本地opt目录下 :
wget https://goodrain-delivery.oss-cn-hangzhou.aliyuncs.com/fuzhoushuchan/openssl-1.1.1g.tar.gz && tar xvf openssl-1.1.1g.tar.gz && cd openssl-1.1.1g/
下载、解压、并且进入ssl目录了。
安装:
./config --prefix=/usr/local/ssl
make && make install
mv /usr/bin/openssl /usr/bin/openssl.bak
ln -sf /usr/local/ssl/bin/openssl /usr/bin/openssl
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig -v
openssl version
按照上面命令,挨个命令输入,最终显示结果为:
OpenSSL 1.1.1g 21 Apr 2020
2.4 升级SSH
1)wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.2p1.tar.gz
下载最新安装包
2)tar -xvf openssh-9.2p1.tar.gz
3)yum install -y pam* zlib* openssl-devel gcc make
下载安装依赖包,yum自动安装,yum安装好处是,自动创建好环境变量
4)cd openssh-9.2p1
5)cp -r /etc/ssh /tmp/
6)setenforce 0
7)sed -i 's/enforcing/disabled/g' /etc/selinux/config
8)systemctl stop firewalld
9)systemctl disable firewalld
10)/configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-pam --without-openssl-header-check --with-ssl-dir=/usr/local/ssl --with-privsep-path=/var/lib/sshd
下载完成后的ssh版本,里面的configure安装文件,进行 编译安装了。
11)make
12)rpm -e --nodeps rpm -qa | grep openssh
13)rm -rf /etc/ssh/*
14)make install
15)sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
修改安装好的ssh的配置文件,可以允许SSH远程访问OS。
以上按照顺序执行
修改开机自启动:
1)cp -a contrib/redhat/sshd.init /etc/init.d/sshd
2)chkconfig sshd on
3)chkconfig --add sshd
4)systemctl enable sshd
5)systemctl restart sshd
2.5 验证升级结果
ssh -V
升级完成,ssh最新版本是9.2p1.ssl版本是1.1.1g。升级完成。
版权归原作者 taskiller-Smith 所有, 如有侵权,请联系我们删除。