通过tac_plus搭建aaa管控平台

背景介绍

AAA是认证(Authentication)、授权(Authorization)和计费(Accounting)的简称,是网络安全中进行访问控制的一种安全管理机制,提供认证、授权和计费三种安全服务。

TACACS & TACACS+:Terminal Access Controller Access Control
System终端访问控制器访问控制系统。通过一个或多个中心服务器为路由器、网络访问控制器以及其它网络处理设备提供了访问控制服务。TACACS
支持独立的认证(Authentication)、授权(Authorization)和计费(Accounting)功能。

本文介绍通过tac_plus和webui搭建aaa认证管控平台。

安装步骤

  • 安装配置必要软件:
1
2
3
4
5
6
yum -y install httpd httpd-devel mysql mysql-server php php-devel php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc mysql++-devel
修改mysql的root密码,并创建tacacs数据库
service mysqld start
mysqladmin -u root password "root"
mysql -u root -p
create database tacacs;
  • 下载源文件:
可以去百度网盘下载tac_plus和webui 
链接: https://pan.baidu.com/s/1gfoqfej 密码: qxfd
也可以去[soureforge官网下载](https://sourceforge.net/projects/tac-plus/)
  • tac_plus安装与开启:
mkdir /home/tac_plus
cd /home/tac_plus
将下载的tac_plus-4.6b3.tgz拷贝到该文件夹下
tar xzf tac_plus-4.6b3.tgz
make
cp tac_plus /usr/sbin
cp tac_plus.init /etc/init.d/tac_plus
mkdir /etc/tac_plus/
cp tac_plus.cfg /etc/tac_plus/
chmod +x /etc/init.d/tac_plus
ln -s /etc/init.d/tac_plus /etc/rc3.d/S99tac_plus
ln -s /etc/init.d/tac_plus /etc/rc5.d/S99tac_plus
mysql -u root -p < tac_plus.sql

修改webui的登录密码
mysql -u root -p
use tacacs;
delete from admin where uid='admin';
insert into `admin` values ('admin',encrypt('新密码'),15,0,25);

启动tac_plus
/etc/init.d/tac_plus start

netstat -tunlp 
查看端口已经开启
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:49                  0.0.0.0:*                   LISTEN      5242/tac_plus
  • webui安装:
把webui_v1.6b2.tar.gz拷贝到/var/www/html/下
tar xzf webui_v1.6b2.tar.gz
vim config.php
找到$dbhost把10.201.224.127改为127.0.0.1即可
$dbhost = array("localhost","127.0.0.1");
service httpd start
  • 添加设备配置:

    安装完成后浏览器打开你的ip地址,输入用户名admin和你刚刚设备的密码即可登录
    登录
    配置说明:

    Client ACL:用于设置ip访问tac_plus server的权限
    如下图所示,只允许10.0.0.0/8网段设备通过tac_plus认证访问网络交换机,即其他地址你去使用aaa账号telnet或者ssh是无法登录的
    cacl

    NAS ACL: 用于设置用户和组的权限
    如下图所示,只允许allusers用户组以ciscomaster的权限组来访问设备
    nasacl

    Attributes:用于设置不同厂商交换机的权限级别的属性
    attributes

    Commands: 用于设置命令分类

    Nas:添加交换机路由器的管理ip
    添加思科交换机10.1.1.1,hkey为admin123,nas acl为200对应的用户权限
    nas

    Nas Group:添加交换机分组(类似nas)

    Users:添加用户
    添加用户jeffrycheng,注意Service Default:勾选后你默认有show的权限,Command Default:勾选后你默认有configure的权限,仅限cisco交换机,其他交换机还是需要你自己设置profile和nas acl来限制权限分配
    user

    User Group:添加用户组(类似user)

    Profile:交换机权限管理,profile中设置不同的角色,这些角色包含多个厂商attributes
    profile

Vendor:交换机厂商管理

System:webui界面管理

Reports:可以查看aaa登录审计等日志信息

剩下就是在交换机上配置aaa和tacacs了,科科