原创文章如转载,请注明:转载自
冠威博客 [
http://www./ ]
本文链接地址:
http://www./post/informationsecurity/11/win2003-dynamips-radius-802-1x.html
802.1X的一些基础知识
802.1x协议起源于802.11协议,后者是标准的无线局域网协议。
802.1X首先是一个认证协议,是一种对用户进行认证的方法和策略。
802.1X是基于端口的认证策略(这里的端口可以是一个实实在在的物理端口也可以是一个就像VLAN一样的逻辑端口,对于无线局域网来说“端口”就是一条信道)。
IEEE 802.1x定义了基于端口的网络接入控制协议,其中端口可以是物理端口,也可以是逻辑端口。
802.1X关心的只是一个端口(物理的或者逻辑的)是否打开,而不关心打开之后上来的是什么样的报文。
802.1x协议只是提供了一种用户接入认证的手段,它也只是对用户的认证进行控制,而接入网络设备必须具备的其他的一些安全和管理特性,由各厂家设备自行来提供的。
802.1X的认证过程
802.1X的认证中,端口的状态决定了客户端是否能接入网络,在启用802.1x认证时端口初始状态一般为非授权(unauthorized),在该状态下,除802.1X 报文和广播报文外不允许任何业务输入、输出通讯。当客户通过认证后,则端口状态切换到授权状态(authorized),允许客户端通过端口进行正常通讯。
认证通过之后的保持
认证端Authenticator可以定时要求Client重新认证,时间可设。重新认证的过程对User是透明的(应该是User不需要重新输入密码)。
下线方式
物理端口Down;
重新认证不通过或者超时;
客户端发起EAP_Logoff帧;
网管控制导致下线;
现在的设备(Switch)端口有三种认证方式
ForceAuthorized:端口一直维持授权状态,Switch的 Authenticator不主动发起认证;
ForceUnauthorized:端口一直维持非授权状态,忽略所有客户端发起的认证请求;
Auto:激活802.1X,设置端口为非授权状态,同时通知设备管理模块要求进行端口认证控制,使端口仅允许EAPOL报文收发,当发生UP事件或接收到EAPOL-start报文,开始认证流程,请求客户端Identify,并中继客户和认证服务器间的报文。认证通过后端口切换到授权状态,在退出前可以进行重认证。
实现原理

802.1x实现原理结构图

整个802.1x的认证过程可以描述如下
(1) 客户端向接入设备发送一个EAPOL-Start报文,开始802.1x认证接入;
(2) 接入设备向客户端发送EAP-Request/Identity报文,要求客户端将用户名送上来;
(3) 客户端回应一个EAP-Response/Identity给接入设备的请求,其中包括用户名;
(4) 接入设备将EAP-Response/Identity报文封装到RADIUS Access-Request报文中,发送给认证服务器;
(5) 认证服务器产生一个Challenge,通过接入设备将RADIUS Access-Challenge报文发送给客户端,其中包含有EAP-Request/MD5-Challenge;
(6) 接入设备通过EAP-Request/MD5-Challenge发送给客户端,要求客户端进行认证
(7) 客户端收到EAP-Request/MD5-Challenge报文后,将密码和Challenge做MD5算法后的Challenged-Pass-word,在EAP-Response/MD5-Challenge回应给接入设备
(8) 接入设备将Challenge,Challenged Password和用户名一起送到RADIUS服务器,由RADIUS服务器进行认证
(9)RADIUS服务器根据用户信息,做MD5算法,判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束;
软件准备:
dynamips ,c3640-is-mz.124-10.bin,vmware,WindowsServer2003,windowsXP。
详细步骤:
首先在真机上装好dynamips,vmware。在vmware上装好两个虚拟机,分别是2003和XP。两个网卡分别设置为vmnet1和vmnet2.(都是host only模式)。然后在真机上用dynamips模拟出一台3640的交换机,桥接到真机上的两块网卡(也是vmnet1和vmnet2)。这样,启动3640,2003和XP他们三个就这样连接起来了:
windows2003----cisco3640----windowsXP
配置方法:
windows2003:
1。安装IAS(Internet验证服务)。在添加/删除应用程序中,添加/删除windows组件,选择“网络服务”点击“详细信息”,勾选“Internet验证服务”。确定,插入windows安装盘,下一步,结束安装。
2。【开始】->【管理工具】->【Internet验证服务】,打开配置界面,新建一个RADIUS客户端。
3。配置IAS的认证方式。如持“MD5-质询”这种认证方式。需要在IAS中进行配置,并且代理端主机也要配置成这种认证方式。在IAS管理窗口的右侧双击【到其它服务器的访问连接】,在弹出的对话框中选中【授予远程访问权限】,并单击【编辑配置文件】。在弹出的对话框中选择【身份验证】标签,并单击【EAP方法】。 弹出的对话框中添加“MD5-质询”认证方式,并确保列表中只有这一种认证方式。
4。修改本地安全策略中的密码策略,启用“用可还原的加密来储存密码”。由于MD5-质询的认证方式需要使用密码的明文来验证客户端的请求是否合法,所以需修改本地安全策略中的密码策略,启用“用可还原的加密来储存密码”。
出于安全性考虑,Windows默认只存放密码的散列值,根据散列值无法还原出密码的明文。启用可还原的密码存储后,原有的Windows账号的密码必须修改至少一次才会以可还原的形式存储,新建的Windows账号密码则均以可还原的方式存储。
cisco3640:
配置方法:
aaa new-model
aaa authentication dot1x default group radius #设置RADIUS认证
dot1x system-auth-control #允许802.1x
interface FastEthernet0/1 #指定交换机端口 (多个端口interface range fastEthernet0/1 - 24)
switchport mode access
dot1x port-control auto #指定该端口启用802.1x
dot1x max-req 3
spanning-tree portfast
#以下指定RADIUS服务器
radius-server host 1.2.3.4 auth-port 1812 acct-port 1813 key radius_string
radius-server vsa send authentication
注意上述配置中,RADIUS共享密码、端口应和IAS服务器端的配置一致。
配置实例:
Switch#sh run
Building configuration...
Current configuration : 2953 bytes
!
version 12.1
no service single-slot-reload-enable
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname Switch
!
aaa new-model
aaa authentication dot1x default group radius
!
ip subnet-zero
no ip domain-lookup
!
spanning-tree extend system-id
!
!
interface FastEthernet0/1
switchport mode access
no ip address
spanning-tree portfast
!
interface FastEthernet0/2
switchport mode access
no ip address
spanning-tree portfast
!
interface FastEthernet0/3
switchport mode access
no ip address
dot1x port-control auto
spanning-tree portfast
!
interface Vlan1
ip address 10.59.6.69 255.255.255.0
no ip route-cache
!
ip http server
!
snmp-server engineID local 800000090300000C303EACC1
snmp-server community private RW
radius-server host 10.59.1.35 auth-port 1812 acct-port 1813
radius-server retransmit 3
radius-server key guanwei
!
line con 0
line vty 5 15
!
end
windows XP:
1。Wireless Configuration的属性(本地计算机)自动开启
2。本地连接属性-验证,在弹出的属性窗口中,选中“启用此网络的IEEE802.1x验证”,并选定EAP类型为“受保护的EAP(PEAP)”,钩选“当计算机信息可用时验证为计算机”,不钩选“当用户或计算机信息不可用时验证为来宾”,然后点击“属性”按钮。“受保护的EAP属性”窗口中,不钩选“验证服务器证书”,不钩选“启用快速重新连接”,选定“验证方法为”为“受保护的密码(EAP-MSCHAP v2)”,然后点击“配置”按钮。11. 在弹出的“EAP MSCHAP v2属性”窗口中,不钩选“自动使用Windows登录名和密码(以及域,如果有的话)”,然后点击确定。