На главную

Материал подготовлено по документам Cisco Systems

      Организация контроля доступа в Cisco IOS.  

     Контроль доступа к маршрутизатору или  другому оборудования Cisco под управлением IOS, а так же  ресурсам сети  осуществляется с помощью службы ААА (Authentication, Authorization, and Accounting ) - аутентификация (идентификация пользователей), авторизация (контроль прав доступа), учет (сбор и обработка информации для биллинга, аудита и отчетов о работе пользователя).

    Когда эта служба запущена, появляется возможность отслеживать деятельность пользователя и контролировать его права доступа к сетевым ресурсам. Вся информация о деятельности пользователя допущенного к ресурсам, полученная с помощью службы AAA, может быть послана на RADIUS или TACACS+ сервера в форме учетных сообщений . Хотя в Cisco IOS есть возможность организовать и  простой контроль доступа на основе аутентификации локально заведенных пользователей, но этот вариант не предоставляет  того же уровня контроля доступа как служба AAA.
  При включении службы AAA, она активируется на всех интерфейсах устройства на котором запущена.

Служба AAA работает следующим образом. Сначала создаются специальные списки методов(method lists) как для аутентификации, так и для авторизации, а потом эти списки привязываются к конкретным сервисам (например IP, IPX, or VPDN) или интерфейсам. Как это делается мы рассмотрим ниже. А пока еще немного теории ...

Список method lists представляет из себя используемый метод , т.е. позволяет назначать один или более протоколов для контроля доступа на случай если первый сервер (RADIUS или TACACS+) не будет способен идентифицировать пользователя. Методы  перебираются по списку поочередно пока не будет успешно или не успешно проведена идентификация . Однако следующий метод списка будет использоваться лишь в том случае, если не успешно использование предыдущего метода (например если сервер не отвечает). Если же в ответе о предоставлении доступа от сервера получен отказ, то процесс перебора методов останавливается и следующий метод в списке  method lists не используется .

Поясним на синтаксисе команды AAA (пример одного из вариантов):

aaa (authentication/authorization) <тип> <имя списка> group  метод1 { метод2  метод 3 }

если в качестве имени списка используется слово default, то это означает что этот список методов применим ко всем интерфейсам устройства.

Ниже приведены типы аутентификации 

  • aaa authentication login   -  аутентификации пользователей для получения доступа к режиму exec на сервере доступа (tty, vty, console and aux)

  • aaa authentication ppp     -  аутентифицируются PPP соединения. Обычно для аутентификации удаленных пользователей по аналоговым линиям, желающих получить доступ к Internet или удаленно подключиться к сети своего офиса , а так же для аутентификации ISDN.

и типы авторизации:

  • aaa authorization exec - определяет разрешено ли  пользователю работать в оболочке EXEC сервера доступа. Может возвращать информацию о профиле пользователя (autocommand information, idle timeout, session timeout, access-list and privilege и т.д) Этот тип авторизации  применим только к vty и tty.
  • aaa authorization network  -   выполняет авторизацию запросов для установки сетевых сеансов, например к таким сетевым сервисам   как     PPP и SLIP . При авторизации и установлении сеанса клиентом могут быть запрошены определенные опции  РРР (callback, compression, IP address и т.д.), которые конфигурируются в пользовательском профайле AAA сервера. Кроме того, для каждого конкретного пользователя профиль AAA на сервере может содержать дополнительные параметры, которые подгружаются системой IOS , такие как idle-timeout, access-list и др.

 


Ну а теперь перейдем к практике.

Для настройки AAA на оборудовании необходимо выполнить следующие команды по порядку:

  1. Включить AAA в режиме глобального конфигурирования с помощью команды aaa new-model
  2. Cконфигурировать параметры протоколов RADIUS или TACACS+, таких как IP-адрес, ключ, порт, время ожидания отклика и т.д.
  3. Составить списки (list-name) для аутентификации с прописанными в них методами аутентификации (method lists) командой aaa authentication
  4. Если требуется, то задействовать составленный method lists для конкретного интерфейса или линии с помощью именованного списка.
  5. При необходимости сконфигурировать авторизацию используя команду aaa authorization .
  6. При необходимости сконфигурировать учет используя команду aaa accounting

 

 

Примеры конфигурирования (по пунктам выше приведенных шагов):

  Доступ к устройству

    Выполняем п.1

  • Router#conf  ter  - входим в режим глобального конфигурирования
  • Router(config)#aaa new-model  - включаем AAA

    Выполняем п.2

  • Router(config)#tacacs-server host <IP address of the AAA server> <key> -  указываем IP адрес сервера  и  ключ

             или если необходимо использовать RADIUS :

          Router(config)#radius-server host <IP address of the AAA server> <key>

Кроме указанного ключа команды <key>  можно ввести другие например для определения порта, время ожидания отклика и т.д., но здесь мы все принимаем по умолчанию. (За дополнительной информацией по опциям команд можно обратиться к

Ключ можно указать и отдельной строкой в режиме глобальной конфигурации( например tacacs-server key <ключ>), однако ключ указанный в одной строке с хостом ( tacacs-server host <IP address of the AAA server> <key> )доминирует над указанным ключом в отдельной строке (как и остальные параметры).

           Далее надо определить будем ли мы работать с группой серверов или с одним сервером в данном методе. Задание групп AAA серверов полезно в тех случаях, когда пользователи поделены на группы и каждая из них работает со своей группой AAA серверов. Например, пользователи устанавливающие соединение по коммутируемыми каналам аутентифицируются с помощью одного сервера, а сетевые администраторы с помощью другого.
Если  группы будут использоваться , то необходимо задать группы серверов
:
           Router(config)#aaa group server {radius | tacacs+}group-name

           Router(config-sg-{radius | tacacs+})#server  <IP address of the AAA server 1>
                ................
           Router(config-sg-{radius | tacacs+})#server  <IP address of the AAA server  N>

    Выполняем п.3

  • Router(config)# aaa authentication login {default | list-name} method1 [method2...]

           где list-name - именованный список для привязки к интерфейсам,
                 method  - метод аутентификации.

Ниже приведена таблица с методами  и их пояснением:

Методы аутентификации Описание
enable

Использовать пароль enable для аутентификации.

krb5

Использовать Kerberos 5  для аутентификации.

krb5-telnet

Использовать Kerberos 5 Telnet аутентификацию при использовании Telnet для соединения с маршрутизатором. Если указывается, то эта опция должна указываться первой  в списке методов.

line

Использовать пароль терминальной линии для аутентификации.

local

Использовать локальную базу данных пользователей для аутентификации.

local-case

Использовать локальное имя пользователя с учетом регистра клавиатуры для аутентификации.

none

Не использовать аутентификации.

group radius

Использовать из всех RADIUS серверов  для аутентификации.

group tacacs+

Использовать из всех TACACS+ серверов  для аутентификации.

group group-name

Использовать группу RADIUS или TACACS+ серверов для аутентификации по порядку использования их в командах aaa group server radius или aaa group server tacacs+

Например

        aaa authentication login default group radius local - означает, что все пользователи которые хотят зайти на маршрутизатор, должны аутентифицироваться используя Radius (первый метод), а если он например не доступен (получена ошибка), то  локально на маршрутизаторе (второй метод).

       Выполняем п.4

Если требуется применить аутентификацию (метод) к конкретному интерфейсу, то вместо default в aaa authentification login надо указать имя списка, с помощью которого затем эти методы применить к конкретному интерфейсу.  Например:

Router(config)#aaa authorization network ISDN_USER group radius local
Router(config)#int dialer 0
Router(config-if)#ppp authorization ISDN_USER

или

 Аутентификация на консольном порту происходит только по паролю указанному в конфигурации консоли ( line con 0).

Router(config)#aaa authentication login CONSOLE line
Router(config)#line con 0
     
Router(config-line)#exec-timeout 0 0
     
Router(config-line)#password cisco
     
Router(config-line)#login authentication CONSOLE

 

       Выполняем п.5

При необходимости сконфигурировать авторизацию.
Так как авторизация подразумевает под собой проверку разрешения на получение доступа к таким сервисам как например
PPP и SLIP, то на сервере AAA для каждого профиля клиента должны быть настроены некоторые опции , которые могут быть запрошены клиентом (callback, compression, IP address, idle-timeout, access-list т.д.).

Например, чтобы сервер доступа мог обработать  входящие соединения PPP по dialup, необходимо на  нем прописать:
 

Router(config)#aaa authentication ppp default group radius local  - для первоначальной аутентификации пользователя, а уж затем его авторизации с помощью команды :
Router(config)#aaa authorization network default group radius local

или  если надо прописать авторизацию для конкретного интерфейса, то вместо default  надо указать имя списка, с помощью которого затем эти методы применить к конкретному интерфейсу.  Например:

Router(config)#aaa authorization network ISDN_USER group radius local
Router(config)#int dialer 0
     
Router(config-if)#ppp authorization ISDN_USER
 

       Выполняем п.6

При необходимости сконфигурировать учет.
Учет подразумевает под собой сбор информации отражающей работу сервисов и  ресурсов предоставленных пользователям.

Учет настраивается  и работает  по тем же правилам что и аутентификация и авторизация (через список методов).

Router(config)#aaa accounting network default start-stop group radius local

Если необходимо чтобы информация посылалась после того как клиентская сессия закончилась, то необходимо указать ключевое слово stop:

Router(config)#aaa accounting network default stop group radius local

Однако, если PPP сессия по каким то причинам не установилась, то никаких записей об аутентификации на сервер не отсылается .  Это можно исправить введя команду :

Router(config)#aaa accounting send stop-record authentication failure

На конец, чтобы включить учет всех используемых ресурсов необходимо ввести команду :

Router(config)#aaa accounting resource start-stop


Для  более подробной информации можно обратиться к документации Cisco :

  1. http://www.cisco.com/en/US/tech/tk59/technologies_tech_note09186a0080093c81.shtml
  2. http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_c/fsaaa/scfathen.htm

 


 

 

 

 

Сайт управляется системой uCoz