Logo
  • ГЛАВНАЯ
  • ОБО МНЕ
  • СЕРТИФИКАТЫ
nocip.ssh@mail.ru
Главная  >  Linux

Установка и настройка TACACS+, а также настройка на коммутаторе Cisco Catalyst 2960-48TC-S


Создана 24.07.2023
Отредактирована 22.10.2023
TACACS+ — это приложение безопасности, обеспечивающее централизованную проверку пользователей, пытающихся получить доступ к сетевому оборудованию или серверу доступа к сети. TACACS+ предоставляет подробную учетную информацию и гибкий административный контроль над процессами аутентификации и авторизации. TACACS+ поддерживается через AAA и может быть включен только с помощью команд AAA.
Authentication - аутентификация обеспечивает полный контроль аутентификации с помощью диалога входа в систему (логина) и пароля.
Authorization - авторизация обеспечивает то, какие команды пользователь может выполнять после входа в сетевое устройство, так как пользователь состоит в группе, которой назначается определённый уровень привилегий.
Accounting - учёт, собирает и отправляет информацию, используемую для аудита и отчетности, демону TACACS+. Учетные записи включают идентификационные данные пользователя, время запуска и остановки, какие команды вводил пользователь на сетевом оборудовании.


Установка TACACS+ в Linux [CentOS 7]

Подключим репозиторий в ручную, для этого нужно перейти в директорию yam.repos.d

[root@TACACS ~]# cd /etc/yum.repos.d/

Далее создаем файл nux-misc.repo в котором размещаем выражения ниже, в примере я использую редактор nano

[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

Сохраните файл и установите tac_plus с помощью следующей команды:

[root@TACACS ~]#yum -y --enablerepo=nux-misc install tac_plus

Вся настройка выполняется из одного конфигурационного файла tac_plus.conf, ознакомьтесь с ним.

[root@TACACS ~]# cat /etc/tac_plus.conf

Далее нужно отредактировать файл конфигурации

[root@TACACS ~]# nano /etc/tac_plus.conf

key = "test-tacacs-ExamPL-&a5Q"

где key - это ключ шифрования для шифрования и дешифрования всего трафика между сервером доступа к сети (коммутатором) и демоном TACACS+(сервером). Обратите внимание, этот ключ вы будете использовать, когда будете настраивать коммутатор.

acl = default {
       #permit = 192\.168\.0\.
       permit = 10\.15\.41\.10
}

где 10.15.41.10 - IP-адрес коммутатора
В файле у нас 2 группы: group = admin и group = sysadmin с уровнями привилегий 15 (priv-lvl = 15), создадим ещё одну группу, назовём её cosmonauts с уровнем привилегии = 1

group = cosmonauts {
    login = PAM
    acl = default
    service = exec {
       priv-lvl = 1
    }
}

Уровень 1: только чтение и доступ к ограниченным командам, таким как команда «ping».
Уровень 15: полный доступ ко всем командам, таким как команда «reload», и возможность вносить изменения в конфигурацию.

Если хотите более подробно ознакомиться с уровнями, перейдите на страницу Cisco IOS - Privilege Levels
Также есть 2 пользователя joe и fred, joe входит в группу admin, а fred в группу sysadmin, изменим имя joe на свое, например, то что вы указывали при установке OS, я указал имя ehciolkovskij  , имя fred измените на имя skorolev

Константин Эдуардович Циолковский - основоположник космонавтики.
Сергей Павлович Королев - основоположник практической космонавтики, ученый и конструктор в области космонавтики и ракетостроения, главный конструктор первых ракет‑носителей, пилотируемых космических кораблей.
Юрий Алексеевич Гагарин - лётчик-космонавт СССР, первый человек в космосе, полёт 12 апреля 1961 года.

Рис. 1. Создание пользователя при установке OS

user = ehciolkovskij {
    login = PAM
    #member = sysadmin
    member = admin
}

user = skorolev {
    login = PAM
    member = sysadmin
}

Создадим еще одного пользователя ygagarin который будет входить в группу cosmonauts, у группы cosmonauts ограниченные права, они не могут вносить в конфигурацию коммутатора изменения, так как у них уровень привилегии 1

user = ygagarin {
    login = PAM
    member = cosmonauts
}

Сохраните файл
Включите и запустите службу с помощью демона systemd

[root@TACACS ~]# systemctl enable tac_plus.service

[root@TACACS ~]# systemctl start tac_plus.service

Убедитесь, что служба активна

[root@TACACS ~]# systemctl status tac_plus.service

В дальнейшем, если будете вносить правки в конфигурационный файл, достаточно перезапустить службу systemctl restart tac_plus.service
Создайте пользователей с домашним каталогом skorolev и ygagarin с паролями (это логины и пароли которые вы будете использовать для подключения к сетевому оборудованию).

[root@TACACS ~]# useradd -m skorolev
[root@TACACS ~]# passwd skorolev

[root@TACACS ~]# useradd -m ygagarin
[root@TACACS ~]# passwd ygagarin

Настройте firewall
Для того чтобы сервер мог обмениваться данными с коммутатором, на сервере нужно открыть порт и указать протокол транспортного уровня. Как мы знаем TACACS+ использует протокол транспортного уровня TCP и 49 порт. В CentOS 7 / 8 по умолчанию установлен сервис firewalld, давайте установим iptables, так как он предлагает более расширяемый способ фильтрации пакетов.
Останавливаем firewalld и убираем его из автозагрузки.

[root@TACACS ~]# systemctl stop firewalld
[root@TACACS ~]# sudo systemctl disable firewalld

Маскируем службу firewalld, чтобы она не вызывалась каким-либо другим сервисом.

[root@TACACS ~]# systemctl mask --now firewalld

Убедитесь, что служба не активна 

[root@TACACS ~]# systemctl status firewalld

Устанавливите iptables

[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

Просмотрите текущие правила iptables

[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

Убедитесь, что порт 49 (tacacs) прослушивается. Как видим порт прослушивается Port tacacs

[root@TACACS ~]# ss -lt

Настройка TACACS+ на коммутаторе Cisco Catalyst 2960-48TC-S

Подключитесь к коммутатору, далее нужно проверить есть ли доступ по 49 порту с сервером, для этого нужно установить Telnet-соединение.

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]

Как видим доступ есть, об этом свидетельствует строчка Trying 10.15.41.11, 49 ... Open. Чтобы завершить активный сеанс Telnet, введите следующих команду disconnect

Обратите внимание на коммутаторе не запущен tacacs сервер, коммутатор выступает как tacacs клиент и подключается на 49 порт tacacs сервера, поэтому на коммутаторе не запущен демон tacacs на 49 порту. Если вы захотите проверить с сервера открыт ли порт 49 на коммутаторе, у вас не получется это сделать.

Перейдите в режим глобальной конфигурации и выполните команды ниже

Switch#configure terminal

Cконфигурируйте демона TACACS+ с IP-адресом 10.15.41.11 и ключом шифрования «test-tacacs-ExamPL-&a5Q»:

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 потом зашифруется.
Включите AAA, чтобы использовать TACACS+.

Switch(config)#aaa new-model

Определите списки методов, использующих TACACS+ для аутентификации (Authentication).

Switch(config)#aaa authentication login default group tacacs+ enable

Настройте авторизацию (Аuthorization)

Switch(config)#aaa authorization exec default group tacacs+ if-authenticated

Включите учёт (Accounting) соединений TACACS+

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

Если хотите более подробно ознакомиться, перейдите на официальный сайт CISCO Настройка TACACS
Проверка журнала событий в реальном времени
Перейдите в директорию log здесь находится файл с событиями (tac.acct), выполните команду:

[root@TACACS ~]# cd /var/log/
[root@TACACS log]# tail -f tac.acct

Подключитесь к коммутатору, под пользователями skorolev и ygagarin, введите команды, в журнале событий вы увидите, кто подключился и какие команды были набраны. Если вы опытный сетевой администратор, и в вашей команде есть только начинающие сетевые администраторы, вы легко можете контролировать их, какие команды они набирают, и вовремя их поправлять, с течением времени они тоже станут хорошими специалистами.

У пользователя skorolev привилегированный уровень EXEC (priv-lvl = 15), а у ygagarin уровень пользователя EXEC (priv-lvl = 1).

Cisco IOS Command Hierarchy

🔁

RetraR — Компьютерные игры для Nintendo Game Boy
Приветствуем всех любителей ретро-игровой индустрии на канале RetraR
RetraR - Computer games for Nintendo Game Boy 🌌🛸👽👾☄️🤖
RetraR - 任天堂ゲームボーイ用コンピュータゲーム 🎮🕹️👾

RetraR
RetraR
Канал ретро компьютерных игр

Оформить заказ

Нажимая на кнопку, вы даете согласие на обработку персональных данных

Спасибо за заказ

Ваш заказ принят в обработку. 

Мы свяжемся с вами в ближайшее время.