Со временем обрывки знаний и умений становится все труднее удержать в голове. Они расползаются по уголкам памяти заполняя все свободное место. Извлекать необходимое на свет становится все сложнее. Этот блог - рабочая записная книжка.

Tuesday, February 5, 2008

Немного о правах

Краткая заметка о настройке AAA на устройствах PIX/ASA.
Зачем это нужно расписывать не буду и так вроде очевидно.

0. Официальная документация
http://cisco.com/en/US/docs/security/asa/asa80/configuration/guide/fwaaa.html

1. Необходимый минимум. Простейшая аутентификация.
Минимальная настройка которая необходима как минимум для удаленного захода, например по ssh или с помощью ASDM.
По-сути это должны быть одни из первых команд на новой железяке.

//создаем пользователя
ciscoasa(config)# username admin password superpuper

//Разрешаем необходимый доступ - ssh и http.
// В данном случае открывается доступ для хоста 10.2.1.10 находящегося в inside
ciscoasa(config)# ssh 10.2.1.10 255.255.255.255 inside
ciscoasa(config)# http 10.2.1.10 255.255.255.255 inside

Далее необходимо сообщить firewall каким образом обрабатывать запросы аутентификации.
Для этого можно использовать внешние сервера, но в минимальной конфигурации без этого можно обойтись.

// указываем где искать пароли для пользователей. В данному случае локально.
ciscoasa(config)# aaa authentication ssh console LOCAL
ciscoasa(config)# aaa authentication http console LOCAL

Вот и всё. Теперь появилась возможность зайти удалённо.
Однако, для внесения изменений в конфигурацию используется enable доступ.
// Можно использовать распределённые пароль, указываемый командой enable password
ciscoasa(config)# enable password pupersuper

Но это не всегда удобно и совершенно не безопасно. Гораздо практичнее каждому пользователю использовать свой пароль.
Чем-то это похоже на работу sudo - пользователь просто вводит свой пароль еще раз.

// Использовать для
enable пароль пользователя, а не глобальный
ciscoasa(config)# aaa authentication enable console LOCAL


2. Необходимый минимум. Простейшая авторизация.
В принципе для простых административных задач уровня smb вышеописанного вполне хватает.
Есть еще одна полезная функция - разделение привилегий. Например для задач мониторинга и простейшей поддержки

Разрешим пользователю operator возможность просматривать некоторую статистику по активным соединениям.
Задача разбивается на несколько шагов.

//Аналогично с аутентификацией необходимо указать как авторизовать действия пользователей.
ciscoasa(config)# aaa authorization command LOCAL

// Добавляем пользователя.
// Используем необязательный параметр privilege. Он указывает максимальный уровень привилегий которые может получить пользователь.
// Проводя аналогии с sudo - это группа в которую включен пользователь. Отличия только в том, что старшие группы включают в себя младшие.
// Т.е. пользователь с уровнем привилегий 6 имеет привилегии уровня 5.
ciscoasa(config)# username operator password 111 privilege 5

Далее необходимо указать что разрешено конкретному уровню привилегий.
Для этих целей используется команда privilege с следующим синтаксисом:

privilege {show | clear | configure} level level [mode {enable | configure}] command command

// Разрешим пользователям с уровнем привилегий 5 просматривать текущие соединения.
ciscoasa(config)# privilege show level 5 command conn

// Теперь после ввода команды пользователем команды enable и своего пароля он получит возможность использовать команду
ciscoasa# show conn

// При вводе команды которая не разрешена получим следующий результат
ciscoasa# show xlate
^
ERROR: % Invalid input detected at '^' marker.
ERROR: Command authorization failed

Привилегии не ограничиваются только просмотром. Можно дать возможность вносить изменения в конфигурацию.

// разрешим той же группе пользователей изменять таблицу рутинга
ciscoasaconfig)# privilege configure level 5 command route
ciscoasaconfig)# privilege configure level 5 command configure


// Для просмотра текущего уровня привилегий предназначена соответствующая команда show
ciscoasa# show curpriv
Username : operator
Current privilege level : 5
Current Mode/s : P_PRIV


В случае если устройств больше чем одно либо пользователей достаточно много применение локальной базы представляется нецелесообразным.
В этом случае можно указать устройству обращаться к серверам ААА за информацией. Но об этом в следующих постах.

2 comments: