前面两节对802.1X及Radius的环境搭建和报文进行了介绍,本节主要分享一些在学习过程中的一些疑问?这些疑问所涉及到的知识可以说是博大精深。
1、AAA服务器的流量统计和时间计量主要体现在哪儿?
对于这个疑问,我在抓取计费报文的时候,发现在radius属性中包含一些与流量和时间相关的属性,然后我查了一下radius属性表,证实了这些属性的作用。
41 Acct-Delay-Time 生成计费报文花费的时间,以秒为单位
42 Acct-Input-Octets 上行字节数,单位为Byte、kbyte、Mbyte、Gbyte,具体使用何种单位可通过命令配置
43 Acct-Output-Octets 下行字节数,单位为Byte、kbyte、Mbyte、Gbyte,具体使用何种单位可通过命令配置
46 Acct-Session-Time 用户的上线时间,以秒为单位
47 Acct-Input-Packets 上行的报文数
48 Acct-Output-Packets 下行的报文数
52 Acct-Input-Gigawords 表示上行字节数是4G(232)Byte、kbyte、Mbyte、Gbyte(单位取何值由命令配置决定)的多少倍
53 Acct-Output-Gigawords 表示下行字节数是4G(232)Byte、kbyte、Mbyte、Gbyte(单位取何值由命令配置决定)的多少倍
所以AAA服务器的流量统计和时间计量主要体现在报文的radius属性中,然后通过服务器软件进行GUI的显示。
2、AAA域名携带问题?
我们在配置radius scheme的时候会配上一条“Username format:without-domain”的命令,这个命令的意思是用户名不带上域。我们知道,交换机是基于域对用户管理的,用户属于哪个域是由用户名中带的“@”后面的字段决定的,比如user@test就属于test域。
那么在做802.1X认证时,带不带域应该怎么去看呢?
EAP协议
我们知道802.1X如果是基于EAP协议做认证的话,交换机作用是封装报文再转发给服务器,不对报文去处理,所以我在802.1X客户端输入的用户名是user或者user@test的话,经过交换机不会做任何处理,到达radius服务器的用户名以客户输入的用户名为准,所以要想认证都通过的话,在radius服务器上应该配置user和user@test两个用户。
CHAP协议
802.1X使用CHAP协议做认证的话,交换机会自己去发送随机加密字给用户,让用户发送加密后的密码信息给交换机。交换机最后会将用户名、加密后的密码信息、加密字给radius服务器。那么,在发送用户名的时候,交换机会根据Username format这个命令去确定给服务器发送用户名信息的时候携不携带域的信息。
上述两种方法均是指定了域为test,如果交换机未指定默认域,即默认域仍为system。那么我们在输入user的时候会默认带上system域,认证不会通过。我们可以输入user@test,这样我们自己指定了用户名的域,也可以认证通过。
3、Radius协议采用UDP作为其传输协议的好处?
这个问题涉及到TCP与UDP的区别,回顾一下TCP与UDP的区别
1、基于连接和无连接的
2、对系统资源的要求(TCP多、UDP少)
3、开发程序难度(TCP复杂、UDP简单)
4、基于流模式和数据报模式(tcp流、udp数据报,这个想理解的话可以百度将tcp流的发送和接收比喻成水池注水和放水的模式)
5、TCP不丢包且按顺序发送,UDP可能丢包且不保证时序
以上,我们再来分析radius协议为何采用udp作为传输层协议。首先radius服务器有主服务器和备份服务器地址,其次我们可以为其配置retry次数。这两者的作用是如果我们报文丢失了,我们拥有重传机制,如果主服务器没有响应,我们可以向备份服务器发送数据报。所以我们允许丢包,使用udp也无所谓。我们的radius报文一般都是几十字节到上百字节的长度,这些认证报文简短,且对实时性有要求,不能让用户在认证阶段停留太长时间,所以我们采用UDP协议。当一个radius服务器同时处理成百上千的用户进行认证的时候,UDP协议可以简化服务器端的操作,提高系统效率。
4、PAP和CHAP认证的区别,此处针对802.1X中的传输过程进行分析
PAP认证协议(PasswordAuthenticationProtocol,口令认证协议):客户端将自己的用户名和密码发送给服务器,服务器在数据库中查找该用户名和密码并告知客户端是否验证通过。
CHAP认证协议(ChallengeHandshakeAuthenticationProtocol,质询握手认证协议):客户端将用户名发送给服务器,服务器通过用户名查找到密码信息,用随机生成的一个加密字对其进行处理,得到MD5值。并将加密字发给客户端,客户端通过该加密字同样生成一个MD5值发送给服务器,服务器将两者进行比对并返回是否通过验证的结果。
CHAP挑战的安全性由此可见,整个过程中密码都是不可见的,而PAP就谈不上安全性了。
5、802.1X和PPPoE、Web认证之间的区别
802.1X功能在交换机和路由器上很常见,一般用在校园网;PPPoE一般用在家庭网关上,私人家里用的比较多;web认证一般用在企业网;