OpenSSH 输入验证错误漏洞(CVE-2019-16905) OpenSSH_9.2p1版本升级(CentOS7系统)

1、安装相关依赖包

yum install vim gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel zlib-devel tcp_wrappers-devel tcp_wrappers;

有些服务器无法连接外网,依赖包要离线安装

一、安装telnet

1、先查看原服务器有无安装telnet:

rpm -qa | grep telnet

2、如果在返回中没有telnet-server,就代表并未安装telnet服务端,执行下面操作即可。
安装这三个软件:

yum -y install telnet telnet-server xinetd

3、开机启动

systemctl enable xinetd.service
systemctl enable telnet.socket

4、防火墙上开放23端口

firewall-cmd --zone=public --add-port=23/tcp --permanent
firewall-cmd --reload

5、启动服务

systemctl start telnet.socket
systemctl start xinetd

6、服务器网络不可达时离线安装操作

安装telnet所需软件包:
1、telnet-client
2、Telnet server
3、 xinetd
以上软件包下载地址:
telnet-client:http://www.rpmfind.net/linux/rpm2html/search.php?query=telnet

另外的两个http://www.rpmfind.net/linux/rpm2html/search.php下搜索下载即可(telnet-server、xinetd)
把下载的三个安装包上传到服务器解压安装

rpm -ivh telnet-0.17-65.el7_8.x86_64.rpm
rpm -ivh telnet-server-0.17-65.el7_8.x86_64.rpm
rpm -ivh xinetd-2.3.15-14.el7.x86_64.rpm

启动 telnet 依赖的 xinetd 服务
同上面第5步

二、Zlib安装

网络不可达可以本地下载上传到服务器,下载地址:Index of /fossils

上传zlib-1.2.12.tar.gz 到/opt
tar -zxvf zlib-1.2.12
cd /opt/zlib-1.2.12
#编译安装
./configure --prefix=/usr/local/zlib
make && make test && make install
#
ll /usr/local/zlib
ldconfig -v

三、升级openssl

1、下载openss
官网地址:https://ftp.openssl.org/source/

在这里插入图片描述

linux中ce能上网情况下可以直接下载:wget https://ftp.openssl.org/source/openssl-1.1.1q.tar.gz
1、安装openss 

mv openssl-1.1.1q.tar.gz /opt
cd /opt
#解压openssl-1.1.1q源码包
tar -zxvf openssl-1.1.1q.tar.gz
cd openssl-1.1.1q/
#编译前环境配置
./config --prefix=/usr/local/openssl
./config -t
#make install编译安装
make clean && make -j 4 && make install 
#检查函数库
ldd /usr/local/openssl/bin/openssl
#添加所缺函数库
echo "/usr/local/openssl/lib" >>/etc/ld.so.conf
#更新函数库
ldconfig -v
#将旧版本openssl移除
mv /usr/bin/openssl /usr/bin/openssl_old_bak
#将新版本openssl软链接到/usr/bin/目录下
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

#检查版本
which openssl
openssl version -a
#升级openssl后查看版本信息

四、升级openssh

1、 1、下载openssh
官网地址:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/ 可以看到历史版本

 wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz

2、修改的密钥文件权限,
在升级前修改/etc/ssh下的密钥文件权限,进入openssh目录,进行环境配置

chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
chmod 600 /etc/ssh/ssh_host_ed25519_key

3、安装openssh

mv openssh-9.0p1.tar.gz /opt
cd  /opt
#解压openssh-9.0p1源码包
tar xf openssh-9.0p1.tar.gz
#编译前环境配置
cd openssh-9.0p1/
./configure --prefix=/usr/local/ssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib 
#make编译安装
make -j8 && make install 
yum remove openssh -y

#复制新ssh文件
cp -rf /opt/openssh-9.2p1/contrib/redhat/sshd.init /etc/init.d/sshd
cp -rf /opt/openssh-9.2p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
cp -rf /opt/openssh-9.2p1/sshd_config /etc/ssh/sshd_config

cp -rf /usr/local/ssh/sbin/sshd /usr/sbin/sshd
cp -rf /usr/local/ssh/bin/ssh /usr/bin/ssh
cp -rf /usr/local/ssh/bin/ssh-keygen /usr/bin/ssh-keygen

#开启sshd
chmod u+x /etc/init.d/sshd
chkconfig --add sshd      ##自启动
chkconfig --list |grep sshd
chkconfig sshd on

echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
修改sshd_config ,Subsystem sftp /usr/local/ssh/libexec/sftp-server
echo 'Subsystem sftp /usr/local/ssh/libexec/sftp-server'>> /etc/ssh/sshd_config

/etc/init.d/sshd restart
#到这里就结束了
#如果起不来
systemctl disable sshd --now
#出现Removed symlink /etc/systemd/system/multi-user.target.wants/sshd.service.
mv /usr/lib/systemd/system/sshd.service{,.bak}
systemctl daemon-reload

chkconfig --add sshd
systemctl daemon-reload

service sshd restart
#成功Restarting sshd (via systemctl):                           [  OK  ]

五、卸载telnet

#关闭telnet服务
systemctl stop xinetd.service
systemctl stop telnet.socket

#卸载telnet服务
yum remove xinetd telnet-server telnet -y

所有离线资源网盘下载:

链接:https://pan.baidu.com/s/1XfJ1erHG_figuNEH3v863w 
提取码:1024

猜你喜欢

转载自blog.csdn.net/jieyongquan/article/details/129493234