Cisco Security
Материал из Xgu.ru
[править] Безопасность канального уровня
[править] CAM table overflow
ограничено
использовать. Таблица коммутации заполняется и после этого коммутатор работает как хаб.
Это значит, что после выполнения атаки, подключившись к любому порту коммутатора, можно перехватывать весь трафик в пределах широковещательного домена, которому принадлежит порт.
Это не касается тех записей в таблице коммутации, которые были до начала выполнения атаки. Трафик к компьютерам, MAC-адреса которых уже были в таблице коммутации, отправляется не широковещательно.
Атаку можно выполнить, например, с помощью утилиты macof, которая входит в dsniff.
Атака сама по себе не влияет на работу VLAN, но может быть основой для выполнения последующих атак на VLAN или других типов атак.
[править] Пример выполнения атаки
Сначала на трех коммутаторах почистить таблицы коммутации:
SW_1# clear mac address-table dynamic
После этого начать атаку. Атака с помощью macof утилиты, которая входит в dsniff:
macof -i eth1
После этого коммутатор работает как хаб.
Если пингануть с машины одного студента машину другого или маршрутизатор, то трафик видят все в одном широковещательном домене.
[править] Защита от атаки
Функция port security.
[править] STP Manipulation
Отправка BPDU корневого коммутатора:
sudo yersinia stp -attack 4 -interface eth1
[править] BPDU Guard
Перевод в режим portfast всех access портов:
SW_1(config)#spanning-tree portfast default
Посмотреть суммарную информацию о включенных функциях:
SW_1#sh spanning-tree summ Switch is in rapid-pvst mode Root bridge for: VLAN0010 Extended system ID is enabled Portfast Default is enabled PortFast BPDU Guard Default is disabled Portfast BPDU Filter Default is disabled Loopguard Default is disabled EtherChannel misconfig guard is enabled UplinkFast is disabled BackboneFast is disabled Configured Pathcost method used is short Name Blocking Listening Learning Forwarding STP Active ---------------------- -------- --------- -------- ---------- ---------- VLAN0001 0 0 0 4 4 VLAN0010 0 0 0 2 2 ---------------------- -------- --------- -------- ---------- ---------- 2 vlans 0 0 0 6 6
Посмотреть включен ли portfast на порту:
SW_1#sh spanning-tree interface fa 0/10 portfast VLAN0001 disabled VLAN0010 disabled SW_1#sh spanning-tree interface fa 0/2 portfast VLAN0001 enabled
Включение bpduguard на всех портах portfast:
SW_3(config)#span portfast bpduguard default
[править] Root Guard
The root guard ensures that the port on which root guard is enabled is the designated port. Normally, root bridge ports are all designated ports, unless two or more ports of the root bridge are connected together. If the bridge receives superior STP Bridge Protocol Data Units (BPDUs) on a root guard-enabled port, root guard moves this port to a root-inconsistent STP state. This root-inconsistent state is effectively equal to a listening state. No traffic is forwarded across this port. In this way, the root guard enforces the position of the root bridge.
Если на интерфейсе не должны появляться сообщения корневого коммутатора, то на нем можно настроить Root Guard:
SW_1(config-if)#spanning-tree guard root
[править] Отличия между STP BPDU Guard и STP Root Guard
BPDU guard and root guard are similar, but their impact is different. BPDU guard disables the port upon BPDU reception if PortFast is enabled on the port. The disablement effectively denies devices behind such ports from participation in STP. You must manually reenable the port that is put into errdisable state or configure errdisable-timeout.
Root guard allows the device to participate in STP as long as the device does not try to become the root. If root guard blocks the port, subsequent recovery is automatic. Recovery occurs as soon as the offending device ceases to send superior BPDUs.
[править] DHCP attack
DHCP starvation DHCP spoofing
[править] DHCP Snooping
- Основная страница: DHCP snooping
[править] ARP-spoofing (ARP-poisoning)
[править] VLAN Trunking Protocol
[править] VLAN Management Policy Server (VMPS)/ VLAN Query Protocol (VQP)
[править] Cisco Discovery Protocol (CDP)
[править] Storm Control
switch(config-if)# storm-control <broadcast | multicast | unicast> level <level [level-low] | bps bps [bps-low] | pps pps [pps-low]>
switch(config-if)# storm-control action <shutdown | trap>
switch# show storm-control [broadcast | multicast | unicast]
[править] Private VLAN (PVLAN)
[править] Безопасность VLAN
- Основная страница: Безопасность VLAN
[править] VLAN Hopping
Поднятие транка (атака с использованием протокола DTP). Отправка сообщения DTP для поднятия транка между компьютером атакующего и коммутатором:
sudo yersinia dtp -attack 1 -interface eth1
Двойное тегирование фрейма
[править] Уязвимости PVLAN
[править] Port Security
- Основная страница: Port security
[править] IP Source Guard
[править] Dynamic ARP Inspection
- Основная страница: Dynamic ARP Inspection
[править] Аутентификация при доступе к сети
- Основная страница: Аутентификация при доступе к сети
[править] Cisco Network Foundation Protection
[править] Control Plane
[править] Control Plane Protection
- Control Plane Protection
- Control Plane Policing Implementation Best Practices
- Understanding Control Plane Protection
- Control Plane Protection inbound packet classification
Aggregate CoPP -- когда включается CPPr, настройки CoPP остаются. CoPP применяется ко всему трафику. А CPPr делит трафик на классы, и соответственно обрабатывает его (если СoPP его пропустила). CPPr позволяет выполнять более тонкие настройки. С CPPr на любой из подынтерфейсов может быть применена CoPP.
CPPr выделяет три подынтерфейса:
- Control-plane host subinterface
- Control-plane transit subinterface
- Control-plane CEF-exception subinterface
Функции CPPr:
- CoPP
- Port Filter -- позволяет раньше обнаруживать и отбрасывать трафик, который идет на закрытые порты. Используется, например, для того чтобы предотвратить DoS-атаки на устройство.
- Queue Thresholding -- функция предотвращает перегрузку входящей очереди трафиком одного протокола.
Название подынтерфейса | Какой трафик попадает в этот интерфейс | Функции CPPr, которые могут быть применены |
---|---|---|
Host | IP-трафик, который предназначен самому маршрутизатору (например: SSH, SNMP, EIGRP) | CoPP, Port Filter, Queue Thresholding |
Transit | IP-трафик, который идет через маршрутизатор. | CoPP |
CEF-exception | Не IP-трафик, CDP, ARP (OSPF?, eBGP?) | CoPP |
[править] Настройка CoPP
Поддерживаются такие критерии для классификации в class-map:
- стандартные и расширенные ACL,
- match ip dscp,
- match ip precedence,
- match protocol arp.
В policy-map, которая используется для CoPP, такие ограничения:
- Действия:
- drop
- police (transmit)?
- Политика может применяться в исходящем направлении только в Aggregate CoPP.
- Во входящем направлении политики могут применяться в подынтерфейсах и в Aggregate CoPP.
Применение политики к host-подынтерфейсу:
dyn1(config)# control-plane host dyn1(config-cp-host)# service-policy input TESTP
[править] Настройка Port Filter Policy
Критерии для class-map type port-filter:
- closed-ports
- not
- port
Пример настройки class-map для фильтрации портов:
dyn1(config)# class-map type port-filter match-all PF dyn1(config-cmap)# match closed-ports
Настройка policy-map (единственное возможное действие drop):
dyn1(config)# policy-map type port-filter PF_POL
Применение политики к host-подынтерфейсу:
dyn1(config)# control-plane host dyn1(config-cp-host)# service-policy input PF_POL
|
Политика Port Filter может быть применена только к подынтерфейсу host во входящем направлении. |
[править] Management Plane
[править] Data Plane
[править] VPN
[править] IPsec в Cisco
- Основная страница: IPsec в Cisco
[править]
- Основная страница: Cisco ipsec preshared
[править] Настройка IPsec VPN с PKI
[править] DMVPN
- Основная страница: Настройка DMVPN на маршрутизаторах Cisco
[править] WebVPN
- Основная страница: Cisco Web VPN
[править] Easy VPN
- Основная страница: Cisco Easy VPN
[править] ACL
- Основная страница: Cisco ACL
[править] Проверка Reverse Path Forwarding (RFP)
dyn1(config-if)# ip verify unicast source reachable <rx|any> [allow-default] [allow-self-ping] [list]
[править] Cisco IOS Firewall
[править] Context-based Access Control (CBAC)
Создание правила инспектирования:
dyn1(config)# ip inspect name GEN tcp dyn1(config)# ip inspect name GEN udp dyn1(config)# ip inspect name GEN icmp
Применение правила инспектирования на интерфейсе:
dyn1(config)# interface FastEthernet0/0 dyn1(config-if)# ip inspect GEN in
[править] Настройка таймеров
Значения таймеров по умолчанию:
dyn1#sh ip inspect config Session audit trail is disabled Session alert is enabled one-minute (sampling period) thresholds are [unlimited : unlimited] connections max-incomplete sessions thresholds are [unlimited : unlimited] max-incomplete tcp connections per host is unlimited. Block-time 0 minute. tcp synwait-time is 30 sec -- tcp finwait-time is 5 sec tcp idle-time is 3600 sec -- udp idle-time is 30 sec tcp reassembly queue length 16; timeout 5 sec; memory-limit 1024 kilo bytes dns-timeout is 5 sec Inspection Rule Configuration Inspection name GEN tcp alert is on audit-trail is off timeout 3600 udp alert is on audit-trail is off timeout 30 icmp alert is on audit-trail is off timeout 10
Время ожидания установки TCP-соединений (по умолчанию 30 секунд):
dyn1(config)# ip inspect tcp synwait-time 20
Время ожидания завершения TCP-соединений (по умолчанию 5 секунд):
dyn1(config)# ip inspect tcp finwait-time 8
Время ожидания до завершения неактивного TCP-соединение (по умолчанию 5 секунд):
dyn1(config)# ip inspect tcp idle-time 900
dyn1(config)# ip inspect dns-timeout 8
Ограничения для незавершенных соединений. Если количество незавершенных соединений будет более чем верхний (high) порог 800, то они будут удаляться до тех пор пока не достигнут нижнего (low) порога 600:
dyn1(config)# ip inspect max-incomplete low 600 dyn1(config)# ip inspect max-incomplete high 800
Ограничения на незавершенные соединения от хоста.
[править] CBAC и Java
- ACL для блокирования Java должен быть стандартным,
- Если примененный ACL не существует, то Java будет заблокирована со всех адресов,
- CBAC на может обнаружить Java апплеты, которые находятся внутри архивов или передаются по FTP, Gopher или нестандартным HTTP портам.
ACL, который указывает из каких сетей разрешено прохождение Java:
dyn1(config)# access-list 3 permit 192.168.1.0 0.0.0.255
Настройка правила инспектирования:
dyn1(config)# ip inspect name Java http java-list 3 alert on audit-trail on
[править] Cisco IOS Classic Firewall
[править] Cisco IOS Zone-Based Policy Firewall
Zone-Based Policy Firewall — новый подход Cisco к настройке правил межсетевого экрана на маршрутизаторе. В его основе лежит распределение интерфейсов маршрутизатора по зонам безопасности. После этого все правила настраиваются для взаимодействий между зонами.
Такой подход облегчает настройки правил межсетевого экрана. Кроме того в Zone-Based Policy Firewall используется Cisco Policy Language (CPL), которая позволяет более гибко, чем в предыдущих версиях межсетевого экрана, настраивать правила фильтрации трафика.
Zone-Based Policy Firewall появился начиная с IOS 12.4(6)T.
- Основная страница: Zone-Based Policy Firewall
[править] Cisco IOS Firewall Authentication Proxy
[править] Ограничения
[править] Cisco IOS IPS
[править] Дополнительная информация
- Cisco Guide to Harden Cisco IOS Devices
- Access Control Lists and IP Fragments
- Cisco IOS Security Configuration Guide: Securing the Data Plane, Release 12.4
- Cisco IOS Security Command Reference