漏洞名称:OpenSSH J-PAKE授权问题漏洞(CVE-2010-4478)

漏洞说明:OpenSSHSSH协议组的实现,可为各种服务提供加密的认证传输,包括远程shell访问。当J-PAKE启用时,OpenSSH 5.6及之前版本不能正确验证J-PAKE协议中的公共参数。远程***者可以通过发送每一轮协议中的特制值绕过共享秘密信息的需求,并成功获得认证。

解决方法:卸载系统的OpenSSH服务,安装最新版本的OpenSSH

解决方法步骤:

 

1.检查openssl 版本在0.9.6以上 

  rpm qa |grep openssl

 

2.检查zlib版本在1.2.1.2以上

  rpm qa |grep zlib  

 

3.使用root用户登录系统进入到/root 上传openssh-6.6p1.tar.gz到该目录下

  Cp  /mnt/openssh-6.6p1.tar.gz  /root

 

4.备份原rpm启动脚本到当前路径下

  cp /etc/init.d/sshd ./  

 

5.停止ssh服务

  /etc/init.d/sshd stop

 

6.删除原rpm openssh软件包

  rpm -e  openssh-server  openssh-5.3p1  openssh-clients  openssh-askpass  --nodeps

 

7.解压源码补丁安装包

  tar -zxvf openssh 6.0p1.tar.gz

 

8.进入该目录

  cd /root/openssh6.0p1

9.配置yum

新建ISO挂载目录

Mkdir /localyum

ISO文件挂载到新建的目录(如果是光盘:mount -a /dev/cdrom /localyum

Mount -o loop /mnt/rhel-server-6.5-x86_64-dvd.iso /localyum

新建repo文件

Vim /etc/yum.repo/localyum.repo

内容如下:

[localyum]

name=local

baseurl=file:///localyum/Server

enabled=1

gpgcheck=0

10.安装gcczlibopenssl等编译需用的程序

Yum -y install gcc-*

Yum -y install zlib-*

Yum -y install openssl-*

 

11.配置指定安装目录  同时不检查zlib版本(节省时间如果zlib版本过低那么就会造成openssh的源文件无法编译成功)

 ./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check 

 

  make && make install

 

12.检查是否升级成功

  ssh V

 

 

13.拷贝启动脚本到/etc/init.d/

  cp /root/sshd /etc/init.d/

 

14.开启服务

   /etc/init.d/sshd start

 

15.设置SSHD服务为开机启动

  chkconfig --add sshd

  chkconfig sshd ono

 

16检查端口是否正常

  netstat -an |grep :22

 

17.修改ssh配置文件

vim /etc/ssh/sshd_config 修改配置文件

sshd配置文件路径/etc/ssh/sshd_config

Protocol 2      #为使用的协议

X11Forwarding yes    #允许窗口图形传输使用ssh加密 yes允许

IgnoreRhosts yes     #完全禁止sshd使用.rhosts文件 yes禁止

RhostsAuthentication no #不设置使用基于rhosts的安全验证

RhostsRSAAuthentication no #不设置使用RSA算法的基于rhosts的安全认证

HostbasedAuthentication no #不允许基于主机白名单的方式认证

PermitEmptyPasswords no #不允许空密码

给以下增加注释

#GSSAPICleanupCredentials no 是否在用户退出登录后自动销毁用户凭证缓存。默认值是"yes"。仅用于SSH-2

#GSSAPIAuthentication 是否允许使用基于 GSSAPI 的用户认证。默认值为"no"。仅用于SSH-2

#USEPAM=YES 使用pam认证 NO