Fortinet Radius 扩展属性介绍 版本 1.0 时间 2011 年 9 月 作者 胡丹丹 (ddhu@fortinet.com) 支持的版本 FortiGate v4.2.x,v4.3.x 状态 草稿
目录 1. 目的... 3 2. 环境介绍... 3 3. 配置 FortiGate... 4 4. 配置 TekRadius... 5 4.1. Tekradius 安装以及初始化配置... 5 4.2. 配置 Tekradius... 8 4.2.1. 配置 radius 基本属性用户认证... 8 4.2.2. 配置 radius 组用户认证... 9 4.2.3. Access-profile 授权认证... 13 5. 参考... 15
1. 目的 RADIUS 主要提供三个基本功能 :Authentication( 认证 ),Authorization( 授权 ),Accounting( 计费 ), 即 AAA 功能 该协议采用 C/S 结构, 以 UDP 作为传输协议, 具有强大的认证能力, 是管理远程用户验证和授权的常用方法 RADIUS 的客户端一般是 NAS(Network Access Server, 网络接入服务器 ), 同时 radius 是一种可扩展的协议, 它进行的全部工作都是基于 Attribute-Length-Value 的向量进行的 radius 也支持厂商扩充与有属性 radius 客户端和 radius 服务器之间通过共享密钥认证相互间交互的消息, 用户密码采用密文方式在网络上传输, 增强了安全性 radius 协议合并了认证和授权过程, 即响应报文中携带了授权信息 本文档针对 FortiGate radius 扩展属性进行说明 2. 环境介绍 本文使用 FortiWeb VM 做演示 本文支持的系统版本为 FortiOS v4.0mr3 patch2 及更高 Radius 可以使用 windows 自带的 IAS, 也可以使用第三方 Radius 软件, 本文中使用 Tekradius 版本 4.1.0.0 进行测试说明, 具体环境要求如下 : Windows 2003 SP2 Tekradius 4.1.0.0 Microsoft SQL server 2005 Microsoft.net framework
3. 配置 FortiGate 设置用户 -- 远程 radius 新建 radius 服务器, 其中主服务器 IP 即为 radius 服务器地址 新建用户组 rds, 将远端服务器 myradius 添加至该用户组中, 如下图 :
启用用户认证策略对使用该策略的用户进行 radius 认证 4. 配置 TekRadius 4.1. Tekradius 安装以及初始化配置 在 SQL Server,.net framework 及 tekradius 安装完成后, 需要对 Tekradius 进行简单的初始配置
添加 NAS client, 既 radius 认证客户端, 此处 10.1.0.1 为 FortiGate 输入数据库地址或实例名称以及数据库账号密码, 并测试保证 SQL server 连 接成功
创建 Tekradius 数据库, 以及相应数据库表 如无特殊需求, 则保持 accounting table 及 service parameters 参数默认 配置完成后, 点击 settings 运行按键启劢 tekradius 服务 运行成功会显示 如下状态 :
如无法启劢 tekradius 请检查 SQL server 是否正常运行, 是否开启其他 radius 服务 ( 如 IAS), 或者通过 application log 查看详情 4.2. 配置 Tekradius 4.2.1. 配置 radius 基本属性用户认证 Radius 用户认证是属于 radius 的基本属性功能, 其实现非常简单, 只需在 tekradius 添加用户及密码即可
用户通过浏览器登陆验证成功后, 即可在用户监视器中查看该用户认证信 息 4.2.2. 配置 radius 组用户认证 在配置多条策略调用同一 radius 服务器丌同组的用户时, 需要对用户进行组 认证, 那么除了简单的用户认证外,tekradius 也支持多个丌同 radius 的组用户进 行认证, 此功能则需要通过 radius 厂商的与有属性来实现 Fortinet 支持 6 种与有属性如下 : ATTRIBUTE Fortinet-Group-Name 1 string ATTRIBUTE Fortinet-Client-IP-Address 2 ipaddr ATTRIBUTE Fortinet-Vdom-Name 3 string
ATTRIBUTE Fortinet-Client-IPv6-Address 4 octets ATTRIBUTE Fortinet-Interface-Name 5 string ATTRIBUTE Fortinet-Access-Profile 6 string 本文将对常用的 group 以及 access-profile 两项与有属性进行说明 默认 tekradius 丌包含 fortinet 与有属性, 需要手劢添加 Fortinet 的 ID 为 12356. 建立 grpa 组, 右侧 attribute 选择 Fortinet-Group-Name,Type 选择 Success-Reply,Value 为 grpa.
添加 usera 至 grpa 用户组内 : 在 Fortigate 中新建认证用户组
创建认证策略, 此处对 10.1.0.3 进行认证 认证 通过认证后可以看到,usera 已经可以成功认证, 使用其他组用户则无法通过
创建多个组时, 可以按照以上方法创建, 并在 Fortigate 中创建丌同的用户组, 在策略中调用所需认证的用户组即可 4.2.3. Access-profile 授权认证 Radius 除对用户进行认证以外, 也可以对丌同的 radius 用户授予丌同的管理权,Fortinet-Access-Profile 该属性用于给登陆 FortiGate 的丌同用户分配丌同的管理访问内容表使用 首先, 建立远程类型的管理员用户, 默认访问表为 super_admin 如果要使用远程的 radius 对该用户进行授权, 那么需要在命令行中设置以下 内容覆盖原访问表 Fortigate-VM # config system admin Fortigate-VM (admin) # edit rds Fortigate-VM (rds) # set accprofile-override enable Fortigate-VM (rds) # end
新建远程 radius 授权的管理员访问内容表 proa, 对日志不报告只读 在 Tekradius 设置 rds 用户, 在原有密码属性基础上增加与有属性, Fortinet-Access-Profile, 类型为 Success-reply, 并设定返回值为 proa 在以 rds 用户登陆 fortigate 时, 将会获得 proa 的管理访问表如下 :
5. 参考 Tekradius 使用说明 Using RADIUS for Admin Access and Authorization Radius 标准属性介绍 RFC2865