AAA компоненты.
AAA - authentication, authorization and accounting. argaiv1265
Authentication отвечает на вопрос "Кто ты?". Т.е. определяет что пользователь тот кто должен быть. Другими словами это комбинация логин - пароль.
Authorization отвечает на вопрос "Что этот пользователь вправе делать?".
Accounting отвечает на вопрос "Что могут пользователи делать в сети?". Т.е. ведется статистика о том чем занимаются пользователи.
Важно заметить что Authorization и Accounting могут использоваться только после Authentication.
AAA режимы
Character (буквенный режим) mode - используется на vty, TTY, AUX, CONSOLE портах, которые в основном используются для конфигурирования устройств
Packet mode (пакетный режим) - используется на ASYNC, BRI, PRI, serial портах в основном для обеспечения аутентификации с другим устройством посредством dialer портов.
Понимание TACACS+ и RADIUS протоколов.
RADIUS описан в протоколе RFC 2865. TACACS+ более свежая версия описана в RFC 1492.
RADIUS использует UDP протокол. TACACS+ использует TCP протокол. При этом:
- TCP обеспечивает определение недоступности сервера через TCP reset (RST) и TCP keepalive механизм.
- TCP более приспособлен к большим сетям.
- TCP обеспечивает несколько одновременных соединений к нескольким серверам.
TACACS+ полностью шифрует содержимое своего пакета, указывая в заголовке включено ли шифрование. RADIUS шифрует только пароль внутри пакета.
Аутентификация и Авторизация.
TACACS+ полностью разделяет авторизацию и аутентификацию. Для примера авторизация может проходить на сервере TACACS+, а аутентификация на сервере Kerberos. RADIUS комбинирует авторизацию и аутентификацию в одном запросе. В отличие от TACACS+, RADIUS не понимает следующие протоколы:
- AppleTakl Remote Access (ARA) protocol
- NetBIOS Frames Protocol Control Protocol
- Novell Asynchronous Services Interface (NASI)
- X.25 PAD connection
RADIUS не позволяет использовать проверку вводимых команд пользователем и предоставляет только доступ к устройству.
TACACS+ позволяет контролировать вводимые пользователем команды посредством 2х методов:
- Определить команды на TACACS+ сервере которые доступны пользователю или группе.
- В зависимости от уровня привилегий TACACS+ сервер определяет доступные команды пользователю или группе.
Настройка AAA используя CLI.
Пример настройки RADIUS
aaa new-model radius-server host 10.10.1.5 radius-server key TheRADIUSServerKey username root password MySecretPassword aaa authentication ppp mydiallist radius local aaa authorization network radius local aaa accounting network mynetwork start-stop group radius
Пример настройки TACACS+
aaa new-model tacacs-server host 10.10.1.5 tacacs-server key TheTacacsServerKey username root password MySecretPassword aaa authentication ppp mydiallist tacacs+ local aaa authorization commands 15 tacacs+ if-authenticated none aaa accounting network start-stop tacacs+
Рассмотрим команды подробнее:
aaa new-model - включение AAA.
radius-server host {hostname | ip-address} [auth-port port-number] [acct-port port-number] [timeout seconds] [retransmit retries] [key string] [alias{hostname | ip-address}]
hostname - DNS имя RADIUS сервера. ip-address - определяет IP адрес RADIUS сервера. auth-port - определяет UDP порт назначения для запросов аутентификации. port-number - определяет порт для запроса аутентификации (0 не использовать, 1645 по умолчанию). acct-port - определяет UDP порт назначения для запросов accountig. port-number - определяет порт для аккоунтинга (0 не использовать, по умолчанию 1646). timeout - определяет кол секунд, которое роутер ждет ответа от сервера. retransmit - колличество попыток отправить запрос серверу. key - ключ. alias - определяет псевдоним для RADIUS сервера.
tacacs-server host {hostname | ip-address} [key string] [nat] [port [integer]] [single-connection] [timeout [integer]]
параметры те же что и для RADIUS сервера nat - nat адрес клиента. port - по умолчанию 49. single-connection - поддерживает только одно соединение между клиентом и сервером.
aaa authentication ppp {default | list-name} method1 [method2...]
default - Uses the authentication methods following the parameter as the default list when a user logs in list-name - Character string used to name the list of methods used when the user logs in method1 [method2...] - At least one of the following methods is used: if-needed = do not authenticate if the user is already authenticated krb5 = use Kerberos 5 for authentication local = use the local database none = no authentication radius = use RADIUS authentication tacacs+ = use TACACS+ authentication
[no] aaa autorization {network | exec | commands level | reverse-access} {default | list-name} [method1 [method2...]]
network - Runs authorization for all network-related service requests exec - Runs authorization to determine if the user is authorized to run an EXEC shell commands - Runs authorization for all commands at the specified level level - Specific command level that should be authorized; level may be from 0 through 15 reverse-access - Runs authorization for reverse access connections (reverse Telnet) default - Uses the authentication methods following the parameter as the default list when a user logs in list-name - Character string used to name the list of methods used when the user logs in
[no] aaa accounting {auth-proxy | system | network | exec | connection | commands level} {default | list-name} [vrf vrf-name] {start-stop | stop-only | none} [broadcast] group group-name
auth-proxy - Performs accounting for all authenticated proxy events system - Performs accounting for all system-level events not associated with users (reboots and so forth) network - Performs accounting for all network-related requests exec - Performs accounting for all EXEC shell sessions connection - Performs accounting for all outbound connections from the network access server commands level - Performs accounting for all commands at the specified level default - Uses the listed accounting methods that follow list-name - Character string used to name the list; valid options are group radius = list of RADIUS servers group tacacs = list of TACACS+ servers group group-name = a subset of RADIUS or TACACS+ servers vrf vrf-name - Specifies a VRF (Virtual Route Forwarding) configuration start-stop - Sends a “start” notice at the beginning of a process and a “stop” notice at the termination of the process stop-only - Sends a “stop” notice at the end of a process broadcast - Enables sending accounting records to multiple AAA servers group group-name - Character string used to name the list; valid options are group radius = list of RADIUS servers group tacacs = list of TACACS+ servers group group-name = a subset of RADIUS or TACACS+ servers
Настройка AAA через SDM.
Configure ----> Additional Tasks -----> AAA
В нем необходимо настроить AAA Servers and Groups ----> Authentication policy -----> Authorization policy
Debug AAA.
debug aaa authentication debug aaa authorization debug aaa accounting debug radius debug tacacs
|