California;pdf

Межсетевые экраны Cisco ASA – десять лет
непрерывного развития.
Новые функции, возможности и
преимущества
Руслан Иванов
Системный инженер-консультант
[email protected]
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
ASA 5585-X SSP60
ASA Cluster 2-16x
(20-­‐40 Gbps, 350K conn/s 10Gb IPS, 12Gb NGFW, 10K VPN) (320-­‐640Gbps, 2.8M CPS, 96M conns) (>100Gbps NGIPS/NGFW) Multiservice 64-bit
ASA 5585-X SSP40
(10-­‐20 Gbps, 240K conn/s 5Gb IPS, 7.5Gb NGFW, 10K VPN) (FW + VPN + NGIPS +
Context + NGFW)
ASA 5585-X SSP20
(5-­‐10 Gbps, 125K conn/s 3Gb IPS, 4Gb NGFW, 5K VPN) ASA 5585-X SSP10
ASA 5545-X
ASA 5505 ASA 5512/15-X
(150 Mbps,
4K conn/s)
(1-­‐1.2Gbps, 15K conn/s) (400 Mb IPS/NGFW) ASA 5510***
ASA 5525-X
(1-­‐2Gbps, 20K conn/s) (600 Mb IPS/NGFW) (1-­‐3Gbps, 30K conn/s) (900 Mb IPS/NGFW) ASA 5520*** ASA 5540***
(2-­‐4 Gbps, 75K conn/s 1.5Gb IPS, 2Gb NGFW, 5K VPN) ASA 5555-X
(2-­‐4Gbps,50K conn/s) (1.5Gb IPS/NGFW) Service Modules
ASA 5550***
(300 Mbps, 9K conn/s) (450 Mbps, 12K conn/s) (650 Mbps, 25K conn/s) (1.2 Gbps, 36K conn/s) (no IPS, 5K VPN (250Mb IPS, 250 VPN) (450Mb IPS, 750VPN) (650 Mb IPS, 2.5K VPN) Legacy Multi-Service: FW+VPN+IPS
SOHO/Teleworker
Branch Office
ASA SM (6K)
(16-20 Gbps,300K conn/s)
FWSM***
(5.5 Gbps, 100K conn/s) FW + VPN Only
Internet Edge
Красный*** = Продукты в конце своего жизненного цикла
3
Campus
VSG Virtual ASA
(1-­‐2Gbps, 60K cps, VPN) Виртуальный
ЦОД
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
Архитектура решения для защиты границы сети
clinet.com
ISP-A
clinet.com ASN 65345
IP Range 128.107.1.0/24
ISP-B
Edge Routers
running HSRP –
FHRP address is
128.107.1.1
Edge
Aggregation
DMZ Network(2)
(Public Web/DB)
Outside and DMZ
using Redundant
Interfaces
G0/0
G0/1
FW deployed in L3 ‘routed’ mode,
with NAT and ACLs – Routing
protocol will be used on inside -
G0/2
G0/4
VLAN 150
Public Web DMZ – 10.200.1.0/24
G0/3
G0/5
T0/6
VLAN 151
Partner Intranet– 10.100.100.0/24
Web/App/dB (Oracle) 172.16.25.250
T0/7
VPC
VPC
Inside Interface
using
EtherChannel
Edge Aggregation
VDC
VLAN 2
Diversion
network
for
Scanning
VLAN
120
Inside
Network
‘Trusted
Zone”
VLAN
1299 DMZ
Zone for
contractor
/ BYOD
unknown
Две DMZ зоны:
1- Web Public (www, DNS, smtp)
2- Partner Intranet (wwwin, Oracle
link)
Active/Standby HA
will be used at the
edge
Разные внутренние зоны:
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
Список для проверки при внедрении ASA
(граница сети)
§  Настраиваем основную ASA:
–  Режим работы: маршрутизируемый, прозрачный
или смешанный;
–  Выбрать логику безопасности для интерфейсов;
–  Настроить интерфейсы:
ISP-A
ISP-B
Edge Aggregation
§  EtherChannel / LACP / Redundant;
§  Nameif / Security-level / IP addressing;
§  VLAN tagging / sub-interfaces / trunk.
DMZ Network(2)
(Public Web/DB)
G0/0
–  Маршрутизация:
VLAN 150
G0/1
§  Default route / static / routing protocols.
G0/4
–  Сетевая трансляция адресов NAT:
VLAN 151
G1/1
G0/5
§  Static and Dynamic Translations;
§  Auto NAT & Twice NAT.
G0/2
–  Списки контроля доступа – ACL:
G0/3
VPC
§  Interface ACL;
§  Global ACL;
§  Оптимизация ACL.
§  Управление Cisco ASA
G1/0
VPC
Edge Aggregation
VDC
VLAN 2
VLAN 120
6
VLAN 1299
Агрегация каналов на ASA с помощью
EtherChannel
Что такое EtherChannel? Зачем он на МСЭ?
EtherChannel LAG (IEEE standard 802.3ad) позволяет объединить до 16
физических Ethernet канала в один логический канал. 8 из них могут
быть активны и передавать данные*
§ 
Порты должны быть одинаковы: duplex, speed, тип, и т.д.
Выгоды от EtherChannel это масштабируемость, балансировка нагрузки
и высокая доступность:
§ 
Балансировка на основе хэш-алгоритма – в Cisco по умолчанию это srcdst IP;
§ 
Мы рекомендуем использовать или умолчание, или src-dst ip-l4-port.
EtherChannel использует LACP (Link Aggregation Control Protocol),
который позволяет динамически объединять порты и автоматически
восстанавливаться после сбоя
§ 
Static LAG может быть использован, но нужно учитывать возможные
«чёрные дыры» на пути трафика.
*Новые версии кода ASA позволяют обойти это ограничение с помощью
cLACP и кластеризации
8
LACP Load Balance
src-dst-IP (hash)
Что такое vPC EtherChannel? Чем он полезен?
vPC (как и VSS) также известен как Multi-Chassis
EtherChannel
Virtual Port Channels (vPC) широко используются,
особенно в ЦОД, и позволяют множествам устройств
использовать множество интерфейсов:
§ 
Все каналы активны – нет заблокированных STP портов.
vPC Peer используется на Nexus 5K/6K/7K для создания
домена vPC и совместного использования интерфейсов:
§ 
10G
10G
По Peer Link синхронизируется состояние между vPC
коммутаторами.
vPC позволяет максимально утилизировать портовую
ёмкость, при этом, с точки зрения spanning-tree это один
логический интерфейс:
§ 
20G
LACP Load Balance
src-dst-IP (hash)
Spanning Tree не выключен, но при этом не оказывает
влияния на сеть.
VPC PEER LINK
Описание и лучшие практики по настройке vPC:
http://www.cisco.com/c/dam/en/us/td/docs/switches/datacenter/sw/
design/vpc_design/vpc_best_practices_design_guide.pdf
9
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
Список для проверки при внедрении ASA
(граница сети)
§  Настраиваем основную ASA:
–  Режим работы: маршрутизируемый, прозрачный
или смешанный;
–  Выбрать логику безопасности для интерфейсов;
–  Настроить интерфейсы:
ISP-A
ISP-B
Edge
Aggregation
DMZ Network(2)
(Public Web/DB)
§  EtherChannel / LACP / Redundant;
§  Nameif / Security-level / IP addressing;
§  VLAN tagging / sub-interfaces / trunk.
G0/0
VLAN 150
G0/1
–  Маршрутизация:
G0/4
§  Default route / static / routing protocols.
VLAN 151
G1/1
G0/5
G0/2
–  Сетевая трансляция адресов NAT:
§  Static and Dynamic Translations;
§  Auto NAT & Twice NAT.
G0/3
VPC
–  Списки контроля доступа – ACL:
§  Interface ACL;
§  Global ACL;
§  Оптимизация ACL.
G1/0
VPC
Edge Aggregation
VDC
VLAN 2
VLAN 120
§  Управление Cisco ASA
11
VLAN 1299
Маршрутизация на межсетевых
экранах Cisco ASA
Процесс обработки пакетов в МСЭ Cisco ASA
NGFW/NGIPS
Services
1
Recv
Pkt
2
3
Ingress
Interface
Yes
Existing
Conn
4
No
ACL
Permit
5
Yes
Drop
NAT IP
Header
8
Egress
Interface
9
Yes 10
L3
Route
No
L2
Addr
No
Drop
Drop
13
6
Yes
No
Drop
No
7
Match
xlate
Yes 11
Inspections/
Sec Checks
No
Drop
Xmit
Pkt
Yes
Маршрутизация на МСЭ Cisco ASA
ASA проверяет маршрут как часть нормальной обработки пакетов:
§ 
ASA оптимизирована для ‘flow-based inspection’ и не
оптимизирована как ‘packet forwarding’ маршрутизатор:
—  Следовательно, ASA не является заменой маршрутизатору
для всех условий их применения;
Outside Network
FHRP 128.107.1.1
—  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
G0/0
Static Default
0
DMZ Network
G0/2
50
Static or IGP
G0/1
100
Inside 10.120.1.0/24
Inside Network
Поддержка 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
ASA 9.2(1)
Поддержка BGP активно развивается на ASA
ASA 9.3(1)
ASA 9.3(2)
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 режимов с единой автономной системой:
Глобальные параметры
BGP задаются в
системном контексте
Соседи настраиваются
в пользовательских
контекстах
! 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
Номер AS во всех
пользовательских
контекстах должен
совпадать с системным
ASA 9.2(1)
Варианты использования BGP на МСЭ Cisco ASA ASA 9.3(2)
ASA 9.2(1)
outside
ASA 9.3(2)
ASA 9.2(1)
vPC
outside1
outside2
outside
inside
inside
inside
Транзитный, поддерживающий BGP
межсетевой экран с одним путём
маршрутизации;
Нет поддержки same-prefix маршрутов
через разные логические интерфейсы;
Балансировка по same-prefix до 3 next
hops для одного логического
интерфейса.
Используется EtherChannel с vPC/
VSS для отказоустойчивости
интерфейсов на Layer 2;
Отказоустойчивость для Layer 3
достигается использованием
нескольких next hops для одного
логического интерфейса.
Балансировка по same-prefix через
несколько логических интерфейсов
причина возникновения асимметрии
на обратном маршруте;
Проблема гораздо шире, чем просто
балансировка по Layer 3
ASA 9.3(1)
и раньше
Cisco ASA – как работает маршрутизация
сейчас?
Таблица маршрутизации в ASA в настоящий момент времени
основана на использовании логических (поименованных)
сетевых интерфесов:
§  Каждый IP-префикс может быть маршрутизирован в данный
момент времени в один и только один логический интерфейс;
§  Equal Cost Multi Path (ECMP) поддерживает до 3 next hops для
одного логического интерфейса;
§  Асимметричная маршрутизация требует открытых списков
контроля доступа и TCP State Bypass;
§  ASR-группы могут нам помочь для сценария Active/Active
отказоустойчивости, но требуют перенаправления трафика и
перегружают интерфейсы лишним трафиком.
outside1
outside2
inside
ASA 9.3(2)
Cisco ASA – концепция зон безопасности для
интерфейсов
В ASA 9.3(2) появляется возможность объединения нескольких
логических интерфейсов в концепцию зоны безопасности:
Same-prefix ECMP до 8 next hops через все интерфейсы в зоне:
§  Балансировка по неравновесным маршрутам для варианта с
EIGRP;
§  Обратный трафик сопоставляется с записью о соединении
для любого из интерфейсов в зоне;
§  Незаметное переключение на другой интерфейс в случае
сбоя активного интерфейса в этой же зоне;
§  Позволяет использовать ASA без каких бы то ни было
ограничений для массово масштабируемых ЦОД
использующих L3 spine-and-leaf модель.
Out Zone
outside1
outside2
inside 1
inside 2
In Zone
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
ASA 9.3(2)
Настройка зон безопасности
Сессия привязывается к первоначальному (primary) интерфейсу на все время её
жизни, текущий исходящий интерфейс может отличаться от первоначального
после переключения из-за сбоя или в результате асимметричной маршрутизации:
asa# show conn detail
TCP outside-zone:outside1(outside2): 10.1.1.1/80 (10.1.1.1/80) insidezone:inside1(inside1): 10.2.2.2/34254 (10.2.2.2/34254), flags UO, idle 12s,
uptime 13s, timeout 1h0m, bytes 16
Сессия всегда очищается если её первоначальный интерфейс удаляется из зоны
или переконфигурируется.
ASA 9.3(2)
Эквивалентность интерфейсов в зонах безопасности
Требует абсолютно одинаковой конфигурации ACL и NAT для всех интерфейсов
зоны:
Нужно или использовать конструкцию any к любому
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 для каждого возможного
варианта
Необходимо применить одинаковые ACL ко всем
интерфейсам, входящим в зону, либо использовать
global ACL
§  Модель автоматического конфигурирования интерфейсов в зоне безопасности
будет реализована в одном из следующих релизов;
§  Интерфейсы в одной зоне с разным NAT-пространством не поддерживаются в
данной модели конфигурирования.
Особенности реализации протоколов
динамической маршрутизации на Cisco ASA
ASA 9.2(1)
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)
Отправлять 3 OSPF FastHello пакета в
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
секунду; 1 секунда на определение мёртвого
соседа
Задержка вычисления SPF 500 ms, между
вычислениями не менее 1 секунды и не более
5 секунд
ASA 9.3(1)
Non Stop Forwarding (NSF)
Routing Information Base (RIB) реплицируется при сбое для схемы A/S и для режима
кластеризации Spanned Etherchannel:
§ 
Активное устройство (или мастер в случае кластера) устанавливает соседство для
динамических протоколов маршрутизации и передаёт обновления маршрутной информации
на резервные устройства;
§  В случае сбоя, резервное устройство продолжает передачу трафика на основе
информации из RIB;
§  Новое активное устройство устанавливает заново соседство и обновляет
информацию в RIB;
§  Соседние маршрутизаторы в свою очередь могут обновить свою маршрутную
информацию, что может вызывать кратковременные потери пакетов.
ASA 9.3(1)
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).
2. Маршрутизатор заново устанавливает
1. Происходит переключение с активной ASA
на резервную; запускается процесс
сходимости OSPF, при этом соседа просят
продолжать передачу трафика.
4. ASA продолжает передачу трафика как
обычно, пока активный RP перегружается
или резервный не включится по таймауту.
OSPF
OSPF
Forwarding Plane
соседство и запускает процесс сходимости
OSPF, сохраняя устаревшие маршруты и
передачу трафика. Как только соседство
устанавливается и обеспечена сходимость,
маршруты обновляются.
3. Если активный Route Processor на
маршрутизаторе переключается
(перегружается), маршрутизатор
сигнализирует ASA продолжать передачу
трафика, пока устанавливается заново
соседство и идёт процесс расчёта
маршрутной информации.
Настройка NonStop Forwarding и Graceful Restart
для OSPF
ASA 9.3(1)
Данный функционал требует явной настройки:
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
(Опция) Не использовать NSF если
есть несовместимые устройства
(Умолчание) включает graceful restart
для NSF-совместимых устройств
Пример настройки Graceful Restart для OSPFv3
router ospf 1
graceful-restart restart-interval 180
graceful-restart helper strict-lsa-checking
(Опция) Helper процесс
прекращает NSF рестарт если
пришло обновление LSA.
Таймер graceful restart
по умолчанию
120 секунд.
Настройка NonStop Forwarding и Graceful Restart
для BGP
ASA 9.3(1)
Данный функционал требует явной настройки:
Поддержка Graceful Restart для BGPv4 включается глобально в системном
контексте и требует явной настройки для каждого соседа
! System Context
router bgp 65001
bgp graceful-restart restart-time 180 stalepathtime 720
! Context A
router bgp 65001
address-family ipv4 unicast
neighbor 192.168.1.101 remote-as 65002 ha-mode
graceful-restart
Время ожидания по умолчанию процесса
обнаружения сбойного пути до GR-соседа
360 секунд.
Максимальное время ожидания перезагрузки
соседа по умолчанию 120 секунд.
Активация Graceful Restart для каждого
соседа
ASA в качестве устройства защиты от DOS-атак:
Remote Triggered Black Hole
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 чтобы включить сброс трафика у
провайдера
Применяем данный route-map к
статическому маршруту до
атакующего
BGP
2. Администратор на ASA
обнаруживает DOS-атаку с
адреса 10.1.1.1,
настраивает правило,
включающее
срабатывание RTBH
ASA 9.2(1)
3. Все последующие пакеты от
10.1.1.1 будут сброшены в
сети оператора связи
PE
1. Настраиваем BGP-пиринг между
ASA и PE-маршрутизатором
оператора, поддерживающего RTBH
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
10.1.1.1
“мягкая” проверка uRPF гарантирует
нам, что каждый IP-адрес источника
имеет обратный маршрут
Любой трафик, рекурсивно
смаршрутизированный на IP-адрес
«чёрной дыры» будет сброшен
Список для проверки при внедрении ASA
(граница сети)
§  Настраиваем основную ASA:
–  Режим работы: маршрутизируемый, прозрачный
или смешанный;
–  Выбрать логику безопасности для интерфейсов;
–  Настроить интерфейсы:
ISP-A
ISP-B
Edge
Aggregation
DMZ Network(2)
(Public Web/DB)
§  EtherChannel / LACP / Redundant;
§  Nameif / Security-level / IP addressing;
§  VLAN tagging / sub-interfaces / trunk.
G0/0
VLAN 150
G0/1
–  Маршрутизация:
G0/4
§  Default route / static / routing protocols.
VLAN 151
G1/1
G0/5
G0/2
–  Сетевая трансляция адресов NAT:
§  Static and Dynamic Translations;
§  Auto NAT & Twice NAT.
G0/3
VPC
–  Списки контроля доступа – ACL:
§  Interface ACL;
§  Global ACL;
§  Оптимизация ACL.
G1/0
VPC
Edge Aggregation
VDC
VLAN 2
VLAN 120
§  Выбираем режим отказоустойчивости:
–  A/S, A/A or Clustering
31
VLAN 1299
Сетевая трансляция адресов на
Cisco ASA
Транзакционная модель применения политик
ACL и NAT
ASA 9.2(1)
ASA 9.3(1)
ASA компилирует конфигурацию ACL и NAT в бинарные деревья для ускорения поиска:
Это вызывает дополнительную загрузку CPU в процессе компиляции (на короткое время);
Изменения в правилах применяются моментально, даже если не закончена предыдущая
компиляция;
§  Процесс создания новых соединений через МСЭ в этот момент времени может пострадать.
§ 
§ 
В ASA 9.2(1) введена транзакционная модель применения интерфейсных ACL:
config(asa)# asp rule-engine transactional-commit access-group
§ 
§ 
Новые соединения используют старое дерево пока компиляция нового не завершилась;
Значительно увеличивает производительность МСЭ в некоторых сценариях.
В ASA 9.3(1) введена транзакционная модель применения политик NAT:
config(asa)# asp rule-engine transactional-commit nat
§ 
§ 
Команда доступна в 9.2(1)+ , но официально не поддерживается;
Необходимо её использовать в случае очень сложных и объёмных настроек NAT/PAT (10K и
более правил PAT/NAT).
Начиная с ASA 8.3+ используется
унифицированная модель представления NAT
34
Список для проверки при внедрении ASA
(граница сети)
§  Настраиваем основную ASA:
–  Режим работы: маршрутизируемый, прозрачный
или смешанный;
–  Выбрать логику безопасности для интерфейсов;
–  Настроить интерфейсы:
ISP-A
ISP-B
Edge
Aggregation
DMZ Network(2)
(Public Web/DB)
§  EtherChannel / LACP / Redundant;
§  Nameif / Security-level / IP addressing;
§  VLAN tagging / sub-interfaces / trunk.
G0/0
VLAN 150
G0/1
–  Маршрутизация:
G0/4
§  Default route / static / routing protocols.
VLAN 151
G1/1
G0/5
G0/2
–  Сетевая трансляция адресов NAT:
§  Static and Dynamic Translations;
§  Auto NAT & Twice NAT.
G0/3
VPC
–  Списки контроля доступа – ACL:
§  Interface ACL;
§  Global ACL;
§  Оптимизация ACL.
G1/0
VPC
Edge Aggregation
VDC
VLAN 2
VLAN 120
§  Управление Cisco ASA
35
VLAN 1299
Политики межсетевого
экранирования и контроля доступа на
Cisco ASA
36
Процесс обработки пакетов в МСЭ Cisco ASA
NGFW/NGIPS
Services
1
Recv
Pkt
2
3
Ingress
Interface
Yes
Existing
Conn
4
No
ACL
Permit
5
Yes
Drop
NAT IP
Header
8
Egress
Interface
9
Yes 10
L3
Route
No
L2
Addr
No
Drop
Drop
37
6
Yes
No
Drop
No
7
Match
xlate
Yes 11
Inspections/
Sec Checks
No
Drop
Xmit
Pkt
Yes
Списки контроля доступа - ACL
Как и в Cisco IOS, ACL обрабатываются сверху
вниз, последовательно с правилом deny all в
самом конце:
§  Совпадение параметров приводит к
срабатыванию ACL;
ACL могут быть включены/выключены для
заданного временного интервала;
ACL состоят из примитивов Access Control
Entries (ACE)
§  Примечания можно задавать и для ACE, и для
ACL;
§  ACE может содержать такие объекты, как
пользователь/группа, метка SGT, и т.д.
ASA оперирует ‘реальными IP’ в ACL
38
Концепция глобальных списков контроля доступа
Global ACL
config(asa)# access-group name global
Глобальные списки контроля доступа применяются только для входящего
трафика на всех интерфейсах:
Нет необходимости создавать одинаковые правила на каждом интерфейсе, что экономит
память и процессорное время;
§  До тех пор, пока пакет подпадает под заданный критерий адреса источника и назначения,
входной интерфейс не имеет значения.
§ 
Глобальные списки контроля доступа используют такие же системнотехнические решения, что и правила, применяемые к интерфейсам, таким
образом масштабируемость и производительность одинакова:
§ 
Применяются к транзитному трафику, нельзя применить к трафику к Control Plane –
аргументы control-plane и global нельзя использовать совместно.
39
Концепция глобальных списков контроля доступа
Global ACL
config(asa)# access-group name global
ASA использует следующий порядок применения списков контроля доступа (используются только
интерфейсные ACL):
§ 
§ 
Интерфейсные ACL;
Правило по умолчанию для данного интерфейса deny ip any any.
ASA использует следующий порядок применения списков контроля доступа (совместное
использование глобальных и интерфейсных ACL):
§ 
§ 
§ 
Интерфейсные ACL;
Глобальные ACL;
Глобальное правило по умолчанию deny ip any any.
40
Политики контроля доступа на основе
принадлежности пользователя к группе
§  Версии старше 8.4.2 позволяют
использовать две новых
конструкции: импорт
пользователя/группы из Microsoft
Active Directory и FQDN в списках
контроля доступа.
41
Политики контроля доступа на основе
принадлежности пользователя к группе
§  Требует использования агента (CDA);
§  Поддерживает отказоустойчивость и
масштабируемость;
§  Не требует установки на доменном
контроллере;
§  Информация о пользователе и группе
отображается в журналах (требует
включения).
42
Использование меток безопасности на ASA:
Secure Group-based FireWall
43
ASA 9.0(1)
Использование меток безопасности на 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
Назначение меток SGT непосредственно на ASA
Cisco Meta Data (CMD) Ethertype позволяет передавать метки SGT источника
трафика
Пограничные устройства назначают метки, транзитные применяют SG ACL.
DMAC
SMAC
0x8909
Ethertype
802.1q
Versio
n
CMD
Length
EType
SGT Opt
Type
Payload
SGT
Value
CRC
Options
ASA 9.0(1)
Использование меток безопасности на ASA
ASA поддерживает локально заданные правила SG ACL, где метки могут
использоваться и для источника, и для назначения:
§  Специальный код отображает метки и их имена в реальные текущие IP-адреса
перед применением политики;
§  Привязки SGT↔имена меток загружаются с Cisco ISE;
§  Привязки IP↔SGT должны быть загружены с пограничных устройств с
помощью протокола Security tag eXchange Protocol (SXP).
From HR_ADMIN group on
10.1.1.1
To any destination
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 IP with tag
22
From any IP on INSIDE
ASA 9.0(1)
Security Group ACL (SGACL) на ASA
при использовании SXP
ISE
5. Authenticate
against AD
Active
Directory
2. John logs in
John
Smith 10.1.200.3
4.
Authorization
request to ISE
3. Port authorized
(802.1x)
6. Assign
SGT 333
1. Resolve SG
Names to Tags
8. Propagate IP↔SGT
bindings via SXP
File Server
10.1.100.222
7. Bind
10.1.200.3↔SGT 333
9. Policy lookup
and enforcement
IP Packet
Source
Destination
Marketing
File Server
Any
Any
Actio
n
[SGT 333] 10.1.200.3 [SGT 111] 10.1.100.222 Allow
Deny
47
ASA 9.3(1)
Назначение меток SGT непосредственно на ASA
ASA 9.3(1) позволяет назначать метки SGT, и применить SGACL на основе метки
источника, удалять и переписывать метки, тегировать пользовательский траффик из
VPN:
Включаем inline SGT-режим.
Без него TrustSec фреймы
будут сброшены, как
некорректные
Без этой команды, будут
использоваться привязки
IP↔SXP от внешних
устройств.
interface GigabitEthernet0/0
Назначать метку SGT 100 для
фреймов, приходящих на этот
интерфейс, если они их не имеют или
имеют от не доверенных устройств
nameif inside
cts manual
policy static sgt 100 trusted
no propagate sgt
(Опция) доверять меткам SGT в
фреймах, полученных на данном
интерфейсе
(Опция) Выключить передачу
информации о метках наружу.
Включено по умолчанию.
ASA 9.3(1)
SGACL Operation with Inline Tagging
ISE
5. Authenticate
against AD
Active
Directory
2. John logs in
John
Smith 10.1.200.3
IP Packet
1. Resolve SG
Names to Tags
4.
Authorization
request to ISE
6. Assign
SGT 333
8. Propagate destination
IP↔SGT bindings via SXP
3. Port authorized
(802.1x)
File Server
10.1.100.222
7. Tag all incoming
frames on interfaces with
SGT 333
SGT 333
IP Packet
9. Policy lookup
and enforcement
Source
Destination
[SGT 333]
Marketing
[SGT File
111] Server
10.1.100.222
Any
Any
Actio
n
Allow
Deny
49
Поддержка динамической авторизации
VPN-пользователей
ASA 9.2(1)
При использовании ASA до версии 9.2(1) требовалось использовать ISE Inline
Posture Node (IPN):
§  Ограничение при проверке VPN-пользователей – сложная схема их проверки на
соответствие корпоративной политике безопасности (антивирус, патчи и т.д и т.п.)
Поддержка динамической авторизации
VPN-пользователей
ASA 9.2(1)
В ASA 9.2(1) больше не нужен IPN, так как реализована поддержка RADIUS Change of
Authorization (CoA):
§  Traffic redirect ACL и URL загружаются с ISE для проверки на соответствие политике
и перенаправления на портал;
§  Независящий от возможностей клиента функционал Cisco ISE по загрузке
обновлений dACL или терминирование VPN-сессии непосредственно на ASA.
1. Клиент RAVPN
подключается к ASA
3. Клиент обращается к ISE для
опциональной загрузки NAC
агента и прохождения процедуры
проверки
2. ASA авторизует пользователя в ISE, применяет
ограничивающий dACL для проведения проверок
соответствия политикам NAC
4. ISE сообщает ASA какую метку SGT назначить и
присылает новый dACL в соответствии с результатом
проверки
Новые возможности управления
Cisco ASA
Использование несуществующих или пустых
объектов
ASA 9.3(2)
Парсер 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) реализован новый механизм использования объектов:
config(asa)# object-name forward-reference
§ 
§ 
§ 
§ 
ACL могут использовать пустые объекты или группы объектов;
ACL могут ссылаться на несуществующие объекты или группы объектов;
Группы объектов могут ссылаться на несуществующие объекты;
Объекты и группы объектов могут быть удалены, даже если используются в ACL или NAT.
Данная функциональность разрабатывается для использования совместно с системами
оркестрации.
ASA 9.3(2)
Сессии конфигурирования
В настоящий момент изменения конфигурации применяются моментально:
§  На 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
Сохраняет текущую сессию для
дальнейшего использования
Показ имеющихся сессий конфигурации и
ассоциированных с ними изменений
Отмена всех изменений и удаление текущей
сессии конфигурирования
Применение внесённых изменений в
транзакционном режиме
Сохраняет сессию для дальнейшего
использования, можно к ней позже
вернуться; опция noconfirm полезна для
скриптов
Откат изменений к последней
подтверждённой сессии
ASA 9.3(2)
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.
Object-based Access
REST Interface
Cisco ASA/ASAv
CLI Passthrough
ASA 9.3(2)
REST API Examples
Create an ACL Entry
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
}
Interface name
Rule direction (in or
out)
True for permit or false
for deny
Source IP address
Destination IP address
Insert at position 1
Retrieve an Object by Name
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"
}
Network object
name
Network object IP
address
Execute Arbitrary Command
POST /cli
{
"commands": [
"show version | i Serial",
]
}
{
"response": [
"Serial Number: JMX09491111\n"
]
}
Список для проверки при внедрении ASA
(граница сети)
§  Настраиваем основную ASA:
–  Режим работы: маршрутизируемый, прозрачный
или смешанный;
–  Выбрать логику безопасности для интерфейсов;
–  Настроить интерфейсы:
ISP-A
ISP-B
Edge
Aggregation
DMZ Network(2)
(Public Web/DB)
§  EtherChannel / LACP / Redundant;
§  Nameif / Security-level / IP addressing;
§  VLAN tagging / sub-interfaces / trunk.
G0/0
VLAN 150
G0/1
–  Маршрутизация:
G0/4
§  Default route / static / routing protocols.
VLAN 151
G1/1
G0/5
G0/2
–  Сетевая трансляция адресов NAT:
§  Static and Dynamic Translations;
§  Auto NAT & Twice NAT.
G0/3
VPC
–  Списки контроля доступа – ACL:
§  Interface ACL;
§  Global ACL;
§  Оптимизация ACL.
G1/0
VPC
Edge Aggregation
VDC
VLAN 2
VLAN 120
§  Управление Cisco ASA
59
VLAN 1299
#CiscoConnectRu
Пожалуйста, используйте код для оценки
доклада:
9590
Руслан Иванов
Системный инженер-консультант
+7 (495) 961-1467
[email protected]
CiscoRu
25/11/14
Cisco
© 2014 Cisco and/or its affiliates. All rights reserved.
CiscoRussia