有时候,当我孤独地坐着等待生命大门关闭时,一种与世隔绝的感觉就会像冷雾一样笼罩着我。远处有光明、音乐和友谊,但我进不去,命运之神无情地挡住了大门。我真想义正词严地提出抗议,因为我的心仍然充满了热情。但是那些酸楚而无益的话语流溢在唇边,欲言又止,犹如泪水往肚里流,沉默浸透了我的灵魂。然后,希望之神微笑着走来对我轻轻耳语说:“忘我就是快乐。”因而我要把别人眼睛所看见的光明当作我的太阳,别人耳朵所听见的音乐当作我的乐曲,别人嘴角的微笑当作我的快乐。

ssh总结

上一篇 / 下一篇  2009-08-18 15:32:00 / 个人分类:C语言

SSH是英文Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为PPP提供一个安全的"通道"。

  很多情况是由于服务器提供了Telnet服务引起的。的确,对于UNIX系统,如果要远程管理它,必定要使用远程终端,而要使用远程终端,自然要在服务器上启动Telnet服务。但是Telnet服务有一个致命的弱点——它以明文的方式传输用户名及口令,所以,很容易被别有用心的人窃取口令。

 

 

所谓“中间人”的攻击方式,就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”转手后做了手脚之后,就会出现很严重的问题。

定义: DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为。

原理:如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是DNS欺骗的基本原理。DNS欺骗其实并不是真的“黑掉”了对方的网站,而是冒名顶替、招摇撞骗罢了。

ip欺骗是基于IP地址的。第一步需要IP地址。而SSH传输的信息是加密的,不能被识别,所以无从下手。

什么是IP spoof?  

IP欺骗由若干步骤组成,这里先简要地描述一下,随后再做详尽 地解释。先做以下假定:首先,目标主机已经选定。其次,信任模式 已被发现,并找到了一个被目标主机信任的主机。黑客为了进行IP欺 骗,进行以下工作:使得被信任的主机丧失工作能力,同时采样目标 主机发出的TCP 序列号,猜测出它的数据序列号。然后,伪装成 被信任的主机,同时建立起与目标主机基于地址验证的应用连接。如 果成功,黑客可以使用一种简单的命令放置一个系统后门,以进行非 授权操作。

         IP spoof即IP 电子欺骗,我们可以说是一台主机设备冒充另外一台主机的IP地址,与其它设备通信,从而达到某种目的技术。
 

IP是网络层的一个非面向连接的协议, IP数据包的主要内容由源IP地址,目地IP地址,所传数据构成, 
      IP的任务就是根据每个数据报文的目的地址,路由完成报文从源地址到目的地址的传送。至于报文在传送过程中是否丢失或出现差错, 
      IP不会考虑。对IP来讲,源设备与目的设备没有什么关系,它们是相互独立的。IP包只是根据数据报文中的目的地址发送,因此借助高层协议的应用程序来伪造IP地址是比较容易实现的。  
 

2、SSH协议的内容
  
    SSH协议是建立在应用层和传输层基础上的安全协议,它主要由以下三部分组成,共同实现SSH的安全保密机制。
    传输层协议,它提供诸如认证、信任和完整性检验等安全措施,此外它还可以任意地提供数据压缩功能。通常情况下,这些传输层协议都建立在面向连接的TCP数据流之上。
    用户认证协议层,用来实现服务器的跟客户端用户之间的身份认证,它运行在传输层协议之上。
    连接协议层,分配多个加密通道至一些逻辑通道上,它运行在用户认证层协议之上。
    
    当安全的传输层连接建立之后,客户端将发送一个服务请求。当用户认证层连接建立之后将发送第二个服务请求。这就允许新定义的协议可以和以前的协议共存。连接协议提供可用作多种目的通道,为设置安全交互Shell会话和传输任意的TCP/IP端口和X11连接提供标准方法。
  
  
  
  3、SSH的安全验证
  
    从客户端来看,SSH提供两种级别的安全验证。
    
    第一种级别(基于口令的安全验证),只要你知道自己的帐号和口令,就可以登录到远程主机,并且所有传输的数据都会被加密。但是,这种验证方式不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到"中间人"这种攻击方式的攻击。
    
    第二种级别(基于密匙的安全验证),需要依靠密匙,也就是你必须为自己创建一对密匙,并把公有密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的用户根目录下寻找你的公有密匙,然后把它和你发送过来的公有密匙进行比较。如果两个密匙一致,服务器就用公有密匙加密"质询"(challenge)并把它发送给客户端软件。客户端软件收到"质询"之后就可以用你的私人密匙解密再把它发送给服务器。
    与第一种级别相比,第二种级别不需要在网络上传送用户口令。另外,第二种级别不仅加密所有传送的数据,而"中间人"这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能慢一些。
  
  
  
  4、SSH的应用
  
    首先,SSH最常见的应用就是,用它来取代传统的Telnet、FTP等网络应用程序,通过SSH登录到远方机器执行你想进行的工作与命令。在不安全的网路通讯环境中,它提供了很强的验证(authentication)机制与非常安全的通讯环境。实际上,SSH开发者的原意是设计它来取代原UNIX系统上的rcp、rlogin、rsh等指令程序的;但经过适当包装后,发现它在功能上完全可以取代传统的Telnet、FTP等应用程序。
    传统 BSD 风格的 r 系列指令(如 rcp,rsh,rlogin)往往都被视为不安全的,很容易就被各种网络攻击手段所破解,几乎所有找得到有关UNIX安全的书或文件,都会一而再、再而三地警告系统管理者,留心r系列指令的设定,甚至要求系统管理者将r系列指令通通关闭。
    而用来替代r系列指令的SSH,则在安全方面做了极大的强化,不但对通讯内容可以进行极为安全的加密保护,同时也强化了对身份验证的安全机制,它应用了在密码学(Cryptography)中已发展出来的数种安全加密机制,如 Symmetric Key Cryptography,Asymmetric Key Cryptography, One-way Hash Function,Random-number Generation等,来加强对于身份验证与通讯内容的安全保护。通讯时资料的加密有IDEA,three-key triple DES,DES,RC4-128,TSS,Blowfish 等数种多种安全加密算法可供选择,加密的key则是通过 RSA 进行交换的。资料的加密可以对抗IP spoofing,RSA这种非对称性的加密机制则可用来对抗DNS spoofing与IP routing spoofing,同时RSA也可以进行对主机身份的验证。
    其次,通过使用用SSH可以在本地主机和远程服务器之间设置"加密通道",并且这样设置的"加密通道"可以跟常见的Pop应用程序、X应用程序、Linuxconf应用程序相结合,提供安全保障。
    SSH的"加密通道"是通过"端口转发"来实现的。你可以在本地端口(没有用到的)和在远程服务器上运行的某个服务的端口之间建立"加密通道"。然后只要连接到本地端口。所有对本地端口的请求都被SSH加密并且转发到远程服务器的端口。当然只有远程服务器上运行SSH服务器软件的时候"加密通道"才能工作。

配置思路:

super password level 3 simple super

#

 local-user adm password simple adm

 local-user adm service-type ssh

 local-user adm level 0

#

rsa peer-public-key p1

  public-key-code begin

   308186

     028180

       91ADC5A6 7C855676 2958E6E9 960559D6 3F606C86 5BE1C74C EA313F81 BAC7437D

       297A422C 8A0D9C9E AAC8276D E0DC21B9 DCA937C2 846AFFDF 987AEFE1 6204CC63

       0C881FC1 7848297C 82B0B443 5EEDA260 27A7B744 3280B68E 84194DCD 78D89B9E

       35EF76C2 B382A538 80DBBA80 60219F04 E5034168 60EEC72A 53598B6F FB3A5365

     0201

       25                                

  public-key-code end

 peer-public-key end

#

rsa local-key-pair create

#

ssh user adm assign rsa-key p1

ssh user adm authentication-type rsa

#

user-interface vty 0 4

  authentication-mode local

protocol inbound ssh

创建SSH用户,并配置权限:

local-user huawei service-type administrator ssh password simple 3com

local-user adm service-type operator ssh password simple adm

# 设置系统所支持的远程登录协议SSH及最大连接数5[0-5可选,并可选择附加acl规则]

    protocol inbound ssh 5

# 产生本地RSA密钥对,但是disp current-configuration此命令是不显示的。

rsa local-key-pair create

# 进入公共密钥视图,配置客户端产生的公钥,p1是名字,可以任意指定,密钥产生见下章

# 配置的顺序一定不能颠倒,此处的密钥是采用ssh 软件的公钥生成的对应密钥,将内容粘贴后即可。

  rsa peer-public-key p1

    public-key-code begin

     hex 308186

      hex 028180

         hex 91ADC5A6 7C855676 2958E6E9 960559D6 3F606C86 5BE1C74C EA313F81

         hex BAC7437D 297A422C 8A0D9C9E AAC8276D E0DC21B9 DCA937C2 846AFFDF

         hex 987AEFE1 6204CC63 0C881FC1 7848297C 82B0B443 5EEDA260 27A7B744

         hex 3280B68E 84194DCD 78D89B9E 35EF76C2 B382A538 80DBBA80 60219F04

         hex E5034168 60EEC72A 53598B6F FB3A5365

      hex 0201

         hex 25

    public-key-code end

配置SSH用户的验证方式为RSA方式,all同时包含了RSA和password方式

   ssh user adm authentication-type rsa

   ssh user huawei authentication-type all

#AAA需要打开

 aaa-enable

Quidway] user-interface vty 0 4

[Quidway-ui-vty0-4] authentication-mode scheme

[Quidway-ui-vty0-4] protocol inbound ssh

[Quidway] local-user client001

[Quidway-luser-client001] password simple huawei

[Quidway-luser-client001] service-type ssh

[Quidway] ssh user client001 authentication-type password


TAG:

 

评分:0

我来说两句

Open Toolbar