| 2.3.6 Списки контроля доступа (ACL) |
|
ACL (
Access Control Lists) – списки контроля доступа, могут использоваться в большом количестве различных сетевых операций, таких как управление маршрутизацией, контроля доступа к маршрутам, фильтрации системных выводов с
CLI интерфейсов и коля над параметрами внешних шлюзов, таких как BGP AS-path. ACL, также могут использоваться для контроля доступа к NAT (
Network Address Translation - преобразование сетевых адресов) или фильтрации протоколов не относящихся к IP. В зависимости от опций, установленных на Cisco IOS (Internetwork Operating System — Межсетевая Операционная Система), ACL могут быть использованы для шифрования.В коммутаторах
FCoE, ACL в основном используются на уровнях доступа, они фильтруют трафик и контролируют управление маршрутизацией. Фильтрация может выполняться на основе IP, MAC, VLAN адресов, а также на основе номеров портов UDP/TCP.ACL, представляют собой набор правил и действий, разделенных порядковыми номерами. Действия в ACL, называются ACE (Access Control Entries – записи контроля доступа). Каждая ACE запись, определяет, какое действие с пакетом разрешено или запрещено выполнять. Чтобы выполнилось правило, все условия должны быть выполненными. В каждом правиле, можно указать источник и направление трафика, который удовлетворяет правилу. Также можно указать в качестве источника и получателя определенный узел или группу узлов в сети, или сеть (подсеть) целиком.
Неявные запрещающие списки ACL, имеют неявные правила. Эти правила не видны в рабочей конфигурации. Коммутатор исполняет эти правила, когда трафик не попадает ни под одно из описанных в ACL правил. Все списки ACL для IP (IPv4), включают в себя неявное правило “deny ip any any”. Данное правило запрещает прохождение через коммутатор IP трафика, который не описан ни в одном правиле. Чтобы отменить это правило для IP ACL, нужно выполнить команду“permit ip any any”. Если данную команду не прописать в конец ACL, то всегда будет выполняться правило “deny ip any any”, которое скрыто в списке каждого ACL.
Шаблонная маска (wildcard mask)
Шаблонные маски используются для включения большого количества адресов в политику или ACE. Например:
Пример 1
deny ip 10.0.0.0 0.0.0.255
Пример 2
deny ip 10.0.0.1 0.0.0.0
◆ В первом примере ACE, все узлы в сети с маской 10.0.0.0/24, включены в запрещающее правило.
◆ Во втором примере ACE, узел с адресом 10.0.0.1, включен в запрещающее правило.
Шаблонная маска интерпретируется коммутатором, как двоичная маска, в которой значение бита, установленного в 1, означает совпадением с любым битом, находящегося в соответствующей позицией бита в IP адресе.
Значение бита равным 0, означает обратное. Поэтому, если требуется блокировать только один узел, то маска должна содержать одни нули, 0.0.0.0, как показано во втором примере.
Также можно заблокировать только один сетевой IP адрес в ACE, при помощи команды “ host ”. Вместо команды deny ip 10.0.0.1 0.0.0.0, можно выполнить deny ip host 10.0.0.1.
2.3.6.1 Логические операторы
Заполнение ACL для трафика TCP и UDP, возможно при помощи логических операторов, которые позволяют фильтровать трафик, на основе используемых номеров портов. Наиболее часто используемым оператором, является оператор eq (равно). Данные операторы используются, чтобы фильтровать трафик, идущий через выбранный порт UDP/TCP, группу портов, или наоборот, разрешить прохождение трафика через указанный порт (используя оператор neq (не равен)). Ниже представлен доступный список операторов, доступных при заполнении списков ACL:
Пример использования операторов:
Пример 1
permit udp host 192.168.0.1 any eq tftp
Пример 2
deny tcp host 172.16.10.1 host 10.10.10.1 gt 100
◆ В первом примере приведена команда, разрешающая tftp трафик от сервера 192.168.0.1 ко всем узлам в сети.
◆ Во втором примере приведена команда, блокировки tcp всех портов, выше 100 от адреса 172.16.10.1 на адрес 10.10.10.1.
Использование операторов, помогает уменьшить количество ACE записей. Меньшее количество строк в политиках коммутатора, требует меньше времени на анализ политик ОС NX-OS/FabricOS, что теоретически, может увеличить производительность коммутатора.
2.3.6.2 Увеличение безопасности
Безопасность может быть обеспечена при помощи фильтрования трафика. Для контроля доступа и запрета передачи нежелательного трафика, в коммутаторах используются ACL. На рисунке 25, показан пример использования IP ACL.
Рисунок 25. Пример использования IP ACL
Как показано на рисунке 25, администратор сети блокирует весь поступающий трафик, от User1 на Web Server. Стандартная безопасность IP ACL может обеспечивать блокировку всего поступающего трафика. Если используется расширенный ACL, то возможна блокировка только определенных UDP/TCP портов.
IP ACL
Чтобы создать IP ACL на NEX-5020, требуется выполнить следующее:
1. Требуется создать список ACL и создать политики ACE permit/deny, для определенного узла:
NEX-5020 (config)# ip access-list ACL_name
NEX-5020 (config-acl)# deny ip 10.0.0.1 0.0.0.0 any
NEX-5020 (config-acl)# permit ip any any
NEX-5020 (config-acl)# statistics
2. Далее следует применить ACL для входящего трафика на интерфейсе:
NEX-5020 (config)# interface ethernet 1/1
NEX-5020 (config-if)# ip port access-group ACL_name in
В настоящее время IP ACL не поддерживается коммутаторами MP-8000B. Однако можно использовать безопасность IPv4 ACL, но для этого потребуется знать MAC адреса отравителя и получателя. Пример настройки коммутатора, изображенного на рисунке 25:
seq 1 deny host 0023.ae9b.161f any ipv4
permit any any
Как показано на примере, настройка ACE, не позволяет всем пакетам IPv4, отправленным с узла с MAC адресом 0023.ae9b.161f, попадать в сеть. Строка ACE permit any any, позволяет включить прохождение через коммутатор другого трафика.
MAC ACL
Защита MAC ACL, может быть использована, как дополнение к IP ACL.
Для настройки MAC ACL на коммутаторе NEX-5020, требуется выполнить следующее:
1. Требуется создать список ACL и создать политики ACE permit/deny, для определенного узла. Команда statistics, используется для просмотра статистики срабатывания ACL.
NEX-5020 (config)# mac access-list ACL_name
NEX-5020 (config-mac-acl)# deny 0023.ae9b.161f 0000.0000.0000 any
NEX-5020 (config-mac-acl)# statistics
2. Далее следует применить ACL для входящего трафика на интерфейсе:
NEX-5020 (config)# interface ethernet 1/1
NEX-5020 (config-if)# mac port access-group ACL_name
Для настройки MAC ACL на коммутаторе MP-8000B, требуется выполнить следующее:
1. Требуется создать список ACL и создать политики ACE permit/deny, для определенного узла. Ключ count, включает сбор статистики срабатывания правила ACL.
MP-8000B (config)# mac access-list standard ACL_name
MP-8000B (conf-macl-std)# seq 1 permit 0023.ae9b.161f count
2. Далее следует применить ACL для входящего трафика на интерфейсе:
MP-8000B (config)# interface TenGigabitEthernet 0/0
MP-8000B (conf-if-te-0/0)# mac access-group ACL_name in
3. Для просмотра статистики срабатывания правила ACL, воспользуйтесь командой show statistics access-list mac:
MP-8000B # show statistics access-list mac mac_ext_acl
mac access-list extended mac_ext_acl on interface Te 0/0
seq 1 deny host 0efc.0001.0801 any 8100
seq 2 deny host 0efc.0001.0801 any 8914
mac access-list extended mac_ext_acl on interface Te 0/3
seq 1 deny host 0efc.0001.0801 any 8100
seq 2 deny host 0efc.0001.0801 any 8914
mac access-list extended mac_ext_acl on interface Te 0/0
seq 1 deny host 0efc.0001.0801 any 8100
seq 2 deny host 0efc.0001.0801 any 8914
mac access-list extended mac_ext_acl on interface Te 0/3
seq 1 deny host 0efc.0001.0801 any 8100
seq 2 deny host 0efc.0001.0801 any 8914
MP-8000B #
Расширенные возможности MAC ACL в MP-8000B
Расширенные возможности MAC ACL, включены в коммутаторы MP-8000B. Используя дополнительные параметры, которые приведены в таблице ниже, позволяют добиться достаточно гибких настроек, как и в NEX-5020:
Фильтрация трафика FCoE
Используя различные значения EtherType в списках ACE, позволяет создавать гибкие конфигурации, которые могут фильтровать пакеты FCoE. Фильтрация пакетов FCoE, может выполняться по заголовкам пакетов 8906 Ethertype. Блокирование пакетов FCoE, можно осуществить при помощи одной из следующих команд:
seq 1 deny host
или
seq 1 deny host
На рисунок 26 показан пример фильтрации трафика FCoE.
Рисунок 26. Пример фильтрации трафика FCoE.
Чтобы включить фильтрацию FCoE трафика, достаточно выполнить следующие действия:
1. Создать правило ACL.
2. Создать ACE, запрещающий передачу пакетов FCoE с host1.
Ключ count, включает сбор статистики срабатывания правила ACL.
MP-8000B (config)# mac access-list extended ACL_name
MP-8000B (conf-macl-ext)# seq 1 deny host 0e:fc:00:01:08:01 any 8906 count
Нужно использовать MAC адрес сессии CNA адаптера, а не физический или актуальный MAC адрес адаптера. MAC адрес сессии, адаптер получает во время логина в сеть (fabric login), и он задается коммутатором. Посмотреть MAC адрес сессии, можно увидеть при помощи команды fcoe –loginshow:
MP-8000B:admin> fcoe --loginshow
=============================================================================
Port Te port Device WWN Device MAC Session MAC
=============================================================================
8 Te 0/0 21:00:00:c0:dd:10:28:bb 00:c0:dd:10:28:bb 0e:fc:00:01:08:01
MP-8000B:admin>
MP-8000B # show mac-address-table
VlanId Mac-address Type State Ports
1 00c0.dd10.28ba Dynamic Active Te 0/0
1 0201.0000.0000 Dynamic Active Te 0/0
1002 0efc.0001.0801Dynamic Active Te 0/0
3. Далее следует применить ACL для входящего трафика на интерфейсе:
MP-8000B (config)# interface TenGigabitEthernet 0/0
MP-8000B (conf-if-te-0/0)# mac access-group ACL_name in
VLAN ACL (VACL)
VLAN Access Control List (VACL) - списки контроля доступа к VLAN, используется только при передаче данных между VLAN сетями. VACL служит указателем на ACL. Проще говоря, VACL является картой доступа к IP ACL и MAC ACL. VACL настраивается после завершения настроек IP ACL или MAC ACL. Только трафик, разрешенный в IP ACL или MAC ACL, может быть настроен в VACL. VACL осуществляет контроля доступа к шлюзу в VLAN сети. VACL не может работать напрямую с портами коммутатора. На рисунке 27, показан пример блокировки IP трафика от host1, в нутрии сети VLAN100. VACL позволяет уменьшить время настройки сети, т.к. не требуется создавать IP ACL, для каждого порта VLAN.
Рисунок 27. Пример использования VACL
Для создания VACL на коммутаторе NEX-5020, следует выполнить следующие шаги:
1. На коммутаторе нужно создать стандартное правило IP ACL, чтобы «прописать» host1:
NEX-5020 (config)# ip access-list IP_ACL_name
NEX-5020 (config-acl)# permit ip 10.0.0.1 0.0.0.0 any
NEX-5020 (config-acl)# exit
2. Следует создать карту доступа, для работы с недавно созданной IP ACL.
a. Выполните команду map для вызовы IP ACL.
b. Укажите действие, которое коммутатор будет выполнять с трафиком, который описывает ACL:
NEX-5020 (config)# vlan access-map VACL_name
NEX-5020 (config-access-map)# match ip address IP_ACL_name
NEX-5020 (config-access-map)# action drop
NEX-5020 (config-access-map)# exit
3. Примените VACL к VLAN:
NEX-5020 (config)# vlan filter access-map VACL_name vlan-list 100
Безопасность SNMP
SNMP (Simple Network Management Protocol - протокол простого управления сетями), используется для управления сетевыми устройствами в TCP/IP сетях. Его основной задачей, является возможность сбора статистической информации с сетевых узлов, таких как серверы, коммутаторы и шлюзы. В качестве ресурса для расшифровки сообщений SNMP, используют MIB (Management Information Base - база данных информации управления). В качестве транспортного протокола используется UDP, т.к. он достаточно прост и не создает большой нагрузки на сеть.
SNMP состоит из двух типов объектов:
◆ Только чтение, используется в режиме отладки.
◆ Доступных на чтение, позволяют управлять сетевым устройством
Оба типа объектов используются утилитами для управления сетевыми устройствами по SNMP. Однако большинство системных администраторов не отключают SNMP, создавая тем самым уязвимость сети к хакерским атакам, которые могут изменить конфигурацию сети, с целью хищения информации. Поэтому, политика использования SNMP, должна соответствовать политикам безопасности. Запрет на использование SNMP, может быть создан с использованием запрещающих ACL или ACE. Наборы политик могут включать списки серверов, которые имеют право доступа к SNMP и ограничивать их доступ к приложению управления сетью по SNMP.
Следующий пример показывает настройку ACE, которая позволяет получить доступ двум узлам к SNMP:
1. Создайте ACL, и затем создайте ACE, который позволяет использование SNMP (161) и SNMP Traps (162) узлам 10.0.0.1 и 10.0.0.2.
ip access-list ACL_name
permit udp host 10.0.0.1 any eq snmp
permit udp host 10.0.0.1 any eq snmptrap
permit udp host 10.0.0.2 any eq snmp
permit udp host 10.0.0.2 any eq snmptrap
2. Далее следует применить ACL на интерфейсе:
interface ethernet 1/1
ip port access-group ACL_name in
Полезные команды ACL
В таблице 6, приведен список полезных команд, для настройки ACL.
Таблица 6. Команды ACL
Отладка ACL
Режим отладки может быть включен для более подробного журналирования производимых коммутатором действий в режиме реального времени.
Наиболее часто, режим отладки используется, когда возникают ошибки с функционированием коммутатора или конфликтами с другими коммутаторами. Постоянное журналирование в режиме отладки, генерирует большое количество информации. Работа в режиме отладки, может влиять на производительность CPU и памяти коммутатора, что может повлечь за собой повышение задержек при передаче пакетов. Поэтому, не забывайте отключать режим отладки, если использовали его.
Следующие опции режима отладки доступны для ACL. Обычно опция “all” используется для журналирования и просмотра всех действий, относящихся к ACL.
NX-5010-16# debug aclmgr ?
All Configure all debug flags of aclmgr
errors Configure debugging of aclmgr errors
events Configure debugging of aclmgr events
fsm Configure debugging of aclmgr FSM events
ha Configure debugging of aclmgr HA
ppf Configure PPF debugs
trace Configure debugging of aclmgr trace
|


