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):

Атрибут

Описание

shell:priv-lvl=

Задать уровень привелегий для пользователя

shell:cmd=

Запретить отдельную команду (все команды, начало которых совпадает с указанным, будут запрещены)

Настройка пароля для режима 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.

Обратите внимание на две вещи:

  1. Локальный сервер всегда доступен, поэтому следующие серверы опрашиваться не будут.

  2. Отказ в доступе интерпретируется как успешный ответ, поэтому следующий сервер не будет опрошен.

Во время аутентификации запрашивается уровень привилегий (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.

Обратите внимание на две вещи:

  1. Локальный сервер всегда доступен, поэтому следующие серверы опрашиваться не будут.

  2. Отказ в доступе интерпретируется как успешный ответ, поэтому следующий сервер не будет опрошен.

Несколько важных моментов

Когда локальная авторизация реализована на уровне привилегий пользователя, отдельные команды не могут быть разрешены/запрещены.

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

Очистить указанную сессию.