10.2. CLI¶
Аббревиатура AAA означает аутентификацию, авторизацию и учёт. Эта подсистема необходима для обеспечения идентификации пользователя, определения, какие команды он имеет право выполнять, и отслеживания всех действий пользователя.
Важно
Изменения в настройках AAA не распространяются на сессии, которые уже были созданы.
Локальная конфигурация пользователя¶
В системе есть один локальный пользователь по умолчанию с именем admin и паролем admin, который находится в группе admin и имеет доступ ко всем командам конфигурации.
Команды для управления пользователями перечислены ниже.
- user USERNAME group <guest|operator|admin> encryption <md5|sha-256|sha-512> password PASSWORD¶
Добавить нового пользователя в указанную группу. Пароль вводится в виде обычного текста и будет захеширован с использованием алгоритма
encryption.
- user USERNAME group <guest|operator|admin> password PASSWORD_HASH¶
Добавить нового пользователя в указанную группу. Пароль вводится в виде хэшированной формы в Modular Crypt Format:
($<id>[$<param>=<value>(,<param>=<value>)*][$<salt>[$<hash>]]). Поддерживаются алгоритмы MD5 ($1$), SHA-256 ($5$) и SHA-512 ($6$).
- user USERNAME group <guest|operator|admin>¶
Переместить пользователя в указанную группу.
Чтобы настроить пароль для режима Enable Mode, используйте следующие команды:
- enable encryption <md5|sha-256|sha-512> password PASSWORD¶
или
- enable password PASSWORD_HASH¶
Примечание
Для RADIUS и TACACS+ настройка режима Enable Mode применяется на серверах.
Конфигурация RADIUS и TACACS+¶
Сначала задайте настройки для серверов RADIUS или TACACS+, к которым будет подключаться ADC:
- aaa radius id (0-99) A.B.C.D auth-port (1-65535) acct-port (1-65535) secret SECRET¶
Установить соединение с сервером RADIUS.
Ключ
Значение
Описание
id(0-99)Идентификатор сервера RADIUS
HOSTA.B.C.DилиhostnameIP-адрес или имя хоста RADIUS-сервера
auth-port(1-65535)Порт аутентификации RADIUS. По умолчанию — 1812
acct-port(1-65535)Порт учёта RADIUS. Значение по умолчанию — 1813
secretSECRETПароль, который ADC будет использовать для подключения к серверу RADIUS
В RADIUS-пакетах используется атрибут cisco-avpair (9,1):
Атрибут |
Описание |
|---|---|
|
Задать уровень привилегий для пользователя |
|
Запретить отдельную команду (все команды, начинающиеся с указанной строки, будут запрещены) |
Настройка пароля для режима Enable Mode выполняется путём создания пользователя $enab15$ на сервере RADIUS.
Пример файла users приведен ниже:
test Cleartext-Password := "test"
cisco-avpair := "shell:priv-lvl=7", cisco-avpair := "shell:cmd=show interface"
$enab15$ Cleartext-Password := "enable"
- aaa tacacs+ id (0-99) HOST port (1-65535) secret SECRET¶
Установить соединение с сервером TACACS+.
Ключ
Значение
Описание
id(0-99)Идентификатор сервера TACACS+
HOSTA.B.C.DилиhostnameIP-адрес или имя хоста TACACS+ сервера
port(1-65535)Порт TACACS+ сервера. По умолчанию — 49
secretSECRETПароль, который ADC будет использовать для подключения к серверу TACACS+
Примечание
Вы можете добавить несколько серверов RADIUS или TACACS+, чтобы повысить отказоустойчивость системы. В этом случае ADC подключится к серверу с наименьшим номером ID.
- aaa server <radius|tacacs+> id (0-99) set-id (0-99)¶
Изменить идентификатор сервера. Если сервер с новым идентификатором уже существует, серверы меняются местами.
- no aaa <radius|tacacs+> [id (0-99)]¶
Удалить все соединения с серверами RADIUS или TACACS+ или только те, для которых указан идентификатор.
Учёт¶
- aaa accounting <console|ssh> {local|radius|tacacs+}¶
Задайте тип соединения (через SSH или консоль) и место, куда будут отправляться действия пользователей. Журналы содержат начало/конец сессии и все команды, введенные пользователем, с результатом авторизации.
Обратите внимание:
radiusиtacacs+здесь означают две группы серверов. Например, если вы добавите два RADIUS и три TACACS-сервера, и укажетеlocal radius tacacs+в учёте, то ADC отправит логи на локальный сервер, а также на RADIUS-сервер с наибольшим ID в группе RADIUS-серверов и на TACACS-сервер с наибольшим ID в группе TACACS-серверов.
- no aaa accounting <console|ssh>¶
Отключить учёт.
Аутентификация¶
- aaa authentication <console|ssh> {local|radius|tacacs+}¶
Задать тип соединения (через SSH или консоль) и метод аутентификации. Можно указать несколько методов, и ADC будет использовать первый из указанных. Методы
radiusиtacacs+означают две группы серверов. Например, если вы укажете для аутентификацииradius tacacsи добавите несколько серверов RADIUS и TACACS, то ADC сначала попробует подключиться к серверу RADIUS с большим ID и так далее, а затем, если все серверы RADIUS недоступны, перейдет к серверам TACACS.Обратите внимание на два момента:
Локальный сервер всегда доступен, поэтому следующие серверы не будут опрашиваться.
Отказ в доступе интерпретируется как успешный ответ, поэтому следующий сервер не будет опрашиваться.
Во время аутентификации запрашивается уровень привилегий (priv-lvl) из того же источника, который разрешил доступ. В соответствии с полученным уровнем привилегий устанавливается роль оператора:
Роль |
Уровень привилегий |
|---|---|
admin |
=15 |
operator |
>=7; <15 |
guest |
<7 |
- no aaa authentication <console|ssh>¶
Отключить аутентификацию.
Авторизация¶
- aaa authorization <console|ssh> {local|radius|tacacs+}¶
Задать тип соединения (через SSH или консоль) и метод авторизации. Вы можете указать несколько методов, и ADC будет использовать первый из указанных. Методы
radiusиtacacs+означают две группы серверов. Например, если вы укажете для авторизацииradius tacacsи добавите несколько серверов RADIUS и TACACS, то ADC сначала попробует подключиться к серверу RADIUS с большим ID и так далее, а затем, если все серверы RADIUS недоступны, перейдет к серверам TACACS.Обратите внимание на два момента:
Локальный сервер всегда доступен, поэтому следующие серверы не будут опрашиваться.
Отказ в доступе интерпретируется как успешный ответ, поэтому следующий сервер не будет опрашиваться.
Несколько важных моментов
Когда локальная авторизация реализована на уровне привилегий пользователя, отдельные команды не могут быть разрешены/запрещены.
RADIUS-авторизация позволяет только запрещать команды (необходимо выбрать более высокий уровень привилегий изначально).
Если сессия не была аутентифицирована через RADIUS, RADIUS-авторизация не будет доступна, и будут использованы другие методы в указанном порядке.
TACACS-авторизация позволяет настраивать любые права доступа. Нет необходимости использовать TACACS-аутентификацию перед использованием авторизации.
- no aaa authorization <console|ssh>¶
Отключить авторизацию.
Show-команды¶
- show aaa server debug¶
Показать отладочную информацию для всех настроенных соединений. Вывод выглядит следующим образом:
trafficsoft# show aaa server debug Radius server #0: 192.168.1.10 auth-port:1812 acct-port:1813 Accept: 0 Reject: 0 Connection error: 0 Tacacs+ server #0: 192.168.1.11:49 Accept: 95 Reject: 0 Connection error: 0
- show aaa server radius¶
Показать информацию о RADIUS-соединениях: IP-адрес или имя хоста, auth-port и acct-port.
- show aaa server tacacs+¶
Показать информацию о TACACS+ соединениях: IP-адрес или имя хоста и порт.
- show aaa sessions¶
Показать информацию о всех сессиях. Вывод включает: Имя пользователя, TTY, Удалённый IP, Аутентификатор, Время начала, Последняя активность, ID.
- show aaa sessions username [USERNAME]¶
Показать информацию о сессиях для указанного пользователя.
- clear aaa session SESSION_ID¶
Очистить указанную сессию.