在今天,大多数计算机网络都是无线网络,更易管理,移动性更强,而且成本也更低。而另一方面,无线网络也更容易受到攻击,因为企业无法将网络的物理范围控制在办公楼内,大街或停车场上的任何人都有可能伺机获取企业无线网络的访问权限,攻击者的位置也无从查明。
1. 无线网络安全的短板
实际上,完全安全的无线网络几乎不存在。负责 IT 安全的管理员一般会在无线接入点中设置一个 SSID 密码和一个相对复杂可靠的 WEP 或 WPA 密钥,然后就算大功告成。这些用于访问无线网络的凭证有时会在企业内部分享,甚至发给访客。任何用户只要拥有这些凭证就可以进入企业的无线网络。一旦联网成功,还可以访问很多其他的 IT 资源,具体取决于企业本地和云上部署了哪些资源。
WPA 和 WEP 的安全标准被认为是最低标准。另一个威胁安全的常见错误是忽略对无线网络的分段,导致网络无法直接连接到企业的关键基础架构。
这么看来,企业的无线内网安全似乎岌岌可危。所幸,现在有更好的方法来保护无线网络。
2. RADIUS 认证保障无线网络安全
保护企业网络非常重要的一步是验证无线网络上的每个用户。为此,企业可以将目录服务和无线网络设施集成。最简单方法是通过 RADIUS 协议,RADIUS 是网络认证和授权的通用标准。
RADIUS 认证过程如下:企业用户首先登录笔记本或台式机上的客户端,将身份凭证传递到 RADIUS 服务器,再传递到企业的目录服务器决定授予或拒绝用户的访问权限。
RADIUS 认证的安全级别非常高,实施起来却非常复杂。企业不仅要将无线网络对接到目录服务,还需要负责 RADIUS 服务器的运维。
3. LDAP 让 RADIUS 认证更简单
很多现代化企业已经找到了两全其美的方案,那就是结合 RADIUS 和 LDAP 两种协议保障无线网络的访问安全。
这种方案最大的优势在于企业无需管理运维任何服务器。这一方案称为身份目录即服务(Directory as a Service, DaaS),采用了基于 SaaS 的 RADIUS 和 LDAP 认证服务,可有效加强无线网络的身份验证和授权环节,实现无线安全。
DaaS 解决方案由第三方厂商提供,大幅减轻了企业管理员的安装部署和运维负担。管理员只需配置无线接入点和 RADIUS 云服务器进行通信,RADIUS 云服务器可自动与云目录服务器通信,轻松提升企业无线网络安全
目前成熟的安全认证技术接入与身份认证技术
接入与身份认证技术
认证机制:基于口令(包括OTP)、挑战/响应(客户端根据挑战值和密钥进行哈希,属于一次性口令)、EAP、公钥认证机制(验证方用CA发布的公钥验证数字签名)。
认证协议:RADIUS(UDP,1812端口负责认证,1813端口负责计费工作)、TACACS(认证、授权、计费是分离的,可用TCP49端口)、Kerberos(解决分布式网络认证)、LDAP(基于X.500标准)。
认证技术:IEEE 802.1X(基于端口)、Portal接入(Web认证技术)、MAC接入、Triple接入(多种认证共存)。
一、RADIUS
1、使用场景:
当用户想要通过某个网络与NAS(网络接入服务器)建立连接从而获得访问其他网络的权利时,NAS可以选择在NAS上进行本地认证计费,或把用户信息传递给RADIUS服务器,由RADIUS进行认证计费;RADIUS 协议规定了NAS与RADIUS 服务器之间如何传递用户信息和计费信息,即两者之间的通信规则;RADIUS服务器负责接收用户的连接请求,完成认证,并把用户所需的配置信息返回给NAS。用户获得授权后,在其正常上线、在线和下线过程中,RADIUS服务器还完成对用户账号计费的功能。
2、网络安全:
采用MD5加密算法进行的,C/S之间保持秘钥(不公开),RADIUS协议利用这个密钥使用MD5算法对RADIUS中的数据进行加密处理。
1)在RADIUS包中,有16字节的验证字(authenticator)、秘钥用MD5对包进行签名。
2)用户的口令用秘钥加密后传输;
3)radius C/S之间的验证:
PAP验证:Secret password =Password XOR MD5(Challenge + Key)(Challenge就是RADIUS报文中的Authenticator)(NAS阶段是明文传输密码,NAS与radius才密文传输。)
CHAP(挑战握手)验证:NAS发送challeng、CHAP ID、hostname给用户,用户用challenge和MD5对CHAP ID、用户密码生成secret password,和用户名username一起发送给NAS;NAS把用户发回来的信息和challenge、CHAP ID发给radius服务器进行认证。(密文传输客户端密码)
3、RADIUS报文的交互流程:
1) 用户输入用户名和口令;
2) RADIUS客户端根据获取的用户名和口令,向RADIUS服务器发送认证请求包(Access-Request)。
3) RADIUS服务器将该用户信息与Users数据库信息进行对比分析,如果认证成功,则将用户的权限信息以认证响应包(Access-Accept)发送给RADIUS客户端;如果认证失败,则返回Access-Reject响应包。
4) RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果可以接入用户,则RADIUS客户端向RADIUS服务器发送计费开始请求包(Accounting-Request),Status-Type取值为start;
5) RADIUS服务器返回计费开始响应包(Accounting-Response);
6) RADIUS客户端向RADIUS服务器发送计费停止请求包(Accounting-Request),Status-Type取值为stop;
7) RADIUS服务器返回计费结束响应包(Accounting-Response)。
4、报文结构:
RADIUS采用UDP,通过定时器管理机制、重传机制、备用服务器机制,确保消息正确收发。
报文包括:
Code:包类型
Identifier: 包标识,同一组请求包和响应包的Identifier应相同,值是序列增长的。
Length:包长度
Authenticator:验证字域,16字节明文随机数。请求验证字、响应验证字=MD5(Code+ID+length+请求验证字+Attributes+Key)
Attributes:属性域,携带详细的认证、授权、信息和配置细节,采用(Type、length、Value)三元组的形式提供。26号属性(Vender-Specific)被用来扩展以支持供应商自己定义的扩展属性。
5、参地址:
http://www.h3c.com.cn/MiniSite/Technology_Circle/Net_Reptile/The_Seven/Home/Catalog/201309/797634_97665_0.htm
二、TACACS+(Terminal Access Controller Access Control System,终端访问控制器控制系统协议)
1、采用客户端/服务器模式实现NAS与TACACS+服务器之间的通信.主要用于PPP和VPDN(Virtual Private Dial-up Network,虚拟私有拨号网络)接入用户及终端用户的AAA。
2、与radius区别:
采用TCP更加可靠;
不仅仅是对密码字段进行加密,而是对整个报文加密;
认证和授权报文分离,使得认证、授权服务可以分离在不同的安全服务器上实现;
用户可使用的命令行受到用户级别和AAA授权的双重限制。
3、加密方法如下:
1)将session_id、secret key, 版本号和sequence number一起进行MD5运算(其中secret key 为TACACS客户端和服务器之间的共享秘密),计算结果为MD5_1
2)后续的MD5运算将上次MD5运算的结果也纳入运算范围,如下:
MD5_1 = MD5{session_id, key, version, seq_no}
MD5_2 = MD5{session_id, key, version, seq_no, MD5_1}
....
MD5_n = MD5{session_id, key, version, seq_no, MD5_n-1}
3)将所有的运算结果连接起来,直到总长度大于需要加密的数据的长度,然后截断到实际数据的长度,得到pseudo_pad:
pseudo_pad = {MD5_1 [,MD5_2 [ ... ,MD5_n]]} truncated to len(data)
4)随后将需要加密的数据和上面的pseudo_pad进行XOR运算,得到密文:
ENCRYPTED {data} == data ^ pseudo_pad由于TACACS+对整个数据包进行加密,私密性要好于RADIUS,窃听者无法根据报文的内容来猜测网络的配置和用户的身份。
4、TACACS+共有7种类型的消息:Authentication_START、Authentication_CONTIUNE、Authentication_REPLY、Authorization_REQUEST、Authorization_RESPONSE、Accounting_REQUEST、Accounting_REPLY。所有的TACACS+数据包都使用12字节长的包头,字段Type为1表示认证,2表示授权,3表示计费。
三、LDAP(Lightweight Directory Access Protocol)
基于X.500标准的,与X.500不同的是,LDAP支持TCP/IP。
1、与unix目录的比较:
LDAP没有真正的根目录,而unix有/;
目录的每个节点都可以包含数据,都可能作为一个容器,文件系统的每个节点或者是文件或者是目录,但不能同时是二者;
文件系统的表示方法是从根目录到深层目录一层一层表示,而LDAP则相反。
2、表示方法:
dn :Distinguished Name;唯一可区别的名称,记录了一条记录的位置
dc :一条记录所属区域
ou :Organization Unit;一条记录所属组织
cn/uid:Common Name;可用来区分身份的属性,等同于一条记录的名字/ID
dn:cn=cc,ou=imcuser-test-ld,dc=zhjdtest,dc=com
3、目录的模式(schema):属性类型(attribute types)、对象类(object classes)、语法(syntaxes)、匹配规则(matching rules)、目录信息树内容规则(DIT
content rules)、目录信息树结构规则(DIT strctural rules)和命名形式(name forms)。
4、LDAP的认证分为:无认证、基本认证、SSL/TLS三种。
四、Kerberos
Kerberos认证是一个三路处理过程,依赖称为密钥分发中心(KDC)的第三方服务来验证计算机相互的身份,并建立密钥以保证计算机间安全连接。本质上每台
计算机分享KDC一个秘钥,而KDC有两个部件:一个Kerberos 认证服务器和一个票据授权服务器。
1、Kerberos协议本身并不能完全解决网络安全性问题,它是建立在一些假定之上的:
不能对拒绝服务(Denial of Service)***进行防护;
主体必须保证他们的私钥的安全;
Kerberos无法应付口令猜测***;
网络上每个主机的时钟必须是松散同步的;
主体的标识不能频繁地循环使用;
2、认证过程:
首先Client向KDC申请TGT,之后Client通过获得TGT向KDC申请用于访问Server的票据,最后Client向Server提交票据用于认证。通过三个子协议来完成,它们
分别是:Authentication Service Exchange、Ticket GrantingService Exchange和Client/Server Exchange。
(1)首先Client需要先获得一个授权,被称为Ticket Granting Ticket(票据授权票据,简称TGT),TGT的分发仍然是KDC来完成.得到TGT后,Client向KDC发
送一个对SServer-Client的申请,其中包括自己的信息以及希望访问的Server的信息。KDC在接收到这个请求的时候,生成一个会话密钥,并生成两个拷贝,分
别被Client和Server使用。然后从数据库中提取Client和Server的主密钥分别对这两个拷贝进行对称加密。对于后者,和会话密钥一起被加密的还有一些
Client的信息。KDC有了两个分别被Client和Server 的主密钥加密过的会话密钥,KDC会将这两个被加密的拷贝一并发给Client,属于Server的那一份将会由
Client发送给Server。
(2)Client使用自己的主密钥对KDC加密的会话密钥进行解密从而获得SServer-Client,随后创建鉴别码(关于Client的一些信息和当前时间的一个时间戳)
并用SServer-Client对其加密。最后连同从KDC获得的、被Server的主密钥加密过的数据包一并发送到Server端。我们把通过Server的主密钥加密过的数据包称
为会话票据。
(3)Server接收到这两组数据后,先使用他自己的主密钥对会话票据进行解密,从而获得SServer-Client。随后使用SServer-Client解密鉴别码获取时间戳,
同当前的时间进行比较,如果偏差超出一个可以接受范围,Server会直接拒绝该Client的请求。
3、优缺点:
一旦Client获得用于访问某个Server的票据,则该Server就能根据票据实现对Client的验证,不再需要KDC的参与;
以进行双向验证;
加密和解密使用相同的密钥,安全性有所降低;
Kerberos中身份认证服务和票据授权服务时集中式管理,系统的性能和安全性也过分依赖于这两个服务的性能和安全。
五、EAP(Extensible Authentication Protocol)可扩展认证协议
该协议一般运行在数据链路层上,即可以直接运行于PPP或者IEEE 802之上,不必依赖于IP。EAP的架构非常灵活,允许协商认证方法,允许使用另外的认证服
务器,支持重传机制。
EAP认证方法目前大约有40种,包括:EAP-MD5、 EAP-OTP、EAP-GTC、EAP-TLS、EAP-SIM和EAP-AKA。
1、封装:
当PPP帧的协议字段是0xC227的时候,表示PPP帧的信息字段里封装了一个完整的EAP报文;
EAP在LAN的报文(简称EAPOL)数据帧格式Type域为EAP-Packet时,Packet Body为EAP数据报文。
2、EAP过程
(1)Authenticator发送请求报文EAP-Request给Supplicant(客户端),表明EAP认证开始。该请求由一个字段标明需要请求的数据是什么。
(2)Supplicant针对Authenticator发过来的请求回应一个响应消息EAP-Response;
(3)Authenticator继续发送EAP-Request消息,消息中包含具体EAP Type及其协议数据,Supplicant对此做出响应。根据EAP Method的不同,此步骤可能会交
互多次。
每次只能处理一个EAP报文,在收到响应之前不能发送新的请求,即锁步机制(Lockstep)。因此Authenticator要负责请求消息的重传。
(4)交互多次之后,会出现两种情形:Authenticator不能确认Supplicant的接入权限,此时必须发送EAP-Failure,终结此次的EAP过程;或者确认接入权限
,此时必须发送EAP-Success消息。
Authenticator也可以作为Pass Through设备,透传EAP报文。
六、802.1X技术
全称为Port-Based Networks Access Control,即基于端口的网络访问控制。
1、结构:
客户端(Supplicant System):该终端系统通常需要安装一个客户端软件,必须支持EAPOL。
认证系统(Authenticator System):也称NAS(Network Access System,即网络接入系统),通常为支持802.1X协议的网络设备。
认证服务器(Authentication Server System):通常为Radius服务器,该服务器可以存储有关用户的认证、计费、业务信息。
2、协议:
(1)客户端和NAS之间:EAPOL(EAP over LANs)
(2)客户端、NAS和认证服务器之间认证信息的交互:EAP(Extensible Authentication Protocol,可扩展认证协议)
3、认证的基本过程:
(1)802.1X的认证发起可以由NAS发起,也可以由客户端主动发起。
当NAS探测到未经过认证的用户使用网络时,就会主动发起认证;用于支持不能主动发送EAPOL-Start报文的客户端,例如Windows XP自带的802.1X客户端。
客户端则可以通过客户端软件主动向NAS发送EAPOL-Start报文发起认证:组播MAC地址:01-80-C2-00-00-03。
(2)认证过程:
EAP中继方式:IEEE 802.1X标准规定的,其将EAP承载在其它高层协议中,如EAPOR(EAP over Radius),以便EAP报文穿越复杂的网络到达认证服务器。需要
Radius服务器支持EAP属性:EAP-Message(值为79)和Message-Authenticator(值为80)。
EAP终结方式:EAP报文在设备端终结并映射到Radius报文中,通过标准的Radius协议完成认证、授权和计费。CHAP密码通过密文方式在客户端和NAS之间传输,
而PAP密码通过明文的方式传输。
EAP中继方式与EAP终结方式的认证流程十分类似,不同之处主要在于加密字的生成处理及传递方式。在EAP中继方式中,用来对用户口令信息进行加密处理的随
机加密字由认证服务器生成。EAP终结方式中,用来对用户密码信息进行加密处理的随机加密字由NAS生成。
4、H3C公司对802.1X的扩展属性
支持基于端口和基于MAC的不同认证方式
支持的下发业务包括VLAN业务、ACL业务和CAR(用户流量控制)业务
定期握手机制取代了重新认证机制
独特的代理用户检测
七、PORTAL
Portal在英语中是入口的意思。Portal认证通常也称为Web认证,一般将Portal认证网站称为门户网站。
1、Portal的四大主要系统:
认证客户端:
接入设备(BAS):交换机、路由器等宽带接入设备的统称。在认证之前,将用户的所有HTTP请求都重定向到Portal服务器。在认证通过后,允许用户访问被管
理员授权的互联网资源。
Portal服务器:提供免费门户服务和基于Web认证的界面。Portal服务器通过PAP或CHAP的方式向接入设备传递用户信息。接入设备获取到用户信息后,将该信
息通过AAA模块完成认证。
认证/计费服务器:与接入设备进行交互,完成对用户的认证和计费。
2、对EAD系统的支持
需要用户在终端上安装专用的Portal客户端软件,用户在通过Portal认证后,安全策略服务器通过与Portal客户端、接入设备进行交互,完成对用户的安全认
证。若对用户采用了安全策略,则用户的安全检测通过之后,安全策略服务器根据用户的安全策略,授权用户访问非受限资源。
3、认证方式
二层认证方式:只允许源MAC地址通过认证的用户才能访问外部网络资源,目前仅支持本地Portal认证,即接入设备作为本地Portal服务器。
三层认证方式:直接认证方式、二次地址分配认证方式和跨三层认证方式。直接认证方式和二次地址分配认证方式下,认证客户端必须通过二层直接连接到接
入设备。IP地址都是用户的唯一标识。接入设备基于用户的IP地址下发ACL对接口上通过认证的用户报文转发进行控制。
八、MAC地址认证
基于端口和MAC地址对用户的网络访问权限进行控制的认证方法;
不需要用户安装任何客户端软件;
认证过程中,不需要用户手动输入用户名或者密码;
若该用户认证成功,则允许其通过端口访问网络资源,否则该用户的MAC地址就被添加为静默MAC。在静默时间内(可通过静默定时器配置),来自此MAC地址的
用户报文到达时,设备直接做丢弃处理。
1、MAC地址认证使用的用户名格式分为两种类型:
使用用户的MAC地址作为认证时的用户名和密码,用户名和密码相同;
不论用户的MAC地址为何值,所有用户均使用设备上指定的一个固定用户名和密码替代用户的MAC地址作为身份信息进行认证;
2、两种MAC地址认证方式:
选用RADIUS服务器认证方式;
接入设备上进行本地认证;
3、认证触发与下线:
下线检测定时器(offline-detect):用来设置用户空闲超时的时间间隔;
静默定时器(quiet):用来设置用户认证失败以后,设备停止对其提供认证服务的时间间隔;
服务器超时定时器(server-timeout):设置设备同RADIUS服务器的连接超时时间;
MAC地址认证触发,目前只有一种触发方式:new-mac事件触发,就是有了新的MAC到使能了MAC认证的端口,并被该端口学习到,即可触发MAC地址认证。
4、扩展特性:
(1)通常将受限的网络资源和用户划分到不同的VLAN。认证服务器(远程或本地)授权下发VLAN功能。设备根据用户接入的端口链路类型,按不同情况为端口
下发VLAN。通过认证即可访问授权vlan。
(以太网端口有三种链路类型:access、trunk、hybird. Access类型的端口只能属于1个VLAN,用于计算机; Trunk类型的端口可以允许多个VLAN通过,用于
交换机; Hybrid类型的端口可以允许多个VLAN通过,用于交换机和计算机。)
(2)从认证服务器(远程或本地)下发的ACL被称为授权ACL,它为用户访问网络的权限提供了良好的过滤功能。
(3)MAC地址认证的Guest VLAN功能允许用户在认证失败的情况下,访问某一特定VLAN中的资源。
九、Triple认证
802.1X认证需要客户端的配合,适用于安装了802.1X客户端的主机;移动终端如手机、PAD等可以选择Portal认证;而对于打印机、打卡器等终端,由于本身往
往不支持认证交互,MAC地址又是已知且固定不变的,这类设备适合采用MAC认证。为了满足不同用户的需求,在同一端口上同时实现下挂不同的认证用户,推
出了Triple认证。
Triple认证可以支持在一个交换机二层端口上同时使能802.1X认证、MAC认证以及二层Portal认证,在Triple认证中采用基于MAC认证模式的802.1X。
1、几种认证之间的覆盖关系
对于接入用户,只要通过其中一种认证,就可以访问相关权限。
客户端启动或者网卡接入时首先触发MAC地址认证,通过了MAC认证以后,再使用802.1X客户端触发802.1X认证可以认证成功,将覆盖之前MAC认证信息,而当
802.1X认证失败后又可以重新通过new MAC事件来触发MAC认证。
用户通过MAC地址认证后,不会再触发Portal认证。
二层Portal认证以及802.1X认证成功后不能被其他认证覆盖。
2、授权:
接入设备对认证成功的用户可以添加相应的授权VLAN。
Triple认证应用中采用基于MAC的VLAN技术来实现对于不同的用户下发不同的权限。MAC-VLAN表项采用动态下发的方式,要求用户端口采用hybrid口,端口上启
用MAC-VLAN。
GUEST VLAN设置了用户在认证成功前被授予的权限,在Triple认证中也是需要同MAC-VLAN结合实现的;
Auth-fail VLAN 划分了在用户认证失败后能够访问的资源。
十、EAD(Endpoint Admission Domination终端准入控制)方案介绍
其核心就是对终端用户的准入和控制。它以接入认证技术为载体,为网络提供一套立体的安全体系。EAD主要组件分为终端用户、接入控制设备、第三方补丁和
病毒服务器、安全策略服务器。逻辑上分为隔离区和授权安全区域。
1、基本思想:
终端用户首先通过接入认证技术进行身份认证,接入认证包括802.1X认证、PORTAL认证、L2TP认证。身份认证不通过,直接被拒绝,不能访问网络受保护资源
。如果身份认证通过,则首先要把用户放到隔离区,然后进行安全检查,如果安全检查不合格,则用户将一直被隔离,只能访问隔离区域,直到自动修复或手
工修复完成。如果安全检查合格,则用户会被动态授权,进入安全区域,可以访问受保护网络资源,但仅限于授权的网络资源,不能越权访问。此后用户在线
过程中,其行为可以被约束,当打开或者安装禁止的进程或程序时,用户会被要求下线,禁止访问网络。
2、接入认证技术可以是PORTAL、802.1X和L2TP(×××),而且这三种接入技术分别适合不同的应用场景。
3、在安全检查阶段不能符合预定的安全策略,EAD系统会针对该用户启动安全措施。默认的安全模式5种,分别是:隔离模式、监控模式、VIP模式(提醒模式
)、下线模式、访客模式。
4、EAD 802.1X认证流程:
(1)和普通802.1X认证不同之处在于后续的EAD认证过程,在用户身份认证通过后,策略服务器通过radius-access-accept报文告知接入认证NAS设备该用户认
证通过,同时包含filter-id(下发ACL)和策略服务器地址等信息。接入认证NAS设备把该属性封装为eap报文后透传给客户端。
(2)iNode客户端收到透传的EAP报文后,解析出策略服务器的地址、端口等信息,开始发起EAD认证。
1号报文是认证请求,包含主要内容如下:认证用户名、IP地址(可选)、客户端监听端口号、客户端版本号等;
2号报文是服务器回应的安全检查报文,它需要通知客户端哪些安全项需要进行检查并且上报;
3号报文是用于向策略服务器反馈终端PC的一些安全检查结果的。
如果安全检查通过,则直接向客户端发送EAD4号报文。如是隔离模式,之后会发生radius的session-control报文,通过filter-id向接入认证通告该用户应该
被授权下发的ACL,通过ACL的约束来达到对用户授权的目的。
如果安全检查不通过,则向终端PC发送EAD 6号报文。
在用户下线前,EAD终端PC和策略服务器会通过EAD 11号报文和12号报文来维持心跳保活。
当用户主动请求下线时,向策略服务器发送EAD13号报文,策略服务器会回应EAD14号报文,其携带属性和EAD11号报文大致相同。
5、PORTAL EAD的认证流程
与802.1X相同,当用户身份认证通过后,如果用户安全策略的模式是隔离模式,那么radius服务器会通过access-accept报文中的filter-id属性下发隔离ACL。
PORTAL服务器通过CODE-PP-LOGIN-RESPONS 报文通告终端PC的iNode安全策略服务器的IP地址、端口号等。
https://blog.51cto.com/qingsto/1343245