业务随行技术

业务随行技术:解决网络移动性与安全策略

1. 技术背景

(1)用户在网络中的移动性需求

     在大型园区中普遍存在用户移动性需求,例如:移动办公。
     从园区网络管理角度要求:不管用户身处何地、使用哪个IP地址,都可以保证该用户获得相同的网络访问策略。

(2)传统方案:

通过NAC技术结合VLAN和ACL实现
     问题:要求员工从指定的交换机、VLAN或网段接入、上线
            ACL与用户的关联只在认证点生效
            ACL需要提前配置
            部署和维护工作量巨大

(3)业务随行概述

     业务随行是园区网络中一种不管用户身处何地、使用哪个IP地址,都可以保证该用户获得相同的网络访问策略的解决方案
     通过iMaster NCE-Campus控制器和交换机,让网络权限自动跟随“人”移动,以此解决移动办公体验糟糕的问题
     业务随行从三个方面解决传统园区问题:
          业务策略与IP地址解耦
          用户信息集中管理
          策略集中管理
     业务随行的优点:
          简化网络规划:管理员配置策略时无需关注用户的IP地址
          增强控制能力:实现网络设备上认证用户信息的相互同步
          管理效率提升:管理员无需逐台设备重复配置

(4)业务随行的基本流程

     业务随行基于安全组进行策略管理及权限控制。
          划分安全组,安全组即拥有相同网络访问策略的一组用户
          定义基于安全组的权限控制策略,将策略下发到网络设备
          用户执行准入认证后,获得授权的安全组
          用户的流量进入网络后,网络设备根据流量对应的源、目的安全组执行策略

(5)传统方案与业务随行方案的区别

2. 基本概念

(1)认证与策略执行

     认证点:负责对终端进行身份认证,并通过认证过程从iMaster NCE-Campus获得终端的授权结果,如终端所属的安全组等
     iMaster NCE-Campus:充当认证服务器,同时也是业务随行的策略控制中心,维护全网的安全组之间的策略控制矩阵
     策略执行点:先从iMaster NCE-Campus获得安全组间策略控制矩阵,在收到流量后,根据流量的源、目的IP地址对应的源、目的安全组执行策略,如果策略允许该流量,则进行转发,否则进行丢弃

(2)安全组

     安全组是对“网络中进行通信的对象”进行抽象化、逻辑化而得到的一个集合。
     安全组的划分:
          静态安全组:通过静态绑定IP地址的方式定义安全组
          动态安全组:根据特定条件授权给用户,符合条件的用户授权到指定安全组
     特殊的安全组:
          unknown组(缺省):未知用户,未通过动态方式也未通过静态方式加入任何安全组的用户或者资源均默认归于这个组
          any组(缺省):所有用户或资源,通常用来配置默认规则。any组只能做目的组,不支持配置为源组
          逃生安全组(指定):当策略执行点设备与控制器之间的IP-Group通道故障时,对于未识别的流量,
          按照逃生组所配置的策略进行控制。只允许配置一个逃生组,且逃生组必须要配置静态成员。

(3)UCL(用户控制列表)组

     UCL组是一种用户类别的标记。借助UCL组管理员可以将具有相同网络访问策略的一类用户划分为同一个组,
     然后为其部署一组网络访问策略,即能满足该类别所有用户的网络访问需求。

(4)资源组

     资源组之间允许IP地址重复;
     在配置策略控制矩阵时,资源组只能作为策略的目的组(不支持作为源组);
     策略下发的时候,针对交换机设备,需要分解成对应的IP地址下发,而不是使用安全组(UCL组)模型。

(5)策略控制矩阵

     策略控制矩阵是用于承载组间策略的配置,组间策略主要控制组到组之间的访问权限。

(6)IP-Group表项订阅

     概念:网络中,对于认证点设备和策略执行点设备不属于同一设备的场景,
     需要将认证用户的IP-Group(IP-安全组)信息表项推送到指定的策略执行点设备上,
     这需要管理员在控制器上进行订阅配置。
     步骤:
         用户在认证点设备通过RADIUS协议到认证服务器进行身份认证,认证服务器完成安全组授权,同时记录用户的IP-Group表项信息。
         认证服务器通过HTTP2.0通道向IP-Group组件上报IP-Group表项。IP-Group组件将表项信息推送到订阅设备。

业务随行基本原理

1. 工作原理概述

(1)创建用户及安全组

     管理员在控制器中定义安全组
     管理员在控制器中创建用户账号,并配置授权规则、授权结果,将用户授权到对应安全组

(2)定义并部署策略控制矩阵

     管理员在控制器中指定策略执行点设备,并定义策略控制矩阵
     控制器自动将组间策略下发至策略执行点设备

(3)用户启动认证

     用户接入网络,控制器校验用户身份
     控制器根据用户的登录信息,将其与安全组关联,并将该用户所属安全组作为授权结果下发给认证点

(4)用户访问网络

     策略执行点根据IP地址与安全组的对应关系(IP-Group信息),识别报文的源、目的组信息,进而匹配和执行组间策略

业务随行方案设计

1. 安全组设计

(1)动态安全组(接入用户):5W1H

     Who:接入用户的身份,例如公司的领导、普通员工、访客
     Where:接入用户的地点,例如园区内接入,或远程接入
     What:接入用户使用的终端类型,例如是手机接入,还是PC/便携机接入
     When:接入用户的时间,例如是白天接入,还是晚上接入
     Whose:设备归属,例如是公司终端,还是自带终端
     How:接入用户的方式,例如是有线接入,还是无线接入

(2)静态安全组(网络资源)

     静态安全组通过资源的服务类型来进行制定

2. 权限控制设计

根据需求得出业务随行中动态安全组和静态安全组的划分,并根据网络访问权限得出网络权限的访问矩阵。

3. 用户认证设计

业务随行和传统方案相比,在用户认证阶段没有差别
当用户通过认证后,传统方案会下发ACL、VLAN等信息,而业务随行会下发安全组信息(即UCL组)

4. 认证点和策略执行点位置选择

一般认证点选择用户网关设备,并且网关设备同时作为策略执行点,部署业务随行功能。
主要原因:
     接入交换机数量较多,在每台接入交换机上配置认证功能较为繁琐,管理起来也较为麻烦。
     控制器需要向策略执行点设备同步权限策略,如果选用接入交换机作为认证点,则策略执行点设备的数量会大幅增加(因为接入交换机数量较多),不仅增加了控制器上设备管理的工作量和难度,还延长了每次同步策略的时间。
     对于用户网关以下的二层网络中能够互通的用户,如果想要进行互访控制,可以部署二层隔离,使用户在二层不能互通,流量必须经过用户网关。

5. 典型业务随行设计方案

在这里插入图片描述

### 策略联动与业务随行技术原理及实现方式 策略联动是一种网络管理机制,它允许不同网络设备或系统之间共享策略信息,并协同执行一致的安全和服务质量(QoS)策略。这种技术的核心在于通过集中式的策略决策和分布式的策略执行来确保整个网络环境中的流量控制、访问控制以及服务质量保持统一[^3]。 业务随行则是基于策略联动的基础上发展起来的一种更高级的网络服务模型,它的目标是让用户的网络体验不受地理位置的影响,即无论用户身处何处,都能获得相同的网络服务和安全策略。这通常涉及到动态的身份验证、授权以及对用户位置变化时自动调整网络策略的能力[^3]。 #### 技术原理 - **集中式策略管理**:在控制器上定义并维护所有策略规则,包括安全组划分、组间策略等。 - **分布式策略执行**:各个网络设备(如交换机、路由器)根据从控制器获取的策略进行本地执行。 - **实时通信与同步**:为了保证策略的一致性,需要有高效的协议来同步策略更新到所有的相关设备。 - **灵活的安全组划分**:可以根据IP地址、MAC地址等多种维度将用户和资源归类到不同的安全组中。 - **细粒度的策略匹配**:依据报文的源/目的IP地址先匹配对应的安全组,然后基于这些安全组进一步匹配预设的组间策略。 #### 实现方式 1. **部署SDN架构**:采用软件定义网络(SDN)架构,利用中央控制器作为策略决策点,负责全局策略的制定与分发。 2. **使用支持标准协议的设备**:选择支持开放标准协议(例如OpenFlow, REST API)的硬件设备,以便能够接收来自控制器的指令并准确地执行策略。 3. **配置安全组和服务链**:在网络中设置适当的安全组,并通过服务链技术将特定类型的流量引导至相应的处理节点以应用必要的策略。 4. **实施身份认证与访问控制**:结合802.1X或其他形式的身份验证方法,在用户接入网络之初就对其进行严格的鉴权,随后依据其身份分配合适的网络权限。 5. **持续监控与优化**:定期审查策略效果,收集性能数据用于后续分析,不断改进策略以适应组织需求的变化。 ```python # 示例代码 - 模拟一个简单的策略匹配过程 def match_policy(source_ip, destination_ip): # 假设有两个安全组A和B security_groups = { 'GroupA': ['192.168.1.0/24'], 'GroupB': ['192.168.2.0/24'] } def ip_in_group(ip, group): return any(ipaddress.ip_address(ip) in ipaddress.ip_network(network) for network in group) source_group = None dest_group = None for sg_name, networks in security_groups.items(): if ip_in_group(source_ip, networks): source_group = sg_name if ip_in_group(destination_ip, networks): dest_group = sg_name if source_group and dest_group: # 这里可以添加具体的策略逻辑 print(f"Traffic from {source_ip} to {destination_ip} matched policy between {source_group} and {dest_group}") else: print("No matching policy found.") import ipaddress match_policy('192.168.1.5', '192.168.2.10') ``` 该示例演示了如何根据源目IP地址确定它们所属的安全组,并据此判断应采取何种策略。实际环境中,这样的逻辑会更加复杂,并且可能涉及更多的参数和条件判断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值