Post on 08-Jul-2015
description
Руслан Иванов Системный инженер-консультант ruivanov@cisco.com
Межсетевые экраны Cisco ASA – десять лет непрерывного развития. Новые функции, возможности и преимущества
25/11/14 © 2014 Cisco and/or its affiliates. All rights reserved.
Межсетевой экран 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
Межсетевые экраны Cisco ASA
SOHO/Teleworker Branch Office Internet Edge Campus
Service Modules
Multiservice 64-bit (FW + VPN + NGIPS +
Context + NGFW)
ASA SM (6K) (16-20 Gbps,300K conn/s)
ASA 5545-X (1-‐3Gbps, 30K conn/s) (900 Mb IPS/NGFW)
ASA 5550*** (1.2 Gbps, 36K conn/s)
(no IPS, 5K VPN
ASA 5540*** (650 Mbps, 25K conn/s) (650 Mb IPS, 2.5K VPN)
ASA 5520*** (450 Mbps, 12K conn/s) (450Mb IPS, 750VPN)
ASA 5510*** (300 Mbps, 9K conn/s) (250Mb IPS, 250 VPN)
ASA 5585-X SSP20 (5-‐10 Gbps, 125K conn/s
3Gb IPS, 4Gb NGFW, 5K VPN) ASA 5585-X SSP10
(2-‐4 Gbps, 75K conn/s 1.5Gb IPS, 2Gb NGFW, 5K VPN)
ASA 5505 (150 Mbps, 4K conn/s)
ASA 5585-X SSP40 (10-‐20 Gbps, 240K conn/s
5Gb IPS, 7.5Gb NGFW, 10K VPN)
ASA 5585-X SSP60 (20-‐40 Gbps, 350K conn/s
10Gb IPS, 12Gb NGFW, 10K VPN)
FW + VPN Only Виртуальный ЦОД
Virtual ASA (1-‐2Gbps, 60K cps, VPN)
VSG
ASA 5555-X (2-‐4Gbps,50K conn/s) (1.5Gb IPS/NGFW)
ASA 5525-X (1-‐2Gbps, 20K conn/s) (600 Mb IPS/NGFW) ASA 5512/15-X
(1-‐1.2Gbps, 15K conn/s) (400 Mb IPS/NGFW)
Legacy Multi-Service: FW+VPN+IPS
Красный*** = Продукты в конце своего жизненного цикла
3
FWSM*** (5.5 Gbps,
100K conn/s)
ASA Cluster 2-16x (320-‐640Gbps, 2.8M CPS, 96M conns)
(>100Gbps NGIPS/NGFW)
CLINET (clinet.com)
Мы будем использовать фиктивную компанию 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
Cisco LIVE Information Networking Company
4
Edge Aggregation VDC
Edge Aggregation
ISP-A ISP-B
DMZ Network(2) (Public Web/DB)
VPC VPC
G0/0 G0/1
T0/6 T0/7
G0/4
G0/5
G0/2
G0/3
Edge Routers running HSRP – FHRP address is
128.107.1.1
1
1
FW deployed in L3 ‘routed’ mode, with NAT and ACLs – Routing
protocol will be used on inside -
2 2
Inside Interface using
EtherChannel
4
4
Active/Standby HA will be used at the
edge
7
7
Две 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
6
6
Outside and DMZ using Redundant
Interfaces
3
3
3
VLAN 2 Diversion network
for Scanning
VLAN 120
Inside Network ‘Trusted Zone”
5
Разные внутренние зоны: 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
5 VLAN
1299 DMZ Zone for
contractor / BYOD
unknown
5
Архитектура решения для защиты границы сети clinet.com
clinet.com ASN 65345 IP Range 128.107.1.0/24
§ Настраиваем основную 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
Список для проверки при внедрении ASA (граница сети)
1
3
2
4
5
6
Edge Aggregation VDC
Edge Aggregation
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
4
7
VLAN 150
VLAN 151
6
VLAN 2 VLAN 120
5
VLAN 1299
1
2
3
3
3
3 3
3
6
Агрегация каналов на ASA с помощью EtherChannel
Что такое 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 и кластеризации
Что такое 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
VPC PEER LINK
LACP Load Balance src-dst-IP (hash)
10G 10G
20G
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.
10
*16 активных и 16 резервных каналов для cLACP
Список для проверки при внедрении ASA (граница сети)
Edge Aggregation VDC
Edge Aggregation
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
1
3
2
4
7
VLAN 150
VLAN 151
6
VLAN 2 VLAN 120
5
VLAN 1299
1
2
3
3
4
5
6
3
3 3
3
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
Маршрутизация на межсетевых экранах Cisco ASA
Процесс обработки пакетов в МСЭ Cisco ASA
13
Recv Pkt
1Ingress
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
7L3
Route L2
Addr
NGFW/NGIPS Services
Xmit Pkt
Yes Yes
No Drop
No Drop
Yes Yes 8 9 10 11
Yes
Маршрутизация на МСЭ 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
Поддержка 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
Пример работы 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
Поддержка 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)
Варианты использования BGP на МСЭ Cisco ASA
Транзитный, поддерживающий BGP межсетевой экран с одним путём маршрутизации;
Нет поддержки same-prefix маршрутов через разные логические интерфейсы;
Балансировка по same-prefix до 3 next hops для одного логического интерфейса.
Используется EtherChannel с vPC/VSS для отказоустойчивости интерфейсов на Layer 2;
Отказоустойчивость для Layer 3 достигается использованием нескольких next hops для одного логического интерфейса.
Балансировка по same-prefix через несколько логических интерфейсов причина возникновения асимметрии на обратном маршруте;
Проблема гораздо шире, чем просто балансировка по Layer 3
inside
outside
ASA 9.2(1)
vPC
inside
outside
ASA 9.2(1)
inside
outside2 outside1
ASA 9.3(2)
ASA 9.2(1)
ASA 9.3(2)
Cisco ASA – как работает маршрутизация сейчас? Таблица маршрутизации в ASA в настоящий момент времени основана на использовании логических (поименованных) сетевых интерфесов:
§ Каждый IP-префикс может быть маршрутизирован в данный момент времени в один и только один логический интерфейс;
§ Equal Cost Multi Path (ECMP) поддерживает до 3 next hops для одного логического интерфейса;
§ Асимметричная маршрутизация требует открытых списков контроля доступа и TCP State Bypass;
§ ASR-группы могут нам помочь для сценария Active/Active отказоустойчивости, но требуют перенаправления трафика и перегружают интерфейсы лишним трафиком.
inside
outside2 outside1
ASA 9.3(1) и раньше
Cisco ASA – концепция зон безопасности для интерфейсов В ASA 9.3(2) появляется возможность объединения нескольких логических интерфейсов в концепцию зоны безопасности:
Same-prefix ECMP до 8 next hops через все интерфейсы в зоне: § Балансировка по неравновесным маршрутам для варианта с
EIGRP; § Обратный трафик сопоставляется с записью о соединении для любого из интерфейсов в зоне;
§ Незаметное переключение на другой интерфейс в случае сбоя активного интерфейса в этой же зоне;
§ Позволяет использовать ASA без каких бы то ни было ограничений для массово масштабируемых ЦОД использующих L3 spine-and-leaf модель.
ASA 9.3(2)
outside1 outside2 inside 1 inside 2
In Zone
Out Zone
Настройка зон безопасностиЗоны поддерживаются только в маршрутизируемом режиме:
§ Каждый интерфейс по умолчанию принадлежит к собственной зоне; § Уровни безопасности (security level) должны совпадать для всех интерфейсов в зоне;
§ ASR-группы невозможно сконфигурировать вместе с зонами.
ASA 9.3(2)
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
Настройка зон безопасности
Сессия привязывается к первоначальному (primary) интерфейсу на все время её жизни, текущий исходящий интерфейс может отличаться от первоначального после переключения из-за сбоя или в результате асимметричной маршрутизации:
Сессия всегда очищается если её первоначальный интерфейс удаляется из зоны или переконфигурируется.
ASA 9.3(2)
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
Эквивалентность интерфейсов в зонах безопасности
Требует абсолютно одинаковой конфигурации ACL и NAT для всех интерфейсов зоны:
§ Модель автоматического конфигурирования интерфейсов в зоне безопасности будет реализована в одном из следующих релизов;
§ Интерфейсы в одной зоне с разным 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
Нужно или использовать конструкцию any к любому подходящему интерфейсу, или использовать
отдельные правила NAT для каждого возможного варианта
Необходимо применить одинаковые ACL ко всем интерфейсам, входящим в зону, либо использовать
global ACL
ASA 9.3(2)
Особенности реализации протоколов динамической маршрутизации на 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)
Оптимизация таймеров для протоколов динамической маршрутизации Поддержка 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)
Routing Information Base (RIB) реплицируется при сбое для схемы A/S и для режима кластеризации Spanned Etherchannel:
§ Активное устройство (или мастер в случае кластера) устанавливает соседство для динамических протоколов маршрутизации и передаёт обновления маршрутной информации на резервные устройства;
§ В случае сбоя, резервное устройство продолжает передачу трафика на основе информации из RIB;
§ Новое активное устройство устанавливает заново соседство и обновляет информацию в RIB;
§ Соседние маршрутизаторы в свою очередь могут обновить свою маршрутную информацию, что может вызывать кратковременные потери пакетов.
Non Stop Forwarding (NSF) ASA 9.3(1)
Поддержка Non Stop Forwarding (NSF) и Graceful Restart (GR) появилась в
ASA 9.3(1): § Cisco или IETF-совместимая реализация для OSPFv2, OSPF3; RFC 4724 для
BGPv4; § ASA сообщает совместимым соседним маршрутизаторам о факте переключения на резервное устройство (работает для Active/StandBy режима и для режима кластеризации Spanned Etherchannel).
Non Stop Forwarding (NSF)
1. Происходит переключение с активной ASA на резервную; запускается процесс
сходимости OSPF, при этом соседа просят продолжать передачу трафика.
4. ASA продолжает передачу трафика как обычно, пока активный RP перегружается или резервный не включится по таймауту.
2. Маршрутизатор заново устанавливает соседство и запускает процесс сходимости OSPF, сохраняя устаревшие маршруты и передачу трафика. Как только соседство устанавливается и обеспечена сходимость,
маршруты обновляются. 3. Если активный Route Processor на маршрутизаторе переключается (перегружается), маршрутизатор
сигнализирует ASA продолжать передачу трафика, пока устанавливается заново соседство и идёт процесс расчёта
маршрутной информации.
OSPF
OSPF Forwarding Plane
ASA 9.3(1)
Настройка NonStop Forwarding и Graceful Restart для OSPF Данный функционал требует явной настройки:
Cisco NSF для всех Cisco устройств (умолчание)или IETF NSF для OSPFv2
Пример настройки Graceful Restart для OSPFv3
router ospf 1 nsf cisco enforce-global nsf cisco helper
router ospf 1 nsf ietf restart-interval 260 nsf ietf helper strict-lsa-checking
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.
Настройка 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 для каждого соседа
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 чтобы включить сброс трафика у
провайдера
10.1.1.1
Любой трафик, рекурсивно смаршрутизированный на IP-адрес
«чёрной дыры» будет сброшен
“мягкая” проверка uRPF гарантирует нам, что каждый IP-адрес источника
имеет обратный маршрут
3. Все последующие пакеты от 10.1.1.1 будут сброшены в сети оператора связи
Применяем данный route-map к статическому маршруту до
атакующего
BGP
1. Настраиваем BGP-пиринг между ASA и PE-маршрутизатором
оператора, поддерживающего RTBH 2. Администратор на ASA обнаруживает DOS-атаку с
адреса 10.1.1.1, настраивает правило,
включающее срабатывание RTBH
Список для проверки при внедрении ASA (граница сети)
Edge Aggregation VDC
Edge Aggregation
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
1
3
2
4
7
VLAN 150
VLAN 151
6
VLAN 2 VLAN 120
5
VLAN 1299
1
2
3
3
4
5
6
7
3
3 3
3
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
Сетевая трансляция адресов на Cisco ASA
Транзакционная модель применения политик 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
Начиная с ASA 8.3+ используется унифицированная модель представления NAT
34
Список для проверки при внедрении ASA (граница сети)
Edge Aggregation VDC
Edge Aggregation
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
1
3
2
4
7
VLAN 150
VLAN 151
6
VLAN 2 VLAN 120
5
VLAN 1299
1
2
3
3
4
5
6
3
3 3
3
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
Политики межсетевого экранирования и контроля доступа на Cisco ASA
36
Процесс обработки пакетов в МСЭ Cisco ASA
37
Recv Pkt
1Ingress
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
7L3
Route L2
Addr Xmit Pkt
Yes Yes
No Drop
No Drop
Yes Yes 8 9 10 11
Yes
NGFW/NGIPS Services
Списки контроля доступа - ACL
Как и в Cisco IOS, ACL обрабатываются сверху вниз, последовательно с правилом deny all в самом конце:
§ Совпадение параметров приводит к срабатыванию ACL;
ACL могут быть включены/выключены для заданного временного интервала; ACL состоят из примитивов Access Control Entries (ACE)
§ Примечания можно задавать и для ACE, и для ACL;
§ ACE может содержать такие объекты, как пользователь/группа, метка SGT, и т.д.
ASA оперирует ‘реальными IP’ в ACL
38
Концепция глобальных списков контроля доступа Global ACL
Глобальные списки контроля доступа применяются только для входящего трафика на всех интерфейсах:
§ Нет необходимости создавать одинаковые правила на каждом интерфейсе, что экономит память и процессорное время;
§ До тех пор, пока пакет подпадает под заданный критерий адреса источника и назначения, входной интерфейс не имеет значения.
Глобальные списки контроля доступа используют такие же системно-технические решения, что и правила, применяемые к интерфейсам, таким образом масштабируемость и производительность одинакова:
§ Применяются к транзитному трафику, нельзя применить к трафику к Control Plane – аргументы control-plane и global нельзя использовать совместно.
39
config(asa)# access-group name global
Концепция глобальных списков контроля доступа Global ACL
ASA использует следующий порядок применения списков контроля доступа (используются только интерфейсные ACL):
§ Интерфейсные ACL; § Правило по умолчанию для данного интерфейса deny ip any any.
ASA использует следующий порядок применения списков контроля доступа (совместное использование глобальных и интерфейсных ACL):
§ Интерфейсные ACL; § Глобальные ACL; § Глобальное правило по умолчанию deny ip any any.
40
config(asa)# access-group name global
Политики контроля доступа на основе принадлежности пользователя к группе § Версии старше 8.4.2 позволяют использовать две новых конструкции: импорт пользователя/группы из Microsoft Active Directory и FQDN в списках контроля доступа.
41
Политики контроля доступа на основе принадлежности пользователя к группе § Требует использования агента (CDA);
§ Поддерживает отказоустойчивость и масштабируемость;
§ Не требует установки на доменном контроллере;
§ Информация о пользователе и группе отображается в журналах (требует включения).
42
Использование меток безопасности на ASA: Secure Group-based FireWall
43
Использование меток безопасности на 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)
Cisco Meta Data (CMD) Ethertype позволяет передавать метки SGT источника трафика
Пограничные устройства назначают метки, транзитные применяют SG ACL.
Назначение меток SGT непосредственно на ASA
DMAC SMAC 802.1q CMD EType Payload CRC
0x8909 Ethertype
Version Length SGT Opt
Type SGT Value Options
Использование меток безопасности на ASA
ASA поддерживает локально заданные правила SG ACL, где метки могут использоваться и для источника, и для назначения:
§ Специальный код отображает метки и их имена в реальные текущие IP-адреса перед применением политики;
§ Привязки SGT↔имена меток загружаются с Cisco ISE; § Привязки IP↔SGT должны быть загружены с пограничных устройств с помощью протокола Security tag eXchange Protocol (SXP).
ASA 9.0(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
From HR_ADMIN group on 10.1.1.1
To any destination
From any IP on INSIDE
To any IP with tag 22
Security Group ACL (SGACL) на ASA при использовании SXP
47
2. John logs in
10.1.200.3 John Smith
3. Port authorized (802.1x)
4. Authorization request to ISE
5. Authenticate against AD
6. Assign SGT 333
File Server
Source Destination Action
Marketing File Server Allow
Any Any Deny
10.1.100.222 7. Bind 10.1.200.3↔SGT 333
1. Resolve SG Names to Tags
8. Propagate IP↔SGT bindings via SXP
IP Packet 9. Policy lookup and enforcement
ISE
Active Directory
[SGT 333] [SGT 111] 10.1.200.3 10.1.100.222
ASA 9.0(1)
ASA 9.3(1) позволяет назначать метки SGT, и применить SGACL на основе метки источника, удалять и переписывать метки, тегировать пользовательский траффик из VPN:
Назначение меток SGT непосредственно на ASA ASA 9.3(1)
interface GigabitEthernet0/0 nameif inside cts manual policy static sgt 100 trusted no propagate sgt
Включаем inline SGT-режим. Без него TrustSec фреймы будут сброшены, как
некорректные
Без этой команды, будут использоваться привязки
IP↔SXP от внешних устройств.
(Опция) Выключить передачу информации о метках наружу. Включено по умолчанию.
(Опция) доверять меткам SGT в фреймах, полученных на данном
интерфейсе
Назначать метку SGT 100 для фреймов, приходящих на этот
интерфейс, если они их не имеют или имеют от не доверенных устройств
SGACL Operation with Inline Tagging
49
2. John logs in
10.1.200.3 John Smith
3. Port authorized (802.1x)
4. Authorization request to ISE
5. Authenticate against AD
6. Assign SGT 333
File Server
Source Destination Action
Marketing File Server Allow
Any Any Deny
10.1.100.222 7. Tag all incoming frames on interfaces with
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)
IP Packet SGT 333
Поддержка динамической авторизации VPN-пользователей При использовании ASA до версии 9.2(1) требовалось использовать ISE Inline Posture Node (IPN):
§ Ограничение при проверке VPN-пользователей – сложная схема их проверки на соответствие корпоративной политике безопасности (антивирус, патчи и т.д и т.п.)
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.
ASA 9.2(1)
1. Клиент RAVPN подключается к ASA
2. ASA авторизует пользователя в ISE, применяет ограничивающий dACL для проведения проверок
соответствия политикам NAC
3. Клиент обращается к ISE для опциональной загрузки NAC
агента и прохождения процедуры проверки
4. ISE сообщает ASA какую метку SGT назначить и присылает новый dACL в соответствии с результатом
проверки
Новые возможности управления Cisco ASA
Использование несуществующих или пустых объектов Парсер CLI на ASA предполагает строгую проверку объектов и групп объектов при использовании их в ACL и NAT:
§ Нельзя ссылаться на несуществующие объекты; § Нельзя удалить используемые в ACL или NAT объекты:
В ASA 9.3(2) реализован новый механизм использования объектов:
§ ACL могут использовать пустые объекты или группы объектов; § ACL могут ссылаться на несуществующие объекты или группы объектов; § Группы объектов могут ссылаться на несуществующие объекты; § Объекты и группы объектов могут быть удалены, даже если используются в ACL или NAT.
Данная функциональность разрабатывается для использования совместно с системами оркестрации.
ASA 9.3(2)
config(asa)# object-name forward-reference
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.
Сессии конфигурирования
В настоящий момент изменения конфигурации применяются моментально: § На FWSM можно было использовать процесс ручного коммита изменений в ACL и применять их позже;
§ Некоторые системы оркестрации могут манипулировать ACL на ASA, что может приводить к проблемам при частом или одномоментном обновлении ACL.
ASA 9.3(2) вводить понятие сессий конфигурирования: § Внутри сессии конфигурирования можно как угодно настраивать ACL не оказывая влияния на проходящий трафик;
§ Используется совместно с предыдущей функцией; § Незаконченные сессии можно отменить или сохранить для продолжения работы в будущем;
§ Коммит сессий использует транзакционный механизм; § Применённое изменение можно откатить обратно.
ASA 9.3(2)
Пример настройки
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 полезна для скриптов
Откат изменений к последней подтверждённой сессии
REpresentational State Transfer (REST) API
ASA 9.3(2) добавляет поддержку REST API как для физических устройств , так и для виртуальных Cisco ASAv:
§ Добавляет возможности по использованию в SDN-дизайнах с использованием разнообразных систем оркестрации;
§ Реализация идентична таковой в IOS XE (JSON); § Транслируется в CLI, что делает технологию совместимой с текущими реализациями систем управления изменениями и оркестрирования.
ASA 9.3(2)
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)
REST Interface Cisco ASA/ASAv
Object-based Access CLI Passthrough
REST API Examples
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" }
Create an ACL Entry Retrieve an Object by Name Interface name
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": [ "show version | i Serial", ] }
{ "response": [ "Serial Number: JMX09491111\n" ] }
Execute Arbitrary Command
ASA 9.3(2)
Список для проверки при внедрении ASA (граница сети)
Edge Aggregation VDC
Edge Aggregation
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
1
3
2
4
7
VLAN 150
VLAN 151
6
VLAN 2 VLAN 120
5
VLAN 1299
1
2
3
3
4
5
6
3
3 3
3
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
CiscoRu Cisco CiscoRussia
#CiscoConnectRu
Пожалуйста, используйте код для оценки доклада:
9590
25/11/14 © 2014 Cisco and/or its affiliates. All rights reserved.
Руслан Иванов Системный инженер-консультант +7 (495) 961-1467 ruivanov@cisco.com