9.2. CLI¶
Аббревиатура AAA означает аутентификацию, авторизацию и аудит. Эта подсистема необходима для обеспечения идентификации пользователя, определения, какие команды он имеет право выполнять, и отслеживания всех действий пользователя.
Важно
Изменения в настройках AAA не распространяются на уже созданные сессии!
9.2.1. Настройка локального пользователя¶
В системе есть один локальный пользователь по умолчанию с именем 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¶
Примечание
Настройка Enable режима для RADIUS и TACACS+ применяется на RADIUS и TACACS+ серверах.
9.2.2. Настройка RADIUS и TACACS+¶
Сначала задайте настройки для серверов RADIUS или TACACS+, к которым будет подключаться vCGNAT:
- aaa radius id (0-99) A.B.C.D auth-port (1-65535) acct-port (1-65535) secret SECRET¶
Установить соединение к RADIUS-серверу.
Ключи
Значение
Описание
id
(0-99)
Идентификатор RADIUS-сервера. Чем ниже, тем более приоретным считается соединение с данным сервером
HOST
A.B.C.D
илиhostname
IP-адрес RADIUS-сервера или имя хоста
auth-port
(1-65535)
Порт для запросов проверки аутентификации. По умолчанию 1812
acct-port
(1-65535)
Порт для запросов проверки аудита. По умолчанию 1813
secret
SECRET
Пароль, который будет использоваться для подключения к 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)
Идентификатор RADIUS-сервера. Чем ниже, тем более приоретным считается соединение с данным сервером
HOST
A.B.C.D
илиhostname
IP-адрес сервера TACACS+ или имя хоста
port
(1-65535)
Порт для запросов проверки аутентификации. По умолчанию 49
secret
SECRET
Пароль, который будет использоваться для подключения к серверу TACACS+
Примечание
Вы можете добавить несколько серверов RADIUS или TACACS+, чтобы повысить отказоустойчивость системы. В этом случае vADC будет подключаться к серверу, который имеет наибольший идентификационный номер.
- 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+
в аудите, то vADC будет отправлять журналы и на локальный сервер (vADC), и на RADIUS-сервер с наибольшим ID в группе RADIUS-серверов, и на TACACS-сервер с наибольшим ID в группе TACACS-серверов.
- no aaa accounting <console|ssh>¶
Отключить аудит.
Аутентификация¶
- aaa authentication <console|ssh> {local|radius|tacacs+}¶
Задайте тип соединения (через SSH или консоль) и метод аутентификации. Вы можете указать несколько методов, и балансировщик будет использовать первый из указанных. Методы
radius
иtacacs+
означают две группы серверов. Например, если вы укажете для аутентификацииradius tacacs
и добавите несколько серверов RADIUS и TACACS, то vADC сначала попытается подключиться к серверу RADIUS с более высоким идентификатором и так далее, а затем, если все серверы RADIUS недоступны, перейдет к серверам TACACS.Обратите внимание на две вещи:
Локальный сервер всегда доступен, поэтому следующие серверы опрашиваться не будут.
Отказ в доступе интерпретируется как успешный ответ, поэтому следующий сервер не будет опрошен.
Во время аутентификации запрашивается уровень привилегий (priv-lvl) из того же источника, который разрешил доступ. В соответствии с полученным уровнем привилегий устанавливается роль оператора:
admin |
=15 |
operator |
>=7; <15 |
guest |
<7 |
- no aaa authentication <console|ssh>¶
Отключить удаленную аутентификацию.
Авторизация¶
- aaa authorization <console|ssh> {local|radius|tacacs+}¶
Задайте тип соединения (через SSH или консоль) и метод авторизации. Вы можете указать несколько методов, и vADC будет использовать первый из указанных. Методы
radius
иtacacs+
означают две группы серверов. Например, если вы укажете для авторизацииradius tacacs
и добавите несколько серверов RADIUS и TACACS, то vADC сначала попытается подключиться к серверу RADIUS с более высоким идентификатором и так далее, а затем, если все серверы RADIUS недоступны, перейдет к серверам TACACS.Обратите внимание на две вещи:
Локальный сервер всегда доступен, поэтому следующие серверы опрашиваться не будут.
Отказ в доступе интерпретируется как успешный ответ, поэтому следующий сервер не будет опрошен.
Несколько важных моментов
Когда локальная авторизация реализована на уровне привилегий пользователя, отдельные команды не могут быть разрешены/запрещены.
RADIUS-авторизация позволяет только запрещать команды (изначально необходимо выбрать более высокий уровень привилегий).
Если при установке сессии не была пройдена аутентификация через RADIUS, RADIUS-авторизация будет недоступна и будут использоваться другие указанные методы.
TACACS-авторизация позволяет настраивать любые права доступа. Нет необходимости использовать TACACS-аутентификацию перед использованием авторизации.
- no aaa authorization <console|ssh>¶
Отключить удаленную авторизацию.
9.2.3. 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¶
Очистить указанную сессию.