11.2. CLI¶
Аббревиатура AAA означает аутентификацию, авторизацию и учёт. Эта подсистема необходима для обеспечения идентификации пользователя, определения, какие команды он имеет право выполнять, и отслеживания всех действий пользователя.
Важно
Изменения в настройках AAA не распространяются на сессии, которые уже были созданы.
Локальная конфигурация пользователя¶
В системе есть один локальный пользователь по умолчанию с именем admin и паролем admin, который находится в группе admin и имеет доступ ко всем командам конфигурации.
Команды для управления пользователями перечислены ниже.
- user USERNAME group <guest|operator|admin> [encryption <md5|sha-256|sha-512>] password PASSWORD [user-id (2000-65535)]¶
Добавить нового пользователя в указанную группу. Пароль вводится в виде обычного текста и будет захеширован с использованием алгоритма
encryption. Еслиencryptionне указан, пароль интерпретируется в хэшированной форме (Modular Crypt Format). Параметрuser-idпозволяет задать UID для локального пользователя.
- user USERNAME group <guest|operator|admin>¶
Переместить существующего пользователя в указанную группу.
- no user USERNAME¶
Удалить пользователя.
- user USERNAME change-password¶
Принудительно потребовать смену пароля у пользователя при следующем входе.
- user USERNAME block [until DATETIME]¶
Заблокировать пользователя. Если указан параметр
until, пользователь будет заблокирован до указанной даты и времени.
- no user USERNAME block¶
Разблокировать пользователя.
Чтобы настроить пароль для режима Enable Mode, используйте следующие команды:
- enable encryption <md5|sha-256|sha-512> password PASSWORD¶
или
- enable password PASSWORD_HASH¶
- no enable password¶
Удалить пароль для режима Enable Mode.
Примечание
Для RADIUS и TACACS+ настройка режима Enable Mode применяется на серверах.
Политика безопасности¶
Команды для настройки политики паролей и блокировки при неудачной аутентификации:
- aaa local password expire (1-36500)¶
Задать срок действия пароля в днях. По истечении указанного срока пользователю потребуется сменить пароль при следующем входе.
- aaa local password length min (1-47) max (1-47)¶
Задать минимальную и максимальную допустимую длину пароля.
- aaa local password strength (1-4)¶
Задать уровень сложности пароля (от 1 до 4). Более высокий уровень требует использования цифр, букв разного регистра и специальных символов.
- aaa local password history (1-50)¶
Задать количество запоминаемых предыдущих паролей. Пользователь не сможет установить пароль, совпадающий с одним из последних использованных.
- aaa local password check-list FILENAME¶
Задать файл со списком запрещённых паролей. При попытке установить пароль из этого списка операция будет отклонена.
- aaa local username length min (1-47) max (1-47)¶
Задать минимальную и максимальную допустимую длину имени пользователя.
- aaa local failed-auth limit (1-1000) [rehabilitation-time (1-2880)]¶
Задать максимальное количество неудачных попыток аутентификации, после которого пользователь будет заблокирован. Параметр
rehabilitation-timeопределяет время автоматической разблокировки в минутах. Если время не указано, разблокировка выполняется вручную.
Конфигурация RADIUS и TACACS+¶
Сначала задайте настройки для серверов RADIUS или TACACS+, к которым будет подключаться ADC:
- aaa radius SERVERNAME id (0-99) host HOST {auth-port (1-65535)|acct-port (1-65535)} secret SECRET¶
Установить соединение с сервером RADIUS.
Ключ
Значение
Описание
SERVERNAMEИмя
Уникальное имя сервера 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
- no aaa radius SERVERNAME¶
Удалить сервер 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+ SERVERNAME id (0-99) host HOST port (1-65535) secret SECRET¶
Установить соединение с сервером TACACS+.
Ключ
Значение
Описание
SERVERNAMEИмя
Уникальное имя сервера TACACS+
id(0-99)Идентификатор сервера TACACS+, определяющий порядок проверки серверов
hostA.B.C.DилиhostnameIP-адрес или имя хоста TACACS+ сервера
port(1-65535)Порт TACACS+ сервера. По умолчанию — 49
secretSECRETПароль, который ADC будет использовать для подключения к серверу TACACS+
- no aaa tacacs+ SERVERNAME¶
Удалить сервер TACACS+.
Примечание
Можно добавить несколько серверов RADIUS или TACACS+, чтобы повысить отказоустойчивость системы. В этом случае ADC подключится к серверу с наименьшим номером ID.
- aaa radius SERVERNAME set-new-id (0-99)¶
Изменить идентификатор RADIUS-сервера. Если сервер с новым идентификатором уже существует, серверы меняются местами.
- aaa tacacs+ SERVERNAME set-new-id (0-99)¶
Изменить идентификатор TACACS+ сервера. Если сервер с новым идентификатором уже существует, серверы меняются местами.
RADIUS Accounting¶
Команды для настройки RADIUS Accounting — учёта действий пользователей через протокол RADIUS:
- radius accounting secret SECRET¶
Задать пароль для RADIUS-учёта.
- radius accounting timeout (1-604800000)¶
Задать таймаут ожидания ответа от RADIUS-сервера учёта (в миллисекундах).
- radius accounting key <ipv4|ipv6> avp-type <(1-25)|(27-255)>¶
Задать стандартный AVP-тип для ключа идентификации пользователя по IPv4 или IPv6-адресу.
- radius accounting key <ipv4|ipv6> avp-type vendor id (1-4294967295) type (1-255)¶
Задать vendor-specific AVP-тип для ключа идентификации пользователя по IPv4 или IPv6-адресу.
- radius accounting attribute (0-15) avp-type <(1-25)|(27-255)> max-length (1-65535) print <text|hex|ipv4|ipv6>¶
Добавить дополнительный атрибут в RADIUS Accounting-пакеты. Параметр
printопределяет формат отображения: текст, шестнадцатеричный, IPv4 или IPv6-адрес.
- radius accounting attribute (0-15) avp-type vendor id (1-4294967295) type (1-255) max-length (1-65535) print <text|hex|ipv4|ipv6>¶
Добавить vendor-specific атрибут в RADIUS Accounting-пакеты.
- radius accounting enable¶
Включить RADIUS Accounting.
Примечание
Команды, принимающие параметр SECRET (aaa radius, aaa tacacs+, radius accounting secret), поддерживают опциональный параметр [encrypted], который указывает, что значение секрета передаётся в зашифрованном виде. Этот параметр используется системой при сохранении конфигурации и обычно не требуется при ручном вводе.
Accounting¶
- [no] aaa accounting <console|ssh> {local|radius|tacacs+}¶
Задать тип соединения (через SSH или консоль) и место, куда будут отправляться действия пользователей. Журналы содержат начало/конец сессии и все команды, введённые пользователем, с результатом авторизации.
Обратите внимание:
radiusиtacacs+здесь означают две группы серверов. Например, если добавить два RADIUS и три TACACS-сервера и указатьlocal radius tacacs+в учёте, то ADC отправит логи на локальный сервер, а также на RADIUS-сервер с наибольшим ID в группе RADIUS-серверов и на TACACS-сервер с наибольшим ID в группе TACACS-серверов.
Authentication¶
- [no] 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 |
Настройка сессий¶
- aaa sessions <console|ssh> idle-timeout (1-2880)¶
Установить таймаут бездействия сессии в минутах. Если пользователь не выполняет команды в течение указанного времени, сессия будет завершена.
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 [username NAME]¶
Показать информацию о всех сессиях или о сессиях указанного пользователя. Вывод включает: имя пользователя, TTY, удалённый IP, аутентификатор, время начала, последнюю активность, ID.
- show aaa local users¶
Показать список локальных пользователей, их группу и статус (активен, заблокирован, требуется смена пароля).
- clear aaa session SESSION_ID¶
Очистить указанную сессию.