无线用户的接入网络时离不开认证,而我们常说的MAC地址、portal、dot1x这三种认证方式,属于NAC(网络接入控制,也叫做网络准入),它就是通过各种接入方式的认证来控制用户的接入。而是否通过认证,认证后给予什么样的权限,以及做过什么,这就是我们常听说的一个名词AAA。
AAA架构
AAA不是一个单独的某一种技术,它属于一个模块化架构的服务,用来管理网络安全接入的一种机制。
认证:确认访问网络的用户的身份,判断访问者是否为合法的网络用户。(比如MAC地址、用户名密码)
授权:对不同用户赋予不同的权限,限制用户可以使用的服务。(可以根据不同的用户信息,下发ACL、VLAN等)
计费:记录用户使用网络服务过程中的所有操作,包括使用的服务类型、起始时间、数据流量等,用于收集和记录用户对网络资源的使用情况,并可以实现针对时间、流量的计费需求,也对网络起到监视作用。
AAA采用客户端/服务器结构,AAA客户端运行在接入设备上,通常被称为NAS设备(无线网络中则一般为AC,有线中为接入交换机),负责验证用户身份与管理用户接入;AAA服务器是认证服务器、授权服务器和计费服务器的统称,负责集中管理用户信息。
华为的AAA方案
在华为的认证体系中,都有一个叫做域的概念,一个域下面包含认证方案、授权方案、计费方案、服务器模板等信息,这样我们可以通过不同的域实现不同的认证方式、指定不同的服务器以及授权信息。其实在我们用华为设备的时候已经用到了域的概念了,只是默认华为内置了,不需要我们去配置,可能平时大家也没多大关注。
平时我们交换机、路由器、AC、防火墙 都内置了默认的domain,这两个domain的作用
1、default_admin的域:用于用户登陆这块,包括登陆设备的HTTPS、SSH、TELNET/console。
2、default的域:用于NAC用户认证,就是802.1x、MAC、portal认证,还有VPN。
3、两个默认域系统内置不能删除,而且各种认证都是基于本地方式认证(就是用户名密码都写在本地),本地域以及方案建议默认不去更改,我们创建新的域作为使用。
AAA应用场景一:为接入网络的用户提供认证、授权与计费(审计)等功能
在企业或学校这些场景,企业要求更高的安全性,希望对用户进行认证,认证通过的给予不同的权限以及审计记录,可以追踪用户的行为。而学校商场这些则希望对用户进行认证,认证通过后开始进行计费等功能。在这个组网中,我们会把AC当做AAA的客户端进行跟AAA服务器通信,AAA服务器上面统一配置用户信息以及授权跟审计等功能,当一个用户进行认证的时候,AC会把认证信息交给服务器,服务器查找数据库里面是否有该用户的信息,然后把结果返回给AC,AC根据服务器给的结果来决定用户能否接入网络中来。
AAA应用场景二:登陆设备的用户进行认证、授权、审计
平时我们登陆设备比如WEB、console、Telnet、SSH的时候,都是本地进行认证,我们也可以把用户信息配置在AAA服务器上面,然后网络设备配置AAA的客户端,当有用户登陆设备的时候,设备会发送用户信息交给AAA进行认证,如果返回通过的结果,则登陆成功,并且会对用户在设备的操作进行记录(这个在大型企业、外企、运营商特别常见)。
如果经常接触华为设备的朋友,可以发现不管是在配置路由器、交换机或者AC、防火墙的时候,第一次登陆都会有一个这样的界面,要求提示输入用户名密码才能进去,这就是华为设备默认启用了AAA的本地认证,内置了一个帐号密码在里面,登陆设备的时候我们需要输入帐号密码才能进入,交换机、防火墙进入后还需要更改密码,否则不让进入设备。(交换机说的目前主流系列以及版本,老的27~37或者老的版本可以密码认证或者是不认证。)
我们默认的帐号都是admin,而密码的话则不同设备不太一样,比如防火墙是Admin@123,AC/交换机为admin@huawei.com,路由器为 Admin@huawei,我们来看看华为内置的域以及认证方案。
我们可以看到AAA里面内置的2个默认domain,其中default_admin是负责本地用户登陆用的,可以看到里面有一个默认的认证模板叫做default,查看后本地认证模板里面的认证方式为Local,也就是本地认证,这就是华为默认的本地认证方式。我们可以新建一个其他的用户
[AC6005]aaa
[AC6005-aaa]local-userhuawei password irreversible-cipher Admin@1234
[AC6005-aaa]local-userhuawei service-type telnet http terminal ssh
[AC6005-aaa]local-userhuawei privilege level 15
这里新建立了一个huawei的用户名,密码为Admin@1234,允许的服务类型是可以Telnet、HTTP、console登陆、SSH,授权等级为15也就是最高等级。需要注意的是,password后面有两个参数一个是cipher 可逆算法 | irreversible-ciphe不可逆算法,可逆算法在早期版本就这一种用于管理型账户与用户接入账户方式共同使用,在目前的设备里面就有所区分了,通常cipher用于用户接入型账户使用(比如VPN拨号、PPPOE拨号、portal、mac、802.1x帐号),而irreversible-cipher则用于管理型账户,也就是登陆设备用的。
当我们想在一个管理型用户里面在加入用户接入类型时就会提示不允许配置了,而且华为在区分本地帐号是管理型还是接入型靠的是service-type来区分,比如加入了Telnet ssh http这种就认为是管理型账户,而配置了web ppp 802.1x则为接入型用户,管理型账户继承的是default_admin域的认证方式,接入型账户继承的是default域的账户。
了解了这些对于后续我们在做比如mac地址 portal本地认证的时候就会应用到,知道怎么去修改域规则,创建什么样的用户类型。
NAC架构
NAC(Network AdmissionControl)网络接入控制(准入),通过对接入网络的客户端和用户的认证保证网络的安全,是一种“端到端”的安全技术。NAC包括三种认证方式:802.1X认证、MAC认证和Portal认证,我们在各种场景中适用不同的技术,也可以组合方式认证。
1、关于客户端的需求起始在目前的设备里面,不管是微软、安卓、苹果、Linux都自带了802.1x的客户端,没有带的是那种打印机这些终端,当然每个厂商也有自己的一体客户端(包括VPN、802.1x、wifi等)
2、802.1x比较用的多的是企业对于安全性高的场景,而portal用于商场、学校、医院这种比较多
3、mac地址认证目前用的很少了,通常结合portal方式,做基于MAC优先的portal认证。
NAC配置流程
流程比较简单(1)配置接入模板 (2)配置认证模板 (3)应用到VAP模板。
系统内置的默认了5个模板,分别对应5种不同的认证类型,通常我们会用自定义的。
总结
NAC与AAA互相配合,共同完成接入认证功能。
NAC:用于用户和接入设备之间的交互。NAC负责控制用户的接入方式,即用户采用802.1X,MAC或Portal中的哪一种方式接入,接入过程中的各类参数和定时器。确保合法用户和接入设备建立安全稳定的连接。
AAA:用于接入设备与认证服务器之间的交互。AAA服务器通过对接入用户进行认证、授权和计费实现对接入用户访问权限的控制。