Перейти к основному содержанию

Боковая панель

Merion Academy

0

Уведомления

Уведомлений нет

Смотреть все

0

Личный кабинет

О пользователе

Оценки

Сообщения

Настройки

Выход

OCT-1

Участники

Значки

Компетенции

Добро пожаловать!

Введение в сетевые технологии

TCP и UDP

Принципы построения коммутируемых сетей

Про VLAN (Virtual Local Area Network)

Про DHCP (Dynamic Host Configuration Protocol)

Работа с маршрутизатором

Протокол динамической маршрутизации EIGRIP (Enhanced Interior Gateway Routing Protocol)

Протокол динамической маршрутизации OSPF (Open Shortest Path First)

Протокол динамической маршрутизации BGP (Border Gateway Protocol)

Говорим про Route Redistribution

Листы контроля доступа (ACL)

Протокол Spanning Tree (STP)

Агрегация по технологии EtherChannel

Настройка VPN (Site-To-Site IPSec, DMVPN)

WLAN (беспроводные сети)

Частный траблшутинг и устранение неисправностей

Финальный тест

Личный кабинет

Домашняя страница

Календарь

Личные файлы

Мои курсы

Сетевой инженер: основы сетевых технологий

Личный кабинет

Мои курсы

OCT-1

Листы контроля доступа (ACL)

ACL check - анализ списков доступа сетевого оборудования Cisco

Если Вы не раз сталкивались с большими списками доступа и/или входящими в них object-группами, то наверняка уже задавались вопросом, существует ли инструмент, позволяющий определить, пропустит ли access-лист некий заданный трафик и вообще, какие строки имеют к этому отношение.

Конечно, такие инструменты существуют и полностью или частично решают перечисленные задачи. Однако, эти инструменты как правило являются частью функционала больших "комбайнов" управления сетью, 90% функционала которых Вас не интересует.

Чтобы продолжить, необходимо скачать утилиту ACL check

Безусловно, никто не запрещает использовать регулярные выражения для поиска определённых строк списка доступа прямо в консоли сетевого устройства. Но данный метод предоставит очень поверхностный результат. Например, он не отобразит доступ хоста, попадающего в сетевую маску или порт, попадающий под диапазон. Тем более, таким образом нельзя отобразить все существующие доступы между двумя заданными узлами/сетями. Знающий сетевой администратор осведомлён о безрезультативности метода простого парсинга access-листа в таких ситуациях.

Данная небольшая утилита создана именно для этого - найти строки access-листа, разрешающие или запрещающие определённый сетевой трафик. И даже более - выявить все строки, имеющие отношение к доступам между интересующими узлами или сетями.

Идея использования проста: Вы задаёте критерий, а программа находит строки access-листа, которые ему удовлетворяют. При этом, сам критерий выглядит как строка access-листа, но без использования оператора "permit" или "deny".

Если регулярно добавлять сетевые правила в access-лист без должной проверки их существования, то списки доступа могут содержать большое количество избыточных правил. Чтобы навести порядок в таких access-листах, в данной программе реализован функционал анализа списков доступа на избыточность. Вы можете выявить ненужные строки и освободить ресурсы оборудования.

Для анализа ACL с object-группами программе необходимо указать состав object-групп. Вывод ACL будет предоставлен в развёрнутом виде.

У нас есть нужные для изучения листов доступа статьи:

Стандартные листы контроля доступа (ACL)

Расширенные листы контроля доступа (Extended ACL)

ИНТЕРФЕЙС ПРОГРАММЫ

Поле ввода access-листа

Поле ввода object-групп

Кнопка распознавания access-листа

Поле вывода access-листа в детальном виде

Однострочное поле ввода условия

Многострочный список ввода условий

Кнопка прямой проверки

Кнопка обратной проверки

Поле результата проверки

Шкала позиционирования поля детальных результатов (11) по отношению ко всему ACL

Поле просмотра детальных результатов проверки

Кнопка анализа ACL на конфликты и избыточность

Кнопка сортировки строк ACL по различным критериям

Маркер текущего активного условия в многострочном списке (6)

Шкала сокращённого обозначения результатов проверки условий многострочного списка

Переключатель типа маски для различного типа сетевого устройства

Переключатель алгоритма проверки адресов источника и назначения

Активация режима игнорирования строк ACL с ICMP протоколом в режиме частичного совпадения адресов

Меню выбора вариантов CLI команд в составе с именем ACL

Вывод object-групп, используемых в распознанном ACL

Вывод списка известных программе именованных протоколов, а также типов и кодов ICMP

Поле вывода ошибок, возникающих в процессе распознавания ACL

ОСНОВНЫЕ ШАГИ

Исходный access-list необходимо скопировать в поле 1. Если он содержит object-группы, то их состав необходимо скопировать в поле 2. ACL и object-группы можно копировать как с конфигурации устройства (“show running-config”, “show startup-config”), так и по прямым командам “show access-lists”, “show object”. Ниже приведён пример результата команды “show running-config”, допустимого для использования в поле 1:

ip access-list extended ACL
permit icmp host 172.16.0.6 host 172.21.0.6
permit ip host 172.16.0.6 host 172.21.0.1
permit tcp host 192.168.8.15 range 1024 65534 host 192.168.66.47
permit tcp 192.168.8.0 0.0.0.255 eq 22 1521 3389 addrgroup ADMIN_BSD
permit tcp host 192.168.8.12 eq 1521 192.168.83.20 0.0.0.1

Тот же access-list по команде “show access-lists”:

Extended IP access list ACL
10 permit icmp host 172.16.0.6 host 172.21.0.6
20 permit ip host 172.16.0.6 host 172.21.0.1 (32 matches)
30 permit tcp host 192.168.8.15 range 1024 65534 host 192.168.66.47
40 permit tcp 192.168.8.0 0.0.0.255 eq 22 1521 3389 addrgroup ADMIN_BSD (1 match)
50 permit tcp host 192.168.8.12 eq 1521 192.168.83.20 0.0.0.1

Пример результата команды “show running-config”, допустимого для использования в поле 2:

object-group ip address ADMIN_BSD
host-info 10.237.92.131
host-info 10.22.145.132
host-info 10.22.145.136
host-info 10.22.145.141

Содержимое вывода команды “show object-group”:

IP address object group ADMIN_BSD
host 10.237.92.131
host 10.22.145.132
host 10.22.145.136
host 10.22.145.141

Также допустимы и другие форматы object-групп. Пример допустимого фрагмента команды “show running-config”:

object-group network Servers
host 10.15.12.5
host 10.15.5.11
host 10.15.4.2
host 10.15.7.34
object-group service Ports1
tcp-udp eq domain
tcp-udp eq 88
udp range 3268 3269
tcp gt 49151

Пример того же фрагмента команды “show object-group”:

Network object group Servers
host 10.15.12.5
host 10.15.5.11
host 10.15.4.2
host 10.15.7.34

Service object group Ports1
tcp-udp eq domain
tcp-udp eq 88
udp range 3268 3269
tcp gt 49151

После копирования ACL и object-групп необходимо нажать кнопку 3. В результате access-list будет распознан и отображён в развёрнутом виде (в случае использования object-групп) в поле 4. Если на этапе распознавания возникли ошибки, то они будут отображены в поле 22.

Если номер строки конечного access-листа дополнен ‘0’, это означает, что данная строка получена из object-группы.

Если access-лист скопирован вместе с его заголовком, то активируется кнопка 19, позволяющая использовать команды конфигурирования, содержащие имя access-листа.

После распознавания ACL необходимо в поле 5 ввести условие для поиска интересуемого нас доступа и нажать кнопку 7. Результат поиска доступа отобразится в поле 9. В случае наличия доступа более детальная информация появится в поле 11. Вызов контекстного меню “Показать результат” по правой кнопке мыши на поле 11 позволит отобразить строки ACL, удовлетворяющие условию поиска.

ПРОВЕРКА СУЩЕСТВОВАНИЯ ДОСТУПА МЕЖДУ ЗАДАННЫМИ УЗЛАМИ ПО ОПРЕДЕЛЁННОМУ ПОРТУ

Предположим, нас интересует существование доступа с хоста 192.168.1.2 по порту TCP 1521 на сервер 192.168.2.2 в следующем списке доступа:

ip access-list extended ACL
10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522
20 permit tcp host 192.168.1.2 any
30 permit tcp host 192.168.1.3 any eq 1521

Копируем access-лист в поле 1 и нажимаем кнопку 3. В поле 5 вводим следующее условие:

tcp host 192.168.1.2 gt 1023 host 192.168.2.2 eq 1521

Нажимаем кнопку 7 или клавишу “Enter”. В поле 9 отобразится результат:

Разрешено в строке 1: 10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522
Имеются ещё совпадения

Здесь значение “1:” является результатом сквозной нумерации всех строк конечного (распознанного) ACL, а “10” – номер строки в исходном ACL. Надпись “Имеются ещё совпадения” означает, что в ACL присутствуют и другие строки, в которых теоретически может сработать наше условие. Результаты совпадения правил можно просмотреть в поле 11. Если на этом поле вызвать контекстное меню (правой кнопкой мыши) и выбрать пункт “Показать результат”, то появится дополнительное окно с выборкой сработавших строк ACL.

ОПРЕДЕЛЕНИЕ УЗЛОВ ЗАДАННОЙ СЕТИ, К КОТОРЫМ ИМЕЕТСЯ ДОСТУП ПО ОПРЕДЕЛЁННОМУ ПОРТУ

Рассмотрим ситуацию, когда требуется выяснить, к каким серверам сети 192.168.2.0 /24 открыт доступ по SSH (TCP 22). Список доступа следующий:

ip access-list extended ACL
10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522
20 permit tcp any 192.168.2.0 0.0.0.3 eq 22 3389
30 permit tcp host 192.168.1.3 host 192.168.2.254
40 permit tcp host 192.168.1.10 any

Копируем access-лист в поле 1 и нажимаем кнопку 3. Ставим переключатель 17 в положение “частичное по src и dst”. Алгоритм будет учитывать строки ACL, в которых IP-адреса источника и назначения полностью или частично попадают в диапазон адресов, указанный в условии.

В поле 5 вводим следующее условие:

tcp any gt 1023 any eq 22

Нажимаем кнопку 7 или клавишу “Enter”. В поле 9 отобразится результат

Блок

Результаты совпадения правил можно просмотреть в поле 11. Если на этом поле вызвать контекстное меню (правой кнопкой мыши) и выбрать пункт “Показать результат”, то появится дополнительное окно с выборкой сработавших строк ACL. Символ “?” в этом окне означает частичное совпадение по адресам.

ОПРЕДЕЛЕНИЕ ДОСТУПОВ, ОТКРЫТЫХ МЕЖДУ ОПРЕДЕЛЁННЫМИ УЗЛАМИ

Выясним, какие доступы открыты от узла 192.168.1.10 к узлу 192.168.2.254 в следующем ACL:

ip access-list extended ACL
10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522
20 permit tcp any 192.168.2.0 0.0.0.3 eq 22 3389
30 permit tcp host 192.168.1.3 host 192.168.2.254
40 permit tcp host 192.168.1.10 any

Копируем access-лист в поле 1 и нажимаем кнопку 3. Ставим переключатель 17 в положение “частичное по src и dst”. В поле 5 вводим следующее условие:

ip host 192.168.1.10 host 192.168.2.254

Метод состоит в том, что заданное условие рассматривается как access-лист, а каждая строка исходного ACL как отдельное условие. Другими словами, условие и ACL меняются ролями. Кнопка (8), решающая эту задачу, называется “Обратная проверка”. Нажимаем кнопку 8 или комбинацию “Ctrl-Enter”. В поле 9 отобразится результат:

Блок

Результаты совпадения правил можно просмотреть в поле 11. Если на этом поле вызвать контекстное меню (правой кнопкой мыши) и выбрать пункт “Показать результат”, то появится дополнительное окно с выборкой сработавших строк ACL. Символ “?” в этом окне означает частичное совпадение по адресам.

Важным требованием при такой проверке является необходимость установки переключателя 17 в среднее положение.

МНОГОСТРОЧНЫЙ СПИСОК УСЛОВИЙ (ПОЛЕ 6)

Список условий (6) предназначен для ввода нескольких условий и последовательной их проверки. Для ввода каждого следующего условия (новой строки) предусмотрена комбинация “Shift-Enter”. Для проверки условия из списка необходимо установить на него курсор и нажать кнопку 7 (Enter) или 8 (Ctrl-Enter). На шкале 15 напротив строки запрошенного условия отобразится соответствующий символ результата. Он сохранится до изменения условия в этой строке списка.

СОРТИРОВКА (КНОПКА 13)

Распознанный access-list, выведенный в развёрнутом виде в поле 4, можно упорядочить по различным критериям и их комбинации. При нажатии на кнопку сортировки (13) открывается дополнительное окно.

1-7 – Кнопки включения элементов в цепь сортировки

8 – Отображение исходных номеров строк

9 – Режим группирования результатов сортировки

Каждый следующий критерий в цепочке выбирается соответствующей кнопкой. Рассмотрим следующий список доступа:

1 permit udp 192.168.8.0 0.0.0.255 host 192.168.38.24 eq syslog
2 permit tcp 192.168.8.0 0.0.0.255 host 192.168.38.23 eq 1514
3 permit tcp 192.168.8.0 0.0.0.255 host 192.168.38.24 eq 1514
4 permit tcp 192.168.8.0 0.0.0.255 host 192.168.38.23 eq 4041
5 permit tcp 192.168.8.0 0.0.0.255 host 192.168.12.26
6 permit ip 192.168.8.0 0.0.0.255 192.168.41.0 0.0.0.255
7 permit ip 192.168.8.0 0.0.0.255 host 192.168.41.31

Чтобы упорядочить эти строки сначала по IP адресу назначения, а затем по протоколу, необходимо нажать последовательно кнопки 5 и 1:

Цифры в круглых скобках на соответствующих кнопках указывают позицию элемента в цепочке сортировки. При отключении элемента из цепочки также исключаются все элементы с номерами выше отключенного.

АНАЛИЗ НА КОНФЛИКТЫ И ИЗБЫТОЧНОСТЬ (КНОПКА 12)

Кнопка “Анализ” (12) становится активной после распознания access-листа. Её нажатие запускает процесс анализа строк access-листа на конфликты и избыточность. Конфликтующей является строка access-листа, которая никогда не сработает из-за вышестоящего правила противоположного значения (“deny” после “permit” или наоборот).

К примеру, загрузим следующий ACL:

10 permit icmp any any
20 permit tcp host 10.15.2.11 eq 1521 host 10.15.1.10
30 deny tcp 10.15.2.0 0.0.0.255 10.15.0.0 0.0.31.255
40 permit udp 10.15.2.0 0.0.0.255 host 10.19.9.232
50 permit udp 10.15.2.0 0.0.0.255 host 10.19.9.120 eq syslog
60 permit tcp host 10.15.2.11 eq 1521 host 10.15.7.11

Распознаем его (кнопка 3) и нажмём кнопку “Анализ” (12). Программа предупредит нас о имеющихся конфликтах:

Кнопка “Да” откроет окно с результатами анализа, включающими только конфликты:

Если нажать кнопку ‘Нет’, то откроется окно, включающее как конфликтующие, так и избыточные правила. Рассмотрим следующий access-list:

10 permit icmp any any
20 permit tcp host 192.168.1.10 host 192.168.2.20 eq 22
30 permit tcp host 192.168.1.10 host 192.168.2.20
40 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

Анализ такого ACL отобразит следующие результаты:

Здесь жирным шрифтом выделены строки, если имеются другие правила, попадающие под их действие. Остальные строки (обычный шрифт) являются производными правилами. Установив курсор на определённой строке, удерживая нажатой клавишу “Ctrl”, получим детальную информацию в нижней части окна:

Поле результатов

Поле детализации выбранного правила

Иерархический вид детализации

В данном случае правило 2 является производным от правила 3. В свою очередь, правило 3 входит в правило 4. Визуально уровень такой вложенности можно определить по отступам строки вправо или выбрать иерархический вид (3). При иерархическом виде производные правила будут выведены ниже строк, в которые они входят. Можно выделить диапазон интересуемых строк в поле 1 и вызвать контекстное меню правой кнопкой мыши, в котором выбрать варианты удаления избыточных строк.

Следует учитывать намеренное чередование операторов “permit” и “deny” в одном ACL для его упрощения. В таких случаях следует анализировать ACL частями. Например, до и после операторов “deny”. Либо анализировать полностью, но дополнительно обращать внимание на порядок следования конфликтующих строк в ACL и не удалять такие производные строки из исходного ACL.

ОПЦИИ ЗАПУСКА ПРОГРАММЫ

Предусмотрены следующие опции запуска exe-файла:

/h, /?, /help – вызов справки параметров запуска

/l (rus) – выбор языка

/nm – включение режима “netmask”

/pm (and,or) – выбор режима совпадения адресов

/skipicmp – включение режима “игнорировать ICMP при частичном совпадении”.

Последнее изменение: Среда, 22 Июль 2020, 16:42

◄ Расширенные листы контроля доступа (Extended ACL)

Перейти на...

Перейти на...
Как проходить курс
ИТ термины
Как делать лабораторные работы (Cisco Packet Tracer)
10 нужных инструментов для сетевого администратора
Как проходить тесты
Объявления
1. Модель OSI – это просто!
2. Маршрутизатор. Коммутатор. Хаб. Что это и в чем разница?
3. Что такое LAN и чем отличается от WAN?
4. Что такое IP - адрес и можно ли по нему кого-то вычислить?
5. Что такое MAC - адрес и как его узнать?
6. TCP и UDP – в чем разница?
7. Ethernet на пальцах - что это?
8. Что такое инкапсуляция данных в сети?
9. DNS сервер - что это и как работает?
10. Разбиение сети на подсети: VLSM
11. Address Resolution Protocol - что это?
12. NAT на пальцах: что это?
13. Введение: IPv6 - это просто
14. Что такое VPN и как он обходит блокировки?
15. Режимы передачи данных в сетях
16. Сегментация сети – почему это важно?
17. Что такое витая пара и как ее обжать?
18. Иерархическая модель сети от Cisco
19. Консоль, Терминал, Telnet и SSH - что это и зачем нужно?
20. Про операционную систему Cisco IOS
21. Интерфейс командной строки Cisco IOS
22. Структура команд Cisco IOS
23. Troubleshooting в Cisco IOS
24. Типы сетевых атак
25. QoS в сетях
Рассмотрение моделей TCP/IP и OSI в действии
Тестирование по блоку "Введение в сетевые технологии"
Протоколы TCP/IP 4 уровня: TCP и UDP
Популярные приложения TCP/IP
Установление и прекращение TCP соединения
Нужно знать: про TCP и UDP
Закрепим знания тестом по TCP и UDP
Принципы коммутации и маршрутизации
Тестирование по блоку "Принципы построения коммутируемых сетей"
VLAN (Virtual Local Area Network)
Настройка сетей VLAN
Настройка маршрутизации между сетями VLAN с использованием конфигурации ROS (Router-on-a-Stick)
Тестирование по блоку "VLAN (Virtual Local Area Network)"
Все, что вам нужно знать про DHCP
Настройка DHCP на оборудовании Cisco
Пример настройки DHCPv6
Настройка DHCP Snooping и Dynamic Arp Inspection на Cisco
Траблшутинг DHCP на оборудовании Cisco
Настройка протокола DHCP с помощью команд Cisco IOS
Тестирование по блоку "DHCP (Dynamic Host Configuration Protocol)"
Базовая конфигурация маршрутизатора
Настройка статических маршрутов
Настройка NAT на Cisco
Port Forwarding: теория и настройка Cisco
Тестирование по знаниям работы с маршрутизатором
EIGRIP (Enhanced Interior Gateway Routing Protocol)
Полное руководство по EIGRP в PDF
Базовая настройка протокола EIGRP для IPv4
Тестирование по Протоколу динамической маршрутизации EIGRIP
OSPF (Open Shortest Path First)
Настройка базового протокола OSPFv2 для одной области
Поиск и устранение неполадок в работе OSPFv2 для одной области
Настройка OSPFv2 для нескольких областей
Протокол динамической маршрутизации OSPF (Open Shortest Path First)
BGP (Border Gateway Protocol)
Полное руководство по BGP в PDF
Тестирование по знаниям BGP
Перераспределение маршрутов (Route redistribution)
Тестирование по знаниям Route Redistribution
Основы IPv4 Access Control Lists
Соответствие пакетов в IP ACL
Wildcard в ACL: бинарные обратные маски
Стандартные листы контроля доступа (ACL)
Расширенные листы контроля доступа (Extended ACL)
Настройка стандартных именованных ACL-списков
Настройка расширенных ACL-списков
Тестирование по блоку "Листы контроля доступа (ACL)"
Протокол Spanning Tree (STP)
Тестирование по блоку "Протокол Spanning Tree (STP)"
Настройка EtherChannel на Cisco
Настройка EtherChannel на Cisco с минимальным даунтаймом
Устранение неисправностей EtherChannel
Настройка EtherChannel
Поиск и устранение неполадок в работе EtherChannel
Тестирование по блоку "Агрегация по технологии EtherChannel"
Настройка Site-To-Site IPSec VPN на Cisco
Настройка DMVPN на оборудовании Cisco
Настройка сетей VPN (дополнительно)
Итоговый тест по теме "Настройка VPN (Site-To-Site IPSec, DMVPN)"
Сравнение проводных и беспроводных сетей
Топологии беспроводных сетей
Анатомия защищенного соединения в беспроводных сетях
TKIP, CCMP и GCMP. Про безопасность Wi-Fi
Тест по WLAN (беспроводные сети)
Траблшутинг NAT/PAT на Cisco
Устранение неисправностей DHCP на Cisco
FHRP траблшутинг на Cisco
Траблшутинг Network Management Protocols
Сброс пароля на коммутаторах и маршрутизаторах Cisco
Troubleshooting в Cisco IOS
Проверка и отладка настроек NAT
Тестирование по знаниям траблшутинга и устранения неисправностей
Финальный тест
Сертификат
Обратная связь

Настройка стандартных именованных ACL-списков ►

Собеседники

Выбранные сообщения:
1

×

Собеседники

0

Настройки

Собеседники

Запросы

0

Нет контактов

Нет запросов на добавление в контакты

Запрос на добавление в контакты отправлен

Личное пространство

Сохраните черновики сообщений, ссылок, заметок и т.п. К ним можно будет вернуться позже.

Delete for me and for everyone else

Блок

Разблокировать

Удалить

Добавить

Удалить

Удалить

Отправить запрос на добавление в контакты

Принять и добавить в контакты

Отказаться

OK
Отмена

Помеченные

()

Нет помеченных разговоров

Группа

()

Нет групповых разговоров

Личное

()

Нет личных разговоров

Собеседники

Собеседники отсутствуют

Загрузить больше

Сообщения

Загрузить больше

Нет результатов

Поиск пользователей и сообщений

Приватность

Вы можете ограничить круг лиц, которые могут отправлять вам сообщения

Принимать сообщения от:

Только мои контакты

Мои контакты и любой в моих курсах

Настройка уведомлений

Основные

Использовать Enter для отправки

Удалить выбранные сообщения

Отправить запрос на добавление в контакты

Вы заблокировали этого пользователя

Разблокировать пользователя

Вы не можете отправить сообщение этому пользователю

Смотреть все

Вы зашли под именем Выход)

OCT-1

Сводка хранения данных
Скачать мобильное приложение
Политики