Установка и настройка TACACS+, а также настройка на коммутаторе Cisco Catalyst 2960-48TC-S
Отредактирована 22.10.2023
Установка TACACS+ в Linux [CentOS 7]
[root@TACACS ~]# cd /etc/yum.repos.d/
[root@TACACS yum.repos.d]# nano nux-misc.repo
[nux-misc]
name=Nux Misc
baseurl=http://li.nux.ro/download/nux/misc/el6/x86_64/
enabled=0
gpgcheck=1
gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
[root@TACACS ~]#yum -y --enablerepo=nux-misc install tac_plus
[root@TACACS ~]# cat /etc/tac_plus.conf
[root@TACACS ~]# nano /etc/tac_plus.conf
key = "test-tacacs-ExamPL-&a5Q"
acl = default {
#permit = 192\.168\.0\.
permit = 10\.15\.41\.10
}
group = cosmonauts {
login = PAM
acl = default
service = exec {
priv-lvl = 1
}
}
Уровень 1: только чтение и доступ к ограниченным командам, таким как команда «ping».
Уровень 15: полный доступ ко всем командам, таким как команда «reload»,
и возможность вносить изменения в конфигурацию.
Константин Эдуардович Циолковский - основоположник космонавтики.
Сергей Павлович Королев - основоположник практической космонавтики, ученый и конструктор в области космонавтики и ракетостроения, главный конструктор первых ракет‑носителей, пилотируемых космических кораблей.
Юрий Алексеевич Гагарин - лётчик-космонавт СССР, первый человек в космосе, полёт 12 апреля 1961 года.
user = ehciolkovskij {
login = PAM
#member = sysadmin
member = admin
}
user = skorolev {
login = PAM
member = sysadmin
}
user = ygagarin {
login = PAM
member = cosmonauts
}
[root@TACACS ~]# systemctl enable tac_plus.service
[root@TACACS ~]# systemctl start tac_plus.service
[root@TACACS ~]# systemctl status tac_plus.service
[root@TACACS ~]# useradd -m skorolev
[root@TACACS ~]# passwd skorolev
[root@TACACS ~]# useradd -m ygagarin
[root@TACACS ~]# passwd ygagarin
[root@TACACS ~]# systemctl stop firewalld
[root@TACACS ~]# sudo systemctl disable firewalld
[root@TACACS ~]# systemctl mask --now firewalld
[root@TACACS ~]# systemctl status firewalld
[root@TACACS ~]# yum -y install iptables-services
[root@TACACS ~]# systemctl enable iptables
[root@TACACS ~]# systemctl start iptables
[root@TACACS ~]# systemctl enable ip6tables
[root@TACACS ~]# systemctl start ip6tables
[root@TACACS ~]# systemctl status iptables
[root@TACACS ~]# systemctl status ip6tables
[root@TACACS ~]# iptables --line -nvL
[root@TACACS ~]# iptables -I INPUT 5 -i eth0 -p tcp --source 10.15.41.0/24 --dport 49 -j ACCEPT
[root@TACACS ~]# service iptables save
[root@TACACS ~]# service iptables restart
[root@TACACS ~]# ss -lt
Настройка TACACS+ на коммутаторе Cisco Catalyst 2960-48TC-S
Switch#telnet 10.15.41.11 49
Trying 10.15.41.11, 49 ... Open
disconnect
[Connection to 10.15.41.11 closed by foreign host]
Обратите внимание на коммутаторе не запущен tacacs сервер, коммутатор выступает как tacacs клиент
и подключается на 49 порт tacacs сервера, поэтому на коммутаторе не запущен
демон tacacs на 49 порту. Если вы захотите проверить с сервера открыт ли порт 49 на коммутаторе,
у вас не получется это сделать.
Switch#configure terminal
Switch(config)#tacacs-server host 10.15.41.11 timeout 3 key test-tacacs-ExamPL-&a5Q
- IP-address сервера - 10.15.41.11
- timeout - значение таймаута в секундах для ожидания ответа сервера (в примере 3 секунды).
- key - используйте аргумент строки ключа, чтобы указать ключ шифрования для шифрования и расшифровки всего трафика между сервером доступа к сети (коммутатором) и демоном TACACS+(сервером). Ключ test-tacacs-ExamPL-&a5Q потом зашифруется.
Switch(config)#aaa new-model
Switch(config)#aaa authentication login default group tacacs+ enable
Switch(config)#aaa authorization exec default group tacacs+ if-authenticated
Switch(config)#aaa accounting exec default start-stop group tacacs+
Switch(config)#aaa accounting commands 1 default start-stop group tacacs+
Switch(config)#aaa accounting commands 15 default start-stop group tacacs+
Switch(config)#logging host 10.15.41.11
Switch(config)#aaa session-id common
[root@TACACS ~]# cd /var/log/
[root@TACACS log]# tail -f tac.acct
У пользователя skorolev привилегированный уровень EXEC (priv-lvl = 15), а у ygagarin уровень пользователя EXEC (priv-lvl = 1).