1、漏扫发现存在OpenSSH命令注入漏洞(CVE-2020-15778)因为目前版本过低,根据综合评估需要将openssh升级为8.8P1版本。
2、无法采取yum安装的方式,需要使用编译安装。
3、需要资料包
zlib-1.2.11.tar.g
openssh-8.8p1.tar.gz
openssl-1.0.2o.tar.gz
4、更改yum源(主要是为了安装telnet服务,升级过程中ssh会关闭)
[root@sdtest ~]# vim /etc/yum.repos.d/centos75.repo
[centos75]
name=centos75
baseurl=http://XXXXXXX/cen75/ ##内网yum源
gpgcheck=0
enabled=1
5、[root@sdtest ~]# yum clean all
[root@sdtest ~]# yum list
[root@sdtest ~]# yum -y install xinetd telnet-server
[root@sdtest ~]# systemctl start telnet.socket
[root@sdtest ~]# useradd test
[root@sdtest ~]# echo "abc123" | passwd --stdin test
6、[root@sdtest ~]# yum -y install gcc make perl zlib zlib-devel pam pam-devel
[root@sdtest ~]# rpm -qa | egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel"
7、使用telnet登陆
telnet XX.XX.XX.XX,用户名使用创建的账户test,密码abc123
[test@sdtest ~]$ su - root ##输入root密码切换到root用户
8、将下载好的资料包上传,
9、[root@sdtest ~]# systemctl stop sshd
[root@sdtest ~]# cp -r /etc/ssh /etc/ssh.old
[root@sdtest ~]# rpm -qa | grep openssh
[root@sdtest ~]# rpm -e --nodeps openssh-7.4p1-16.el7.x86_64
[root@sdtest ~]# rpm -e --nodeps openssh-clients-7.4p1-16.el7.x86_64
[root@sdtest ~]# rpm -e --nodeps openssh-server-7.4p1-16.el7.x86_64
[root@sdtest ~]# rpm -qa | grep openssh
10.找到存放资料包的目录,安装zlib-1.2.11
[root@sdtest ~]tar -xzvf zlib-1.2.11.tar.gz
[root@sdtest ~] cd zlib-1.2.11
[root@sdtest ~] ./configure --prefix=/usr/local/zlib
[root@sdtest ~] make
[root@sdtest ~]make install
[root@sdtest ~]ll /usr/local/zlib
[root@sdtest ~]vi /etc/ld.so.conf.d/zlib.conf
[root@sdtest ~]ldconfig -v
[root@sdtest ~]tar -xzvf openssl-1.0.2o.tar.gz
[root@sdtest ~] cd openssl-1.0.2o
11、找到存放资料包的目录,安装openssl-1.0.2o
[root@sdtest ~]tar -xzvf openssl-1.0.2o.tar.gz
[root@sdtest ~]cd openssl-1.0.2o
[root@sdtest ~] ./config shared zlib
[root@sdtest ~] make
[root@sdtest ~]make install
[root@sdtest ~]mv /usr/bin/openssl /usr/bin/openssl.bak
[root@sdtest ~]ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
[root@sdtest ~] ln -s /usr/local/ssl/include/openssl /usr/include/openssl
[root@sdtest ~]vi /etc/ld.so.conf.d/ssl.conf
[root@sdtest ~] ldconfig -v
[root@sdtest ~]openssl version -a
12、找到存放资料包的目录安装openssh-8.8p1
[root@sdtest ~]tar -zxvf openssh-8.8p1.tar.gz
[root@sdtest ~]cd openssh-8.8p1
[root@sdtest ~]./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --without-openssl-header-check --with-ssl-dir=/usr/local/ssl --with-privsep-path=/var/lib/sshd
[root@sdtest ~]make
[root@sdtest ~]chmod 600 /etc/ssh/ssh_host_rsa_key
[root@sdtest ~]chmod 600 /etc/ssh/ssh_host_ecdsa_key
[root@sdtest ~]chmod 600 /etc/ssh/ssh_host_ed25519_ke
[root@sdtest ~]chmod 600 /etc/ssh/ssh_host_ed25519_key
[root@sdtest ~]make install
[root@sdtest ~]ssh -V
[root@sdtest ~]echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
[root@sdtest ~]echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
[root@sdtest ~]cp -p contrib/redhat/sshd.init /etc/init.d/sshd
[root@sdtest ~]chmod +x /etc/init.d/sshd
[root@sdtest ~]chkconfig --add sshd
[root@sdtest ~]chkconfig sshd on
[root@sdtest ~]systemctl restart sshd
13、删除建立的telnet账号和密码,关闭telnet服务
[root@sdtest ~]systemctl stop telnet.socket
[root@sdtest ~]userdel test