CHAP单向验证举例
chap 的安全认证 -回复
chap 的安全认证-回复【chap 的安全认证】在计算机网络通信中,安全认证是一项至关重要的技术,它能够确保通信过程中的数据安全和身份验证。
Chap(Challenge-Handshake Authentication Protocol)是一种广泛应用于网络安全认证的协议,它使用了一种比较简单和高效的身份验证机制。
在本文中,我们将一步一步地解析chap的安全认证过程,并探讨其在实际应用中的重要性。
首先,让我们了解Chap的基本工作原理。
Chap是一种基于密码散列的挑战-握手认证协议。
在通信开始之前,客户端和服务器之间通过网络发送一系列挑战和响应消息进行握手。
Chap使用了一种称为单向散列函数(One-Way Hash Function)的密码学算法来生成和验证挑战-响应对。
这种算法可以确保在不传输明文密码的情况下,通过比对散列值来实现身份验证。
在Chap的安全认证过程中,首先,服务器将发送一个挑战给客户端。
这个挑战是一个随机生成的字符串,用于增加被攻击者猜测答案的难度。
客户端接收到挑战后,使用事先共享的密钥和密码散列函数来计算一个响应值,并将其返回给服务器。
在第二步中,服务器将使用相同的密钥和密码散列函数来计算预期的响应值。
然后,服务器将比对客户端发送的响应值和计算出的预期响应值。
如果两者相等,那么服务器将认为客户端是合法的,并允许其继续通信。
否则,将拒绝客户端的认证请求。
Chap的安全认证机制通过引入挑战和响应的方式,增加了破解者破解密码的难度。
即使在网络被攻击者截获的情况下,破解者也无法获得明文密码,因为挑战和响应都是通过密码散列函数计算得到的。
这种单向散列函数的特性,使得Chap成为一种相对安全的认证协议。
现在让我们探讨一下Chap在实际应用中的重要性。
Chap广泛应用于各种网络通信场景,例如拨号连接、虚拟专用网(VPN)、局域网(LAN)和广域网(WAN)等。
通过使用Chap的安全认证机制,网络管理员可以确保只有合法用户可以访问网络资源,从而提高网络的安全性和保密性。
PPP协议的PAP和CHAP认证
PPP协议的PAP和CHAP认证实验人:实验名称:PPP协议的PAP和CHAP认证实验目的:掌握PPP协议的PAP和CHAP认证的配置方法实验原理:PAP认证:用小凡搭建如图实验环境,然后配置各路由器的S0/0端口IP和PPP封装协议,再配置PAP认证,当只配置R1PAP认证时,不能ping通对方(192.168.1.2),再配置R2的发送PAP认证信息时,即可ping通(单向);在R1和R2上,分别配置PAP认证和发送PAP认证信息,此时,即可ping通R2(192.168.1.2),即实验成功!(双向)CHAP认证:用小凡搭建如图实验环境,然后配置各路由器的S0/0端口IP和PPP封装协议,再配置CHAP认证,当只配置R1 CHAP认证时,不能ping通对方(192.168.1.2),再配置R2的发送CHAP 认证信息时,即可ping通(单向);在R1和R2上,分别配置CHAP认证和发送CHAP认证信息,此时,即可ping通R2(192.168.1.2),即实验成功(双向认证)自动协商IP地址:在R1上,配置分配IP地址(端口下,命令peer default ip address 192.168.1.100),然后在R2上,配置自动协商IP地址(在端口下,命令ip add negotiated),此时在R2可以获得192.168.1.100的IP地址,即实验成功!头部压缩:在R1和R2上,配置头部压缩功能,再ping 192.168.1.2,使其用数据流,用show compress 命令查看压缩情况,即实验成功!实验过程:PAP单向认证:⑴用小凡搭建如图实验环境,如图示:⑵在R1的S0/0上,配置IP,如图示:⑶在R2的S0/0上,配置IP,如图示:⑷此时,即可ping通192.168.1.2 如图示:⑸在R1上,配置PPP协议,如图示:⑹在R2上,配置PPP协议,如图示:⑺此时,又可ping通192.168.1.2 如图示:⑻在R1上,配置PAP认证,如图示:⑼在R2上,配置发送PAP认证信息,如图示:⑽此时,又可以ping通192.168.1.2 如图示:PAP双向认证:⒈在R1上,配置PAP认证,如图示:⒉在R2上,配置发送PAP认证信息,如图示:⒊配置完后,即可ping通192.168.1.2,即单向认证,如图示:⒋在R2上,配置PAP认证,如图示:⒌此时,不能ping 通192.168.1.2 如图示:⒍在R1上,配置发送PAP认证信息,此时,可以又ping通192.168.1.2 如图示:CHAP单向认证:Ⅰ在R1上,配置CHAP认证,如图示:Ⅱ在R2上,配置发送CHAP认证信息,如图示:Ⅲ此时,即可ping通192.168.1.2 ,即CHAP 的单向认证成功!如图示:CHAP双向认证:①在R1上,配置CHAP认证,如图示:②在R2上,配置发送CHAP认证信息,如图示:③在R2上,配置CHAP认证,如图示:④此时,不能ping通192.168.1.2 原因为没有在R1上,配置发送CHAP认证信息,如图示:⑤在R1上,配置发送CHAP认证信息,此时,可以ping通192.168.1.2 ,即配置CHAP双向认证成功!如图示:自动协商IP地址:㈠在原有的实验环境下,去掉R2上的S0/0端口的IP地址,如图示:㈡在R1上的S0/0端口下,配置分配的IP地址为192.168.1.100 如图示:㈢在R2上的S0/0 端口上,配置自动协商IP地址,如图示:㈣此时,在R2上,分配到192.168.1.100的IP地址,即实验成功,如图示:头部压缩:①在R1上,开启头部压缩功能,如图示:②在R2上,开启头部压缩功能,如图示:③此时,ping 192.168.1.100 ,使其有数据通过,用命令即可查看到压缩的情况,(命令show compress)如图示:总结:在实验中,CHAP认证的步骤:处理CHAP挑战数据包(1、将序列号放入MD5散列生成器2、将随机数放入MD5散列生成器3、用访问服务器的认证名和数据库进行比较4、将密码放入MD5散列生成器);当显示串行接口时,常见以下状态: 1、Serial0/0 is up, line protocol is up //链路正常2、Serial0/0 is administratively down, line protocol is down //没有打开该接口,执行no sh 打开即可3、Serial0/0 is up, line protocol is down //物理层正常,数据链路层有问题,通常是没有配置时钟,两端封装不匹配或PPP认证错误4、Serial0/0 is down, line protocol is down //物理层故障,通常是连线问题;PAP 不支持密码的加密,压缩,link绑定,设定最大传输单元等,CHAP 支持以上内容;PAP和CHAP验证发送的信息内容为验证路由器数据库中的用户名和密码;在CHAP中,被验证方不明确定义发送主机名来验证时,默认发送该路由器的主机名;配置PAP双向认证时,用户名和密码都可以不一样,但配置CHAP双向认证时,要保证两台路由器的密码一致;。
H3C-PPP和PPPoE配置举例
典型配置举例1.5 PPP单向认证举例1.5.1 PAP1. 组网需求Router ARouter B之间用接口Serial2/1/0互连,要求如图1-3所示,Router A和进行认证。
Router B不需要对Router A用PAP方式认证Router B,组网图2.图1-3 配置PAP单向认证组网图3. 配置步骤(1) 配置Router A# 为Router B创建本地用户。
<RouterA> system-view[RouterA] local-user userb class network# 设置本地用户的密码。
[RouterA-luser-network-userb] password simple passb# 设置本地用户的服务类型为PPP。
[RouterA-luser-network-userb] service-type ppp[RouterA-luser-network-userb] quit# 配置接口封装的链路层协议为PPP(缺省情况下,接口封装的链路层协议为PPP,此步骤可选)。
[RouterA] interface serial 2/1/0[RouterA-Serial2/1/0] link-protocol ppp# 配置本地认证Router B的方式为PAP。
[RouterA-Serial2/1/0] ppp authentication-mode pap domain system# 配置接口的IP地址。
[RouterA-Serial2/1/0] ip address 200.1.1.1 16[RouterA-Serial2/1/0] quit# 在系统缺省的ISP域system下,配置PPP用户使用本地认证方案。
[RouterA] domain system[RouterA-isp-system] authentication ppp local(2) 配置Router B# 配置接口封装的链路层协议为PPP(缺省情况下,接口封装的链路层协议为PPP,此步骤可选)。
CHAP解释
CHAPCHAP全称是PPP(点对点协议)询问握手认证协议(Challenge Handshake Authentication Protocol)。
该协议可通过三次握手周期性的校验对端的身份,可在初始链路建立时完成时,在链路建立之后重复进行。
通过递增改变的标识符和可变的询问值,可防止来自端点的重放攻击,限制暴露于单个攻击的时间。
目录简述询问握手认证协议(CHAP)通过三次握手周期性的校验对端的身份,在初始链路建立时完成,可以在链路建立之后的任何时候重复进行。
1. 链路建立阶段结束之后,认证者向对端点发送“challenge”消息。
2. 对端点用经过单向哈希函数计算出来的值做应答。
3. 认证者根据它自己计算的哈希值来检查应答,如果值匹配,认证得到承认;否则,连接应该终止。
4. 经过一定的随机间隔,认证者发送一个新的 challenge 给端点,重复步骤 1 到 3 。
通过递增改变的标识符和可变的询问值,CHAP 防止了来自端点的重放攻击,使用重复校验可以限制暴露于单个攻击的时间。
认证者控制验证频度和时间。
特性该认证方法依赖于只有认证者和对端共享的密钥,密钥不是通过该链路发送的。
虽然该认证是单向的,但是在两个方向都进行 CHAP 协商,同一密钥可以很容易的实现相互认证。
由于CHAP 可以用在许多不同的系统认证中,因此可以用NAME 字段作为索引,以便在一张大型密钥表中查找正确的密钥,这样也可以在一个系统中支持多个 NAME/ 密钥对,并可以在会话中随时改变密钥。
CHAP 要求密钥以明文形式存在,无法使用通常的不可回复加密口令数据库。
CHAP 在大型网络中不适用,因为每个可能的密钥由链路的两端共同维护。
协议结构CHAP 帧格式CHAP 的配置选项格式如下:8 16 32 40 bitType Length Authentication-Protocol AlgorithmType ― 3Length ― 5Authentication-Protocol ― 对于CHAP,为 C223(Hex)。
9、PPP CHAP验证详解(抓包分析) (TEST系列文档) V1.2
PPP CHAP验证详解Version 1.2 Update:2014-11-10 By:鲍中帅一、概述 (2)二、实现 (2)2.1、实现目标 (2)2.2、实现步骤 (2)2.3、效果查看 (3)2.4、分析过程 (4)A、debug分析过程(R1为例) (4)B、抓包分析过程 (5)三、补充 (6)一、概述在广域网中,PPP因其具备地址协商、身份验证等特性,得到了较多的使用,本章,主要讲解PPP中较为安全的一款身份验证方式:CHAP;CHAP相对于PAP,弥补了PAP直接传递口令的缺陷,实现了在不直接传递口令的前提下对身份的确认;CHAP具体的验证过程主要有以下几步:A、当链路UP后,主验证方会触发发送挑战报文,报文类型为challenge,在报文中,用1来表示;挑战报文主要携带的内容为:报文ID、挑战的随机数以及本接口下配置的用户名;B、当被验证方收到对方发送过来的挑战报文后,会提取出报文中的报文ID、随机数、以及用户名,此后先查找本接口下是否配置了相应的chap password,若接口下没有配置,则提取出主验证方发送过来的报文中的用户名查找本设备的aaa用户账户数据库,找到用户名所对应的密码,并将对端发送过来报文的报文ID、随机数以及刚刚查找到的密码在一起进行hash运算;得到hash值;C、之后,被验证方将刚刚运算得到的值加上主验证方之前发送过来的报文ID以及本设备接口下配置的用户名,一并发送给对端;此时报文类型为response,用2来表示;D、对端也就是主验证方收到后,提取出其中的用户名,查找用户账户数据库,若找到相应的password,则用报文ID、之前发送过去的随机数以及刚刚查找到的password,进行hash运算,得到一个值,将这个值与刚刚被验证方发送过来的值做比较,若一致,则认为两端的密码一致,口令验证正确;主验证方将会发送一个验证通过的报文给被验证方,提示验证通过,此报文类型用3来表示;反之,则会发送一个验证失败的报文,报文类型用4来表示;E、这里可以看出,在会话中,两端的报文ID需要是一样的(自动生成),同时,两端的密码也要求是一样的(手工配置),否则将会出现验证错误;二、实现主验证方被验证方R1R22.1、实现目标在两台路由器之间连接了一根串行链路,为了保证安全性,使用了CHAP验证,R1作为主验证方,R2作为被验证方,要求仅仅只能访问验证通过的设备;验证失败的设备不能够互相访问;2.2、实现步骤#首先配置主验证方R1:[R1]local-user r1 class network//红色部分,是V7平台需要注意的,V5没有;[R1-luser-network-r1]password simple admin[R1-luser-network-r1]service-type ppp#以上是创建本地用户账户数据库;[R1]interface Serial 1/0[R1-Serial1/0]ip address 10.1.12.1 255.255.255.0[R1-Serial1/0] ppp authentication-mode chap//设置本端为主验证方,并开启chap验证;[R1-Serial1/0] ppp chap user r2 //设置验证对端的用户名;#以上是在接口下开启验证以及设置连通性相关参数;这里需要提到,主验证方的接口下如果不配置用户名,即:ppp chap user r2这条命令,那么在H3C的设备上会用本设备的hostname来填充发起的challenge中的相关字段;具体的说,在本例中,如果主验证方R1的接口下不配置这个验证的user为r2,那么它仍然可以发起挑战,挑战报文中的用户字段填充的为主验证方设备的hostname,即:R1;#再配置被验证方R2:[R2]local-user r2 class network//红色部分,是V7平台需要注意的,V5没有;[R2-luser-network-r2]password simple admin[R2-luser-network-r2]service-type ppp#以上是创建本地用户账户数据库;[R2]interface Serial 1/0[R2-Serial1/0]ip address 10.1.12.2 255.255.255.0[R2-Serial1/0] ppp chap user r1 //设置验证对端的用户名;#以上是在接口下开启验证以及设置连通性相关参数;被验证方接口下必须要配置验证用户,否则无法建立验证会话;2.3、效果查看在配置完成后,需要将接口shutdown/undo shutdown后方可生效!切记!本质原因是因为验证阶段是在LCP协商阶段发现的,而端口一旦完成LCP协商后,验证参数将不会被再次协商,所以需要触发LCP 协商,而shutdown就可以触发;[R1]ping 10.1.12.2Ping 10.1.12.2 (10.1.12.2): 56 data bytes, press CTRL_C to break56 bytes from 10.1.12.2: icmp_seq=0 ttl=255 time=1.801 ms56 bytes from 10.1.12.2: icmp_seq=1 ttl=255 time=0.893 ms56 bytes from 10.1.12.2: icmp_seq=2 ttl=255 time=0.926 ms56 bytes from 10.1.12.2: icmp_seq=3 ttl=255 time=0.915 ms56 bytes from 10.1.12.2: icmp_seq=4 ttl=255 time=1.040 ms--- Ping statistics for 10.1.12.2 ---#验证通过,并且可以访问对端;2.4、分析过程过程分析主要是建立在报文分析之上,但如果现实条件不具备,可以通过debug来分析,效果类似;我们这里先通过debug来分析,之后再通过wireshark抓包来分析过程;A、debug分析过程(R1为例)在欲开启debug的设备上执行debug操作:命令为:<R1>terminal monitor<R1>terminal debugging<R1>debugging ppp chap all //可以根据需要开启相应的输出;%Sep 10 08:47:39:018 2014 R1 IFNET/5/LINK_UPDOWN: Line protocol state on the interface Serial1/0 changed to up .*Sep 10 08:47:39:018 2014 R1 PPP/7/CHAP_EVENT_0:PPP Event:Serial1/0 CHAP Initial EventState Initial*Sep 10 08:47:39:019 2014 R1 PPP/7/CHAP_EVENT_0:PPP Event:Serial1/0 CHAP Server Lower Up EventState Initial*Sep 10 08:47:39:019 2014 R1 PPP/7/CHAP_PACKET_0:PPP Packet:Serial1/0 Output CHAP(c223) Pkt, Len 27State Initial, code Challenge(01), id 1(报文ID), Len 23Value_Size: 16 Value:d4 50 18 40 41 c9 05 f5 83 93 76 74 9d 44 18 01(随机数)Name: r2(接口下配置的用户名)*Sep 10 08:47:39:020 2014 R1 PPP/7/CHAP_STATE_0:PPP State Change:Serial1/0 CHAP: Initial --> SendChallenge#以上是第一个过程,由主验证方发起的挑战报文;当主验证方检测到链路层UP后,将PPP状态机切换至initial,之后会发送一个挑战报文给被验证方;然后再将状态机由initial切换至SendChallenge;意味着挑战报文已经发送成功;*Sep 10 08:47:39:024 2014 R1 PPP/7/CHAP_PACKET_0:PPP Packet:Serial1/0 Input CHAP(c223) Pkt, Len 27State SendChallenge, code Response(02), id 1, Len 23Value_Size: 16 Value:d7 26 af 8f da 41 94 86 34 3a c0 87 fb 13 70 76Name: r1*Sep 10 08:47:39:024 2014 R1 PPP/7/CHAP_EVENT_0:PPP Event:Serial1/0 CHAP Receive Response EventState SendChallenge*Sep 10 08:47:39:024 2014 R1 PPP/7/CHAP_STATE_0:PPP State Change:Serial1/0 CHAP: SendChallenge --> WaitingAAA#R1作为主验证方收到了被验证方返回的关于挑战报文的回应包,即:response;这个报文是被验证方发送过来的,里面携带了相关参数;此时主验证方将提取出其中的用户名、报文ID以及自己之前保存的随机数,同本地的密码一起进行hash运算,得到一个值,将这个值与这里收到的值进行一次与运算,若结果一致,则认为验证通过,若不一致,则验证失败;这里的WaitingAAA状态便是在进行等待AAA计算结果;下面就是计算结束的状态了;*Sep 10 08:47:39:030 2014 R1 PPP/7/CHAP_EVENT_0:PPP Event:Serial1/0 CHAP AAA Result EventState WaitingAAA*Sep 10 08:47:39:030 2014 R1 PPP/7/CHAP_STATE_0:PPP State Change:Serial1/0 CHAP: WaitingAAA --> ServerSuccess*Sep 10 08:47:39:030 2014 R1 PPP/7/CHAP_PACKET_0:PPP Packet:Serial1/0 Output CHAP(c223) Pkt, Len 22State ServerSuccess, code SUCCESS(03), id 1, Len 18Message: Welcome to r2.#计算结束,将状态机从WaitingAAA切换至ServerSuccess;同时,会发送一个验证成功报文给被验证方;至此,验证结束;#若验证失败,则如下;*Sep 10 09:44:56:308 2014 R1 PPP/7/AUTH_ERROR_0:PPP Error:Serial1/0 CHAP: Server authentication failed No. 1 !*Sep 10 09:44:56:308 2014 R1 PPP/7/CHAP_STATE_0:PPP State Change:Serial1/0 CHAP: WaitingAAA --> ServerFailed*Sep 10 09:44:56:309 2014 R1 PPP/7/CHAP_PACKET_0:PPP Packet:Serial1/0 Output CHAP(c223) Pkt, Len 33State ServerFailed, code FAILURE(04), id 1, Len 29Message: Illegal user or password.B、抓包分析过程#这是主验证方发送的第一个报文,挑战包,可以看到详细的参数;包括报文ID、随机数以及用户名;#这是被验证发送的Response报文,其中的相关参数也很明确,需要注意的是,这里的Value并不是随机数,而是hash值,用来给主验证方做比较用的;只有Challenge报文中的Value值才是随机数;#验证成功后,由R1主验证方发送出来的报文;#若验证失败,则如下:三、补充3.1、CHAP验证的过程中,以上示例均是在本地的Local-user中完成用户账户数据验证的,其实也可以在接口下直接创建password,在H3C以及华为的设备中,若被验证方在接口下以及本地账户中均存在相应的Password,则优先选择接口下的password;3.2、以上示例演示的是单向验证,CHAP也支持双向验证,过程和单向验证一致,只是再重复一次罢了;。
路由器是工作在OSI参考模型第三层
路由器是工作在OSI参考模型第三层——网络层的数据包转发设备。
路由器通过转发数据包来实现网络互连。
虽然路由器可以支持多种协议(如TCP/IP、IPX/SPX、AppleT alk等协议),但是在我国绝大多数路由器运行TCP/IP协议。
路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口。
路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包。
路由器通过动态维护路由表来反映当前的网络拓扑,并通过与网络上其他路由器交换路由和链路信息来维护路由表。
路由器设备厂商最有名的是Cisco公司,以下是Cisco路由器配置的常用命令汇总,希望对正在学习和应用思科路由器的你有帮助。
启动接口,分配IP地址:router>router> enablerouter#router# configure terminalrouter(config)#router(config)# interface Type Portrouter(config-if)# no shutdownrouter(config-if)# ip address IP-Address Subnet-Maskrouter(config-if)# ^z配置RIP路由协议:30秒更新一次router(config)# router riprouter(config-if)# network Network-Number <--通告标准A,B,C类网-->router(config-if)# ^z配置IGRP路由协议:90秒更新一次router(config)# router igrp AS-Number <-- AS-Number范围1~65535-->router(config-if)# network Network-Number <--通告标准A,B,C类网-->router(config-if)# ^z配置Novell IPX路由协议:Novell RIP 60秒更新一次router(config)# ipx routing [node address]router(config)# ipx maximum-paths Paths <--设置负载平衡,范围1~512-->router(config)# interface Type Portrouter(config-if)# ipx network Network-Number [encapsulation encapsulation-type] [secondary] <--通告标准A,B,C类网-->router(config-if)# ^z配置DDR:router(config)# dialer-list Group-Number protocol Protocol-Type permit[list ACL-Number]router(config)# interface bri 0router(config-if)# dialer-group Group-Numberrouter(config-if)# dialer map Protocol-Type Next-Hop-Address name Hostname Telphone-Numberrouter(config-if)# ^z配置ISDN:router(config)# isdn swith-type Swith-Type <--配置ISDN交换机类型,中国使用basic-net3-->router(config-if)# ^zPAP单向认证配置实例:验证方:router-server(config)# username Client password 12345 <--验证方建立数据库--> router-server(config)# interface serial 0router-server(config-if)# encapsulation ppprouter-server(config-if)# ppp authentication pap <--选择使用PAP实现PPP认证--> router-server(config-if)# ^z被验证方:router-client(config-if)# encapsulation ppprouter-client(config-if)# ppp pap sent-username Client password 12345 <--发送验证信息-->router-client(config-if)# ^zPAP双向认证配置实例:路由器A:routerA(config)# username B password 12345routerA(config)# interface serial 0routerA(config-if)# encapsulation ppprouterA(config-if)# ppp authentication paprouterA(config-if)# ppp pap sent-username A password 54321routerA(config-if)# ^z路由器B:routerB(config)# username A password 54321routerB(config)# interface serial 1routerB(config-if)# encapsulation ppprouterB(config-if)# ppp authentication paprouterB(config-if)# ppp pap sent-username B password 12345routerB(config-if)# ^zCHAP单向认证配置实例:验证方:router-server(config)# username router-client password 12345router-server(config)# interface serial 0router-server(config-if)# encapsulation ppprouter-server(config-if)# ppp authentication chaprouter-server(config-if)# ^z被验证方:router-client(config-if)# encapsulation ppprouter-client(config-if)# ppp authentication chaprouter-client(config-if)# ppp chap hostname router-clientrouter-client(config-if)# ppp chap password 12345router-client(config-if)# ^z配置Frame Relay:router(config-if)# encapsulation frame-relay [cisco ietf ]router(config-if)# frame-relay lmi-type [ansi cisco q933a ]router(config-if)# bandwidth kilobitsrouter(config-if)# frame-relay invers-arp [ Protocol ] [dlci ]<--配置静态Invers ARP表:router(config)# frame-relay Protocol Protocol-Address DLCI [ Broadcast ] [ ietf cisco ] [ payload-compress packet-by-packet ]--><--设置Keepalive间隔:router(config-if)# keepalive Number--><--为本地接口指定DLCI:router(config-if)# frame-lelay local-dlci Number--><--子接口配置:router(config-if)# interface Type Port.Subininterface-Number [ multipoint point-to-point ]router(config-subif)# ip unnumbered Interfacerouter(config-subif)# frame-lelay local-dlci Number-->router(config-if)# ^z配置标准ACL:router(config)# access-list Access-List-Number [ permit deny ] source [ source-mask ] <-- Access-List-Number 范围:1~99标准ACL;100~199扩展ACL;800~899标准IPX ACL;900~999扩展IPX ACL;1000~1099 IPX SAP ACL;600~699Apple T alk ACL-->router(config)# interface Type Portrouter(config-if)# ip access-group Access-List-Number [ in out ]router(config-if)# ^z配置扩展ACL:router(config)# access-list Access-List-Number [ permit deny ] [ Protocol Protocol-Number ] source source-wildcard [ Source-Port ] destinationdestination-wildcard [ Destination-Port ] [ established ]router(config)# interface Type Portrouter(config-if)# ip access-group Access-List-Number [ in out ]router(config-if)# ^z配置命名ACL:router(config)# ip access-list [ standard extended ] ACL-Namerouter(config [ std- ext- ] nacl)# [ permit deny ] [ IP-Access-List-Test-Conditions ]router(config [ std- ext- ] nacl)# no [ permit deny ] [ IP-Access-List-Test-Conditions ]router(config [ std- ext- ] nacl)# ^zrouter(config)# interface Type Portrouter(config-if)# ip access-group [ACL-Name 1~199 ] [ in out ]router(config-if)# ^z配置DCE时钟:router# show controllers Type Port <--确定DCE接口-->router(confin-if)# clock rate 64000 <--进入DCE接口设置时钟速率-->router(config-if)# ^z配置PPP协议:router(config)# username Name password Set-Password-Here <--验证方建立数据库-->router(config)# interface Type Portrouter(config-if)# encapsulation ppp <--启动PPP协议-->router(config-if)# ppp outhentication [ chap chap pap pap chap pap ] <--选择PPP认证-->router(config-if)# ppp pap sent-username Name password Password <--发送验证信息-->router(config-if)# ^zCHAP双向认证配置实例:路由器A:routerA(config)# username routerB password 12345routerA(config)# interface serial 0routerA(config-if)# encapsulation ppprouterA(config-if)# ppp authentication chaprouterA(config-if)# ppp chap hostname routerArouterA(config-if)# ppp chap password 54321routerA(config-if)# ^z路由器B:routerB(config)# username routerA password 54321routerB(config)# interface serial 1routerB(config-if)# encapsulation ppprouterB(config-if)# ppp authentication chaprouterB(config-if)# ppp chap hostname routerBrouterB(config-if)# ppp chap password 12345routerB(config-if)# ^zTelnet使用:routerA# terminal monitor <--可以传回在远端主机执行Debug命令的结果--> routerA# telnet IP-Address [ Router-Name ] <--Telnet到指定的地址或名字的主机--> routerB# [ exit logout ] <--退出Telnet-->routerB# ++<6>再按<--挂起Telnet-->routerA# show sessions <--显示当前所有Telnet的信息,包括Connect-Number --> routerA# Connect-Number <--返回指定的Telnet连接-->routerA# disconnect IP-Address [ Router-Name ] <--断开指定地址或名字的主机的连接-->routerA# show user <--显示Telnet到本机的连接信息-->routerA# clear line [ 0 1 2 3 4 ] <--断开指定Telnet到本机的连接-->禁止任何Telnet到本机:router(config)# line vty 0 4router(config-line)# access-class ACL-Numberrouter(config)# ^z设置主机名:router(config)# hostname Set-Hostnamerouter(config)# ^zrouter(config)# ^z设置用户模式密码:router(config)# line console 0router(config-line)# loginrouter(config-line)# password Set-Passwordrouter(config-line)# ^z设置Telnet密码:router(config)# line vty 0 4router(config-line)# loginrouter(config-line)# password Set-Passwordrouter(config-line)# ^z设置特权模式密码:router(config)# enable password Set-Password <--不加密的密码,明码-->router(config)# enable secret Set-Password <--经过加密的密码-->router(config)# ^z给所有密码加密:router(config)# service password-ancryption Set-Password-Hererouter(config)# no service password-ancryption <--取消加密-->router(config)# ^z设置登录Banner:router(config)# banner motd 分隔符Set-Banner-InFORMation-Here 分隔符<--前后分隔符一定要一致-->设置接口的描述信息:router(config-if)# description Set-Port-InFORMation-Hererouter(config)# ^zCDP的控制:router(config-if)# cdp enable <--在指定端口启用CDP,缺省-->router(config-if)# no cdp enable <--在指定端口关闭CDP-->router(config)# cdp run <--使所有端口启用CDP-->router(config)# no cdp run <--使所有端口关闭CDP-->Ping的使用:router# ping IP-Addressrouter# ping <--扩展Ping命令-->Protocol [ip]:[ Protocol-Type ] <--选择协议类型-->T arget IP address:IP-Address <--输入测试地址-->Repeat count [5]:<--选择发送的ICMP包数量-->Datagram size [100]:<--选择每个包的大小-->Timeout in seconds [2]:<--设置每个包的超时时间-->Extended commands [n]:y <--使用扩展Ping命令-->Sweep range of sizes [n]:Tracke的使用:router# trace IP-Address [ Host-Name ]为Cisco 4000路由器指定媒体类型:router(config-if)# media-type 10baset <--使AUI(默认)失效,改为使用RJ-45--> router(config-if)# ^z更改路由器启动顺序:router(config)# boot system flash IOS-FileNamerouter(config)# boot system tftp IOS-FileName TFTP-IP-Addressrouter(config)# boot system romrouter(config)# ^z修改寄存器数值:router(config)# config-register value <--Cisco出厂默认value=0x2102,value范围:0x2100(进入ROM监视器),0x2101(使系统从ROM启动),0x2102~0x210F(使系统从NVRAM启动)。
同时启用chap和pap两种认证
使用的命令为:
R2(config-if)#ppp authentication chap pap或者
R2(config-if)#ppp authentication pap chap
如果同时启用了两种验证协议,则在配置中指定的第一种验证方式在链路协商过程中将被请求。如果另一端设备建议使用第二种验证方法,或者第一种验证方法没有通过,那么两台设备之间就开始尝试第二种验证方法。
ip address1.1.1.2 255.255.255.0
encapsulationppp
通过上面的配置,在没有启用任何认证的情况下,链路是通的。
配置步骤:
1.在两台路由器上进行pap认证:
如果我们进行单项认证的话配置应该如下
R1为认证的服务器端,需要建立本地口令数据库,并且开始pap认证。
R1(config)#usernameR2passwordgairuhe------------------------建立本地口令数据库
*Aug 23 17:07:24.107: Se1/0 CHAP: O FAILURE id 42 len 25 msg is "Authentication failed"
我们看到chap认证是通过发送一个challenge信息来进行认证。在R2上启用chap认证
R2(config)#int s1/0
此时链路已经起来,我们仅在R1上做了认证,而在R2上没有进行认证。这就是pap的单向认证。
Pap的双向认证:
Pap的双向认证其实就是将两端同时都配置为认证服务器端和认证客户端。在上面实验的基础上,我们只要将R2配置成服务器端,将R1配置成客户端即可。
R2(config)#username R1 password gairuhe
网络互连第六周--PPP协议之PAP认证
点对点PPP协议PAP认证一、背景描述你是公司的网络管理员,公司为了满足不断增长的业务需求,申请了专线接入,你的客户端路由器与ISP 进行链路协商时要验证身份,配置路由器保证链路的建立,并考虑其安全性。
二、实验内容在两台路由器上配置PAP 或CHAP 验证协议,在链路协商时保证安全验证。
链路协商时密码以密文的方式传输,更安全。
具体包括PAP 单向认证和PAP 双向认证,以及CHAP 单向或双向认证。
三、实验拓扑1、PAP单向认证图1 PAP 单向认证2、PAP双向认证图2 PAP 双向认证四、相关知识1、PPP 协议点到点协议(point to point protocol,PPP)是IETF(inteIrnet engineering task force,因特网工程任务组)推出的点到点类型线路的数据链路层协议。
它解决了slip 中的问题,并成为正式的因特网标准。
PPP 支持在各种物理类型的点到点串行线路上传输上层协议报文。
PPP 有很多丰富的可选特性,如支持多协议、提供可选的身份认证服务、可以以各种方式压缩数据、支持动态地址协商、支持多链路捆绑等等。
这些丰富的选项增强了PPP 的功能。
同时,不论是异步拨号线路还是路由器之间的同步链路均可使用。
因此,应用十分广泛。
PPP 提供了两种可选的身份认证方法:口令验证协议PAP(password authentication protocol,PAP)和质询握手协议(challenge handshake authentication protocol,chap)。
如果双方协商达成一致,也可以不使用任何身份认证方法。
2、PAP 验证原理PAP 是一个简单的、实用的身份验证协议。
如图3 所示。
图3 PAP 认证示意图PAP 认证进程只在双方的通信链路建立初期进行。
如果认证成功,在通信过程中不再进行认证。
如果认证失败,则直接释放链路。
PAP 的弱点是用户的用户名和密码是明文发送的,有可能被协议分析软件捕获而导致安全问题。
pap与chap
它的特点是只在网络上传输用户名,而并不传输用户口令,因此它的安全性要比
PAP 高。
CHAP 验证为三次握手验证,口令为密文(密钥),CHAP 验证过程如下:
?? 验证方向被验证方发送一些随机产生的报文,并同时将本端的主机名附带上
CHAP 验证为三次握手验证,口令为密文(密钥),CHAP 验证过程如下:
?? 验证方向被验证方发送一些随机产生的报文,并同时将本端的主机名附带上
一起发送给被验证方;
?? 被验证方接到对端对本端的验证请求(Challenge)时,便根据此报文中验
证方的主机名和本端的用户表查找用户口令字,如找到用户表中与验证方主机名
获,便有可能对网络安全造成极大的威胁。因此,它适用于对网络安全要求相对
较低的环境。
CHAP 验证为三次握手验证,口令为密文(密钥),CHAP 验证过程如下:
?? 验证方向被验证方发送一些随机产生的报文,并同时将本端的主机名附带上
一起发送给被验证方;
?? 被验证方接到对端对本端的验证请求(Challenge)时,便根据此报文中验
PAP 验证为两次握手验证,口令为明文,PAP 验证的过程如下:
被验证方发送用户名和口令到验证方;
验证方根据用户配置查看是否有此用户以及口令是否正确,然后返回不同的响应
(Acknowledge or Not Acknowledge)。
如正确则会给对端发送ACK 报文,通告对端已被允许进入下一阶段协商;否则
发送NAK 报文,通告对端验证失败。此时,并不会直接将链路关闭。只有当验
证不通过次数达到一定值(缺省为4)时,才会关闭链路,来防止因误传、网络
PPP实验报告
PPP实验报告学号 _________ 学生姓名_____ 实验时间____________________课程名称:网络管理与维护辅导教师:【实验名称】点到点协议PPP配置实验【实验任务】任务1:配置PPP协议的PAP认证实验任务2:配置PPP协议的CHAP单向认证实验任务1:配置PPP协议的PAP认证实验【实验目的】掌握在路由器serial接口上PPP封装以及实现PAP验证的配置方法,理解PAP验证的一般过程。
【实验设备和连接】实验设备和连接如下图所示,通过V.35连接线把两台锐捷R1762路由器的Serial接口连接起来,路由器分别命名为R1、R2。
图1PPP的PAP认证实验【实验分组】每四名同学为一组,其中每两人一小组,每小组各自独立完成实验。
【实验内容】步骤1:路由器基本配置:包括配置设备名、接口地址、启用接口;R1的配置如下:Router> enablePassword:Router# config terminalRouter (config)# hostname R1 !设备名为R1R1(config)# interface serial 1/2 !进入S1/2接口模式R1(config-if)# ip address 172.16.10.1 255.255.255.0 !配置S1/2接口IP地址R1(config-if)# no shutdown !启用S1/2接口R1(config-if)# clock rate 64000 !设置时钟(DCE)R2的配置如下:Router> enablePassword:Router# config terminalRouter (config)# hostname R2 !设备名为R2R2(config)# interface serial 1/2 !进入S1/2接口模式R2(config-if)# ip address 172.16.10.2 255.255.255.0 !配置S1/2接口IP地址R2(config-if)# no shutdown !启用S1/2接口配置完成后,使用ping命令做连通验证(R1上执行ping 172.16.10.2,第一次ping)。
01 PPP和MP配置
6.1.1 PPP简介
PPP介绍
PPP是在点到点链路上承载网络层数据包的一种链路层协 议。由于它能够提供用户验证,易于扩充,并且支持同异 步通信,因而获得广泛应用。
PPP定义了一整套协议,包括:
链路控制协议LCP(Link Control Protocol),主要 用来建立、拆除和监控数据链路。 网络层控制协议NCP(Network Control Protocol),主要用来协商在该数据链路上所传输 的数据包的格式与类型。 验证协议(PAP和CHAP),用于网络安全方面的 验证。
23673配置ppp接口工作在mp方式24674检查配置结果2468采用mpgroup进行mp绑定25681建立配置任务25682将接口加入到mpgroup26683配置去使能终端标识符协商27684检查配置结果2769配置mp限制参数27691建立配置任务27692配置mp最大捆绑链路数28693配置出报文进行分片的最小报文长度29694配置mp分片重组窗口功能29695检查配置结果29610维护30611配置举例306111配置pap示例316112配置chap单向验证示例336113配置chap双向验证示例366114采用mpgroup进行mp绑定示例386115采用虚拟接口模板进行mp直接绑定示例426116采用虚拟接口模板进行mp验证绑定示例46612故障处理526121物理链路不能转为up状态526122链路始终不能转为up状态526123ppp的chap验证失败536124使用虚拟接口模板配置mp不工作53vrp配置指南广域网接入插图目录文档版本0120061220华为技术有限公司iii图61ppp运行流程图图62papchap验证示例组网图31图63mpgroup绑定组网图38图64mp直接绑定组网图43图65mp配置组网图54vrp配置指南广域网接入ppp和mp配置文档版本0120061220华为技术有限公司pppmp关于本章本章描述内容如下表所示
实验14.3PPP之CHAP认证
实验14.3PPP之CHAP认证实验14.3 PPP之CHAP认证⼀、实验需求(1)路由器串⼝通过PPP进⾏地址协商获取IP地址;(2)路由器之间改成CHAP认证,以建⽴PPP链路。
⼆、实验拓扑图1 配置CHAP单向认证实验三、实验步骤(1)请根据实验拓扑图,配置各个路由器的主机名(主机名格式:如R1-zhangsan)和接⼝IP地址,R2的接⼝IP采⽤PPP协商获取,请给出R1、R2的配置截图。
与实验14.2配置相同,图略(2)在R2上查看接⼝是否获取到IP地址,并观察接⼝状态,再截图。
与实验14.2配置相同,图略(3)在当前未做认证的情况下,通过R1 ping R2,检验PPP链路是否能正常通信,请给出ping结果的截图。
与实验14.2配置相同,图略//能通则正常,反之则不正常。
(4)在R1上配置论证数据库,并在R1的串⼝启⽤chap认证,然后在R2的串⼝配置⽤于验证的⽤户名和需要发送的密码,请给出R1和R2的配置截图。
(5)在R1上对PPP链路进⾏抓包,启动wireshark后,shutdown R1的串⼝,然后执⾏undo shutdown命令启⽤R1的串⼝,再到wireshark上查看抓到的CHAP包,找出并标识出⽤于CHAP认证的⽤户名和密码,最后对包含CHAP认证账号信息的包进⾏截图。
(6)在当前已做CHAP认证的情况下,通过R1 ping R2,检验PPP链路是否能正常通信,请给出ping结果的截图。
//能通则说明CHAP认证成功,反之则说明PPP链路认证失败。
说明:本实验是CHAP单向认证,如果要作CHAP双向认证,则每个路由器既作为主认证⽅,⼜作为被认证⽅。
在本实验的基础上对R2配置AAA认证账户,并在串⼝下启⽤CHAP认证;在R1的串⼝下配置⽤于认证的账号信息即可。
CCNA实验-PPP的验证(PAP和CHAP)[
实验拓扑图:相关说明:在链路建立的第2个阶段进行用户验证,最常用的认证协议有口令验证协议PAP和挑战-握手协议CHAP。
口令验证协议PAP是一种简单的明文验证方式,这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令;挑战-握手验证协议CHAP是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。
初始:配置各路由器的IP地址。
Router(config)#host r1r1(config)#int s1/0r1(config-if)#clock rate 64000r1(config-if)#ip address 10.1.1r1(config-if)#no shRouter(config)#host r2r2(config)#int s1/0r2(config-if)#ip address 10.1.1r2(config-if)#clock rate 64000r2(config-if)#no shI:配置PAP单向身份验证r1(config)#username r2 password 123 /验证方建立数据库r1(config)#int s1/0r1(config-if)#encapsulation ppp /进行PPP封装r1(config-if)#ppp authentication pap /使用PAP实现PPP的验证r2(config)#int s1/0r2(config-if)#encapsulation pppr2(config-if)#ppp pap sent-username r2 password 123 /发送验证信息测试结果:r1#ping 10.1.1.2Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds:!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 4/9/16 msII:配置PAP双向身份验证r1(config)#username r2 password 123r1(config)#int s1/0r1(config-if)#encapsulation pppr1(config-if)#ppp authentication papr1(config-if)#ppp pap sent-username r1 password 321 /注意此时发送的password r2(config)#username r1 password 321r2(config)#int s1/0r2(config-if)#encapsulation pppr2(config-if)#ppp authentication papr2(config-if)#ppp pap sent-username r2 password 123 /注意此时发送的password 测试结果:r1#ping 10.1.1.2Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds:!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 8/10/16 msIII:配置CHAP单向的身份验证.r1(config)#username r2 password 123r1(config)#int s1/0r1(config-if)#encapsulation pppr1(config-if)#ppp authentication chapr2(config)#int s1/0r2(config-if)# encapsulation pppr2(config-if)#ppp chap hostname r2r2(config-if)#ppp chap password 123测试结果:r2#ping 10.1.1.1Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 8/18/36 ms IV:配置CHAP双向的身份验证.r1(config)#username r2 password 123r1(config)#int s1/0r1(config-if)# encapsulation pppr1(config-if)# ppp authentication chapr2(config-if)#username r1 password 123r2(config)#int s1/0r2(config-if)# encapsulation pppr2(config-if)# ppp authentication chap测试结果:r2#ping 10.1.1.1Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 8/18/36 ms OK,实验完成。
PPP认证.
PPP认证一、PPP协议的概念PPP(Point to Point Protocol)协议是在点对点链路上运行的数据链路层协议,用户使用拨号电话线接入Internet时,一般都是使用PPP 协议,ppp通过pap 和chap来实现认证授权功能,也就是说ppp支持认证功能。
二、PPP认证方式1、PPP认证包括:chap和pap两种方式:PAP(Password Authentication Protocol,口令认证协议): PAP是两次握手认证协议,口令以明文传送,被认证方首先发起认证请求。
CHAP(Challenge Handshake Authentication Protocol,质询握手认证协议):CHAP是三次握手认证协议,不发送口令,主认证方首先发起认证请求,安全性比PAP高。
2、具体的认证过程如下:Pap认证是通过发送用户名和密码进行匹配,我们就必须使用sent-username ** password **这条命令,进行用户名和密码的文传输。
chap的认证过程(单向认证,R2 为服务器端,R1 为客户端)⑴R2 首先发一个挑战包给R1,包的内容包括:01(标识符,表示挑战分组)+ID(序列号)+随机数+自己的用户名(R2)⑵R1 接收到这个包后,将挑战包的用户名(R2),随机数,ID 和本地数据库的密码gairuhe 进行计算,得出MD5 的值,然后发送给R2⑶这个回应的分组包括:02(回应标识符)+ID(和R2 的一样)+hash(MD5的计算值)+自己的用户名(R1)⑷R2 收到后,通过ID 找到它发送的挑战包,然后把ID,随机数,以及密码(通过本地数据库查找R1 对应的密码)进行计算,得出MD5 的值⑸然后验证三、PPP认证的配置1、pap认证的配置⑴pap单向认证R1为认证的服务器端,需要建立本地口令数据库,并且开始pap 认证。
R1(config)#username R2 password Ruijie---------------建立本地口令数据库R1(config)#int s2/0R1(config-if)#encapsulation ppp-------------------------------------设置封装为ppp R1(config-if)#ppp authentication pap---------------------------要求进行PAP 认证R2为认证的客户端,需要发送用户名和密码来匹配服务器端的口令数据库R2(config)#int s1/0R2(config-if)encapsulation ppp--------------------------------------设置封装为ppp R2(config-if)#ppp pap sent-username R2 password Ruijie------发送用户名和密码注:仅在R1上做认证,而R2上没有进行认证,这就是pap的单向认证⑵pap双向认证Pap 的双向认证其实就是将两端同时都配置为认证服务器端和认证客户端。
CHAP原理与心得
PPP协议支持用户的认证,是广域网接入使用最广泛的协议PPP协议支持两种认证协议CHAP认证的工作原理:1,主认证方发送认证请求,其中包括认证请求报文01,此次认证的序列号ID,随机数据,和主认证方的用户名。
2,被认证方在本地的数据库中查找对应的密码。
然后把该密码与此次认证的序列号ID(与认证请求中的id相同),和主认证方发送过来的随机数据用hash算法进行运算。
得到以个hash值。
然后被认证方回复认证请求,其中包括认证响应报文02,此次认证的序列号ID,刚才算出的hash值,以及被认证方的用户名。
3,主认证方在本地数据库中查找被认证方对应的口令,和此次认证的序列号,随机数据进行hash运算。
得到一个hash值,与被认证方计算得到的Hash值做比较,如果一致,则认为认证通过。
MLP(MultiLink PPP)可以将多条PPP链路捆绑起来对于MLP链路两端的设备,就好像只有一条PPP连接,只需配置一个IP地址多链路捆绑的优点:1,增加带宽2,负载分担3,降低时延多链路捆绑的配置:在北京:beijing(config)#int multilink 1beijing(config-if)#encapsulation pppbeijing(config-if)#ppp multilink group 1beijing(config-if)#ip add 220.120.20.1 255.255.255.0beijing(config-if)#no shbeijing(config)#int s0/0beijing(config-if)#encapsulation pppbeijing(config-if)#ppp multilink group 1beijing(config-if)#no shbeijing(config-if)#int s0/1beijing(config-if)#encapsulation pppbeijing(config-if)#ppp multilink group 1beijing(config-if)#no shbeijing(config-if)#exit在上海shanghai(config)#int s0/0shanghai(config-if)#encapsulation pppshanghai (config-if)#ppp multilink group 1shanghai (config-if)#no shshanghai (config-if)#int s0/1shanghai (config-if)#encapsulation pppshanghai (config-if)#ppp multilink group 1shanghai (config-if)#no shshanghai (config-if)#exitshanghai (config)#int multilink 1shanghai (config-if)#encapsulation pppshanghai (config-if)#ppp multilink group 1shanghai (config-if)#ip add 220.120.20.1 255.255.255.0 shanghai (config-if)#no shPAP的配置:beijing(config)#user pap password papbeijing(config)#int s0/0beijing(config-if)#ppp authentication papbeijing(config)#int s0/1beijing(config-if)#ppp authentication papshanghai(config)#int s0/0shanghai(config-if)#ppp pap sent-username pap password pap shanghai(config)#int s0/1shanghai(config-if)#ppp pap sent-username pap password papCHAP的配置:beijing(config)#user shanghai password 123beijing(config)#int s0/0beijing(config-if)#ppp authentication chapbeijing(config)#int s0/1beijing(config-if)#ppp authentication chapshanghai(config)# user beijing password 123IP协商(自动地址协商)beijing(config)#service dhcpbeijing(config)#ip dhcp pool aaabeijing(dhcp-config)#network 220.120.20.0 255.255.255.0beijing(config)#ip dhcp excluded-address 220.120.20.2 220.120.20.10(不分配出去的IP)shanghai(config)#int multilink 1shanghai(config-if)#ip add negotiated二.CHAP单向验证过程分为两种情况:验证方配置了用户名和验证方没有配置用户名。
CHAP验证过程及单双向验证
CHAP验证过程及单双向验证CHAP(Challenge-Handshake Authentication Protocol)是一种用于身份验证的网络协议。
它主要用于验证两个设备之间的身份,以确保只有经过授权的设备可以访问网络资源。
CHAP协议提供了一种安全的方式来验证设备的身份,防止未经授权的设备访问网络。
首先,初始化阶段,也称为建立连接阶段。
在这个阶段,客户端发送一个认证请求到服务器。
服务器会返回一个随机生成的挑战字符串给客户端,这个挑战字符串是通过一种加密哈希算法生成的。
客户端收到挑战字符串后,会将其和自己的密码进行加密哈希,然后将结果发送回服务器。
接下来是挑战-响应阶段。
在这个阶段,服务器收到客户端发送的哈希后,会使用相同的加密哈希算法对挑战字符串和存储在服务器中的密码进行哈希计算。
然后,服务器将其得到的哈希值与客户端发送的哈希值进行比较。
如果两个哈希值匹配,服务器会将一个成功的响应发送给客户端。
最后是确认阶段。
在这个阶段,客户端收到来自服务器的成功响应后,会向服务器发送一个确认消息。
服务器收到确认消息后,会向客户端发送确认响应。
如果客户端收到确认响应,那么整个身份验证过程就完成了。
单向验证是指只有服务器验证客户端的身份,而客户端不验证服务器的身份。
在这种情况下,客户端只需要发送认证请求和对挑战字符串进行哈希计算,然后进行确认即可。
这种方式适用于只要求验证客户端身份,而不关心服务器身份的情况。
双向验证则是指不仅服务器验证客户端的身份,客户端也验证服务器的身份。
在这种情况下,客户端发送认证请求后,服务器除了要验证客户端发送的哈希值外,还需要发送一个挑战字符串给客户端,并等待客户端的响应。
客户端收到挑战字符串后,除了对其进行哈希计算外,还需要验证服务器发送的确认响应。
只有当服务器的身份验证通过以及客户端发送的哈希值和确认响应都正确时,整个身份验证过程才算完成。
双向验证通常用于对网络安全性要求较高的环境,例如银行、金融机构等。
CHAP验证过程及单双向验证
CHAP验证过程及单双向验证CHAP过程说明,这是一个单向挑战验证过程:首先,766路由器拨入到3640上来,在3640上的接口中有这样的配置:ppp authentication chap. 如上图.LCP协议负责验证过程,3640在接到拨入后,开始对766发出挑战数据包.如上图,3640产生一个挑战包,发给766,内容包括:1. 01所在字段是类型字段,01表示这是一个挑战.2.ID字段表示这次挑战,是挑战序列号3.RANDOM,随机数字,它由挑战方产生.4.最后一个字段是用户名字段,用于对方根据该名称查找对应的PASSWORD在发出这个挑战包后,3640在自己的路由器里保存了ID和RANDOM值,供下面的MD5计算用.如上图,766接到了挑战包,它从挑战数据包中搜集以下信息:1.ID值2.RANDOM值3.根据包中的用户名,在自己的数据库(本地的或者TACACS+,RADIUS)查找对应的密码.将上面的三个信息使用MD5进行计算,获得一个HASH.如上图,766路由器产生一个挑战回应数据包,它包含:1.类型字段,02表示回应.2.ID值,从挑战包中直接复制过来的.3.HASH,就是刚才766计算出来的HAS4.用户名字段,供一会3640查找密码用.如上图,3640接到回应包,3640从回应包中抽取用户名,并查找到对应的密码,然后利用之前保存的ID,RANDOM以及查到的密码来计算自己的HASH,然后将自己计算得到的HASH与回应中的HASH比较,如果相同,验证成功.如果不同验证失败.验证成功的返回示意.注意类型字段=03表示成功,后面的WELCOME IN 只是为了图示形象化.如果验证失败,则返回的类型字段=04.从上面整个过程可以看出,在整个验证过程中,只有用户名,ID,随机数,以及ID+密码+随机数的HASH被发送,真实密码始终没有被发送,同时根据2边计算所需的参数看,在2台路由器上配置的密码一定要相同,否则验证将失败.上面这是一个单向验证过程,如果是配置的双向验证,那么首先发起挑战的是发起呼叫的一方.整个过程是上面过程的2次重复.单/双向验证问题:One-way authentication is often required when you connect tonon-Cisco devices.ppp authentication {chap | ms-chap | ms-chap-v2 | eap |pap} [callin] 后面的CALLIN 参数表示,只在接受到呼叫时才发出挑战.那么根据2边以及有无该参数,我们可以产生2*2=4种组合.由于没有环境作该实验,所以无法验证4种是否都合法,但参考思科在线文档,给出的是以下配置组合:从上面可以看出,单向验证只在主动呼叫方配置该参数,单向时将由被呼叫方发起验证.双向验证则双边都无需配置.。
CHAP验证
CHAP单向,双向认证一、实验目标:区分CHAP和PAP认证的机制,特别是CHAP的双向认证二、网络拓扑图:三、配置:CHAP单向认证r1(config)#interface s1r1(config-if)#clock rate 64000r1(config-if)#ip add 1.1.1.1 255.255.255.0r1(config-if)#encapsulation ppp 封装PPPr1(config-if)#ppp authentication chap 要求进行CHAP验证r1(config)#username 222 password 0 cisco 配置本地数据库,用户名是对端的,而密码是本地数据库的密码r2(config)#inter s0/2r2(config-if)#ip add 2.2.2.2 255.255.255.0r2(config-if)#encapsulation pppr2(config-if)#ppp chap hostname 222 要发送的CHAP用户名和密码r2(config-if)#ppp chap password 0 ciscor1#show runBuilding configuration...username 222 password 0 cisco!interface Serial0/1ip address 1.1.1.1 255.255.255.0encapsulation pppshutdownserial restart-delay 0clock rate 64000ppp authentication chap!r2#show runBuilding configuration...interface Serial0/2ip address 2.2.2.2 255.255.255.0encapsulation pppshutdownserial restart-delay 0ppp chap hostname 222ppp chap password 0 cisco!r1#ping 2.2.2.2Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 48/330/716 msr2#debug ppp authentication*Mar 1 00:16:49.547: %LINK-3-UPDOWN: Interface Serial0/2, changed state to up*Mar 1 00:16:49.551: Se0/2 PPP: Using default call direction*Mar 1 00:16:49.551: Se0/2 PPP: Treating connection as a dedicated line*Mar 1 00:16:49.551: Se0/2 PPP: Session handle[46000002] Session id[2]*Mar 1 00:16:49.555: Se0/2 PPP: Authorization required*Mar 1 00:16:50.055: Se0/2 PPP: No authorization without authentication*Mar 1 00:16:50.155: Se0/2 CHAP: I CHALLENGE id 2 len 23 from "r1" 收到挑战*Mar 1 00:16:50.159: Se0/2 CHAP: Using hostname from interface CHAP*Mar 1 00:16:50.159: Se0/2 CHAP: Using password from interface CHAP*Mar 1 00:16:50.163: Se0/2 CHAP: O RESPONSE id 2 len 24 from "222" 发送MD5加密值*Mar 1 00:16:50.527: Se0/2 CHAP: I SUCCESS id 2 len 4 认证成功*Mar 1 00:16:51.527: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/2, changed state to upr1#debug ppp authenticationPPP authentication debugging is onr1#*Mar 1 00:16:54.191: Se0/1 PPP: Authorization required*Mar 1 00:16:54.203: Se0/1 CHAP: O CHALLENGE id 2 len 23 from "r1" 发送挑战信息*Mar 1 00:16:54.391: Se0/1 CHAP: I RESPONSE id 2 len 24 from "222" 接收哈希值*Mar 1 00:16:54.395: Se0/1 PPP: Sent CHAP LOGIN Request*Mar 1 00:16:54.399: Se0/1 PPP: Received LOGIN Response PASS*Mar 1 00:16:54.403: Se0/1 PPP: Sent LCP AUTHOR Request*Mar 1 00:16:54.407: Se0/1 PPP: Sent IPCP AUTHOR Request*Mar 1 00:16:54.411: Se0/1 LCP: Received AAA AUTHOR Response PASS*Mar 1 00:16:54.411: Se0/1 IPCP: Received AAA AUTHOR Response PASS*Mar 1 00:16:54.415: Se0/1 CHAP: O SUCCESS id 2 len 4 认证成功*Mar 1 00:16:54.419: Se0/1 PPP: Sent CDPCP AUTHOR Request*Mar 1 00:16:54.423: Se0/1 CDPCP: Received AAA AUTHOR Response PASS*Mar 1 00:16:54.511: Se0/1 PPP: Sent IPCP AUTHOR RequestCHAP双向认证r1#show runusername 222 password 0 666!interface Serial0/1ip address 1.1.1.1 255.255.255.0encapsulation pppserial restart-delay 0clock rate 64000ppp authentication chapppp chap hostname 111!r2#show runusername 111 password 0 666 两台路由器上的密码必须要一样!interface Serial0/2ip address 2.2.2.2 255.255.255.0encapsulation pppserial restart-delay 0ppp authentication chapppp chap hostname 222!r2#debug ppp authentication*Mar 1 00:46:30.691: %LINK-3-UPDOWN: Interface Serial0/2, changed state to up*Mar 1 00:46:30.695: Se0/2 PPP: Using default call direction*Mar 1 00:46:30.695: Se0/2 PPP: Treating connection as a dedicated line*Mar 1 00:46:30.695: Se0/2 PPP: Session handle[1A00011E] Session id[305]*Mar 1 00:46:30.699: Se0/2 PPP: Authorization required*Mar 1 00:46:31.039: Se0/2 CHAP: O CHALLENGE id 49 len 24 from "222"*Mar 1 00:46:31.279: Se0/2 CHAP: I CHALLENGE id 48 len 24 from "111"*Mar 1 00:46:31.287: Se0/2 CHAP: Using hostname from interface CHAP*Mar 1 00:46:31.287: Se0/2 CHAP: Using password from AAA*Mar 1 00:46:31.287: Se0/2 CHAP: O RESPONSE id 48 len 24 from "222"*Mar 1 00:46:31.399: Se0/2 CHAP: I RESPONSE id 49 len 24 from "111"*Mar 1 00:46:31.403: Se0/2 PPP: Sent CHAP LOGIN Request*Mar 1 00:46:31.407: Se0/2 PPP: Received LOGIN Response PASS*Mar 1 00:46:31.411: Se0/2 PPP: Sent LCP AUTHOR Request*Mar 1 00:46:31.415: Se0/2 PPP: Sent IPCP AUTHOR Request*Mar 1 00:46:31.419: Se0/2 LCP: Received AAA AUTHOR Response PASS*Mar 1 00:46:31.423: Se0/2 IPCP: Received AAA AUTHOR Response PASS*Mar 1 00:46:31.423: Se0/2 CHAP: O SUCCESS id 49 len 4*Mar 1 00:46:31.427: Se0/2 CHAP: I SUCCESS id 48 len 4*Mar 1 00:46:31.431: Se0/2 PPP: Sent CDPCP AUTHOR Request*Mar 1 00:46:31.435: Se0/2 CDPCP: Received AAA AUTHOR Response PASS*Mar 1 00:46:31.531: Se0/2 PPP: Sent IPCP AUTHOR Request*Mar 1 00:46:32.427: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/2, changed state to upr1#debug ppp authenticationPPP authentication debugging is onr1#*Mar 1 00:46:02.335: Se0/1 PPP: Authorization required*Mar 1 00:46:02.439: Se0/1 CHAP: O CHALLENGE id 48 len 24 from "111"*Mar 1 00:46:02.439: Se0/1 CHAP: I CHALLENGE id 49 len 24 from "222"*Mar 1 00:46:02.447: Se0/1 CHAP: Using hostname from interface CHAP*Mar 1 00:46:02.451: Se0/1 CHAP: Using password from AAA*Mar 1 00:46:02.451: Se0/1 CHAP: O RESPONSE id 49 len 24 from "111"*Mar 1 00:46:02.543: Se0/1 CHAP: I RESPONSE id 48 len 24 from "222"*Mar 1 00:46:02.551: Se0/1 PPP: Sent CHAP LOGIN Request*Mar 1 00:46:02.555: Se0/1 PPP: Received LOGIN Response PASS*Mar 1 00:46:02.559: Se0/1 PPP: Sent LCP AUTHOR Request*Mar 1 00:46:02.559: Se0/1 PPP: Sent IPCP AUTHOR Request*Mar 1 00:46:02.567: Se0/1 LCP: Received AAA AUTHOR Response PASS*Mar 1 00:46:02.567: Se0/1 IPCP: Received AAA AUTHOR Response PASS*Mar 1 00:46:02.571: Se0/1 CHAP: O SUCCESS id 48 len 4*Mar 1 00:46:02.663: Se0/1 CHAP: I SUCCESS id 49 len 4*Mar 1 00:46:02.667: Se0/1 PPP: Sent CDPCP AUTHOR Request*Mar 1 00:46:02.671: Se0/1 PPP: Sent IPCP AUTHOR Request*Mar 1 00:46:02.679: Se0/1 CDPCP: Received AAA AUTHOR Response PASS四、总结:碰到2个问题一、单向基础上做第一次CHAP双向可以通在单向的基础上做双向,可是有一边忘了打ppp authentication chap居然通了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CHAP单向验证举例
1. 组网需求
在图中,要求设备Router A用CHAP方式验证设备Router
B。
2. 配置方法一(验证方配置用户名时以CHAP方式认证对端)
(1) 配置Router A
# 为Router B创建本地用户。
<RouterA> system-view
[RouterA] local-user userb
# 设置本地用户的密码。
[RouterA-luser-userb] password simple hello
# 设置本地用户的服务类型为PPP。
[RouterA-luser-userb] service-type ppp
[RouterA-luser-userb] quit
# 配置接口封装的链路层协议为PPP。
[RouterA] interface serial 2/0
[RouterA-Serial2/0] link-protocol ppp
# 配置采用CHAP验证时Router A的用户名。
[RouterA-Serial2/0] ppp chap user usera
# 配置本地验证Router B的方式为CHAP。
[RouterA-Serial2/0] ppp authentication-mode chap domain system # 配置接口的IP地址。
[RouterA-Serial2/0] ip address 200.1.1.1 16
[RouterA-Serial2/0] quit
# 在系统缺省的ISP域system下,配置PPP用户使用本地认证方案。
[RouterA] domain system
[RouterA-isp-system] authentication ppp local
(2) 配置Router B
# 为Router A创建本地用户。
<RouterB> system-view
[RouterB] local-user usera
# 设置本地用户的密码。
[RouterB-luser-usera] password simple hello
# 设置本地用户的服务类型为PPP。
[RouterB-luser-usera] service-type ppp
[RouterB-luser-usera] quit
# 配置接口封装的链路层协议为PPP。
[RouterB] interface serial 2/0
[RouterB-Serial2/0] link-protocol ppp
# 配置采用CHAP验证时Router B的用户名。
[RouterB-Serial2/0] ppp chap user userb
# 配置接口的IP地址。
[RouterB-Serial2/0] ip address 200.1.1.2 16
3. 配置方法二(验证方没有配置用户名时以CHAP方式认证对端)
(1) 配置Router A
# 为Router B创建本地用户。
<RouterA> system-view
[RouterA] local-user userb
# 设置本地用户的密码。
[RouterA-luser-userb] password simple hello
# 设置本地用户的服务类型为PPP。
[RouterA-luser-userb] service-type ppp
[RouterA-luser-userb] quit
# 配置本地验证Router B的方式为CHAP。
[RouterA] interface serial 2/0
[RouterA-Serial2/0] ppp authentication-mode chap domain system
# 配置接口的IP地址。
[RouterA-Serial2/0] ip address 200.1.1.1 16
[RouterA-Serial2/0] quit
# 在系统缺省的ISP域system下,配置PPP用户使用本地认证方案。
[RouterA] domain system
[RouterA-isp-system] authentication ppp local
(2) 配置Router B
# 配置采用CHAP验证时Router B的用户名。
<RouterB> system-view
[RouterB] interface serial 2/0
[RouterB-Serial2/0] ppp chap user userb
# 设置缺省的CHAP验证密码。
[RouterB-Serial2/0] ppp chap password simple hello
# 配置接口的IP地址。
[RouterB-Serial2/0] ip address 200.1.1.2 16
4. 验证配置结果
通过查看display interface serial 2/0信息,接口的物理层和链路层的状态都是up状态,并且PPP的LCP和IPCP都是opened状态,说明链路的PPP协商已经成功,并且Router A和Router B可以互相ping通对方。
[RouterB-Serial2/0] display interface serial 2/0
Serial2/0 current state: UP
Line protocol current state: UP
Description: Serial2/0 Interface
The Maximum Transmit Unit is 1500, Hold timer is 10(sec)
Internet Address is 200.1.1.2/16 Primary
Link layer protocol is PPP
LCP opened, IPCP opened
Output queue : (Urgent queuing : Size/Length/Discards) 0/100/0
Output queue : (Protocol queuing : Size/Length/Discards) 0/500/0
Output queue : (FIFO queuing : Size/Length/Discards) 0/75/0
Interface is V35
206 packets input, 2496 bytes
206 packets output, 2492 bytes
[RouterB-Serial2/0] ping 200.1.1.1
PING 200.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 200.1.1.1: bytes=56 Sequence=1 ttl=255 time=103 ms
Reply from 200.1.1.1: bytes=56 Sequence=2 ttl=255 time=1 ms
Reply from 200.1.1.1: bytes=56 Sequence=3 ttl=255 time=1 ms
Reply from 200.1.1.1: bytes=56 Sequence=4 ttl=255 time=1 ms
Reply from 200.1.1.1: bytes=56 Sequence=5 ttl=255 time=10 ms
--- 200.1.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/23/103 ms。