Використання Vendor-Specific Attributes в Cisco ACS 5 на прикладі APC і Supermicro

У цій статті я хотів би поділитися досвідом використання Vendor-Specific Attributes (далі VSA) в Cisco Secure ACS 5.5 (далі просто ACS) на прикладі налаштування RADIUS-авторизації на APC Smart-UPS і Supermicro IPMI. ACS в свою чергу буде авторизувати користувачів у LDAP. В кінці статті в якості бонусу покажу як знімати дамп пакетів на ACS для траблшутинга з допомогою Wireshark.
Попередження: для простоти розуміння викладеного матеріалу стаття містить безліч скріншотів.

Насамперед необхідно провести конфігурування External Identity Stores, а саме — налаштувати підключення до AD/LDAP і налаштувати мапінг груп. На Хабре вже є стаття на цю тему, так що цей пункт я опущу і перейду безпосередньо до підготовки ACS до авторизації в ньому користувачів APC Smart-UPS (в кінці показавши відмінності в налаштуванні Supermicro IPMI).

Для початку необхідно створити RADIUS VSA щоб при успішній авторизації передавати додаткове поле на клієнта. В даному випадку передається рівень прав залогинившегося користувача. Необхідні імена полів, а так-же їх значення можна знайти в документації виробника (APC і Supermicro). Створення VSA проводитися в розділі меню System Administration -> Configuration -> Dictionaries -> Protocols -> RADIUS -> RADIUS VSA. Спочатку створюємо Vendor Specific Dictionary (Vendor ID можна дізнатися на сайті IANA).


Потім додаємо самі атрибути.


Створюємо Device Type для UPS і IPMI. Для цього в Network Resources -> Network Device Groups -> Device Type створюємо групу APC-UPS.


Далі в Network Resources -> Network Devices and AAA Clients описуємо підмережа, в якій розташовані наші ДБЖ. Можна описувати кожен пристрій окремо, просто вказавши його IP, але при великій кількості зручніше оперувати групами пристроїв.


Тепер необхідно створити Device Filter для того, що б потім можна було направити запит авторизації в необхідний Access Service. Робиться це в розділі Policy Elements -> Session Conditions -> Network Conditions -> Device Filters.


Створюємо Authorization Profile для передачі VSA на клієнтський пристрій в розділі Policy Elements -> Authorization and Permissions -> Network Access -> Authorization Profiles.






Конфигурим Access Service в розділі Access Policies -> Access Services.




Вказуємо для нього Identity Source тут Access Policies -> Access Services -> APC UPS Network Access -> Identity.


І створюємо правила Network Access Authorization Policy в Access Policies -> Access Services -> APC UPS Network Access -> Authorization.






Останнім кроком у ACS створюємо правило вибору Access Services в Access Policies -> Access Services -> Service Selection Rules.






І нарешті конфигурим UPS для авторизації користувачів через RADIUS.




Вітаю! Тепер на UPS можна увійти авторизувавши користувача через RADIUS (який в свою чергу авторизує користувачів у LDAP/AD а так-же бере з нього групи). У разі недоступності RADIUS-сервера авторизація буде відбуватися через локальний обліковий запис, так що не забуваємо налаштувати її і задати їй стійкий пароль.

Тепер розглянемо відмінність між APC Smart-UPS і Supermicro IPMI. Полягає воно в іншому словнику VSA і авторизационном профайлі.










Інші налаштування аналогічні вищенаведеним налаштувань для ДБЖ від APC.

Налаштування RADIUS в IPMI досить тривіальна.


На відміну від APC NMC в Supermicro IPMI не можна вказувати пріоритет джерел облікових записів. Одночасно працюють як локальні так і RADIUS користувачі. Так само не забуваємо змінити дефолтний пароль користувача ADMIN.

Хочу звернути Вашу увагу на знайдений нами баг/фічу у версіях прошивок IPMI використовуваних у нас: Пароль користувача довшим ніж 16 символів обрізається. У мну був 17 символів — довелося «урізати». Можливо в більш нових версіях це пофиксили — не перевіряли.

Обіцяний бонус:

Часто, під час налаштування авторизації може виникнути необхідність зняти дамп пакетів між кінцевим пристроєм і сервером авторизації в особі Cisco ACS. До версії Cisco ACS 5.5 з цим було все погано (CSCtd13775), але прохання було почуто і тепер у складі ACS є повноцінний tcpdump. Викликати його можна за допомогою команди:
acs-01/admin# tech dumptcp --help
tcpdump version 3.9.4
libpcap version 0.9.4
Usage: tcpdump [-aAdDeflLnNOpqRStuUvxX] [-c count] [ -C file_size ]
[ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ] [ -y datalinktype ] [ -Z user ]
[ expression ]

Як видно з висновку хелп — ми маємо справу зі звичайним tcpdump версії 3.9.4, так що можна використовувати всі відомі/звичні прийоми роботи з ним. Є лише одна особливість — опції передаються tcpdump повинні бути укладені в лапки. Наприклад що б перехопити radius-сесію з кінцевим пристроєм, який має IP 192.168.1.1 можна виконати наступну команду:
acs-01/admin# tech dumptcp "host 192.168.1.1 and port 1812-vvv-s 0-w radius.pcap"

Далі копіюємо його на tftp-сервер:
acs-01/admin# disk copy:radius.pcap tftp://192.168.1.254/

І можемо сміливо «годувати» його Wireshark для подальшого аналізу.

Корисні посилання:

1) Налаштування Cisco ACS 5.3 в зв'язці з Active Directory
2) IANA PRIVATE ENTERPRISE NUMBERS
3) IPMI user's Guide
4) How do I configure my RADIUS server to authenticate my APC Network Enabled device?

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.