SSH协议实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计(大作业)报告
课程名称:网络协议工程
设计题目:SSH协议
院系:信息技术学院
班级:09计科一班
设计者:李娜
学号:20091101139
指导教师:范老师、李老师
设计时间:2011-12-19至2011-12-23
信息技术学院
昆明学院课程设计(大作业)任务书
一、题目分析
SSH,即SecureShell,是一种介于传输层和应用层之间的加密隧道协议,具有C/S的体系结构。
SSH可以在本地主机和远程服务器之间设置“加密隧道”,并且这样设置的“加密隧道”可以跟常见的FTP,SMTP,POP应用程序,X应用程序相结和。
目的是要在非安全的网络上提供安全的远程登陆和相应的网络安全服务。
既然SSH是以提供安全服务为目标的协议,其中必不可少的是一套完备的密匙机制。
由于SSH协议是面向互联网中主机之间的互访与信息交换,所以主机密匙成为基本的密匙机制。
即SSH要求每一个使用本协议的主机都必须至少有一个自己的主机密匙对,服务器方通过对客户方主机密匙的认证之后,才允许其连接请求。
一个主机可以使用多个密匙,针对不同的密匙算法而拥有不同的密匙。
SSH在运行方式上,不像其他TCP/IP应用,被设计为工作于自己的基础之上,而不是利用包装(Wrappers)或通过Internet守护进程inetd运行。
根据IETF关于SSH草案的定义,SSH协议包含3个组成部分(层次)。
(1)传输层协议(SSH-TRANS)
(2)用户认证协议(SSH-UXERAUTH)
(3)连接协议(SSH-CONNECT)
二、总体设计
2.1设计原则
本着少花钱办大事的原则,充分利用有限的投资,在保证网络先进性的前提下,选用性能价格比最好的设备,我们认为SSH建设应该遵循以下原则:
1 先进性
以先进、成熟的网络通信技术进行组网,支持数据、语音、视像等多媒体应用,用基于交换的技术替代传统的基于路由的技术。
2 标准化和开放性
网络协议采用符合ISO及其他标准,采用遵从国际和国家标准的网络设备。
3 可靠性和可用性
选用高可靠的产品和技术,充分考虑系统在程序运行时的应变能力和容错能力,确保整个系统的安全与可靠。
4 灵活性和兼容性
选用符合国际发展潮流的国际标准的软件技术,以便系统有可靠性强、可扩展和可升级等特点,保证今后可迅速采用计算机网络发展出现的新技术,同时为现存不同的网络设备、小型机、工作站、服务器、和微机等设备提供入网和互连手段。
系统的灵活性主要表现在软件配置与负载平衡等方面,配合交换机产品与路由器产品支持的最先进的虚拟网络技术,整个网络系统可以通过软件快速简便地将用户或用户组从一个网络转移到另一个网络,可以跨越办公室、办公楼,而无需任何硬件的改变,以适应机构的变化。
同时也可以通过平衡网络的流量,以提高网络的性能。
5 实用性和经济性
从实用性和经济性出发,着眼于近期目标和长期的发展,选用先进的设备,进行最佳性能组合,利用有限的投资构造一个性能最佳的网络系统。
6 安全性和保密性
在接入Internet的情况下,必须保证网上信息和各种应用系统的安全。
扩展性和升级能力,网络设计应具有良好的扩展性和升级能力,选用具有良好升级能力和扩展性的设备。
在以后对该网络进行升级和扩展时,必须能保护现有投资。
应支持多种网络协议、多种高层协议和多媒体应用。
三、实验器材
SSH服务器 SSH客户端计算机
四、制作步骤
(1)网络设置
根据要求windows XP和虚拟机的网络设置如下:
1)将服务器端刚才产生的私钥存入本地
2)在客户端windows系统中查找刚才取得的私钥文件
由于刚才自己设置了目录在Xp的桌面上,所以在桌面上。
如下图:
获取客户端
启动wireshark
Sudo wireshark
2) 开始抓包,进行ssh连接,包如下图:
分析过程:
a.首先是TCP三次握手
b.紧接着是一个SShv2的包,server向client说明自己的SSH版本信息和系统版本信
息,client发TCP响应收到
c.Client发一个SSHv2包,向server说明client的SSH版本信息和系统版本信息,server
发TCP包响应收到
d.Client发Key Exchange init包,server响应收到
e.Server发key Exchange init包
f.Client向server发DH GEX请求
g.Server应答DH keyExchange请求
h.Client发送DHkey初始化请求
i.Server应答DHkey初始化请求
DH密钥交换验证过程结束,安全的连接建立
j.后面是加密数据的传输
3)重新开始抓包,进行telnet连接,包如下图:
a.首先还是TCP的三次握手
b.Client向server发送telnet数据,server响应之
c.Server向client端发送telnet环境,client响应
d.Client向server端发送telnet环境,server响应
e.Server向client端发送系统环境,client响应
f.Server向client发送登录框,请求输入用户名
g.Client每次一个字符向server发送命令,server收到正确的字符后响应client,这些
数据交换都是以明文形式的,直至遇到回车符
h.Server请求输入密码
i.Client依然每次发送一个字符把密码以明文的形式传送过去,知道回车
j.密码验证成功后,server向client发送登录成功信息
k.以后的命令都是以明文方式一个字符一个字符传送。
对比分析:通过比较SSH远程登录和telnet远程登录,明显可以看到,SSH比telnet安全,telnet的数据传输都是明文,没有经过加密处理,登录名和密码以及传输的数据很容易被人窃听,很不安全。
而SSH登录的话,是一个密钥验证的过程,而且以后的数据传输都是经过加密处理的,使得客户端和服务器之间的通信比较安全
五、方案比较
该方案简单方便更容易掌握方便操作
实验得到SSH协议既可以提供主机认证,又提供用户认证,同时还提供数据压缩,数据机密性和完整性保护。
SSH的不足之处在于他使用的是手工分发并预配置的公匙而非基于证书的密匙管理。
与SSL和TLS相比,这是SSH的主要缺陷。
但从SSH2.0协议开始允许一同使用PKI证书和密匙,将来在SSH产品中把这种特性和通用的PKI一起实现,这样可以降低密匙管理的负担并提供更强大的安全保障。
虽然SSH还有其不足之处,但相对于VPN和专业防火墙的复杂性和费用来说,也不失为一种可行的网络安全解决方案,尤其适合中小企业部署应用。
SSH解决了许多和网络有关的安全漏洞,有效地防止了网络窃听(Sniffer)、IP欺骗、DNS欺骗、连接劫持(ConnectionHijacking)、插入攻击(CompensationAttack)和中间人攻击(man-in-the-middle)等,但并没有解决全部问题,尤其是他仍然容易受到针对底层TCP/IP缺陷而发起的服务器拒绝攻击(DoS);他也不能解决一些考虑环境因素而产生的攻击方法,例如流量分析和隐秘通道;也不能防止出现病毒,Trojin木马和咖啡豆(coffeespill)。
对于TCP/IP的缺陷引起的问题,只能通过更低级的网络层技术才能很好的解决,例如硬件链路加密或IPSec;对于流量分析攻击,SSH可以在空闲时发送一些随机的,非操作性的信息来干扰活动状态的分析
六、参考文献
1] Daniel J. Barrett,Richard E. Silverman,《SSH权威指南》,中国电力出版社,2008.
[2] 王华等,《Delphi 5编程实例与技巧》,机械工业出版社,2010.
[3] (美)Steve Teixeira,《Delphi 5开发人员指南》,机械工业出版社,2010.
[4] IETF,《SSH DRAFT IETF》,,2009.4.
[5]《TCP/IP基础》.电子工业出版社.2008.6;。