TACACS+ 配置过程

一、TACACS+ 全局配置


1. 认证配置 
Router1#configure terminal 
Router1(config)#aaa new-model 
Router1(config)#aaa authentication login default group tacacs+ local


加上local 代表tacacs+ server失效后.使用本地认证
2、配置授权
Router1(config)#aaa authorization exec default group tacacs+  local
Router1(config)#aaa authorization commands 15 default group tacacs+ 


3、配置tacacs-server 
Router1(config)#tacacs-server host 10.253.100.100
Router1(config)#tacacs-server key cisco


4.  记录用户行为审计 
记录用户输入的配置命令和时间 
Router1(config)#aaa accounting commands 15 default start-stop  group tacacs+ 
Router1(config)#aaa accounting exec default start-stop group tacacs+ 
Router1(config)#aaa accounting connection default start-stop group tacacs+ 


二、登录界面实施配置
1.在telnet实施认证与授权
Router1(config)#line vty 0 4


Router1(config-line)#login authentication default
­登录认证


Router1(config-line)#authorization exec default
授权
注意(如果不用commands限制,没必要在登录时实施authorization commands,可能会因为这个小小的命令导致你摸不着头脑 )


2.在telnet实施审计
Router1(config-line)#accounting connection default
Router1(config-line)#accounting commands 15 default
Router1(config-line)#accounting exec default
审计登录后操作日志


在部分交换机的user guide里面,并没有提到要在line vty 0 4里面配置accounting,可能容易误导用户以为配置全局配置就收工


3.在console port实施同样的配置


三、效果


1.在console port使用TAC+认证后才能进入


2.使用TAC+普通用户登录后,使用本地enable password进入特权模式


3.使用TAC+配置shell exec与privilege 15后,可以让用户直接进入特权模式


4.在TAC+界面的TAC+ administration active可以检查到设备上面的记录


四、遇到的问题


1.我用的Cisco ACS 3.3.1 存在一个bug,Perflib的问题,小心如果更换java环境版本的话可能会造成Cisco Radius/TACAS server在服务里面起不来
2.网上有很多地方说到这个命令
aaa authentication enable default tacact+ enable
但是加上这个命令后造成了我很多麻烦,或者是我的配置有问题
表现为
1)、console port enable出现username and password后,无法登录
2)、TAC+普通用户组telnet后,在>无法使用enable进入
3)、用户与用户组属性Network Access Restrictions (NAR)无法显示




五、延伸


(1)如果设备过多的话,要分成设备组,可以在TAC+ -->interface configuration-->Adanced options--->Network Device groups,然后在Network Configuration里,分成不同的group来增加AAA client,但AAA server不用同时增加
(2)鉴于安全管理,由于用户帐户可能需要自主修改密码或者帐户借给他人使用之后需要修改过来,所以可以在Cisco ACS的光盘里或者安装文件夹里有个ACS Utilities--->> User Change-able password, 安装UCP之后,能过本起本启动的Web server(IIS or Apache for windows),建立virtual directories,布署User Change-able password Web user interface
TACACS+(**Terminal Access Controller Access-Control System Plus**)是一种用于**网络设备访问控制**的协议,广泛用于路由器、交换机、防火墙等设备的**身份认证、授权和审计**(AAA,Authentication, Authorization, Accounting)。 TACACS+Cisco 开发的私有协议,使用 TCP 端口 **49**,与 RADIUS 不同,它将认证、授权和审计三个功能**分开处理**,安全性更高,适合大型网络环境。 --- ## ✅ 一、TACACS+ 的三大功能模块 | 模块 | 说明 | |------|------| | **Authentication(认证)** | 验证用户身份,如用户名和密码 | | **Authorization(授权)** | 决定用户可以执行哪些命令或操作 | | **Accounting(审计)** | 记录用户执行的操作、登录登出时间等 | --- ## ✅ 二、TACACS+ 的交互过程详解 整个交互过程分为三个阶段: ### 📌 1. **Authentication(认证)** 用户尝试登录设备(如 SSH 登录路由器),设备将认证请求转发给 TACACS+ 服务器。 #### 📁 交互流程: ```plaintext User Terminal <----> Network Device <----> TACACS+ Server | | | | 输入用户名 | | |------------------->| | | | 发送 START 包到 TACACS+ | | |---------------------------->| | |<--------------------------- | | | 返回 CONTINUE 包 | | 输入密码 | | |------------------->| | | | 发送 CONTINUE 包到 TACACS+ | | |---------------------------->| | |<--------------------------- | | | 返回 PASS 或 FAIL | |<-------------------| | ``` #### 📌 报文类型: - **START**:用户开始认证 - **CONTINUE**:用户输入密码后继续认证 - **REPLY**:服务器返回认证结果(PASS/FAIL) --- ### 📌 2. **Authorization(授权)** 认证通过后,设备会向 TACACS+ 服务器请求授权信息,确定用户可以执行哪些命令。 #### 📁 交互流程: ```plaintext Network Device <----> TACACS+ Server | | | 发送 AUTHEN START 包 | |-------------------->| |<------------------- | | 返回授权信息 | ``` #### 📌 示例: - 用户是否可以执行 `show running-config` - 用户是否可以进入特权模式(`enable`) - 用户是否可以配置接口等 --- ### 📌 3. **Accounting(审计)** 记录用户登录、登出以及执行的命令。 #### 📁 交互流程: ```plaintext Network Device <----> TACACS+ Server | | | 发送 ACCOUNTING 包 | |-------------------->| |<------------------- | | 返回 ACK 或 NAK | ``` #### 📌 审计内容: - 登录时间 - 登出时间 - 执行的命令 - 用户名、IP 地址等 --- ## ✅ 三、TACACS+ 报文结构(简要) TACACS+ 使用 TCP,报文结构如下: ```plaintext +---------------------+ | Header | 12 bytes +---------------------+ | Body (加密) | 可变长度 +---------------------+ ``` - **Header** 包含版本、会话 ID、包类型(Authentication/Authorization/Accounting)等。 - **Body** 是加密的,使用共享密钥进行加密(通常为 MD5 或 AES)。 --- ## ✅ 四、TACACS+ 与 RADIUS 的对比 | 特性 | TACACS+ | RADIUS | |------|---------|--------| | 协议 | TCP | UDP | | 端口 | 49 | 1812(认证),1813(计费) | | 功能 | 分离认证、授权、审计 | 合并认证与授权 | | 加密 | 整个 Body 加密 | 仅密码加密 | | 适用场景 | 大型企业网络 | 运营商、无线网络 | | 支持命令授权 | ✅ 是 | ❌ 否 | --- ## ✅ 五、Python 示例:使用 `tacacs_plus` 模块模拟认证过程(伪代码) 虽然 Python 中没有标准的 TACACS+ 客户端库,但可以使用第三方库如 `tacacs_plus` 来模拟客户端行为。 ```python from tacacs_plus.client import TACACSClient # 创建 TACACS+ 客户端 client = TACACSClient('192.168.1.100', 49, 'mysecretkey') # 发起认证 authen = client.authenticate('admin', 'password') if authen.valid: print("认证成功") else: print("认证失败") ``` > 注意:该库可能需要你自行安装或使用模拟环境,实际部署中建议使用 Cisco SecureX、TACACS.net 或其他 TACACS+ 服务器。 --- ## ✅ 六、TACACS+ 服务器部署示例(TACACS.net) TACACS.net 是一个开源的 TACACS+ 服务器,适用于 Linux 系统。 ### 📌 安装步骤(Ubuntu): ```bash sudo apt update sudo apt install tacacs+ ``` ### 📌 配置文件 `/etc/tacacs+/tac_plus.conf` 示例: ```conf key = "mysecretkey" user = admin { login = cleartext "password" service = exec { priv-lvl = 15 } } ``` --- ## ✅ 七、TACACS+ 的优势 - **安全性高**:使用 TCP 和加密通信 - **细粒度控制**:支持命令级授权 - **集中管理**:所有设备的访问控制统一由服务器管理 - **审计功能完善**:可记录所有操作,便于合规审计 --- ##
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值