2. Межсетевой экран Cisco?
• Adaptive Security Appliance (ASA) – специализированный программно-
аппаратный комплекс, проприетарная ОС, медный Ethernet и
оптические порты на борту (1G/10G):
– Не использует IOS, но CLI внешне похож;
– Может полностью управляться через графический интерфейс (ASDM, CSM).
• ASA SM – модуль для Catalyst 6500, нет физических интерфейсов,
использует код ASA;
• Virtual ASA Firewall (ASAv) – виртуализированная ASA, использует код
ASA, не зависит от Nexus1000v;
• VSG – Virtual Security Gateway – виртуальный МСЭ использующий
концепцию зон, тесно интегрирован в Nexus1000v;
• IOS (XE) – устройства, реализующие МСЭ как часть функционала
маршртуизатора (IOS-FW).
2
4. CLINET (clinet.com)
Cisco LIVE Information Networking Company
Мы будем использовать фиктивную компанию CLINET (clinet.com) в качестве
базы для понимания сценариев развёртывания межсетевых экранов Cisco
ASA.
Сценарии основаны на реальных вопросах, которые возникали в результате
рассмотрения живых проектов у наших клиентов.
§ Все рассмотренные далее функции либо прошли проверку, либо проходят её в
данный момент в наших лабораториях.
§ Cisco Validated Design (CVD) можно найти по следующим ссылкам:
DesignZone: http://www.cisco.com/go/designzone
VMDC (Data Center CVD): http://www.cisco.com/go/vmdc
New Data Center Security CVD: http://www.cisco.com/c/dam/en/us/solutions/
collateral/enterprise/design-zone-security/sdc-dg.pdf
4
5. Архитектура решения для защиты границы сети
clinet.com
Edge
Aggregation
Edge Aggregation
VDC
ISP-A ISP-B
DMZ Network(2)
(Public Web/DB)
G0/4
G0/5
VPC VPC
G0/0
G0/1
T0/6 T0/7
G0/2
G0/3
Edge Routers
running HSRP –
FHRP address is
128.107.1.1
FW deployed in L3 ‘routed’ mode,
with NAT and ACLs – Routing
protocol will be used on inside -
Inside Interface
using
EtherChannel
Active/Standby HA
will be used at the
edge
Две DMZ зоны:
1- Web Public (www, DNS, smtp)
2- Partner Intranet (wwwin, Oracle
link)
VLAN 150
Public Web DMZ – 10.200.1.0/24
VLAN 151
Partner Intranet– 10.100.100.0/24
Web/App/dB (Oracle) 172.16.25.250
Outside and DMZ
using Redundant
Interfaces
VLAN 2
Diversion
network
for
Scanning
VLAN
120
Inside
Network
‘Trusted
Zone”
Разные внутренние зоны:
VL2 – Security Diversion network for
scanning questionable traffic
VL120 – Primary Internal Zone - services the
primary internal network
VL1299 – Isolated Internal DMZ for BYOD /
contractor / unknown – Internet access only
VLAN
1299 DMZ
Zone for
contractor
/ BYOD
unknown
5
clinet.com ASN 65345
IP Range 128.107.1.0/24
6. Список для проверки при внедрении ASA
(граница сети)
§ Настраиваем основную ASA:
– Режим работы: маршрутизируемый, прозрачный
или смешанный;
– Выбрать логику безопасности для интерфейсов;
– Настроить интерфейсы:
§ EtherChannel / LACP / Redundant;
§ Nameif / Security-level / IP addressing;
§ VLAN tagging / sub-interfaces / trunk.
– Маршрутизация:
§ Default route / static / routing protocols.
– Сетевая трансляция адресов NAT:
§ Static and Dynamic Translations;
§ Auto NAT & Twice NAT.
– Списки контроля доступа – ACL:
§ Interface ACL;
§ Global ACL;
§ Оптимизация ACL.
§ Управление Cisco ASA
Edge Aggregation
Edge Aggregation
VDC
ISP-A ISP-B
DMZ Network(2)
(Public Web/DB)
VPC VPC
G0/0
G0/1
G0/2 G0/3
G0/4
G0/5
G1/0
G1/1
VLAN 150
VLAN 151
VLAN 2 VLAN 120
VLAN 1299
6
8. Что такое EtherChannel? Зачем он на МСЭ?
EtherChannel LAG (IEEE standard 802.3ad) позволяет объединить до 16
физических Ethernet канала в один логический канал. 8 из них могут
быть активны и передавать данные*
§ Порты должны быть одинаковы: duplex, speed, тип, и т.д.
Выгоды от EtherChannel это масштабируемость, балансировка нагрузки
и высокая доступность:
§ Балансировка на основе хэш-алгоритма – в Cisco по умолчанию это src-dst
IP;
§ Мы рекомендуем использовать или умолчание, или src-dst ip-l4-port.
EtherChannel использует LACP (Link Aggregation Control Protocol),
который позволяет динамически объединять порты и автоматически
восстанавливаться после сбоя
§ Static LAG может быть использован, но нужно учитывать возможные
«чёрные дыры» на пути трафика.
8
LACP Load Balance
src-dst-IP (hash)
*Новые версии кода ASA позволяют обойти это ограничение с помощью
cLACP и кластеризации
9. Что такое vPC EtherChannel? Чем он полезен?
vPC (как и VSS) также известен как Multi-Chassis
EtherChannel
Virtual Port Channels (vPC) широко используются,
особенно в ЦОД, и позволяют множествам устройств
использовать множество интерфейсов:
§ Все каналы активны – нет заблокированных STP портов.
vPC Peer используется на Nexus 5K/6K/7K для создания
домена vPC и совместного использования интерфейсов:
§ По Peer Link синхронизируется состояние между vPC
коммутаторами.
vPC позволяет максимально утилизировать портовую
ёмкость, при этом, с точки зрения spanning-tree это один
логический интерфейс:
§ Spanning Tree не выключен, но при этом не оказывает
влияния на сеть.
Описание и лучшие практики по настройке vPC:
http://www.cisco.com/c/dam/en/us/td/docs/switches/datacenter/sw/
design/vpc_design/vpc_best_practices_design_guide.pdf
9
LACP Load Balance
src-dst-IP (hash)
VPC PEER LINK
10G
10G
20G
10. EtherChannel на ASA – особенности реализации
Поддерживаются 802.3ad и LACP/cLACP стандарты:
§ Поддерживаются vPC/VSS – валидированный дизайн;
§ Нет проблем в нормализации трафика или возникновения
ассиметричного трафика.
До 8 активных и 8 резервных каналов*
§ 100Mb, 1Gb, 10Gb все поддерживаются – должны совпадать.
Поддержка во всех режимах (transparent, routed,
multi-context);
Настраиваемый режим хэширования (умолчание src/
dest IP):
§ ДОЛЖНО совпадать для всех участвующих устройств
Функции Redundant interface и LAG (EtherChannel) на
ASA нельзя настроить одновременно;
Не поддерживается на 4GE SSM (5540/50) и на 5505.
*16 активных и 16 резервных каналов для cLACP
10
11. Список для проверки при внедрении ASA
(граница сети)
Edge
Aggregation
Edge Aggregation
VDC
ISP-A ISP-B
DMZ Network(2)
(Public Web/DB)
G0/4
G0/5
VPC VPC
G0/0
G0/1
G0/2 G0/3
G1/0
G1/1
VLAN 150
VLAN 151
VLAN 2 VLAN 120
VLAN 1299
11
§ Настраиваем основную ASA:
– Режим работы: маршрутизируемый, прозрачный
или смешанный;
– Выбрать логику безопасности для интерфейсов;
– Настроить интерфейсы:
§ EtherChannel / LACP / Redundant;
§ Nameif / Security-level / IP addressing;
§ VLAN tagging / sub-interfaces / trunk.
– Маршрутизация:
§ Default route / static / routing protocols.
– Сетевая трансляция адресов NAT:
§ Static and Dynamic Translations;
§ Auto NAT & Twice NAT.
– Списки контроля доступа – ACL:
§ Interface ACL;
§ Global ACL;
§ Оптимизация ACL.
§ Управление Cisco ASA
13. Процесс обработки пакетов в МСЭ Cisco ASA
8 9 Yes 10 Yes 11
13
Recv
Pkt
1
Ingress
Interface
Existing
Conn
ACL
Permit
Match
xlate
Inspections/
Sec Checks
2 3 4 5 6
No No No
No
Yes
Drop Drop Drop
NAT IP
Header
Egress
Interface
7
L3
Route
L2
Addr
NGFW/NGIPS
Services
Xmit
Pkt
Yes Yes
No
Drop
No
Drop
Yes
14. Маршрутизация на МСЭ Cisco ASA
ASA проверяет маршрут как часть нормальной обработки пакетов:
§ ASA оптимизирована для ‘flow-based inspection’ и не
оптимизирована как ‘packet forwarding’ маршрутизатор:
— Следовательно, ASA не является заменой маршрутизатору
для всех условий их применения;
— ISR G2, ISR 44xx, ASR1K возможно подойдут лучше в
некоторых сценариях.
§ Тем не менее ASA вполне может являться источником маршрутной
информации во многих случаях.
ASA поддерживает статическую и динамическую маршрутизацию:
§ BGP (начиная с версии 9.2.1);
§ OSPF v2 & OSPF v3 (IPv6);
§ EIGRP;
§ RIP v1/v2;
§ Multicast;
Динамическая маршрутизация поддерживается в Multi-Context.
Пример документации по настройке маршрутизации:
http://www.cisco.com/c/en/us/td/docs/security/asa/asa91/configuration/firewall/
asa_91_firewall_config.pdf 14
Inside Network
DMZ Network
Outside Network
G0/0
G0/2
G0/1
0
100
50
FHRP 128.107.1.1
Inside 10.120.1.0/24
Static Default
Static or IGP
15. Поддержка BGP на Cisco ASA
Поддерживается начиная с версии 9.2.1:
• Адресное пространство IPv4;
• Single Mode и Multi-Mode;
• Failover без поддержки NSR;
• Standard communities;
• Все path attributes;
• Поддержка маршрутизации в Null0 и Remotely-Triggered Black Hole (RTBH):
§ RTBH – позволяет успешно бороться с DDoS.
• Поддерживается Recursive Route Lookup;
• Поддерживается редистрибьюция с другими протоколами:
§ connected, static, RIP, OSPF, EIGRP.
15
16. Пример работы BGP на межсетевом экране ASA
ciscoasa# show route failover!
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP!
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area!
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2!
E1 - OSPF external type 1, E2 - OSPF external type 2!
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2!
ia - IS-IS inter area, * - candidate default, U - per-user static route!
o - ODR, P - periodic downloaded static route, + - replicated route!
!
Gateway of last resort is not set!
!
Routing table seq num 2!
Reconvergence timer expired!
BGP Reconvergence timer expired!
!
O E2 10.1.1.0 255.255.255.0 [110/20] via 16.16.16.2, 15:08:30, out, seq 2!
O E2 10.2.1.0 255.255.255.0 [110/20] via 16.16.16.2, 15:08:30, out, seq 2!
O E2 11.11.11.0 255.255.255.0!
[110/20] via 16.16.16.2, 15:08:30, out, seq 2!
D EX 30.1.1.0 255.255.255.0 [170/281856] via 15.15.15.2, 00:10:46, in, seq 2!
B 33.32.33.0 255.255.255.0 [200/0] via 10.2.1.25, 00:00:46, seq 2!
B 33.33.33.0 255.255.255.0 [200/0] via 10.2.1.25, 00:00:46, seq 2!
B 33.34.33.0 255.255.255.0 [200/0] via 10.2.1.25, 00:00:46, seq 2!
B 33.35.33.0 255.255.255.0 [200/0] via 10.2.1.25, 00:00:46, seq 2!
B 33.36.33.0 255.255.255.0 [200/0] via 10.2.1.25, 00:00:46, seq 2!
B 33.37.33.0 255.255.255.0 [200/0] via 10.2.1.25, 00:00:46, seq 2!
B 33.38.33.0 255.255.255.0 [200/0] via 10.2.1.25, 00:00:46, seq 2!
B 33.39.33.0 255.255.255.0 [200/0] via 10.2.1.25, 00:00:46, seq 2!
B 33.41.33.0 255.255.255.0 [200/0] via 10.2.1.25, 00:00:46, seq 2!
D EX 40.1.1.0 255.255.255.0 [170/281856] via 15.15.15.2, 00:10:40, in, seq 2!
O E2 182.50.0.0 255.255.0.0 [110/20] via 16.16.16.2, 15:08:33, out, seq 2!
O E2 182.101.0.0 255.255.0.0 [110/20] via 16.16.16.2, 15:08:33, out, seq 2!
O E2 182.152.0.0 255.255.0.0 [110/20] via 16.16.16.2, 15:08:33, out, seq 2!
C 200.200.200.0 255.255.255.0 is directly connected, fover, seq 2!
L 200.200.200.1 255.255.255.255 is directly connected, fover, seq 2
16
17. Поддержка BGP активно развивается на ASA
ASA 9.2(1) поддерживает BGPv4:
§ Стандартные communities и все path attributes, route redistribution; до 100K префиксов и до
2000 соседей;
§ Confederations, route reflectors, tagging, neighbor source-interface, и BFD не поддерживаются;
§ Поддержка BGPv6 в коде ASA 9.3(2).
BGP RIB реплицируется в отказоустойчивых парах наравне с остальными протоколами
динамической машрутизации:
§ Поддержка кластеризации в коде ASA 9.3(1).
Есть поддержка Single и multiple-context режимов с единой автономной системой:
! System Context
router bgp 65001
bgp fast-external-fallover
! Context A
router bgp 65001
address-family ipv4 unicast
neighbor 192.168.1.101 remote-as 65002
! Context B
router bgp 65001
address-family ipv4 unicast
neighbor 192.168.2.200 remote-as 65003
Глобальные параметры
BGP задаются в
системном контексте Номер AS во всех
пользовательских
контекстах должен
совпадать с системным
Соседи настраиваются
в пользовательских
контекстах
ASA 9.2(1)
ASA 9.3(1)
ASA 9.3(2)
18. Варианты использования BGP на МСЭ Cisco ASA
outside
Транзитный, поддерживающий BGP
межсетевой экран с одним путём
маршрутизации;
Нет поддержки same-prefix маршрутов
через разные логические интерфейсы;
Балансировка по same-prefix до 3 next
hops для одного логического
интерфейса.
ASA 9.2(1)
outside
Используется EtherChannel с vPC/
VSS для отказоустойчивости
интерфейсов на Layer 2;
Отказоустойчивость для Layer 3
достигается использованием
нескольких next hops для одного
логического интерфейса.
outside1 outside2
ASA 9.2(1)
ASA 9.3(2)
Балансировка по same-prefix через
несколько логических интерфейсов
причина возникновения асимметрии
на обратном маршруте;
Проблема гораздо шире, чем просто
балансировка по Layer 3
inside
ASA 9.2(1)
vPC
inside
inside
ASA 9.3(2)
19. Cisco ASA – как работает маршрутизация
сейчас?
Таблица маршрутизации в ASA в настоящий момент времени
основана на использовании логических (поименованных)
сетевых интерфесов:
§ Каждый IP-префикс может быть маршрутизирован в данный
момент времени в один и только один логический интерфейс;
§ Equal Cost Multi Path (ECMP) поддерживает до 3 next hops для
одного логического интерфейса;
§ Асимметричная маршрутизация требует открытых списков
контроля доступа и TCP State Bypass;
§ ASR-группы могут нам помочь для сценария Active/Active
отказоустойчивости, но требуют перенаправления трафика и
перегружают интерфейсы лишним трафиком.
ASA 9.3(1)
и раньше
outside1 outside2
inside
20. Cisco ASA – концепция зон безопасности для
интерфейсов
В ASA 9.3(2) появляется возможность объединения нескольких
логических интерфейсов в концепцию зоны безопасности:
Same-prefix ECMP до 8 next hops через все интерфейсы в зоне:
§ Балансировка по неравновесным маршрутам для варианта с
EIGRP;
§ Обратный трафик сопоставляется с записью о соединении
для любого из интерфейсов в зоне;
§ Незаметное переключение на другой интерфейс в случае
сбоя активного интерфейса в этой же зоне;
§ Позволяет использовать ASA без каких бы то ни было
ограничений для массово масштабируемых ЦОД
использующих L3 spine-and-leaf модель.
ASA 9.3(2)
Out Zone
outside1 outside2
inside 1 inside 2
In Zone
21. Настройка зон безопасности
Зоны поддерживаются только в маршрутизируемом режиме:
ASA 9.3(2)
§ Каждый интерфейс по умолчанию принадлежит к собственной зоне;
§ Уровни безопасности (security level) должны совпадать для всех
интерфейсов в зоне;
§ ASR-группы невозможно сконфигурировать вместе с зонами.
zone outside-zone
interface GigabitEthernet0/0
nameif outside1
zone-member outside-zone
ip address 192.168.1.1 255.255.255.0
interface GigabitEthernet0/1
nameif outside2
zone-member outside-zone
ip address 172.16.171.1 255.255.255.0
22. Настройка зон безопасности
ASA 9.3(2)
Сессия привязывается к первоначальному (primary) интерфейсу на все время её
жизни, текущий исходящий интерфейс может отличаться от первоначального
после переключения из-за сбоя или в результате асимметричной маршрутизации:
asa# show conn detail
TCP outside-zone:outside1(outside2): 10.1.1.1/80 (10.1.1.1/80) inside-zone:
inside1(inside1): 10.2.2.2/34254 (10.2.2.2/34254), flags UO, idle 12s,
uptime 13s, timeout 1h0m, bytes 16
Сессия всегда очищается если её первоначальный интерфейс удаляется из зоны
или переконфигурируется.
23. Эквивалентность интерфейсов в зонах безопасности
Требует абсолютно одинаковой конфигурации ACL и NAT для всех интерфейсов
зоны:
object network INSIDE_HOST
host 192.168.0.100
nat (inside,any) static 10.1.1.10
access-group INBOUND in interface outside1
access-group INBOUND in interface outside2
§ Модель автоматического конфигурирования интерфейсов в зоне безопасности
будет реализована в одном из следующих релизов;
§ Интерфейсы в одной зоне с разным NAT-пространством не поддерживаются в
данной модели конфигурирования.
Нужно или использовать конструкцию any к любому
подходящему интерфейсу, или использовать
отдельные правила NAT для каждого возможного
варианта
Необходимо применить одинаковые ACL ко всем
интерфейсам, входящим в зону, либо использовать
global ACL
ASA 9.3(2)
24. Особенности реализации протоколов
динамической маршрутизации на Cisco ASA
ASA 9.2(1) имеет функциональный паритет в части поддержки OSPF и EIGRP
с IOS 15.1(1)T:
§ Одинаковая функциональность, практически все внутренние механизмы
усовершенствованы;
§ Поддержка фильтрации маршрутов с помощью списков контроля доступа для
OSPF;
§ EIGRP auto-summary по умолчанию выключена;
§ Фильтрация для default-information работает для всех маршрутов (включая
internal);
§ Поддерживается Null0 интерфейс для статических маршрутов.
ASA 9.2(1)
25. Оптимизация таймеров для протоколов
динамической маршрутизации
Поддержка OSPF FastHello позволяет значительно ускорить время сходимости
маршрутов:
§ ASA синхронизирует RIB на резервное устройство (A-S) или на резервные
устройства для режима кластеризации Spanned Etherchannel;
§ При использовании режима кластеризации individual mode ноды кластера могут
быть убраны из маршрутизации гораздо быстрее;
§ Соседние IOS-маршрутизаторы могут задерживать расчёт новых маршрутов пока
не отработает таймер «смерти» устройства;
§ NX-OS пока не поддерживается, так как требует поддержки Bidirectional
Forwarding Detection (BFD)
asa(config)# interface GigabitEthernet0/0
asa(config-if)# ospf dead-interval minimal hello-multiplier 3
asa(config-if)# router ospf 1
asa(config-router)# timers throttle spf 500 1000 5000
Отправлять 3 OSPF FastHello пакета в
секунду; 1 секунда на определение мёртвого
соседа
Задержка вычисления SPF 500 ms, между
вычислениями не менее 1 секунды и не более
5 секунд
ASA 9.2(1)
26. Non Stop Forwarding (NSF)
Routing Information Base (RIB) реплицируется при сбое для схемы A/S и для режима
кластеризации Spanned Etherchannel:
§ Активное устройство (или мастер в случае кластера) устанавливает соседство для
динамических протоколов маршрутизации и передаёт обновления маршрутной информации
на резервные устройства;
§ В случае сбоя, резервное устройство продолжает передачу трафика на основе
информации из RIB;
§ Новое активное устройство устанавливает заново соседство и обновляет
информацию в RIB;
§ Соседние маршрутизаторы в свою очередь могут обновить свою маршрутную
информацию, что может вызывать кратковременные потери пакетов.
ASA 9.3(1)
27. Non Stop Forwarding (NSF)
Поддержка Non Stop Forwarding (NSF) и Graceful Restart (GR) появилась в
ASA 9.3(1):
§ Cisco или IETF-совместимая реализация для OSPFv2, OSPF3; RFC 4724 для
BGPv4;
§ ASA сообщает совместимым соседним маршрутизаторам о факте переключения
на резервное устройство (работает для Active/StandBy режима и для режима
кластеризации Spanned Etherchannel).
1. Происходит переключение с активной ASA
на резервную; запускается процесс
сходимости OSPF, при этом соседа просят
продолжать передачу трафика.
4. ASA продолжает передачу трафика как
обычно, пока активный RP перегружается
или резервный не включится по таймауту.
2. Маршрутизатор заново устанавливает
соседство и запускает процесс сходимости
OSPF, сохраняя устаревшие маршруты и
передачу трафика. Как только соседство
устанавливается и обеспечена сходимость,
маршруты обновляются.
3. Если активный Route Processor на
маршрутизаторе переключается
(перегружается), маршрутизатор
сигнализирует ASA продолжать передачу
трафика, пока устанавливается заново
соседство и идёт процесс расчёта
маршрутной информации.
OSPF
OSPF
Forwarding Plane
ASA 9.3(1)
28. Настройка NonStop Forwarding и Graceful Restart
для OSPF
Данный функционал требует явной настройки:
Cisco NSF для всех Cisco устройств (умолчание)или IETF NSF для OSPFv2
router ospf 1
nsf cisco enforce-global
nsf cisco helper
router ospf 1
nsf ietf restart-interval 260
nsf ietf helper strict-lsa-checking
Пример настройки Graceful Restart для OSPFv3
router ospf 1
graceful-restart restart-interval 180
graceful-restart helper strict-lsa-checking
ASA 9.3(1)
(Опция) Не использовать NSF если
есть несовместимые устройства
(Умолчание) включает graceful restart
для NSF-совместимых устройств
Таймер graceful restart
по умолчанию
120 секунд.
(Опция) Helper процесс
прекращает NSF рестарт если
пришло обновление LSA.
29. Настройка NonStop Forwarding и Graceful Restart
для BGP
Данный функционал требует явной настройки:
Поддержка Graceful Restart для BGPv4 включается глобально в системном
контексте и требует явной настройки для каждого соседа
! System Context
router bgp 65001
bgp graceful-restart restart-time 180 stalepath-time
720
! Context A
router bgp 65001
address-family ipv4 unicast
neighbor 192.168.1.101 remote-as 65002 ha-mode
graceful-restart
ASA 9.3(1)
Время ожидания по умолчанию процесса
обнаружения сбойного пути до GR-соседа
360 секунд.
Максимальное время ожидания перезагрузки
соседа по умолчанию 120 секунд.
Активация Graceful Restart для каждого
соседа
30. ASA в качестве устройства защиты от DOS-атак:
Remote Triggered Black Hole
ASA 9.2(1)
PE
ip verify unicast source reachable-via any
interface Null0
no ip unreachables
router bgp 65001
neighbor 192.168.1.1 remote-as 65001
ip route 192.0.2.1 255.255.255.255 Null0
route-map RTBH
set ip next-hop 192.0.2.1
set origin igp
set community no-export
router bgp 65001
neighbor 192.168.100.1 remote-as 65001
redistribute static route-map RTBH
route Null0 10.1.1.1 255.255.255.255
Настраиваем route map для установки next hop для
любого подпадающего под правило маршрута на IP-
адрес «чёрной дыры»
Делаем редистрибьюцию всех статических маршрутов
с данным route map чтобы включить сброс трафика у
провайдера
3. Все последующие пакеты от
10.1.1.1 будут сброшены в
сети оператора связи
10.1.1.1
“мягкая” проверка uRPF гарантирует
нам, что каждый IP-адрес источника
имеет обратный маршрут
Любой трафик, рекурсивно
смаршрутизированный на IP-адрес
«чёрной дыры» будет сброшен
Применяем данный route-map к
статическому маршруту до
атакующего
BGP
1. Настраиваем BGP-пиринг между
ASA и PE-маршрутизатором
оператора, 2. Администратор на ASA поддерживающего RTBH
обнаруживает DOS-атаку с
адреса 10.1.1.1,
настраивает правило,
включающее
срабатывание RTBH
31. Список для проверки при внедрении ASA
(граница сети)
Edge
Aggregation
Edge Aggregation
VDC
ISP-A ISP-B
DMZ Network(2)
(Public Web/DB)
G0/4
G0/5
VPC VPC
G0/0
G0/1
G0/2 G0/3
G1/0
G1/1
VLAN 150
VLAN 151
VLAN 2 VLAN 120
VLAN 1299
31
§ Настраиваем основную ASA:
– Режим работы: маршрутизируемый, прозрачный
или смешанный;
– Выбрать логику безопасности для интерфейсов;
– Настроить интерфейсы:
§ EtherChannel / LACP / Redundant;
§ Nameif / Security-level / IP addressing;
§ VLAN tagging / sub-interfaces / trunk.
– Маршрутизация:
§ Default route / static / routing protocols.
– Сетевая трансляция адресов NAT:
§ Static and Dynamic Translations;
§ Auto NAT & Twice NAT.
– Списки контроля доступа – ACL:
§ Interface ACL;
§ Global ACL;
§ Оптимизация ACL.
§ Выбираем режим отказоустойчивости:
– A/S, A/A or Clustering
33. Транзакционная модель применения политик
ACL и NAT
ASA компилирует конфигурацию ACL и NAT в бинарные деревья для ускорения поиска:
§ Это вызывает дополнительную загрузку CPU в процессе компиляции (на короткое время);
§ Изменения в правилах применяются моментально, даже если не закончена предыдущая
компиляция;
§ Процесс создания новых соединений через МСЭ в этот момент времени может пострадать.
В ASA 9.2(1) введена транзакционная модель применения интерфейсных ACL:
§ Новые соединения используют старое дерево пока компиляция нового не завершилась;
§ Значительно увеличивает производительность МСЭ в некоторых сценариях.
В ASA 9.3(1) введена транзакционная модель применения политик NAT:
§ Команда доступна в 9.2(1)+ , но официально не поддерживается;
§ Необходимо её использовать в случае очень сложных и объёмных настроек NAT/PAT (10K и
более правил PAT/NAT).
ASA 9.2(1)
ASA 9.3(1)
config(asa)# asp rule-engine transactional-commit access-group
config(asa)# asp rule-engine transactional-commit nat
34. Начиная с ASA 8.3+ используется
унифицированная модель представления NAT
34
35. Список для проверки при внедрении ASA
(граница сети)
Edge
Aggregation
Edge Aggregation
VDC
ISP-A ISP-B
DMZ Network(2)
(Public Web/DB)
G0/4
G0/5
VPC VPC
G0/0
G0/1
G0/2 G0/3
G1/0
G1/1
VLAN 150
VLAN 151
VLAN 2 VLAN 120
VLAN 1299
35
§ Настраиваем основную ASA:
– Режим работы: маршрутизируемый, прозрачный
или смешанный;
– Выбрать логику безопасности для интерфейсов;
– Настроить интерфейсы:
§ EtherChannel / LACP / Redundant;
§ Nameif / Security-level / IP addressing;
§ VLAN tagging / sub-interfaces / trunk.
– Маршрутизация:
§ Default route / static / routing protocols.
– Сетевая трансляция адресов NAT:
§ Static and Dynamic Translations;
§ Auto NAT & Twice NAT.
– Списки контроля доступа – ACL:
§ Interface ACL;
§ Global ACL;
§ Оптимизация ACL.
§ Управление Cisco ASA
37. Процесс обработки пакетов в МСЭ Cisco ASA
8 9 Yes 10 Yes 11
37
Recv
Pkt
1
Ingress
Interface
Existing
Conn
ACL
Permit
Match
xlate
NGFW/NGIPS
Services
Inspections/
Sec Checks
2 3 4 5 6
No No No
No
Yes
Drop Drop Drop
NAT IP
Header
Egress
Interface
7
L3
Route
L2
Addr
Xmit
Pkt
Yes Yes
No
Drop
No
Drop
Yes
38. Списки контроля доступа - ACL
Как и в Cisco IOS, ACL обрабатываются сверху
вниз, последовательно с правилом deny all в
самом конце:
§ Совпадение параметров приводит к
срабатыванию ACL;
ACL могут быть включены/выключены для
заданного временного интервала;
ACL состоят из примитивов Access Control
Entries (ACE)
§ Примечания можно задавать и для ACE, и для
ACL;
§ ACE может содержать такие объекты, как
пользователь/группа, метка SGT, и т.д.
ASA оперирует ‘реальными IP’ в ACL
38
39. Концепция глобальных списков контроля доступа
Global ACL
Глобальные списки контроля доступа применяются только для входящего
трафика на всех интерфейсах:
§ Нет необходимости создавать одинаковые правила на каждом интерфейсе, что экономит
память и процессорное время;
§ До тех пор, пока пакет подпадает под заданный критерий адреса источника и назначения,
входной интерфейс не имеет значения.
Глобальные списки контроля доступа используют такие же системно-
технические решения, что и правила, применяемые к интерфейсам, таким
образом масштабируемость и производительность одинакова:
§ Применяются к транзитному трафику, нельзя применить к трафику к Control Plane –
аргументы control-plane и global нельзя использовать совместно.
39
config(asa)# access-group name global
40. Концепция глобальных списков контроля доступа
Global ACL
ASA использует следующий порядок применения списков контроля доступа (используются только
интерфейсные ACL):
§ Интерфейсные ACL;
§ Правило по умолчанию для данного интерфейса deny ip any any.
ASA использует следующий порядок применения списков контроля доступа (совместное
использование глобальных и интерфейсных ACL):
§ Интерфейсные ACL;
§ Глобальные ACL;
§ Глобальное правило по умолчанию deny ip any any.
40
config(asa)# access-group name global
41. Политики контроля доступа на основе
принадлежности пользователя к группе
§ Версии старше 8.4.2 позволяют
использовать две новых
конструкции: импорт
пользователя/группы из Microsoft
Active Directory и FQDN в списках
контроля доступа.
41
42. Политики контроля доступа на основе
принадлежности пользователя к группе
§ Требует использования агента (CDA);
§ Поддерживает отказоустойчивость и
масштабируемость;
§ Не требует установки на доменном
контроллере;
§ Информация о пользователе и группе
отображается в журналах (требует
включения).
42
44. Использование меток безопасности на ASA
Позволяет использовать метки безопасности Security Group Tag (SGT) в политиках
доступа:
§ Уникальные 16-битные метки SGT отображаются в удобные для восприятия
человеком имена (SG Names);
§ Значения меток SGT назначаются на сетевые порты/устройства пограничным
сетевым устройством (как правило, коммутатором) Cisco ISE/ACS 5.5.
Endpoint SG Name IP SGT
HTTP Server DC_Servers 10.1.100.111 111
John Smith Marketing 10.1.200.3 333
ASA 9.0(1)
45. Назначение меток SGT непосредственно на ASA
Cisco Meta Data (CMD) Ethertype позволяет передавать метки SGT источника
трафика
Пограничные устройства назначают метки, транзитные применяют SG ACL.
DMAC SMAC 802.1q CMD EType Payload CRC
0x8909
Ethertype
Versio
n Length SGT Opt
Type
SGT
Value Options
46. Использование меток безопасности на ASA
ASA поддерживает локально заданные правила SG ACL, где метки могут
использоваться и для источника, и для назначения:
§ Специальный код отображает метки и их имена в реальные текущие IP-адреса
перед применением политики;
§ Привязки SGT↔имена меток загружаются с Cisco ISE;
§ Привязки IP↔SGT должны быть загружены с пограничных устройств с
помощью протокола Security tag eXchange Protocol (SXP).
ASA 9.0(1)
From HR_ADMIN group on
10.1.1.1
access-list IN permit ip security-group name HR_ADMIN host 10.1.1.1 any
access-list IN permit ip object-group INSIDE security-group tag 22 any
To any destination
From any IP on INSIDE
To any IP with tag
22
47. Security Group ACL (SGACL) на ASA
при использовании SXP
47
2. John logs in
10.1.200.3
John
Smith
5. Authenticate
against AD
3. Port authorized
(802.1x)
4.
Authorization
request to ISE
6. Assign
SGT 333
File Server
1. Resolve SG
Names to Tags
8. Propagate IP↔SGT
bindings via SXP
7. Bind 10.1.100.222
10.1.200.3↔SGT 333
Source Destination Actio
n
Marketing File Server Allow
Any Any Deny
IP Packet
9. Policy lookup
and enforcement
ISE
Active
Directory
[SGT 333] 10.1.200.3 [SGT 111] 10.1.100.222
ASA 9.0(1)
48. Назначение меток SGT непосредственно на ASA
ASA 9.3(1)
ASA 9.3(1) позволяет назначать метки SGT, и применить SGACL на основе метки
источника, удалять и переписывать метки, тегировать пользовательский траффик из
VPN:
interface GigabitEthernet0/0
nameif inside
cts manual
policy static sgt 100 trusted
no propagate sgt
Включаем inline SGT-режим.
Без него TrustSec фреймы
будут сброшены, как
некорректные
Без этой команды, будут
использоваться привязки
IP↔SXP от внешних
устройств.
Назначать метку SGT 100 для
фреймов, приходящих на этот
интерфейс, если они их не имеют или
имеют от не доверенных устройств
(Опция) доверять меткам SGT в
фреймах, полученных на данном
интерфейсе
(Опция) Выключить передачу
информации о метках наружу.
Включено по умолчанию.
49. SGACL Operation with Inline Tagging
49
2. John logs in
10.1.200.3
John
Smith
5. Authenticate
against AD
3. Port authorized
(802.1x)
4.
Authorization
request to ISE
6. Assign
SGT 333
File Server
7. Tag all incoming 10.1.100.222
frames on interfaces with
Source Destination Actio
n
Marketing File Server Allow
Any Any Deny
SGT 333
1. Resolve SG
Names to Tags
8. Propagate destination
IP↔SGT bindings via SXP
IP Packet
9. Policy lookup
and enforcement
ISE
Active
Directory
[SGT 333] [SGT 111] 10.1.100.222
ASA 9.3(1)
SGT 333 IP Packet
50. ASA 9.2(1)
Поддержка динамической авторизации
VPN-пользователей
При использовании ASA до версии 9.2(1) требовалось использовать ISE Inline
Posture Node (IPN):
§ Ограничение при проверке VPN-пользователей – сложная схема их проверки на
соответствие корпоративной политике безопасности (антивирус, патчи и т.д и т.п.)
51. ASA 9.2(1)
Поддержка динамической авторизации
VPN-пользователей
В ASA 9.2(1) больше не нужен IPN, так как реализована поддержка RADIUS Change of
Authorization (CoA):
§ Traffic redirect ACL и URL загружаются с ISE для проверки на соответствие политике
и перенаправления на портал;
§ Независящий от возможностей клиента функционал Cisco ISE по загрузке
обновлений dACL или терминирование VPN-сессии непосредственно на ASA.
1. Клиент RAVPN
подключается к ASA
2. ASA авторизует пользователя в ISE, применяет
ограничивающий dACL для проведения проверок
соответствия политикам NAC
3. Клиент обращается к ISE для
опциональной загрузки NAC
агента и прохождения процедуры
проверки
4. ISE сообщает ASA какую метку SGT назначить и
присылает новый dACL в соответствии с результатом
проверки
53. Использование несуществующих или пустых
объектов
Парсер CLI на ASA предполагает строгую проверку объектов и групп объектов при
использовании их в ACL и NAT:
§ Нельзя ссылаться на несуществующие объекты;
§ Нельзя удалить используемые в ACL или NAT объекты:
asa(config)# access-list INBOUND permit ip any object-group DMZ
ERROR: specified object group <DMZ> not found
asa(config)# no object network INSIDE
ERROR: unable to delete object (INSIDE). object is being used.
В ASA 9.3(2) реализован новый механизм использования объектов:
ASA 9.3(2)
config(asa)# object-name forward-reference
§ ACL могут использовать пустые объекты или группы объектов;
§ ACL могут ссылаться на несуществующие объекты или группы объектов;
§ Группы объектов могут ссылаться на несуществующие объекты;
§ Объекты и группы объектов могут быть удалены, даже если используются в ACL или NAT.
Данная функциональность разрабатывается для использования совместно с системами
оркестрации.
54. Сессии конфигурирования
В настоящий момент изменения конфигурации применяются моментально:
§ На FWSM можно было использовать процесс ручного коммита изменений в ACL и
применять их позже;
§ Некоторые системы оркестрации могут манипулировать ACL на ASA, что может
приводить к проблемам при частом или одномоментном обновлении ACL.
ASA 9.3(2) вводить понятие сессий конфигурирования:
§ Внутри сессии конфигурирования можно как угодно настраивать ACL не оказывая
влияния на проходящий трафик;
§ Используется совместно с предыдущей функцией;
§ Незаконченные сессии можно отменить или сохранить для продолжения работы
в будущем;
§ Коммит сессий использует транзакционный механизм;
§ Применённое изменение можно откатить обратно.
ASA 9.3(2)
55. Пример настройки
asa(config)# configure session USER1
asa(config-s)# exit
asa(config)# show config-session
config-session USER1(un-committed)
asa(config)# configure session USER1
asa(config-s)# abort
asa(config)# configure session USER1
asa(config-s)# access-list INBOUND permit tcp any any eq 80
asa(config-s)# commit
Save session? [y]es/[N]o:Y
asa(config)# show config-session
config-session USER1(committed)
asa(config)# configure session USER1
asa(config-s)# revert
ASA 9.3(2)
Создание новой или возврат к имеющейся
сессии данного пользователя
Сохраняет текущую сессию для
дальнейшего использования
Показ имеющихся сессий конфигурации и
ассоциированных с ними изменений
Отмена всех изменений и удаление текущей
сессии конфигурирования
Применение внесённых изменений в
транзакционном режиме
Сохраняет сессию для дальнейшего
использования, можно к ней позже
вернуться; опция noconfirm полезна для
скриптов
Откат изменений к последней
подтверждённой сессии
56. REpresentational State Transfer (REST) API
ASA 9.3(2) добавляет поддержку REST API как для физических
устройств , так и для виртуальных Cisco ASAv:
ASA 9.3(2)
§ Добавляет возможности по использованию в SDN-дизайнах с
использованием разнообразных систем оркестрации;
§ Реализация идентична таковой в IOS XE (JSON);
§ Транслируется в CLI, что делает технологию совместимой с текущими
реализациями систем управления изменениями и оркестрирования.
57. REpresentational State Transfer (REST) API
Первоначально поддерживается следующий функционал:
§ Настройка: Objects and object groups, ACL, NAT, Application Inspection, Interfaces,
DHCP Client, Static Routes, Syslog, NSEL, Licensing, AAA для управления, Failover,
S2S VPN;
§ Мониторинг: Interfaces, Licensing, Failover, Clustering, Resources, Version, Uptime,
S2S VPN;
§ Доступ к выполнению команд в CLI.
ASA 9.3(2)
Object-based Access CLI Passthrough
REST Interface
Cisco ASA/ASAv
58. REST API Examples
Create an ACL Entry Retrieve Interface name an Object by Name
POST /api/access/out/inside/
rules
{
"permit": true,
"sourceAddress": {
"kind": "IPv4Address",
"value": "192.168.1.1"
},
"destinationAddress": {
"kind": "IPv4Network",
"value": "172.16.171.0/24"
},
"sourceService": {
"kind": "NetworkProtocol",
"value": "ip"
},
"destinationService": {
"kind": "NetworkProtocol",
"value": "ip"
},
"active": true,
"remarks": [],
"position": 1
}
GET /api/objects/networkobjects/DNS
{
"kind": "object#NetworkObj",
"selfLink": "/api/objects/
networkobjects/DNS",
"name": “DNS",
"host": {
"kind": "IPv4Address",
"value": “4.2.2.2"
},
"objectId": “DNS"
}
Rule direction (in or
out)
True for permit or false
for deny
Source IP address
Destination IP address
Insert at position 1
Network object
name
Network object IP
address
POST /cli
{
"commands": [
Execute Arbitrary Command
"show version | i Serial",
]
}
{
"response": [
"Serial Number: JMX09491111n"
]
}
ASA 9.3(2)
59. Список для проверки при внедрении ASA
(граница сети)
Edge
Aggregation
Edge Aggregation
VDC
ISP-A ISP-B
DMZ Network(2)
(Public Web/DB)
G0/4
G0/5
VPC VPC
G0/0
G0/1
G0/2 G0/3
G1/0
G1/1
VLAN 150
VLAN 151
VLAN 2 VLAN 120
VLAN 1299
59
§ Настраиваем основную ASA:
– Режим работы: маршрутизируемый, прозрачный
или смешанный;
– Выбрать логику безопасности для интерфейсов;
– Настроить интерфейсы:
§ EtherChannel / LACP / Redundant;
§ Nameif / Security-level / IP addressing;
§ VLAN tagging / sub-interfaces / trunk.
– Маршрутизация:
§ Default route / static / routing protocols.
– Сетевая трансляция адресов NAT:
§ Static and Dynamic Translations;
§ Auto NAT & Twice NAT.
– Списки контроля доступа – ACL:
§ Interface ACL;
§ Global ACL;
§ Оптимизация ACL.
§ Управление Cisco ASA