漏洞复测系列 -- SSH 支持弱加密算法漏洞

Johnny21 等级 1751 0 0

本系列文章旨在对于有一定网络安全基础的人员,在日常工作中扫描出来的各种漏洞,如何进行验证,以区分该漏洞是否存在或是扫描器误报。请勿应用非法途径。


一、漏洞描述

SSH的配置文件中加密算法没有指定,默认支持所有加密算法,包括arcfour,arcfour128,arcfour256等弱加密算法。
这个漏洞属于SSH的配置缺陷,SSH服务启用了Arcfour (也称RC4)这个不安全算法。

二、漏洞验证

使用 nmap 、Nessus 等工具可以进行验证,这里使用 nmap 进行验证。

使用 Nmap 验证:
nmap --script ssh2-enum-algos -sV -p 22 10.4.225.229
漏洞复测系列 -- SSH 支持弱加密算法漏洞
可以看到支持 arcfour、arcfour128、arcfour256 等弱加密算法。

三、漏洞修复

方案一:修改 SSH 配置文件,添加加密算法:

vi /etc/ssh/sshd_config
最后添加一下内容(去掉 arcfour、arcfour128、arcfour256 等弱加密算法)
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc

ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。
漏洞复测系列 -- SSH 支持弱加密算法漏洞

保存文件后重启 SSH 服务:service sshd restart

验证:
ssh -vv -oCiphers=aes128-cbc,3des-cbc,blowfish-cbc <server>
ssh -vv -oMACs=hmac-md5 <server>

参考信息:http://linux.uits.uconn.edu/2014/06/25/ssh-weak-ciphers-and-mac-algorithms/

使用 Nmap 验证:
nmap --script ssh2-enum-algos -sV -p 22 10.4.225.229
漏洞复测系列 -- SSH 支持弱加密算法漏洞
已不支持 arcfour,arcfour128,arcfour256等弱加密算法。


SSH Weak MAC Algorithms Enabled 漏洞修复使用同样的方式,添加以下行:
MACs hmac-sha1,umac-64,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160

方案二:升级 openssh 版本为最新版本

官网有说明,OpenSSH 7.0 以后的版本默认禁用了一些较低版本的密钥算法。 

四、arcfour算法的风险

关于启用Arcfour 存在的风险,可以参考wiki上的词条:https://en.wikipedia.org/wiki/RC4

简单的说就是RC4算法本身存在漏洞,在特定情况下,它密文可以被破译得到明文,因此这是一种不安全加密算法。

本文转自 https://blog.csdn.net/qq_40606798/article/details/86512610,如有侵权,请联系删除。

收藏
评论区

相关推荐

SSH 的原理与应用
**本文档介绍 SSH 的原理与应用,这是企业级非常实用的技术,希望能给大家带来帮助。** **一、SSH简介** SSH是Secure [Shell](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.linuxcool.com%2F)的缩写,也叫做安全外壳协议。SSH的主要目的
SSH介绍及连接原理
SSH是Secure Shell Protocol的简写,由IETF网络工作小组(Network Working Group)指定;在进行数据传输之前,SSH先对联机数据包通过加密技术处理,加密后在进行数据传输。确保了传递的数据安全。     SSH是专为远程登录会话和其他网络服务提供的安全性协议。利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,
SSH服务器设置
\==ssh服务器== /etc/init.d/sshd \[stop|start|restart\] netstat -tl可以查看ssh服务是否正在运行 远程登录ssh:ssh username@hostname eg:ssh yangjia@localhost 设置文件:/etc/ssh/sshd\_config(debian)
SSH(远程登录)
**在linux中SSH服务对应两个配置文件:** **![](https://oscimg.oschina.net/oscnet/08d4b27dffc261d101b8c21c376a0c1e23a.png)** **ssh特点:在传输数据的时候,对文件加密后传输。** **ssh作用:为远程登录会话和其他网络服务提供安全性协议。** ssh小结
python fabric实现远程操作和部署
fabric ------ title是开发,但是同时要干开发测试还有运维的活……为毛 task\*3 不是 salary \* 3 (o(╯□╰)o) 近期接手越来越多的东西,发布和运维的工作相当机械,加上频率还蛮高,导致时间浪费还是优点多。 修复bug什么的,测试,提交版本库(2分钟),ssh到测试环境pull部署(2分钟),rsync到线上机器A
Linux服务器使用SSH的命令
前一阵远程维护Linux服务器,使用的是SSH,传说中的secure shell。 登陆:ssh \[hostname\] -u user 输入密码:\*\*\*\*\* 登 陆以后就可以像控制自己的机器一样控制它了,不过没有可视化的界面。不过现在我所使用过的两个版本Linux(SUSE和FC5)中有可以使用类
ubuntu16.04 git 更新后配置了ssh后却依旧报错
sign\_and\_send\_pubkey: signing failed: agent refused operation Permission denied (publickey). 解决方案: 1.删除.ssh文件夹下id\_rsa文件 2.生成ssh key   - ssh-keygen -o -t rsa -C "your.emai
Ansible快速入门教程
Ansible快速入门 ----------- ### 介绍 `Ansible`是一款简单的运维自动化工具,只需要使用`ssh`协议连接就可以来进行系统管理,自动化执行命令,部署等任务。 **Ansible的特点** 1、ansible不需要单独安装客户端,也不需要启动任何服务 2、ansible是[Python](https://www.osc
Fedora开启SSH服务
1) 安装openssh-server yum install openssh-server  2) 查看是否已成功安装openssh-server rpm -qa | grep openssh-server  3) 修改ssh服务的配置文件 >    配置ssh服务的运行参数, 是通过修改配置文件/etc/ssh/ssh\
FinaShell工具 xshell替代的ssh工具
FinaShell 介绍 主要特性: FinaShell --------- ### 介绍 > FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求. * 官网 [http://www.hostbuf.com/](https://www.oschina.net/ac
FinalShell使用
最近发现了一款同类产品FinalShell,还是一块良心国货。初步体验了一下,确实是良心之作。且免费(通用版),支持国货。 FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求. **官网:**http://www.hostbuf.com/ **特色功能:** 免费海外服务器远
GitHub 新手教程 四,Git GUI 新手教程(1),OpenSSH Public Key
1,从开始菜单 启动 Git GUI,或者运行: D:\\soft\\Git\\cmd\\git-gui.exe (D:\\soft\\Git 为您的 GitHub 安装文件夹) 2,获取 SSH 密钥:  ![](https://oscimg.oschina.net/oscnet/083160fe85a9cab47d7fe9cdf3ae54dfc
GitHub使用SSH连接以及生成修改添加密钥详细过程
目录 * 1\. 先看看本地有没有SSH密钥 * 2\. 生成/修改密钥 * 3\. 把SSH密钥添加到ssh-agent * 4\. 把SSH密钥添加到GitHub账户里 * 5\. 测试使用ssh地址clone仓库 * 6\. 把远程仓库的URL从HTTPS改成SSH * 7\. 尝试一下push GitHub如果使用HT
Gitee 怎样生成公钥?
ssh-keygen 不是内部或外部命令解决办法! ------------------------- Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Users\dphudy>ssh-keygen -t rsa
Git使用总结
生成密钥 ==== 1. 打开Git Bash, 运行  \_ssh-keygen  \_ 2. 密钥生成空间 \_~/.ssh/id\_rsa   \_(C:/User/.ssh) 3. 输入密码(不输入增直接回车跳过) 4. _~/.ssh/id\_rsa.pub_ (公钥), _id\_rsa_ (私钥) 下载代码到本地 =======