最近服务器测评,第三方发现了很多类似的openssh的漏洞。这些漏洞主要是由于openssh的版本过低导致的,下面就是解决方法:

一、漏洞问题反馈

漏洞编号:00AA3594

描述:OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。

OpenSSH 5.7版本至8.3版本的客户端中存在安全漏洞。攻击者可利用该漏洞获取信息。

漏洞编号:00BB0001

描述:OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。

OpenSSH 7.8及之前版本中的auth-gss2.c文件存在安全漏洞。远程攻击者可利用该漏洞检测其指定的用户是否存在。

漏洞编号:0xB2D39620

描述:OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。OpenSSH 7.6之前的版本中的sftp-server.c文件的‘process_open’函数存在安全漏洞,该漏洞源于程序在只读模式下没有正确的阻止写入操作。攻击者可利用该漏洞创建长度为零的文件。

漏洞编号:0xb2d3c0ad

描述:OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。OpenSSH 7.7及之前版本中存在安全漏洞,该漏洞源于程序会对有效的和无效的身份验证请求发出不同的响应。攻击者可通过发送特制的请求利用该漏洞枚举用户名称。

二、处理方式

由于所有问题都是openssh版本低所导致漏洞,所以我们对openssh进行了升级处理,处理方式如下:

1、下载升级所需要的版本包mirror.internode.on.net

2、解压:tar zxvf openssh-8.4p1.tar.gz

3、进入解压之后文件:cd openssh-8.4p1/

4、卸载现有版本openssh:

rpm -e `rpm -qa |grep openssh`

rpm -e `rpm -qa |grep openssh` --nodeps //忽略依赖进行移除

5、这些操作都基于openssh-8.4p1/这个目录下

yum -y install openssl-devel
./configure --prefix=/usr/ --sysconfdir=/etc/ssh/ --with-ssl --with-md5-passwords mandir=/usr/share/man/

make && make install

make install的时候会覆盖/etc/ssh下面的文件,可能会覆盖报错,报错的时候删除下面的文件然后重新make install就行了

cp contrib/redhat/sshd.init /etc/init.d/sshd && chmod 755 /etc/init.d/sshd

修改路径:

vim /etc/init.d/sshd

PID_FILE=/run/sshd.pid

/etc/init.d/sshd stop 停止

/etc/init.d/sshd start 启动

chkconfig --add sshd &&chkconfig sshd on

修改sshd配置文件,并重启:

sed 's/#PasswordAuthentication yes/PasswordAuthentication yes/g' -i /etc/ssh/sshd_config

sed 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' -i /etc/ssh/sshd_config

service sshd restart

ssh -V

Sshd -v