漏洞简介:
OpenSSH是一种开放源码的SSH协议的实现,初始版本用于OpenBSD平台,现在已经被移植到多种Unix/Linux类操作系统下。如果配置为CBC模式的话,OpenSSH没有正确地处理分组密码算法加密的SSH会话中所出现的错误,导致可能泄露密文中任意块最多32位纯文本。在以标准配置使用OpenSSH时,攻击者恢复32位纯文本的成功概率为2^{-18}, 此外另一种攻击变种恢复14位纯文本的成功概率为2^{-14};
修复建议:在安装完成centos7系统启动sshd服务后,系统默认选择CBC的机密模式,在对安全要求比较高的生产环境中,一般是不允许CBC加密的,此时需要将CBC的加密方式修改为CTR或者GCM。
2.处理方法
#ssh -Q cipher //查看你当前ssh使用的算法
[root@003 ~]# ssh -Q cipher
3des-cbc
blowfish-cbc
cast128-cbc
arcfour
arcfour128
arcfour256
aes128-cbc
aes192-cbc
aes256-cbc
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com
chacha20-poly1305@openssh.com
修改sshd_conf配置
#vim /etc/ssh/sshd_config
查询找到#Ciphers and keying
在其下面增加配置项,删除相关CRC内容
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour,arcfour128,arcfour256,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
重启SSHD
#systemctl restart sshd
3、验证结果
测试ssh的cbc连接
ssh -vv -oCiphers=aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc 127.0.0.1
输入以上代码,如果没有要求输入密码,则表示成功。