понедельник, 23 января 2017 г.

15. Практическая безопасность сетей


1.3.5 Настройка Authentication

Теперь рассмотрим процесс настройки сетевого оборудования для использования функций ААА. Данную тему нельзя назвать простой, поэтому я настоятельно рекомендую потренироваться на лабораторном макете, прежде чем начинать настройку реального оборудования. Может получиться, что вы просто потеряете доступ.

Для начала рассмотрим настройку Authentication (первая А). Это позволит избежать некоторой путанницы в голове. Процесс настройки можно разбить на 4 основных этапа:
1) Создание пользователя в локальной базе. Собственно мы уже делали это ранее (username admin privilege 15 secret cisco). Здесь может возникнуть некоторое недопонимание. Мы же используем ААА для того, чтобы централизованно хранить все учетные записи. Так зачем нам локальная учетная запись? А теперь представьте, что по какой-то причине ААА-сервер стал недоступен. Это может случиться из-за сетевого сбоя, либо из-за хакерской атаки. Тогда вы просто не сможете зайти на оборудование, т.к. сетевое устройство будет пытаться обратиться к ААА-серверу для проверки введенных данных. В этом случае и необходима локальная учетная запись. По сути, она является резервным вариантом входа, когда нет возможности обратиться к ААА-серверу.
Никогда не настраивайте вход ТОЛЬКО через ААА-сервер. Вы не сможете зайти на устройство, если сервер станет недоступен. Используйте локальную учетную запись, как резервный вариант входа.
2) Включение функции ААА. Данное действие мы тоже уже выполняли (aaa new-model).
3) Настройка ААА-сервера. Здесь имеется в виду указание IP - адреса ААА-сервера (или даже нескольких серверов) и секретного ключа (key). Эти данные используются устройством для подключения к ААА-серверу и дальнейшему общению. Ключ используется для шифрования всей передаваемой информации.
4) Создание метода аутентификации (method list). И здесь мы уже попробовали свои силы (aaa authentication login default local). Мы создавали method list под названием default, что означает его применимость сразу ко всем доступным линиям (console, vty). И в конце команды мы указывали способ аутентификации - local, т.е. использование локальной базы учетных записей. Далее мы рассмотрим настройку другого способа - tacacs либо radius.

Теперь приведем пример настройки маршрутизатора, который будет использовать ААА-сервер в качестве основного метода аутентификации и локальную базу, как резервный вариант. Для макетирования использовалась следующая схема:
Ниже представлена настройка маршрутизатора: 

enable secret cisco  /задаем пароль на enable
username admin privilege 15 secret cisco /создаем локального пользователя
aaa new-model /включаем ААА
tacacs-server host 192.168.56.101 /указываем адрес ААА-сервера
tacacs-server key cisco123 /указываем ключ
aaa authentication login default group tacacs+ local /создаем method list

Думаю стоит немного пояснить последнюю команду. В качестве имени method list мы использовали default, т.е. применили его ко всем линиям. Далее, с помощью параметра group, мы определяем несколько возможных вариантов аутентификации. Первым по приоритету идет tacacs+, т.е. если для роутера доступен ААА-сервер, то для аутентификации будет использоваться именно этот способ. Если же по каким-то причинам это невозможно, то будет использован второй способ - local, т.е. локальная база учетных записей. В данном случае этот способ является резервным и именно для него мы создали локальную учетку admin. Кроме того, мы можем использовать в качестве резервного варианта пароль от enable. В этом случае последняя команда выглядела бы так:

aaa authentication login default group tacacs+ enable

Иногда бывает необходимо создать разные политики доступа к оборудованию. Для примера рассмотрим случай с консольным портом. Предположим, что мы уже настроили аутентификацию с помощью ААА и создали method list с именем default. Но при этом мы хотим, чтобы вход по консоли был без пароля (крайне не рекомендую). Для этого достаточно создать еще один method list и “повесить” его на консольный порт:

R1(config)#aaa authentication login FREE none
R1(config)#line console 0
R1(config-line)#login authentication FREE

В method list с именем FREE использует параметр none, который разрешает вход без пароля.

Настройка RADIUS для аутентификации практически идентична и заключается лишь в замене слова “tacacs”.

radius-server host 192.168.56.2
radius-server key cisco123
aaa authentication login default group radius local

Таким образом мы рассмотрели процесс базовой настройки аутентификации с помощью ААА-сервера. При попытке подключения к маршрутизатору получим следующее:

User Access Verification

Username: admin15
Password:

R1>

Как видим, вход с помощью учетной записи admin15 - успешен. Но стоит обратить внимание на уровень привилегий. Данный пользователь был создан с уровнем 15 (Level15), но знак “>” говорит о том, что мы все еще в пользовательском режиме, т.е. уровень 1. Причина в отсутствии настроек авторизации (вторая А). Именно авторизация позволяет пользователю при входе на устройство автоматически попадать на свой уровень.

1.3.6 Настройка Authorization

Настройка авторизации немного отличается от настройки аутентификации. Ниже представлен пример конфигурации, где мы разберем каждую команду.

aaa authorization exec default group tacacs+ local

Для начала мы настраиваем авторизацию для входа в соответствующий режим - пользовательский (user exec mode) или привилегированный (privileged exec mode). Именно после этой команды мы сможем автоматически попадать в нужный режим сразу после входа на устройство. Думаю значение default group tacacs+ local вам и так понятно.

aaa authorization config-command
aaa authorization commands 1 default group tacacs+ local
aaa authorization commands 15 default group tacacs+ local

Здесь мы настраиваем авторизацию каждой вводимой команды, как на уровне 1, так и на уровне 15. 

aaa authorization console

Последним шагом идет настройка авторизации при входе через консольный порт. Несмотря на ранее введенное имя default, авторизация на консольном порту не будет проходить без этой команды.
Теперь если попробовать подключиться к маршрутизатору с помощью учетной записи admin15, получим следующее:

User Access Verification

Username: admin15
Password:

R1#

Как видим по знаку “#” мы попадаем в нужный нам режим (privileged exec mode) без необходимости ввода пароля enable.
Можно еще раз проверить работу авторизации и войти под учетной записью admin1:

User Access Verification

Username: admin1
Password:

R1>

Как и ожидалось, мы попадаем в пользовательский режим. При этом, если вы помните, данный пользователь ограничен всего тремя командами, в соответствии с настройками на ААА-сервере (это ping, show run и exit). Попробовав выполнить другие команды получим следующее:

R1>show cdp neighbors
Command authorization failed.

Команда не авторизована и не может быть выполнена. И даже если войти в привилегированный режим с помощью enable, мы все равно не сможем выполнить неавторизованные команды:

R1>en
Password:
R1#conf t
Command authorization failed.

1.3.7 Настройка Accounting

Последним этапом будет настройка учета (accounting) или простым языком - логирование всех действий пользователей. Делается это элементарно:

aaa accounting exec default start-stop group tacacs+
aaa accounting commands 1 default start-stop group tacacs+
aaa accounting commands 15 default start-stop group tacacs+

Здесь мы включили логирование всех вводимых команд, как на уровне 1, так и на уровне 15. После этого на ААА-сервер можно увидеть следующую информацию: 
Мы видим на каком устройстве, в какое время, кем и как были произведены какие-либо действия. Данная информация может существенно помочь при поиске причин “внезапной” недоступности какого-либо устройства после неудачной настройки. Это и есть основное предназначение функции Accounting.

1.3.8 Ограничения ААА

Следует отметить, что мы весьма поверхностно рассмотрели возможности ААА. Описанные выше команды, лишь пример минимально необходимых настроек. Более подробное рассмотрение данной технологии выходит за рамки нашей книги. Однако остался еще один момент, который я не могу обойти стороной.
Ранее было сказано, что при настройке ААА необходимо обязательно оставлять резервный вариант входа в виде локальной учетной записи (либо пароля на enable). Но как же централизованно администрировать эти учетки? Ведь ААА не позволят менять локальные пароли на устройствах. Неужели придется это делать вручную? А если устройств сотни, как у интернет провайдеров? Не менять пароли локальных учеток также плохая идея. 
Как правило, для решения данной проблемы используются менеджеры конфигураций (network configuration manager) либо самописные скрипты. Яркими примерами менеджеров конфигураций являются SolarWinds Network Configuration Manager (платный) и rConfig (бесплатный). 
Для централизованной смены паролей локальных учетных записей используйте менеджеры конфигураций (network configuration manager).
Данный софт позволяет централизованно изменять настройки сетевых устройств, даже если они разных производителей (Сisco, Juniper, HP и т.д.). Описание данных программ выходит за рамки нашей книги.

1 комментарий:

  1. “повесть” его на консольный порт: - Наверно Вы имели ввиду "повесить".

    ОтветитьУдалить

Блог развивается при поддержке

Блог развивается при поддержке
Защищаем настоящие ценности клиента

Translate

Популярные сообщения

Blog Archive

Технологии Blogger.

Google+ Followers