当前位置: 首页 > news >正文

猿创征文|HCIE-Security Day49:AC准入控制SACG

 

概念 

安全访问控制网关。

是AC和防火墙配合实现的用户准入控制。

只能针对用户通过有线网络接入,不能针对无线,不能针对哑终端。不改变网络拓扑。

可以认为是有线802.1x的升级版。

分为硬件SACG:使用NGFW旁挂;软件SACG已经被淘汰。

本质是通过防火墙上的从ac获取的ACL来控制用户的权限。

SACG包括三个实体:客户端、设备端(SACG)和认证服务器。

一个终端设备接入后,通过SACG向controller服务器发起认证请求,认证通过后,controller服务器将该终端设备的IP地址以及对应的角色信息发给SACG.

目的

随着网络的发展与防火墙设备的普及,企业的网络安全威胁的主要来源正逐渐从外网转移到内网。主要有:

  • 非法终端和非授权终端对业务系统的访问,主要包括以下几种情况:
    • 非自有的终端设备接入企业内网
    • 不合法人员利用企业设备接入企业内网
    • 合法人员越权访问网络资源
  • 终端不安全导致病毒的扩散
  • 终端数量大、系统复杂、员工的违规行为得不到监控

SACG联动方案的提出主要就是为了解决内网终端用户带来的安全隐患。FW可以在SACG联动方案中承担SACG的角色,主要起到不同区域之间的隔离,以及对终端用户访问权限进行实际控制的作用。

原理

受控域与fw上的acl的对应关系,每一个受控域对应fw上的两个acl,奇数号acl对应deny规则,偶数号acl对应permit规则。

通过在SACG上配置AC联动功能,将SACG上的acl3099-3999作为接纳controller下发控制策略的容器,这901条acl分别对应ID号为0-900的901种角色,每种角色对应controller系统中的一个受控域。其中acl3099对应角色0,是所有接入用户的缺省角色,可以用来允许未经认证的用户访问认证前域。剩余的ACL3100-3999对应角色1-900号角色,这些角色是由AC下发的普通角色。

  • 一个终端设备接入后,通过SACG向Agile Controller发起认证请求,认证通过后,Agile Controller将该终端设备的IP地址以及对应的角色信息发给SACG。
  • SACG根据Agile Controller下发的各条ACL中的信息,建立一个源IP监控表,记录IP地址、角色、角色的权限以及可访问的资源等信息的对应关系。

SACG收到一个来自终端设备的报文后,在进行域间包过滤时,按如图1所示流程进行处理:

图1 SACG下的策略查找流程

 

SACG认证流程

SACG联动的主要工作流程是:

根据所在域判断他的授权。对应acl允许他访问什么,才可以访问什么。认证是判断你是谁,而授权是决定你能干什么。

  1. SACG向Agile Controller-Campus请求同步认证前域的规则、隔离域的规则和认证后域的规则,把规则转换为ACL。管理员配置完交换机、防火墙的接口,防火墙安全策略后,防火墙定期(每10分钟)主动向Agile Controller-Campus发起连接请求,因此在配置防火墙时需要允许Local安全区域(防火墙自身)访问Agile Controller-Campus所在的安全区域。
  2. 连接成功后Agile Controller-Campus向防火墙下发配置的认证前域、隔离域和认证后域的规则。
  3. 终端用户在EasyAccess或其他客户端输入帐号密码发起身份认证请求。若终端用户未安装EasyAccess则向终端用户推送在防火墙上配置的URL链接(Web或Web Agent),方便终端用户通过Web页面进行身份认证。
  4. Agile Controller-Campus返回认证结果,如果认证失败,那么终端用户只能访问认证前域的资源。
  5. 终端用户身份认证成功后,向Agile Controller-Campus发起安全认证请求。终端用户通过EasyAccess从业务控制器下载并执行安全策略以进行安全检查,并将安全检查结果上报Agile Controller-Campus。所谓安全认证是指在终端用户通过身份认证后,EasyAccess将从业务控制器接收并执行管理员配置的策略及执行参数,如果未发现终端主机存在严重违规,则表明终端主机通过安全认证。通过安全认证的终端用户允许访问认证后域,访问权限的大小受限于管理员在业务控制器配置的受控域。
  6. Agile Controller-Campus根据安全检查结果,通知SACG将终端用户的IP切换至对应的域。
    1. 如果安全检查通过,Agile Controller-Campus通知SACG将终端用户的IP地址切换至认证后域。
    2. 如果安全检查不通过,Agile Controller-Campus通知SACG将终端用户的IP地址切换至隔离域。
  7. SACG将终端用户的IP地址切换至对应的域,并将执行结果返回至Agile Controller-Campus。
  8. Agile Controller-Campus将服务器端策略与终端本地策略比较,如果策略不一致,则将最新的安全策略下发给客户端;如果策略一致,则不执行下发策略操作,返回给客户端响应报文。
  9. 终端用户访问网络,当报文经过SACG时,SACG将使用认证域对应的ACL限制终端用户能够访问的网络资源。如下图所示:
    1. 如果终端IP地址未通过身份认证,SACG将会使用认证前域对应的ACL对报文进行处理。该条ACL与管理员在SM上配置的认证前域相对应,终端用户只能访问认证前域的网络资源。
    2. 如果终端IP地址已经通过身份认证,但未通过安全检查,SACG将该报文从认证前域切换至隔离域,并根据隔离域对应的ACL对报文进行处理,终端用户可以访问认证前域和隔离域的网络资源。
    3. 如果终端IP地址同时通过身份认证和安全检查,SACG将该报文从认证前域或隔离域切换至认证后域,并根据认证后域对应的ACL对报文进行处理,终端用户可以访问认证前域和认证后域的网络资源。

SACG中的域

用户域

所有接入企业内网的终端设备,例如台式机、便携机以及通过internet接入的出差员工、驻外机构、合作伙伴等。

网络域

SACG所在的区域。进行流量转发的网络设备所组成的域,承载业务流量,实现各网络的互联。SACG就部署在这个域中。

认证前域

AC所在的区域。认证前域是终端设备在完成认证之前可以访问的区域。该区域主要用于对终端设备和用户进行认证、授权、策略管理、补丁下发等。SACG联动方案的中大部分组件都部署在该区域中。

受控域

受控域是终端在完成认证之后才可以访问的区域。包括隔离域和认证后域。

隔离域

修复区域。隔离域是指在终端用户通过了身份认证但未通过授权时可以访问的区域。通常将能够帮助终端用户消除安全隐患的相关资源(如补丁服务器、防病毒服务器等)部署在本区域。华为亮点。相比802.1x的升级点,就是出现了隔离域,对于没有通过授权的设备可以给他一个修复的机会。

认证后域

认证成功后能够访问的业务区域。认证后域是企业真正的核心资源所在的区域,终端设备和用户都必须进行认证和授权之后才能访问自己的权限相对应的安全区域。

客户端支持账号类型

支持客户端

支持账号类型

easyaccess

本地账号

ad

ldap

radius token

证书

mac

匿名账号

web agent

本地账号

ad

ldap

证书

匿名账号

web

本地账号

ad

ldap

匿名账号

部署模式

SACG主要提供直挂和旁挂两种不同的部署模式。

旁挂模式

 

用于在内网场景已部署完成后新增防火墙作为SACG,终端用户和业务系统已经通过一个核心转发设备(比如三层交换机或者路由器)连接在了一起。如果在部署SACG联动系统时,使用SACG替换掉这个转发设备,就会涉及到重新构建内网环境和路由的重新学习等问题。为了避免这些问题,可以使用旁挂模式来部署SACG.同时通过旁挂模式也可以避免由于SACG故障导致网络不通的问题。

在该组网中,连接Trust和Untrust区域的路由器也可以使用交换机来代替。通过在路由器或交换机上配置重定向或者策略路由,将Untrust区域的终端设备访问Trust区域的业务系统的流量从路由器或交换机转发到SACG上,由SACG对其进行处理。期间SACG会和Agile Controller服务器进行一系列交互,以确定该流量所属的用户的权限,并进行相应的处理。当这些流量被允许通过SACG后,由业务系统回应的流量会直接通过路由器或交换机转发给Untrust区域。

这种组网是在用户原有组网基础上直接添加SACG和Agile Controller服务器群,不需要破坏原有网络结构。而且由于只有一个方向的流量会经过SACG(来回路径不一致,需要关闭状态检测),所以对SACG的负载要求较小。推荐使用这种模式部署SACG联动系统。

直挂模式

将SACG串接在原有网络中,防火墙当做SACG的同时可以使用安全防护等防火墙的其他功能。

在该组网模式下,有两种使用方式:

使用二层接口连接Untrust、DMZ、Trust三个安全区域

这种方式适合于使用Agile Controller前,SACG所在网络位置是一个交换机的情况。相当于通过FW的二层口替代了之前的交换机。

此处的二层接口为三层接口工作在二层模式下的接口。

使用三层接口连接Untrust、DMZ、Trust三个安全区域

这种方式适合于使用Agile Controller前,SACG所在网络位置是一个路由器的情况。相当于通过FW的三层接口替代了之前的路由器。这种方式中,SACG上需要正确配置内网的路由。

硬件SACG准入配置案例

拓扑

配置思路

1、底层网络互通配置

2、交换机配置

3、防火墙SACG配置

4、AC配置

4.1、关联防火墙

4.2、配置认证域(前域、受控域、隔离域、后域)

4.3、创建账号信息

4.4、增加并分配SACG策略组

5、验证结果

具体配置

1、防火墙fw1基础配置


#接口配置
sys fw1
int g0/0/0
ip add 192.168.0.10 24
int g0/0/1
ip add 10.1.1.10 24
int g0/0/3
ip add 192.168.1.10 24
int g0/0/2
ip add 202.100.1.10 24
#配置安全区域
fire zone trust
add int g0/0/1
fire zone dmz
add int g0/0/3
fire zone untrust
add int g0/0/2
quit
#配置静态路由
ip route-static 0.0.0.0 0 202.100.1.254
ip route-static 10.1.4.0 24 10.1.1.254
ip route-static 10.1.2.0 24 10.1.1.254
#修改console超时时间
user-interface con 0
id 0 
quit

2、防火墙fw2基础配置


#接口配置
sys SACG
int g0/0/0
undo shutdown
ip add 192.168.0.11 24
int g0/0/1

ip add 10.1.3.10 24
int g0/0/3
ip add 192.168.1.10 24
int g0/0/2
ip add 10.1.4.10 24
#配置安全区域
fire zone trust
add int g0/0/1
fire zone untrust
add int g0/0/2
quit
#配置静态路由
ip route-static 0.0.0.0 0 10.1.4.254
undo fire sess link-state check
#修改console超时时间
user-interface con 0
id 0 
quit

security-policy
rule name sacg
source-zone local untrust
destination-zone local untrust
ac per

3、路由器配置


sys ISP
undo int vlan 1 
acl 2000
rule per 

int g0/0/0
undo portswitch
nat outbound 2000
ip add dhcp-alloc

int g0/0/1
undo portswitch
ip add 202.100.1.254 24

ip route-static 10.1.0.0 16 202.100.1.10

user-interface con 0

id 0 

4、交换机引流到硬件SACG

acl number 3000
rule 5 permit ip source 10.1.2.0 0.0.0.255
interface GigabitEthernet0/0/9
traffic-redirect inbound acl 3000 ip-nexthop 10.1.3.10

5、防火墙SACG配置

5.1、开启SACG

网络--SACG--基本配置

开启SACG、开启服务器状态检测、认证源IP配置为SACG设备入接口地址

5.2、新建认证服务器

服务器IP为ac地址

服务器端口为3288

5.3、配置SACG联动策略

网络--SACG--联动策略

配置域间应用联动策略列表为:trust--untrust

6、AC SACG配置

6.1、新建硬件SACG

策略--准入控制--硬件SACG--硬件SACG配置

新增SACG

类型选择防火墙,主用IP与防火墙配置的认证源IP一致,端口默认3288,在防火墙上需要注意保持一致,key值与防火墙的保持一致。终端IP地址范围根据实际填写。

6.2、增加前域

ip地址写ac的地址

6.3、增加受控域

增加隔离域

增加后域

两个地址段分别是ISP的接口地址和sw1和fw1的地址。

配置隔离域,调用之前受控域中创建的隔离域。

配置后域,调用之前受控域中创建的认证后域。

如果勾选禁止访问列表中的受控域资源,允许访问其他。就会禁止访问受控域列表中的资源,其他的资源全部允许访问。

此时会下发role id =2、3、5、255.类似于黑名单

如果勾选只允许访问列表中的受控域资源,禁止访问其他,就会下发给认证后域,即通过认证的设备以下acl内容。

此时会下发role id=1、6、255。类似于白名单

6.4、创建SACG账号

增加用户组

增加用户账号

6.5、增加SACG策略组

增加模板、填写名称、绑定隔离域和后域

 

为SACG策略组分配用户组

部署SACG策略到硬件SACG(防火墙)

7、SW引导终端认证流量到SACG防火墙

acl 3000
rule 5 permit ip source 10.1.2.0 0.0.0.255
interface g0/0/9
traffic-redirect inbound acl 3000 ip-nexthop 10.1.3.10

8、验证结果

8.1、检查防火墙认证服务器列表是否已连接

8.2、检查ac硬件sacg配置是否部署成功

8.3、防火墙查看与ac的联动状态

[SACG]display right-manager server-group 
2022-08-22 23:43:33.210 +08:00
 Server group state  :  Enable 
 Server number       :     1
 Server ip address        Port        State       Master
 192.168.1.100            3288        active        Y  

8.4、防火墙查看从AC同步的信息

[SACG]display right-manager role-info 
2022-08-22 23:44:11.560 +08:00
 All Role count:8 
 Role  ID      ACL number         Role name
--------------------------------------------
 Role   0      3099            default #认证前域,默认含controller sc服务器
 Role   1      3100           DefaultDeny #系统内置受控域,deny ip
 Role   2      3101           DefaultPermit #系统内置受控域,permit ip
 Role   3      3102           Deny___0 #用户配置受控域0(编号由系统自动生成)
 Role   4      3103           Permit_0 #用户配置受控域0(编号由系统自动生成)
 Role   5      3104           Deny___1 
 Role   6      3105           Permit_1
 
 Role 255      3354           Last #系统内置受控域=认证前域,不含deny

8.5、pc1与隔离域和认证后域无法通信

8.6、pc1能与ac通信

域间应用联动策略列表优先级高于安全策略,所以pc1能与ac通信

8.7、配置easyaccess进行sacg认证

8.8、查看SACG设备上在线用户

[SACG]display right-manager online-users 
2022-08-22 23:53:03.330 +08:00
  User name      : sacguser1
  Ip address     : 10.1.2.1
  ServerIp       : 192.168.1.100
  Login time     : 23:51:07 2022/08/22 ( Hour:Minute:Second Year/Month/Day)
-----------------------------------------
  Role id      Role name
     1          DefaultDeny  
     6          Permit_1  
   255          Last  
-----------------------------------------

8.9、查看SACG用户获取的权限列表

[SACG]display right-manager role-id 6 rule
2022-08-22 23:53:32.920 +08:00
Advanced ACL 0, 2 rules ( Reference counter 0 ) 
Acl's step is 1
 rule 1 permit ip destination 202.100.1.0 0.0.0.255 (0 times matched) 
 rule 2 permit ip destination 10.1.1.0 0.0.0.255 (0 times matched) 

8.10、pc1可以访问认证后域

准入控制故障处理

检查policy center服务器与sacg联动是否正常

[SACG]display right-manager server-group 
2022-08-22 23:43:33.210 +08:00
 Server group state  :  Enable 
 Server number       :     1
 Server ip address        Port        State       Master
 192.168.1.100            3288        active        Y  

server ip地址:是policy center服务器的IP地址

state:如果联动正常,则为active,因此首要检查该state是否为active

master:如果网络中有若干个policy center服务器,则fw会选举一个服务器作为master(标记Y),fw只从标记为Y的服务器同步和更新规则

如果网络中有若干个policy center服务器,并且原来的master down掉,fw会选举另外一个policy center服务器作为master

相关文章:

  • 移动Web第二天 4 空间转换 5 动画
  • LeetCode646-最长数队链
  • 力扣:23,-合并K个升序链表
  • 移动Web第三天 1 移动端特点 2 百分比布局 3 Flex布局
  • vue中用ref实现父子组件、孙组件、兄弟组件、非亲子孙组件互相调用的方法
  • 【信号去噪】基于鲸鱼算法优化VMD实现信号去噪附matlab代码
  • git开发分支管理
  • 啊哈,一道有趣的Go并发题
  • [编程题]数据库连接池 - 牛客网题解
  • 线性回归模型(OLS)3
  • 如何利用腾讯云轻量应用服务器五分钟搭建一个WordPress博客?
  • 从外到内理解c++引用
  • [极客大挑战 2019]BabySQL
  • vue3+vite+windicss+element-plus+axios+router+cookies 搭建
  • ElasticSearch docker 方式安装
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • ES6语法详解(一)
  • flask接收请求并推入栈
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Koa2 之文件上传下载
  • Laravel Mix运行时关于es2015报错解决方案
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 构建二叉树进行数值数组的去重及优化
  • 力扣(LeetCode)56
  • 漂亮刷新控件-iOS
  • 三分钟教你同步 Visual Studio Code 设置
  • 一个SAP顾问在美国的这些年
  • 译米田引理
  • AI算硅基生命吗,为什么?
  • Spring Batch JSON 支持
  • zabbix3.2监控linux磁盘IO
  • 国内开源镜像站点
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ###STL(标准模板库)
  • #HarmonyOS:基础语法
  • #QT(智能家居界面-界面切换)
  • #QT项目实战(天气预报)
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (C语言)逆序输出字符串
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (十六)一篇文章学会Java的常用API
  • (四) 虚拟摄像头vivi体验
  • (转)LINQ之路
  • *p++,*(p++),*++p,(*p)++区别?
  • .bashrc在哪里,alias妙用
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .net访问oracle数据库性能问题
  • .NET简谈设计模式之(单件模式)
  • .NET命令行(CLI)常用命令