суббота, 2 августа 2014 г.

Установка и настройка ACS 5

ACS (Access Control Server) позволяет обеспечить централизованную аутентификацию, упрощает управление пользователями и безопасностью.
ACS особенно полезен при большом количестве устройств. Теперь не нужно на каждой железке хранить одни и те же учетные записи, все они хранятся в едином хранилище.
С Cisco Secure ACS мы можем управлять и администрировать доступом пользователей на Cisco IOS, устройствах VPN, ASA, WiFi решения и т.д.
В данной статье рассматривается применение ACS 5 для административного доступа к консоли маршрутизатора/коммутатора, а также для регулирования доступа пользователей по VPN.
ACS 5 - это очередное поколение и имеет существенные отличия от предыдущих версий ACS 4.x. Впрочем все стало гораздо более удобно и интуитивно понятно по сравнению с предыдущей версией.
В отличие от 4.х пятая версия выполнена на платформе Linux. ACS можно прибрести в виде Appliance, а также можно и установить на виртуальной машине.

Установка ACS 5

Описание как создавать Вирт машину под ACS 5.0:
http://www.cisco.com/en/US/docs/net_mgmt/cisco_secure_access_control_sys...
При настройке виртуалки выбираем:
Linux, Other linux, 32 bit
При первой загрузке нужно ввести setup
Далее будет диалог
Выставляем пароль. Этот пароль будет использоваться для входа в командную строку. Синтаксис командной строки даже попытались сделать похожим на IOS. Здесь выставляются такие параметры как IP адрес, DNS, Time zone, ntp server
После установки можно зайти на Web-морду ACS:
https://ip_address
Система первым делом спросит лицензию, впрочем есть и способы отучения от жадности.

Установка патчей

Патч из себя представляет файл FILE.tar.gpg
Его нужно разместить на ftp-сервере, затем выполнить шаги:
1) ssh login или с консоли
2)#conf t
3)#repository rep1
4)#url ftp://x.x.x.x/folder
5)#user USERNAME password plain PASSWODR
6)#exit
7)#exit
8)#acs path install FILE.tar.gpg repository rep1
Крайне рекомендуется ставить самую последнюю версию ACS и самый последний патч.
Для перехода с 5.2 на 5.3:
1) Скачиваем ACS_5.3.0.40.tar.gz
2) application upgrade ACS_5.3.0.40.tar.gz rep1
Процесс может занять продолжительное время, его статус можно посмотреть:
Monitoring Configuration > System Operations > Data Upgrade Status.
После апгрейда можно проверить:
show application version acs
show application status acs
Для нормальной работы также нужно проверить наличие настроек и добавить если таковых нет:
ip domain-name bau.local
ip name-server 10.5.14.7
clock timezone Europe/Moscow
ntp server 10.5.14.95

Данные настройки вводятся через консоль.

Настройка административного доступа + доступ к VPN в IOS с использованием ACS 5

Network Device Groups

В отличие от предыдущих версий, ACS 5 основан на политиках. Это подобно access-lists, политики - это список правил, которые обрабатываются в порядке нумерации.
Политикам характерно правило "first-match", т.е. если условия какого-либо правила удовлетворяют запросу, то это правило активируется, а ниже стоящие правила уже не проверяются.
С точки зрения ACS любой маршрутизатор, коммутатор, VPN концентратор, WiFi controller и другое устройство, настроенное на работу с ACS называется AAA client
Network Device Groups (NDG) позволяют логически группировать AAA clients
Например мы можем группировать устройства по физическому расположению (Location), по типу устройства (Device Type) или создать свою NDG.
Затем мы можем применить политики к NDG.
Если к примеру пользователь пытается зайти на маршрутизатор, то он делает запрос на ACS. В ACS определяет в какой NDG находится AAA client и затем применяет к девайсу соответствющую его группе политику. Таким образом мы можем применить одну и ту же политику к нескольким AAA clients
Группы NDG могут иметь иерархическую структуру. Если политика применяется на NDG, то она применится также и на дочерние NDG
AAA Client может находиться в нескольких NDG одновременно.
Создадим пару NDG для маршрутизаторов и коммутаторов:
Network Resources > Network Device Groups > Device Type - Create
Network_Device_Groups.jpg

AAA Clients

Следующим шагом нужно создать AAA Client.
Network Resources > Network Devices and AAA Clients - Create
Нам нужно ввести Имя устройства и его IP адрес.
AAA_client.jpg
Также как видно здесь активирован TACACS.
В двух словах для работы сервисов AAA (Authentication Authorisation Accounting) с сервером ACS могут использоваться два протокола - RADIUS и TACACS+. По сути с помощью этих протоколов AAA client общается с сервером ACS. TACACS+ являлется cisco - проприетарным, а RADIUS открытым стандартом. Не вдаваясь в подробности для управления доступом к командной строке рекомендуется использовать TACACS+, т.к. он поддерживает различные примочки типа Command Authorization и тд. А для доступа к VPN или к WIFI рекомендуется RADIUS, т.к. это открытый стандарт.
Итак для Административного доступа мы активировали TACACS и также ввели пароль shared secret. Пароль на этой странице должен совпадать с пароле в настройке TACACS со стороны маршрутизатора.
Для доступа по VPN для маршрутизатора, выполняющего роль VPN-концентратора нужно также активировать и RADIUS:
AAA_client2_.jpg

Identity group

В ACS мы можем создавать пользователей (internal user).
Пользователь может входить в Identity Group. Правило политики может использовать Identity Group, тем самым влияя на все пользователей этой группы.
Для создания группы идем:
Users and Identity Stores > Identity Groups - Create
При создании группы нужно ввести только ее имя.
Создадим две группы:
Admin - Для административного доступа к устройствам
WebVPN_access - для доступа к Web VPN
Identity_Groups.jpg

Добавление пользователей

Users and Identity Stores > Internal Identity Stores > Users - Create
Вообще ACS может работать не только со своими пользователями, но и к примеру с пользователями из Active Directory, поэтому Internal Identity Stores означает именно внутреннюю БД пользователей на борту самого ACS
При создании пользователя мы вводим его имя, пароль и его группу, enable password используется для административного входа, если необходимо вводить enable.
User.jpg
Создадим несколько пользователей в разных группах:
Users.jpg

Создание политик

Итак, мы сделали все необходимое, чтобы можно было создавать собственно сами политики, регулирующие доступ.
Как уже было сказано, политики представляют собой список правил, которые обрабатываются в порядке нумерации.
В ACS есть возможность сделать несколько разных списков правил, например для Device Administration и для Wireless network access, эти списки называются access services.
Access service - это есть некая административная единица, которая в свою очередь в себя включает собственно политики.
Service selection rules - определяют в каких случаях какой Access service будет выбран.
По умолчанию созданы два Access service:
- Default Device Admin
- Default network access
Если мы заглянем в Service Selection Rules, то увидим что Default network access будет выбран если используется протокол Radius, а Default Device Admin - если используется протокол Tacacs.
Service_Selection_Rules_ciscomaster.ru.jpg
Для наших целей этого достаточно.
Default Device Admin мы будем использовать для Device Administration
А Default network access нам пригодится для регулирования доступа пользователей по VPN.
Вернемся к Access Service. В нем располагаются политики. Политики бывают двух видов:
Identity - Политики Identity определяют из каких источников пользователь будет идентифицирован. Источники могут быть разными: это может быть внутренняя БД ACS или Internal Identity Store, внешняя база Active Directory и т.д. Политики Identity идентифицируют пользователя или определяют кто он и откуда.
Тут может быть либо Single result selection либо Rule based result selection, для наших задач оставим Single
В Default Device Admin - Identity мы оставим в качестве источника Internal Users
Identity1_ciscomaster.ru.jpg
Authorization - эти политики производят Авторизацию пользователя или определяют кому какие права дать.
Здесь мы создадим политику, дающую доступ членам группы Admin. А в дефолной последней политике мы сделаем Result Deny.
Authorizaion1_ciscomaster.ru.jpg
Итак что у нас получилось в итоге:
Service selection rules отдают запросы по Radius на access service Default Network Access, а по TACACS наDefault Device Admin.
В Default Device Admin Identity лезет в локальную БД, а Authorization проверяет пользователя на членство в группе Admin, и при положительном результате возвращает "Permit Access".

Настройка маршрутизатора для Device Administration

Для Device Administration нам нужно сделать так, что при попытке входа в консоль маршрутизатор обращался на ACS по протоколу TACACS.
aaa group server tacacs+ tac_acs
server 10.5.14.249
ip tacacs source-interface Vlan1

! создается группа tac_acs, использующая протокол TACACS для обращения к серверу с IP и с определенным IP адресом источника.
! IP адрес источника должен совпадать с IP адресом нами ранее созданного AAA Client, т.е. нужно выбрать интерфейс на котором висит IP 10.5.11.1
aaa authentication login cons_login group tac_acs local
! Запись cons_login определяет порядок обработки логина, т.е. первым делом идет обращение на группу tac_acs, если же тот окажется недоступным, то будет проверять локальная база пользователей
aaa accounting exec default start-stop group tac_acs
aaa accounting commands 0 default stop-only group tac_acs
aaa accounting commands 1 default stop-only group tac_acs
aaa accounting commands 15 default stop-only group tac_acs

! Данные записи включают учет времени регистрации и лог введенных пользователем команд. Лог отдается в группу tac_acs.
tacacs-server host 10.5.14.249 key local_pass
tacacs-server directed-request

! создается серевер TACACS, тут важен его IP, и особенно Key, он должен совпадать с тем что мы ввели в свойствах AAA клиента в разделе shared secret.
line vty 0 4
login authentication cons_login
line vty 5 15
login authentication cons_login

! Терминальные линии настраиваются на запрос на запись cons_login
Собственно все готово.
Можно вводить команды. Единственное, для проверки не закрывайте окно в котором ввели команды. Откройте другое окно терминала и проверьте пустит или нет. Если что-то пойдет не так, в первом окне всегда можно будет отменить введенные команды.
Либо используйте test aaa group (см. раздел Проверка)
Все команды одним блоком:
aaa group server tacacs+ tac_acs
server 10.5.14.249
ip tacacs source-interface Vlan1
aaa authentication login cons_login group tac_acs local
aaa accounting exec default start-stop group tac_acs
aaa accounting commands 0 default stop-only group tac_acs
aaa accounting commands 1 default stop-only group tac_acs
aaa accounting commands 15 default stop-only group tac_acs
tacacs-server host 10.5.14.249 key bau_local
tacacs-server directed-request
line vty 0 4
login authentication cons_login
line vty 5 15
login authentication cons_login

Проверка

Сперва всегда проверяйте доступность сервера от маршрутизатора. Сервер ACS должен пинговаться.
Очень удобное средство - это тестирование AAA, например:
test aaa group tac_acs admin cisco123 legacy
Посмотреть ошибки наиболее информативно и интуитивно понятно в самом ACS:
Monitoring and Reports -> Launch Monitoring & Report Viewer
Reports -> Catalog -> AAA protocol -> TACACS Authentication -> Today
Также можно включить Debug и на маршрутизаторе:
debug aaa authorization
debug tacacs
debug tacacs packet
В процессе проверки пригодится команда для отображения залогиненных юзеров:
show users

Настройка авторизации через сервер ACS

Аутентификация - это определение кем является пользователь.
Авторизация - это процесс отдачи определенных прав этому пользователю
Авторизация может понадобиться например в случае когда необходимо дать возможность определенным лицам выполнять некоторые команды, но не являясь полноценным администратором.
Тема делегирования доступа обсуждается в статье Делегирование прав доступа к консоли или Role-Based Access Control (RBAC)
Разрешим определенному пользователю менять IP адрес маршрутизатора:
(1) На маршрутизаторе создаем Custom Privilege level
privilege interface level 8 ip address
privilege interface level 8 ip
privilege configure level 8 interface
privilege exec level 8 configure terminal
privilege exec level 8 configure
(2) Для включения авторизации добавляем следующие строки:
aaa authorization exec auth_cons_login group tac_acs local
line vty 0 4
access-class 23 in
exec-timeout 480 0
privilege level 15
password 7 1544525D52737A
authorization exec auth_cons_login
login authentication cons_login
transport input telnet ssh
(3) На ACS добавляем группу Monitor
ACS_authorization_monitor_group_ciscomaster.ru.jpg
(4) Добавляем пользователя viewer и включаем его в группу Monitor
ACS_authorization_user_create_ciscomaster.ru.jpg
(5) Access policies > Access Services > Default device Admin > Athorization
Для создания нового правила нажимаем Create
В разделе Identity Group выставляем группу Monitor
На той же странице в разделе Results по умолчанию стоит значение Permit access, нажмем кнопку Select .
Откроется окно доступных значений. По умолчанию там есть только Permit Access и Deny Access. Нажмем Create:
ACS_authorization_privilege_create1_ciscomaster.ru.jpg
Во вкладке Common tasks выставляем уровень 8
ACS_authorization_privilege_create2_ciscomaster.ru.jpg
Таким образом общий вид правил получится следующий:
ACS_authorization_privilege_create3_ciscomaster.ru.jpg
Теперь, если мы попытаемся зайти под пользователем Viewer, получится следующее:
ACS_authorization_privilege_create4_ciscomaster.ru.jpg

Включение поддержки AD

Мы настроили административный доступ с использованием пользователей во внутренней базе ACS.
Можно конечно ввести всех пользователей в сам ACS, но гораздо практичней использовать уже существующие их учетки в базе AD.
Для этого нам необходимо произвести подключение к AD.
По сравнению с ACS4.x, в пятой версии подключение к AD существенно упростилось.
Нужно зайти на страницу:
Users and Identity Stores > External Identity Stores > Active Directory 
Вбить имя домена FQDN, а также имя и пароль Админа этого домена. Все остальное система сделает сама.
Тут же можно протестировать подключение. Для того чтобы домен нормально нашелся, нужно выставить AD-шный DNS сервер в настройке ip name-server х.х.х.х
Если Connectivity Status покажет CONNECTED, то можно переходить к следующему этапу.
acs_and_ad_ciscomaster.ru.jpg
В домене также создадим группу с именем SSL_VPN_Users, далее идем:
Users and Identity Stores > External Identity Stores > Active Directory 
И добавляем эту группу. Теперь эта группа будет доступна для работы политик.

Identity Store Sequences

Для того чтобы при аутентификации производилось поочередное обращение к нескольким базам, необходимо настроить Identity Store Sequences:
Users and Identity Stores > Identity Store Sequences 
В нашем случае будет полезным проверять локальную БД Internal Users, а затем AD, которую мы только что подключили.
Identity_Store_Sequences_ciscomaster.ru.jpg
Внизу не забудьте выбрать Continue to next identity store in the sequence
Identity_Store_Sequences2_ciscomaster.ru.jpg

Настройка политик для доступа к VPN

Access Policies > Access Services > Default Network Access > Identity 
Выбираем созданную Identity Store Sequence Local-AD
Identity2_ciscomaster.ru.jpg
Теперь идем в авторизацию:
Access Policies > Access Services > Default Network Access > Authorization
Здесь можно создать три правила:
Authorizaion2_ciscomaster.ru.jpg
Первые два - разрешают доступ пользователям из локальных групп, третье из доменной.

Настройка на маршрутизаторе Web VPN

Настройки AAA
aaa authentication login vpn_ls group rad_acs local
aaa group server radius rad_acs
server 10.5.14.249
ip radius source-interface GigabitEthernet0/1
radius-server host 10.5.14.249 key 0 bau_local
radius-server directed-request
Настройки Web VPN
Подробнее об WebVPN можно прочитать в статье: Web VPN: подключение отовсюду
webvpn gateway gateway_1
ip address 87.237.40.108 port 443
ssl trustpoint WEBVPN
inservice
!
webvpn install svc flash:/webvpn/anyconnect-dart-win-2.5.2019-k9.pkg sequence 1
!
webvpn install svc flash:/webvpn/anyconnect-linux-2.5.3055-k9.pkg sequence 2
!
webvpn context SSL
secondary-color white
title-color #669999
text-color black
ssl authenticate verify all
!
acl "ssl_vpn_acl"
!
!
policy group policy_1
functions svc-enabled
svc address-pool "webvpn_pool" netmask 255.255.252.0
svc keep-client-installed
svc split include 10.5.0.0 255.255.0.0
virtual-template 1
default-group-policy policy_1
aaa authentication list vpn_ls
gateway gateway_1
inservice

Настройка архивирования конфигурации Backup

Архивирование возможно с использованием разных протоколов. Мы рассмотрим настройку архивирования по FTP.
Предположим что FTP у нас поднято на Windows, тогда по умолчанию корневая директория будетC:\Inetpub\ftproot
Создадим там папку: C:\Inetpub\ftproot\ACSBACKUP
Создадим Software Repository
System Administration > Software Repositories > Create
ACS_repository_creation_ciscomaster.ru.jpg
Создадим Scheduled Backups
System Administration > Scheduled Backups > Create
ACS_backup_creation_ciscomaster.ru.jpg
Собственно все, на сервер FTP теперь будут падать файлы бэкапа.
Источник: ciscomaster.ru/node/98

Комментариев нет:

Отправить комментарий