HCIA-Security_V4.0 | 08_防火墙用户管理技术
1 AAA 原理
AAA 简介
AAA:Authentication(认证)、Authorization(授权)和 Accounting(计费)的简称,是网络安全的一种管理机制。
AAA 常见应用场景
- 通过 RADIUS 服务器实现用户上网管理
- 通过本地认证实现网络管理员权限控制
AAA 基本架构
包括用户、NAS、AAA 服务器
- NAS(Network Attached Storage,网络接入存储)负责集中收集和管理用户的访问信息,现网常见的 NAS 设备有交换机、防火墙等;
- AAA 服务器负责集中管理用户信息。
NAS 基于域对用户进行管理,每个域都可以配置不同的认证、授权和计费方案。
- 每个用户都属于一个域。用户域即用户所在的区域,一般情况下
用户名@域名
表明用户属于这个区域。如果用户名后不带有@
,则用户属于系统缺省域; - 在 NAS 上会创建多个域来管理用户,不同域可以关联不同的 AAA 方案;当收到用户接入网络的请求时,NAS 会根据域对应的 AAA 方案对用户进行管控。
认证
防火墙支持的三种认证方式:
- 不认证
- 本地认证:将本地用户信息(包括用户名、密码和各种属性)配置在 NAS 上,此时 NAS 就是 AAA Server。本地认证的优点是处理速度快、运营成本低;缺点是存储信息量受设备硬件条件限制。这种认证方式常用于对用户登录设备进行管理,如 Telnet,FTP 等。
- 远端认证:将用户信息(包括用户名、密码和各种属性)配置在认证服务器上。支持通过 RADIUS 协议进行远端认证。NAS 作为客户端,与 RADIUS 服务器进行通信。远端认证方式包括 RADIUS 和 HWTACACS。
授权
防火墙支持的授权方式有:不授权、本地授权、远端授权。授权内容包括:用户组、VLAN、ACL 编号等。
计费
防火墙支持的 AAA 计费方式:不计费,远端计费。
计费功能用于监控授权用户的网络行为和网络资源的适用情况,主要含义:用户花费时间、用户支出费用、用户执行操作。
AAA 常用技术方案
目前华为设备支持基于 RADIUS、HWTACACS、LDAP 或 AD 来实现 AAA,在实际应用中,RADIUS 最为常用。
华为终端访问控制器控制协议 HWTACACS 是在 TACACS(RFC 1492)基础上进行了功能增强的安全协议。HWTACACS 是一种集中式的、客户端/服务器结构的信息交互协议,使用 TCP 协议传输,端口号为 49。HWTACACS 提供的认证、授权和计费服务相互独立,能够在不同的服务器上实现。HWTACACS 协议主要用于采用点对点协议 PPP(Point-to-Point Protocol)或虚拟私有拨号网络 VPDN(Virtual Private Dialup Network)方式接入 Internet 的接入用户以及对设备进行操作的管理用户的认证、授权和计费。
LDAP 认证中,LDAP 客户端是通过明文方式发送用户的密码到 LDAP 服务器,存在安全风险。为此,可将 Kerberos 协议集成到 LDAP 认证过程中,这种认证方式称为 AD 认证。
RADIUS 协议概述
AAA 可以通过多种协议来实现,在实际应用中,最常使用 RADIUS 协议。
RADIUS 协议的主要特征:
- 客户端/服务器模式
- 安全的消息交互机制
- 良好的扩展性
- 基于 UDP(User Datagram Protocol)的报文格式及传输机制
- 1812、1813 分别为默认的认证、计费端口,有时也会分别使用 1645、1646
AAA 实现协议 - RADIUS 认证流程
LDAP 简介
- The Lightweight Directory Access Protocol,轻量级目录访问协议,基于 C/S 架构。
- LDAP 服务器负责对来自应用服务器的请求进行认证,同时还指定用户访问的资源范围等。
- 定义了多种操作实现 LDAP 的各种功能,其中可以利用 LDAP 的绑定和查询操作来实现用户的认证和授权功能。
应用场景:网络接入设备和 LDAP 服务器对接,利用 LDAP 的绑定和查询操作来实现用户的认证和授权功能。
LDAP 目录
目录是一组具有类似属性、以一定逻辑和层次组合的信息。LDAP 协议中目录是按照树型结构组织,目录由条目(Entry)组成,条目是具有区别名 DN 的属性集合。属性由类型和多个值组成。
- CN(Common Name,通用名称):表示对象名称。
- DC(Domain Controller,域控制器):表示对象所属的区域,一般一台 LDAP 服务器即为一个域控制器。
- DN(Distinguished Name,区别名):对象的位置,从对象开始逐层描述到根区别名,例如 User2 的 DN 为 “CN=User2,OU=HR,OU=People,DC=HUAWEI,DC=COM”。
- Base DN:根区别名。
- OU(Organization Unit,组织单元):表示对象所属的组织。
LDAP 认证流程
2 防火墙用户认证及应用
2.1 用户组织架构及分类
用户组织架构及管理
用户是网络访问的主体,是防火墙进行网络行为控制和网络权限分配的基本单元。用户组织架构中涉及三个概念:
- 认证域:用户组织结构的容器,防火墙缺省存在 default 认证域,用户可以根据需求新建认证域,认证域上的配置决定了对用户的认证方式以及用户的组织结构。
- 用户组/用户:用户按树形结构组织,用户隶属于组(部门)。管理员可以根据企业的组织结构来创建部门和用户。
- 安全组:横向组织结构的跨部门群组。当需要基于部门以外的维度对用户进行管理可以创建跨部门的安全组。
系统默认有一个缺省认证域,每个用户组可以包括多个用户和用户组。每个用户组只能属于一个父用户组,每个用户至少属于一个用户组,也可以属于多个用户组。
防火墙通过识别用户名中包含的认证域,将所有待认证的用户“分流”到对应的认证域中,根据认证域上的配置来对用户进行认证。
为了给不同的用户或部门进行差异化管理,分配不同的权限,需要对组织结构进行规划和管理。防火墙支持创建树型的组织结构。
每个用户/用户组可以被安全策略、限流策略、认证策略等引用,从而实现基于用户的权限和带宽资源控制。
如果管理员使用缺省的 default 认证域对用户进行认证,用户登录时只需要输入用户名;如果管理员使用新创建的认证域对用户进行认证,则用户登录时需要输入“用户名@认证域名”。
用户分类
管理员
- 通过 Telnet、SSH、Web、FTP 等协议或通过 Console 接口访问设备并对设备进行配置或操作的用户。
上网用户
- 网络访问的标识主体,是设备进行网络权限管理的基本单元;
- 设备通过对访问网络的用户进行身份认证,从而获取用户身份,并针对用户的身份进行相应的策略控制。
接入用户
- 外部网络中访问网络资源的主体;
- 接入用户需要先通过 SSL VPN、L2TP VPN、IPSec VPN 或 PPPoE 方式接入到防火墙,然后才能访问企业总部的网络资源。
2.2 用户认证流程
管理员认证登录方式
- Console:Console 接口提供命令行方式对设备进行管理,通常用于设备的第一次配置,或者设备配置文件丢失,没有任何配置。当设备系统无法启动时,可通过 Console 口进行诊断或进入 BootRom 进行升级;
- Web:终端通过 HTTP/HTTPS 方式登录到设备进行远程配置和管理;
- Telnet:Telnet 是一种传统的登录方式,通常用于通过命令行方式对设备进行配置和管理;
- FTP:FTP 管理员主要对设备存储空间里的文件进行上传和下载;
- SSH:SSH 提供安全的信息保证和强大的认证功能,在不安全的网络上提供一个安全的“通道”,此时,设备作为 SSH 服务器。
SSH(Secure Shell,安全外壳协议)
建立在应用层基础上的安全协议,避免数据的明文传输。
安全验证方式:
-
基于口令的安全验证(公钥加密私钥解密,用户名的密码)
-
基于密钥的安全验证(私钥加密公钥解密,随机字符串)
上网用户认证方式
- 单点登录:适用于部署防火墙用户认证功能之前已经部署认证系统的场景。
- 内置 Portal 认证:适用于通过防火墙对用户进行认证的场景。
- 用户自定义 Portal 认证:目前存在两种类型,分别是二层认证方式和三层认证方式,具体参考 Portal 认证原理描述-NetEngine AR V300R019 配置指南-安全(命令行)-华为。
- 用户免认证:指用户无需输入用户名、密码,但是防火墙可以获取用户和 IP 的对应关系,从而实现用户管理。
内置 Portal 认证
会话认证
用户不主动进行身份认证,先进行 HTTP 业务访问,在访问过程中进行认证。认证通过后再进行业务访问。
防火墙收到用户第一条 HTTP 业务访问数据流时,将 HTTP 请求重定向到认证页面,触发访问者身份认证。认证通过后,就可以访问 HTTP 业务及其他业务。
事前认证
访问者在访问网络资源之前,先主动进行身份认证,认证通过后,再访问网络资源。
用户主动向防火墙提供的认证页面发起认证请求。防火墙收到认证请求后,对其进行身份认证。认证通过后,就可以访问 Internet。
接入用户认证方式
对各类 VPN 接入用户进行认证。
SSL VPN
用户在外网通过 SSL VPN 拨入防火墙,实现访问内网资源的需求。
SSL VPN 是以 HTTPS 为基础的 VPN 技术,工作在传输层和应用层之间,在 Internet 基础上提供机密性的安全协议。
主要提供业务:
- Web 代理
- 网络扩展
- 文件共享
- 端口转发
SSL 协议通信的握手步骤:
- SSL 客户端向 SSL 服务器发起连接,并要求服务器验证自身的身份;
- 服务器通过发送自身的数字证书证明身份;
- 服务器发出一个请求,对客户端的证书进行验证;
- 验证通过后,协商用于加密的消息加密算法和用于完整性检查的哈希函数。通常由客户端提供它支持的所有算法列表,然后由服务器选择最强大的加密算法;
- 客户端和服务器通过以下步骤生成会话密钥:
- 客户端生成一个随机数,并使用服务器的公钥(从服务器证书中获取)对它加密,以送到服务器上;
- 服务器用随机数据(客户端的密钥可用时则使用客户端密钥,否则以明文方式发送数据)响应;
- 使用哈希函数从随机数据中生成密钥。
认证流程总结
2.3 用户认证策略
决定防火墙需要对哪些数据流进行认证,匹配认证策略的数据流必须经过防火墙的身份认证才能通过。
缺省情况下,防火墙不对经过自身的数据流进行认证,仅认证匹配认证策略的数据流。
如果经过防火墙的流量匹配了认证策略将触发如下动作:
- 会话认证:用户访问 HTTP 业务时,如果数据流匹配了认证策略,防火墙会推送认证页面要求访问者进行认证;
- 事前认证:用户访问非 HTTP 业务时必须主动访问认证页面进行认证,否则匹配认证策略的业务数据流将被防火墙禁止;
- 免认证:用户访问业务时,如果匹配了免认证的认证策略,则无需输入用户名、密码直接访问网络资源。防火墙根据用户与 IP/MAC 的绑定关系来识别用户;
- 单点登录:单点登录用户上线不受认证策略控制,只有当用户业务流量匹配认证策略才进行策略管控。
以下流量即使匹配了认证策略也不会触发认证:
- 访问设备或设备发起的流量;
- DHCP、BGP、OSPF、LDP 报文
- 触发认证的第一条 HTTP 业务数据流对应的 DNS 报文不受认证策略控制,用户认证通过上线后的 DNS 报文受认证策略控制。
组成信息
认证策略是多个规则的集合,由条件和动作组成。
条件:防火墙匹配报文的依据
- 源/目的安全区域
- 源地址/地区
- 目的地址/地区
动作:防火墙对匹配到的数据流采取的处理方式
- Portal 认证
- 短信认证:要求用户输入短信验证码。
- 免认证:防火墙通过其他手段识别用户身份。主要应用于:
- 企业的高级管理者可以访问机密数据但希望省略认证过程。管理员可将这类用户与 IP/MAC 地址双向绑定,对这类数据流进行免认证,但要求其只能使用指定的 IP 或者 MAC 地址访问网络资源。防火墙通过用户与 IP/MAC 地址的绑定关系来识别该数据流所属的用户;
- 在 AD/RADIUS 单点登录的场景中,防火墙已经从其他认证系统中获取到用户信息,对单点登录用户的业务流量进行免认证。
- 不认证:
- 不需要经过防火墙认证的数据流,例如内网之间互访的数据流;
- 在 AD/RADIUS 单点登录的场景中,如果待认证的访问者与认证服务器之间交互的数据流经过防火墙,则要求不对这类数据流进行认证。
- 防火墙上存在一条缺省的认证策略,所有匹配条件均为任意(any),动作为不认证。
2.4 用户认证配置
上网用户认证 - 配置流程
配置用户/用户组:设备实施基于用户/用户组的管理之前,必须先创建用户/用户组。设备支持管理员手动配置、本地导入和服务器导入多种创建方式。
- 手动配置组/用户:
- 防火墙上默认存在 default 认证域,可以在其下级创建用户/组,如果需要规划其他认证域的组织结构请先配置认证域;
- 当需要根据企业组织结构创建用户组时,并基于用户组进行网络权限分配等管理时,该步骤必选;
- 当对用户进行本地密码认证时,必须要在本地创建用户,并配置本地密码信息。
- 本地导入:
- 支持 CSV 格式的文件导入设备。
- 服务器导入:
- 认证服务器上存放着所有用户和用户组信息。从认证服务器上批量导入用户是指通过服务器导入策略,将认证服务器上用户信息导入到设备上。
配置认证选项包含全局参数、单点登录及定制认证页面三部分内容的配置。
上网用户认证 - 配置举例
需求描述
某企业在网络边界处部署了防火墙作为出口网关,连接内部网络与 Internet。企业内部网络中的员工均动态获取 IP 地址。内部员工访问网络资源之前必须通过防火墙的认证;
内部员工使用浏览器访问某个 Web 页面,防火墙会将浏览器重定向到认证页面。认证通过后,浏览器的界面会自动跳转到先前访问的 Web 页面。
配置思路
- 完成基本网络配置:包括配置防火墙各接口的 IP 地址,将防火墙各接口加入相应的安全区域及缺省路由配置;
- 创建认证策略:设置匹配条件以及认证动作;
- 配置认证域:场景选择“上网行为管理”,用户所在位置选择“本地”;
- 在本地域中新建用户组及用户名密码,提供给内部员工认证时使用;
- 配置安全策略:让内部员工认证时可以访问认证页面,完成认证并上网。
配置目的:允许访问者访问认证页面。
配置路线
创建认证策略:对象 > 用户 > 认证策略 > 新建。
配置本地认证:对象 > 用户 > default。
创建用户组:对象 > 用户 > default > 新建。
创建用户:对象 > 用户 > default > 新建。