Powered By Blogger

среда, 30 декабря 2015 г.

Cisco Ironport - External Authentication with Cisco ACS

1. Настройки на Cisco ACS 5.8

- Добавить WSA как AAA клиента, протокол RADIUS

- Создать Authorization Profile, в нем добавить RADIUS Attribute - Class 25 с именем пользователя.


Можно создать два профиля - один для администраторов, второй с правами Read-Only.
Каждого пользователя необходимо добавить в этом профиле.

-Создать правило в Access Policy


На этом настройки на ACS закончены. В данном случае Identity в ACS мапятся на конкретные группы в AD. 

2. Настройки в Cisco WSA, Для ESA тоже самое.

Настройки показаны на скриншоте:
Sustem Administration - Users - External Authentication.


На этом настройки закончены.

среда, 23 декабря 2015 г.

CheckPoint SmartDashboard R77.10 и TACACS+

1. Настройки для ACS 5.8 показаны здесь. Ничего больше делать не надо

2. Настройки в SmartDashboard (версия R77.10 Gost)

- Добавить сервер TACACS
Servers and OPSEC - Servers - New


- Добавить своего доменную учетную запись в администраторы
Users and Administrators - Administrators - New Administrator





вторник, 22 декабря 2015 г.

Дружим CheckPoint Gaia R77.10 и Cisco ACS 5.8 по TACACS+

1. Настройки на Cisco ACS 5.8

- Добавить CheckPoint в Network Devices and AAA Clients, используем протокол TACACS+


- Подключить ACS к домену. В моем  примере на CheckPoint могут зайти только пользователи из определенной группы.


- Создать Shell Profile для CheckPoint, т.к. мы используем протокол TACACS+

- Далее необходимо настроить Access Policy. Для TACACS добавляем Group Mapping

- Настроить Identity. В данном случае условие такое, что при подключении к устройствам типа Firewall, то смотреть учетные данные в AD.

- Настроить Group Mapping. Мы мапим админскую группу из AD к Identity Group в ACS

- Настроить правило авторизации

На этом настройки ACS закончены.

2. Настройки CheckPoint R77.10 Gaia.
Для информации: На CheckPoint'ах установлен гостовый патч версии 5.0. (требуется для построения VPN, не для TACACS+)

- Необходимо добавить TACACS сервер


- Настроить роли. Создаем две роли TACP-0 и TACP-15. По умолчанию все пользователи проваливаются в роль TACP-0. Затем мы повышаем свой уровень до TACP-15.



Проверяем:
- Вошли под своей доменной учетной записью и нажимаем TACACS+ enable


- Вводим тот же самый пароль и попадаем на уровень 15.


Примечание:
- В данном сценарии каждый пользователь из группы может попасть на уровень 15 с полным доступом. Для того, чтобы дать права read-only для какой-то группы или юзера необходимо на ACS для этой группы или юзера создать свой Shell Porfile с уровнем 1 и создаем свои правила в Access Policy.
Для того, чтобы дать пользователю лимитированные права, то создаем свой Shell Profile на ACS с уровнем например 7 и так же создаем свои правила в Access Policy. На CheckPoint создаем роль TACP-7 и там указываем какие права у него будут.

Из проблем заметил, что пароль со * не работает при повышении уровня через TACACS enable в GUI. В CLI проблем нет.

четверг, 13 августа 2015 г.

Static VTI

Virtual Tunnel Interface - это новая реализация Site-to-Site IPsec VPN. В отличает от крипто карт (crypto map), здесь мы можем использовать протоколы динамической маршрутизации.

После GRE over IPsec надо упомянуть и о Static VTI.
Конфигурация меняется всего лишь в одну строчку от предыдущего конфига (Путь к DMVPN - часть 2 (GRE + IPsec)), но это позволяет убрать заголовок GRE и уменьшить пакет на 24 байта.

R1(config)#inteface tunnel 1
R1(config-if)# tunnel mode ipsec ipv4

R2(config)#inteface tunnel 1
R2(config-if)# tunnel mode ipsec ipv4

Примечание:
VPN туннель построенный на Static VTI поддерживает только IP-unicast и IP-multicast трафик. GRE over IPsec поддерживает гораздо больше протоколов.

GRE over IPsec vs Static VTI

Путь к DMVPN - часть 2 (GRE + IPsec)

Требуется защитить p2p GRE туннель. Настройка IPsec достаточно простая, необходимо:

1. Настроить ISAKMP политику. Здесь указываются параметры для защиты Management соединения (ISAKMP фаза 1)

R1(config)#crypto isakmp policy 5
R1(config-isakmp)#encr aes
R1(config-isakmp)#hash sha256
R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#group 14

2. В данном примере IPsec будет на PSK (Pre-Shared Key), так что настройка PSK)

R1(config)#crypto isakmp key super_secret_psk address 7.7.7.2

3. Настройка Transform Set. Здесь указываются криптографические параметры для защиты уже Data соединения, т.е. IPsec туннеля, который будет защищать пользовательские данные.

R1(config)#crypto ipsec transform-set TRANS esp-aes esp-sha-hmac
R1(cfg-crypto-trans)#mode transport

Отступление:
IPsec реализован на симметричных алгоритмах шифрования, основная проблема данных алгоритмов, это как безопасно пирам обменяться ключами. Ключ должен быть с обеих сторон одинаковый. Реализация в IPsec:
Процесс начинается с первой фазы ISAKMP, пиры обмениваются криптографическими параметрами, аутентифицируются и на выходе получается Management Туннель. Этот туннель нужен, чтобы пиры безопасно обменялись криптографической информацией для построения уже Data туннеля. Этот процесс называется второй фазой ISAKMP.
Management туннель: show crypto isakmp sa
Data туннель: show crypto ipsec sa

4. Настроить IPsec профиль

R1(config)#cryptо ipsec profile IPSEC_PROF
R1(ipsec-profile)#set transform-set TRANS

5. Применить IPsec профиль к VTI

R1(config)#interface tunnel 1
R1(config-if)#tunnel protection ipsec profile IPSEC_PROF
R1(config-if)#ip mtu 1400
R1(config-if)#ip tcp adjust-mss 1360 

Пример: продолжаем конфиг с DMVPN - часть 1 (Обзор GRE)
Конфиг для двух устройств
!
R1(config)#crypto isakmp policy 5
R1(config-isakmp)#encr aes
R1(config-isakmp)#hash sha256
R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#group 14
!
R1(config)#crypto isakmp key super_secret_psk address 7.7.7.2
!
R1(config)#crypto ipsec transform-set TRANS esp-aes esp-sha-hmac
R1(cfg-crypto-trans)#mode transport
!
R1(config)#cryptо ipsec profile IPSEC_PROF
R1(ipsec-profile)#set transform-set TRANS
!
R1(config)#interface tunnel 1
R1(config-if)#tunnel protection ipsec profile IPSEC_PROF
R1(config-if)#ip mtu 1400
R1(config-if)#ip tcp adjust-mss 1360 

R2(config)#crypto isakmp policy 5
R2(config-isakmp)#encr aes
R2(config-isakmp)#hash sha256
R2(config-isakmp)#authentication pre-share
R2(config-isakmp)#group 14
!
R2(config)#crypto isakmp key super_secret_psk address 7.7.7.1
!
R2(config)#crypto ipsec transform-set TRANS esp-aes esp-sha-hmac
R2(cfg-crypto-trans)#mode transport
!
R2(config)#crypto ipsec profile IPSEC_PROF
R2(ipsec-profile)#set transform-set TRANS
!
R2(config)#interface tunnel 1
R2(config-if)#tunnel protection ipsec profile IPSEC PROF
R2(config-if)#ip mtu 1400
R2(config-if)#ip tcp adjust-mss 1360

Тот же самый пакет (TFTP), но уже зашифрованный IPsec




Примечание: 

1. На туннельных интерфейсах установлено значение MTU 1400, TCP MSS 1360. Мы уменьшаем размер исходного пакета, чтобы добавление GRE + IPsec заголовков не привело к фрагментированию.

2. Механизм Keepalive не работает совместно с IPsec.

среда, 12 августа 2015 г.

Путь к DMVPN - часть 1 (Обзор GRE)

Протокол GRE (Generic Routing Encapsulation) описывается в нескольких RFC: 1701, 1702, 2784.
Основная цель - это передавать различные протоколы через различную среду. Одно из общих применений - это передавать IP multicast через среду IP.

Пример:
У системы есть пакет и ей надо его отправить удаленному получателю. Назовем этот пакет Payload packet (или Passenger protocol). Данный пакет мы инкапсулируем в GRE (Carrier protocol - перевозчик), затем то что получилось мы снова инкапсулируем в еще один IP (Transport protocol) и затем отправляем удаленному получателю.
GRE - протокол третьего уровня. GRE пакеты инкапсулированные в IP используют номер IP 47.






В Cisco IOS GRE реализованы как VTI (Virtual Tunnel Interface). Туннельный интерфейс регулирует процесс инкапсуляции. Когда мы указываем в VTI адрес источника (tunnel source) и адрес получателя (tunnel destination), именно она буду в новом IP заголовке (Transport protocol). Это должны быть реальные/маршрутизируемые адреса. Когда удаленный маршрутизатор получает пакет, он ищет соответствеющий VTI, снимает (декапсулирует) внешний IP заголовок и отправляет GRE пакет на него.

GRE туннели могут быть так же двух типов:
- Point-to-Point
- Point-to-Multipoint

Примеры:
1) Point-to-Point GRE
R1(config)#interface tunnel 1
R1(config-if)#ip address 10.0.0.1 255.255.255.0
R1(config-if)#tunnel source 7.7.7.1
R1(config-if)#tunnel destination 7.7.7.2

R2(config)#interface tunnel 1
R2(config-if)#ip address 10.0.0.2 255.255.255.0
R2(confiq-if)#tunnel source 7.7.7.2
R2(config-if)#tunnel destination 7.7.7.1

Примечание: по умолчанию в VTI инкапсуляция стоит GRE.

2) Point-to-Multipoint (Hub and Spokes) GRE
Hub(config)#interface tunnel 1
Hub(config-if)#tunnel mode gre multipoint
Hub(config-if)#tunnel source 7.7.7.1
Hub(config-if)#ip address 10.0.0.1 255.255.255.0
!
Spoke(config)#interface tunnel 1
Spoke(config-if)#tunnel source 7.7.7.2
Spoke(config-if)#tunnel destination 7.7.7.1
Spoke(config-if)#ip address 10.0.0.2 255.255.255.0

Примечание: Без протокола NHRP (Next Hop Resolution Protocol) второй пример работать не будет. Hub не знает как маршрутизировать GRE пакеты, т.к. он не знает реальных IP адресов удаленных получателей (Spokes).

GRE туннели по умолчанию stateless, т.е. локальный хост не проверяет состояние туннеля удаленного хоста. А это значит, что если по каким-то причинам удаленный туннель не поднялся (состояние Down), локальный хост будет отправлять трафик в этот самый туннель.
Чтобы этого избежать у Cisco реализован механизм Keepalive. Раз в отрезок времени отправляются Keepalive пакеты до удаленного хоста. Если ответ получен, то у туннеля состояние Up, если нет, то Down.
Когда у туннеля состояние Down все маршруты имеющие Next Hop этот туннельный интерфейс пропадают из таблицы маршрутизации.

Router(config-if)#keepalive 10 3



вторник, 9 сентября 2014 г.

Cisco ISE - wired Local Web Authentication (LWA)

1. Настройка Cisco ISE
В данном примере используется версия 1.1.3
LWA используется когда у пользователя нет 802.1x клиента (supplicant).

Создать группу для коммутаторов: Wired
Administration - Network Resources - Network Device Groups - Groups - All Device Types

Добавить коммутатор в хранилище и прикрепить к группе Wired
Administration - Network Resources - Network Devices
Из обязательных полей для заполнения: Name, IP Address, Device Type, Authentication Settings (Shared Secret)

 Создать Identity Group, в которую будут входить пользователи: web-auth-lwa
Administration - Identity Management - Groups - User Identity Groups

Добавить пользователя guest и прикрепить его к группе web-auth-lwa
Administration - Identity Management - Identities - Users

Добавить Downloadable ACL: guest-lwa-DACL
Policy - Policy Elements - Results - Authorization - Downloadable ACLs

Добавить Authorization Profile: guest-lwa-profile
Policy - Policy Elements - Results - Authorization - Authorization Profiles
В нем указать DACL Name, который мы создали выше, VLAN и ставим метку у Web Authentication (Local Web Auth)

Создать Authorization Policy для пользователей, входящих в нашу группу
Policy - Authorization

Создать Identity Source Sequence: LOCAL_AD
Учетная запись для пользователя может быть в локальной базе или например в AD. Чтобы ISE искал учетку и там и там мы и создаем Identity Source Sequence.
Administration - Identity Management - Identity Source Sequence

В настройках Policy - Authentication в Default Rule указать созданную Identity Source Sequence в качестве базы для поиска пользователей


2. Настройка коммутатора
К настройкам, которые были указаны в cisco-ise-wired-8021x-with-local добавить следующие настройки:

Настроить AAA
aaa authentication login NOLOGIN none
line con 0
 login authentication NOLOGIN
!
aaa authentication login default group radius
aaa authorization auth-proxy default group radius
aaa accounting auth-proxy default start-stop group radius

Включить Web аутентификацию на коммутаторе
ip admission name WEBAUTH proxy http

Настроить ACL для трафика, который не будет перехватываться коммутатором
ip access-list extended WEBAUTH
 permit udp any eq bootpc any eq bootps
 permit udp any any eq domain

Настроить профиль для клиентов, у которых нет 802.1x сапликанта.
fallback profile WEBAUTH_PROFILE
 ip access-group WEBAUTH in
 ip admission WEBAUTH

Включить HTTP сервер
Коммутатору необходим HTTP севрер, чтобы аутентифицировать пользователя на своей странице. HTTPS сервер поднимается по необходимости.
ip http server
ip http secure-server

Настроить интерфейс
interface GigabitEthernet1/0/5
 authentication event fail action next-method
 authentication order dot1x mab webauth
 authentication priority dot1x mab webauth
 authentication fallback WEBAUTH_PROFILE
 mab


3. Проверка
На клиенте открыть браузер и зайти на любую страницу. Будет открыта страница для аутентификации





Cisco ISE - wired 802.1x with Local Authentication

1. Настройка Cisco ISE
В данном примере используется версия 1.1.3

Создать группу для коммутаторов: Wired
Administration - Network Resources - Network Device Groups - Groups - All Device Types

Добавить коммутатор в хранилище и прикрепить к группе Wired
Administration - Network Resources - Network Devices
Из обязательных полей для заполнения: Name, IP Address, Device Type, Authentication Settings (Shared Secret)

 Создать Identity Group, в которую будут входить пользователи: test-user-group
Administration - Identity Management - Groups - User Identity Groups

Добавить пользователя test-user и прикрепить его к группе test-user-group
Administration - Identity Management - Identities - Users

Добавить Downloadable ACL: test-user-DACL
Policy - Policy Elements - Results - Authorization - Downloadable ACLs

Добавить Authorization Profile: test-user-profile
Policy - Policy Elements - Results - Authorization - Authorization Profiles
В нем указать DACL Name, который мы создали выше  и VLAN

Создаем Authorization Policy для пользователей, входящих в нашу группу
Policy - Authorization


2. Настройка коммутатора - в режиме глобальной конфигурации (config)#

Включить AAA
aaa new-model
aaa authentication dot1x default group radius
aaa authorization network default group radius
aaa accounting dot1x default start-stop group radius

Включить CoA (Change of Authorization)
Даннаая  функция дает возможность radius серверу быть инициатором обмена сообщениями и обновлять политику на NAD, основываясь на определнных критериях, условиях
aaa server radius dynamic-author
   client 192.168.1.100 server-key cisco

Настроить, чтобы NAD отправлял vendor-specific attributes (VSA) на Cisco ISE во время аутентификации и аккаунтинга.
radius-server vsa send authentication
radius-server vsa send accounting

Настройка VSA
radius-server attribute 6 on-for-login-auth
radius-server attribute 8 include-in-access-req
radius-server attribute 25 access-request include

ip radius source-interface vlanX

Включить работу dACL
ip device tracking
Могуть быть проблемы с АРМ под Windows 7, для этого необходимо добавить еще одну команду:
ip device tracking probe use-svi

Enforcement Policy Module (EPM) необходима для корректной работы dACL и Web аутентификации
epm logging

Включить 802.1x на коммутаторе
dot1x system-auth-control

Добавить радиус сервер (Cisco ISE - PSN) 
radius-server host 172.16.3.100 auth-port 1812 acct-port 1813 key cisco


3. Настройка интерфейса на коммутаторе, к которому подключен АРМ (config-if)#
interface GigabitEthernet1/0/5
 authentication order dot1x mab
 authentication priority dot1x mab
 authentication periodic
 dot1x pae authenticator (коммутатор в роли Authenticator, не Supplicant)
 dot1x timeout tx-period 10
 authentication port-control auto

4. Настройка встроенного supplicant на АРМ















































5. Проверка
В Cisco ISE: Operations - Authentications













На коммутаторе

























четверг, 10 июля 2014 г.

Проблема при построении туннеля между CSP VPN Gate 7000 (v. 3.0)

Схема Site-to-Site
Во время построения туннеля между площадками на одном из криптошлюзов в логах (/var/log/cspvpngate.log)  была следующая ошибка:

vpnsvc: Inbound IKE packet dropped, Reason: Access denied, Partner: 192.X.X.X:500

Туннель соответственно не поднимался.
Исходя из лога я  повесил ACL на внешний интерфейс и всё заработало.
При обращении в тех. поддержку S-Terra CSP сказали следующее:
Если устройства не могут договориться при построении туннеля раз 30-40, то криптошлюз добавляет пира в black list, и надо либо ждать около 20 минут, либо перегрузить демон.