防火墙开放服务策略配置:Security技术防火墙用户管理技术
防火墙开放服务策略配置:Security技术防火墙用户管理技术通过RADIUS服务器实现用户上网管理AAA常见应用场景授权:授权用户可以使用哪些服务;计费:记录用户使用网络资源的情况。02
思维导图01
AAA简介
AAA是Authentication(认证)、Authorization(授权)和Accounting(计费)的简称,是网络安全的一种管理机制,提供了认证、授权、计费三种安全功能。
认证:验证用户是否可以获得访问权,确定哪些用户可以访问网络;
授权:授权用户可以使用哪些服务;
计费:记录用户使用网络资源的情况。
02
AAA常见应用场景
通过RADIUS服务器实现用户上网管理
- 通过在NAS上配置AAA方案,实现NAS与RADIUS服务器的对接。
- 用户在客户端上输入用户名和密码后,NAS可以将这些信息发送至RADIUS服务器进行认证。
- 如果认证通过,则授予用户访问Internet的权限。
- 在用户访问过程中,RADIUS服务器还可以记录用户使用网络资源的情况。
通过本地认证实现网络管理员权限控制
- 在防火墙上配置本地AAA方案后,当网络管理员登录防火墙时,防火墙将网络管理员的的用户名密码等信息,与本地配置的用户名信息进行比对认证。
- 认证通过后,防火墙将授予网络管理员一定的管理员权限。
03
AAA的基本架构
AAA的基本架构中包括用户、NAS、AAA服务器。
- NAS负责集中收集和管理用户的访问请求,现网常见的NAS设备有交换机、防火墙等;
- AAA服务器负责集中管理用户信息。
NAS基于域来对用户进行管理,每个域都可以配置不同的认证、授权和计费方案,用于对该域下的用户进行认证、授权和计费。
- 每个用户都属于某一个域。用户属于哪个域是由用户名中的域名分隔符@后的字符串决定。例如,如果用户名是User1@Domain1,则用户属于Domain1域;如果用户名后不带有@,则用户属于系统缺省域。
- 在NAS上会创建多个域来管理用户,不同的域可以关联不同的AAA方案;当收到用户接入网络的请求时,NAS会根据用户名来判断用户所在的域,根据该域对应的AAA方案对用户进行管控。
防火墙支持的三种认证方式:
- 不认证:完全信任用户,不对用户身份进行合法性检查。鉴于安全考虑,这种认证方式很少被采用。
- 本地认证:将本地用户信息(包括用户名、密码和各种属性)配置在NAS上,此时NAS就是AAA Server。本地认证的优点是处理速度快、运营成本低;缺点是存储信息量受设备硬件条件限制。这种认证方式常用于对用户登录设备进行管理,如Telnet,FTP等。
- 远端认证:将用户信息(包括用户名、密码和各种属性)配置在认证服务器上。支持通过RADIUS协议进行远端认证。NAS作为客户端,与RADIUS服务器服务器进行通信。
授权表示用户可以使用哪些业务,如公共业务以及敏感业务等。
防火墙支持的授权方式有:不授权、本地授权、远端授权。授权内容包括:用户组、VLAN、ACL编号等。
计费防火墙支持的AAA计费方式有:不计费,远端计费。计费功能用于监控授权用户的网络行为和网络资源的使用情况。
计费主要的含义有三个:
- 用户用多长时间;
- 用户花了多少钱;
- 用户做了哪些操作。
04
AAA常用技术方案
目前华为设备支持基于RADIUS、HWTACACS、LDAP或AD来实现AAA,在实际应用中,RADIUS最为常用。
05
RADIUS协议概述
AAA可以通过多种协议来实现,在实际应用中,最常使用RADIUS协议。RADIUS是一种分布式的、客户端/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常应用在既要求有较高安全性、又允许远程用户访问的各种网络环境中。
该协议定义了基于UDP(User Datagram Protocol)的RADIUS报文格式及其传输机制,并规定UDP端口1812、1813分别作为默认的认证、计费端口。
RADIUS协议的主要特征如下:
- 客户端/服务器模式
- 安全的消息交互机制
- 良好的扩展性
RADIUS有时也会使用1645、1646分别作为默认的认证、计费端口。
AAA实现协议 - RADIUS认证流程06
LDAP简介
LDAP是轻量级目录访问协议的简称,LDAP基于C/S架构。LDAP服务器负责对来自应用服务器的请求进行认证,同时还指定用户访问的资源范围等。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服务器建立TCP连接;
- 防火墙以管理员DN和密码向LDAP服务器发送绑定请求报文用以获得查询权限;
- 绑定成功后,LDAP服务器向防火墙发送绑定回应报文;
- 防火墙使用用户输入的用户名向LDAP服务器发送用户DN查询请求报文;
- LDAP服务器根据用户DN进行查找,如果查询成功测发送查询回应报文;
- 防火墙使用查询到的用户DN和用户输入的密码向LDAP服务器发送用户DN绑定请求报文,LDAP服务器查询用户密码是否正确;
- 绑定成功后,LDAP服务器发送绑定回应报文;
- 授权成功后,防火墙通知用户登录成功。
07
防火墙用户认证及应用
用户组织架构及管理用户是网络访问的主体,是防火墙进行网络行为控制和网络权限分配的基本单元。用户组织架构中涉及三个概念:
- 认证域:用户组织结构的容器,防火墙缺省存在default认证域,用户可以根据需求新建认证域;
- 用户组/用户:用户按树形结构组织,用户隶属于组(部门)。管理员可以根据企业的组织结构来创建部门和用户;
- 安全组:横向组织结构的跨部门群组。当需要基于部门以外的维度对用户进行管理可以创建跨部门的安全组。例如企业中跨部门成立的群组。
系统默认有一个缺省认证域,每个用户组可以包括多个用户和用户组。每个用户组只能属于一个父用户组,每个用户至少属于一个用户组,也可以属于多个用户组。
认证域:
- 认证域是认证流程中的重要环节,认证域上的配置决定了对用户的认证方式以及用户的组织结构;
- 对于不同认证方式的用户,认证域的作用不尽相同。
管理员
- 管理员用户指通过Telnet、SSH、Web、FTP等协议或通过Console接口访问设备并对设备进行配置或操作的用户。
上网用户
- 上网用户是网络访问的标识主体,是设备进行网络权限管理的基本单元;
- 设备通过对访问网络的用户进行身份认证,从而获取用户身份,并针对用户的身份进行相应的策略控制。
接入用户
- 外部网络中访问网络资源的主体,如企业的分支机构员工和出差员工;
- 接入用户需要先通过SSL VPN、L2TP VPN、IPSec VPN或PPPoE方式接入到防火墙,然后才能访问企业总部的网络资源。
08
用户认证流程
管理员认证登录方式管理员主要为了实现对设备的管理、配置和维护,登录方式可以分为:
- Console:Console接口提供命令行方式对设备进行管理,通常用于设备的第一次配置,或者设备配置文件丢失,没有任何配置。当设备系统无法启动时,可通过Console口进行诊断或进入BootRom进行升级;
- Web:终端通过HTTP/HTTPS方式登录到设备进行远程配置和管理;
- Telnet:Telnet是一种传统的登录方式,通常用于通过命令行方式对设备进行配置和管理;
- FTP:FTP管理员主要对设备存储空间里的文件进行上传和下载;
- SSH:SSH提供安全的信息保障和强大的认证功能,在不安全的网络上提供一个安全的“通道”,此时,设备作为SSH服务器。
SSH(Secure Shell)安全外壳协议是建立在应用层基础上的安全协议,避免数据的明文传输。SSH可靠性高,是专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
SSH安全验证方式:
- 基于口令的安全验证
- 基于密钥的安全验证
简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
SSH基于口令的安全验证登录步骤:
- 用户发起登陆请求;
- 远程主机将自己的公钥返回给请求主机;
- 请求主机使用公钥对用户输入的密码进行加密;
- 请求主机将加密后的密码发送给远程主机;
- 远程主机使用私钥对密码进行解密;
- 最后,远程主机判断解密后的密码是否与用户密码一致,一致则登录成功。
SSH基于密钥的安全验证登录步骤:
- 用户主机生成密钥对,并将公钥导入远程主机;
- 用户发起登陆请求;
- 远程主机向用户返回一个随机串;
- 用户所在主机使用私钥对这个随机串进行加密,并将加密的随机串返回至远程主机;
- 远程主机使用导入进来的公钥对加密随机串进行解密;如果解密成功,就证明用户的登陆信息是正确的,则允许登陆。
- 单点登录:此种方式适用于部署防火墙用户认证功能之前已经部署认证系统的场景。
- 内置Portal认证:此种方式适用于通过防火墙对用户进行认证的场景。
- 用户自定义Portal认证:目前存在两种类型的自定义Portal认证,即:防火墙参与认证以及防火墙不参与认证。
- 用户免认证:免认证是指用户无需输入用户名、密码,但是防火墙可以获取用户和IP的对应关系,从而实现用户管理。
会话认证是用户不主动进行身份认证,先进行HTTP业务访问,在访问过程中进行认证。认证通过后,再进行业务访问。
当防火墙收到用户的第一条HTTP业务访问数据流时,将HTTP请求重定向到认证页面,触发访问者身份认证。认证通过后,就可以访问HTTP业务以及其他业务。
内置Portal认证 - 事前认证事前认证是指访问者在访问网络资源之前,先主动进行身份认证,认证通过后,再访问网络资源。
用户主动向防火墙提供的认证页面发起认证请求。防火墙收到认证请求后,对其进行身份认证。认证通过后,就可以访问Internet。
接入用户认证方式接入用户认证指的是对各类VPN接入用户进行认证。
包含SSL VPN、L2TP VPN、IPSec VPN、PPPoE
SSL VPN用户在外网通过SSL VPN拨入防火墙,实现访问内网资源的需求。
SSL VPN是以HTTPS为基础的VPN技术,工作在传输层和应用层之间,在Internet基础上提供机密性的安全协议。主要提供业务有Web代理、网络扩展、文件共享和端口转发。
SSL协议通信的握手步骤如下:
- SSL客户端向SSL服务器发起连接,并要求服务器验证自身的身份;
- 服务器通过发送自身的数字证书证明身份;
- 服务器发出一个请求,对客户端的证书进行验证;
- 验证通过后,协商用于加密的消息加密算法和用于完整性检查的哈希函数。通常由客户端提供它支持的所有算法列表,然后由服务器选择最强大的加密算法;
- 客户端和服务器通过以下步骤生成会话密钥:
- 客户端生成一个随机数,并使用服务器的公钥(从服务器证书中获取)对它加密,以送到服务器上;
- 服务器用随机数据(客户端的密钥可用时则使用客户端密钥,否则以明文方式发送数据)响应;
- 使用哈希函数从随机数据中生成密钥。
如上图所示,某企业在网络边界处部署了防火墙作为VPN接入网关,连接内部网络与Internet。出差员工通过SSL VPN接入到防火墙后,使用网络扩展业务访问网络资源。
认证流程总结09
用户认证策略
认证策略认证策略用于决定防火墙需要对哪些数据流进行认证,匹配认证策略的数据流必须经过防火墙的身份认证才能通过。缺省情况下,防火墙不对经过自身的数据流进行认证,仅认证匹配认证策略的数据流。如果经过防火墙的流量匹配了认证策略将触发如下动作:
- 会话认证:用户访问HTTP业务时,如果数据流匹配了认证策略,防火墙会推送认证页面要求访问者进行认证;
- 事前认证:用户访问非HTTP业务时必须主动访问认证页面进行认证,否则匹配认证策略的业务数据流将被防火墙禁止;
- 免认证:用户访问业务时,如果匹配了免认证的认证策略,则无需输入用户名、密码直接访问网络资源。防火墙根据用户与IP/MAC的绑定关系来识别用户;
- 单点登录:单点登录用户上线不受认证策略控制,只有当用户业务流量匹配认证策略才进行策略管控。
以下流量即使匹配了认证策略也不会触发认证:
- 访问设备或设备发起的流量;
- DHCP、BGP、OSPF、LDP报文;
- 触发认证的第一条HTTP业务数据流对应的DNS报文不受认证策略控制,用户认证通过上线后的DNS报文受认证策略控制。
认证策略是多个规则的集合。认证策略规则由条件和动作组成,条件指的是防火墙匹配报文的依据,包括:
- 源/目的安全区域
- 源地址/地区
- 目的地址/地区
动作指的是防火墙对匹配到的数据流采取的处理方式,包括:
- Portal认证:对符合条件的数据流进行Portal认证。
- 短信认证:对符合条件的数据流进行短信认证,要求用户输入短信验证码。
- 免认证:对符合条件的数据流进行免认证,防火墙通过其他手段识别用户身份。主要应用于以下情况:
- 对于企业的高级管理者,防火墙通过用户与IP/MAC地址的绑定关系来识别该数据流所属的用户;
- 在AD/RADIUS单点登录的场景中,防火墙已经从其他认证系统中获取到用户信息,对单点登录用户的业务流量进行免认证。
- 不认证:对符合条件的数据流不进行认证,主要应用于以下情况:
- 不需要经过防火墙认证的数据流
- 在AD/RADIUS单点登录的场景中,如果待认证的访问者与认证服务器之间交互的数据流经过防火墙,则要求不对这类数据流进行认证。
- 防火墙上存在一条缺省的认证策略,所有匹配条件均为任意(any),动作为不认证。
10
用户认证配置
上网用户认证 - 配置流程配置用户/用户组:设备实施基于用户/用户组的管理之前,必须先创建用户/用户组。设备支持管理员手动配置、本地导入和服务器导入多种创建方式。
手动配置组/用户:
- 防火墙上默认存在default认证域,可以在其下级创建用户/组,如果需要规划其他认证域的组织结构请先配置认证域;
- 当需要根据企业组织结构创建用户组时,并基于用户组进行网络权限分配等管理时,该步骤必选;
- 当对用户进行本地密码认证时,必须要在本地创建用户,并配置本地密码信息。
本地导入:
- 支持将CSV格式的文件导入设备。
服务器导入:
- 网络中,使用第三方认证服务器的情况非常多,很多公司的网络都存在认证服务器,认证服务器上存放着所有用户和用户组信息。从认证服务器上批量导入用户是指通过服务器导入策略,将认证服务器上用户信息导入到设备上。
配置认证选项包含全局参数、单点登录及定制认证页面三部分内容的配置。
上网用户认证配置举例需求描述:
- 某企业在网络边界处部署了防火墙作为出口网关,连接内部网络与Internet。企业内部网络中的员工均动态获取IP地址。内部员工访问网络资源之前必须通过防火墙的认证;
- 内部员工使用浏览器访问某个Web页面,防火墙会将浏览器重定向到认证页面。认证通过后,浏览器的界面会自动跳转到先前访问的Web页面。
配置思路:
- 完成基本网络配置:包括配置防火墙各接口的IP地址,将防火墙各接口加入相应的安全区域及缺省路由配置;
- 创建认证策略:设置匹配条件以及认证动作;
- 配置认证域:场景选择“上网行为管理”,用户所在位置选择“本地”;
- 在本地域中新建用户组及用户名密码,提供给内部员工认证时使用;
- 配置安全策略:让内部员工认证时可以访问认证页面,完成认证并上网。
此处配置流程中的安全策略作用是允许访问者访问认证页面,其他业务相关安全策略请根据实际情况设置。
创建认证策略,选择“对象 > 用户 > 认证策略 > 新建”。
配置本地认证,选择“对象 > 用户 > default”。
创建用户组,选择“对象 > 用户 > default > 新建”。
创建用户,选择“对象 > 用户 > default > 新建”。